annotate Blast output page example_files/jquery.js @ 20:53cd304c5f26

Add index for multiple results; fix layout of query ruler for edge case The query ruler did not layout nicely if the last segment was too short to contain the text. For very short last segments the text is now displayed after the ruler.
author Jan Kanis <jan.code@jankanis.nl>
date Wed, 14 May 2014 16:20:29 +0200
parents bad241dc701f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
1 jQuery.widget("ui.ncbimenu",{options:{isSubMenuLimited:false,delayTimeout:500,useHoverEvents:true},_create:function(){this._addClasses();this._addAria();this._createMenus();this._addListeners();this._addEvents();this._addAjaxEvents()},rescan:function(){this._destroyListeners();this._destroyEvents();this._addAria();this._createMenus();this._addListeners();this._addEvents()},destroy:function(){this._destroyEvents();this._destroyClasses();this._destroyAria();this._destroyListeners();this._destroyMenus()},
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
2 _addClasses:function(){this.element.addClass("ui-ncbimenu")},_destroyClasses:function(){this.element.removeClass("ui-ncbimenu")},_addAria:function(){this.element.attr("role","menubar").find("li").filter(":has(ul)").find("a").attr("aria-haspopup","true").end().find("ul").attr("aria-hidden","true")},_destroyAria:function(){this.element.removeAttr("role").find("li").removeAttr("role").filter(":has(ul)").find("a").removeAttr("aria-haspopup").removeAttr("role").end().find("ul").removeAttr("aria-hidden").removeAttr("role")},
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
3 _createMenus:function(){this.element.ncbibasicmenu({orientation:"horizontal"});var a=this.element.find(">li:has(>ul)");a.find(">a").addClass("expandDown");a.find(">ul").ncbibasicmenu({nested:true});if(!this.options.isSubMenuLimited){a.find(">ul ul").ncbibasicmenu({nested:true});a.find(">ul ul").parent().find(">a").addClass("expandRight")}},_destroyMenus:function(){this.element.removeClass("jig-ncbimenu cf ui-ncbibasicmenu orientation_hort").find("ul").andSelf().show().ncbibasicmenu("destroy")},_addEvents:function(){var a=
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
4 this;this._windowClickFnc=function(b){b=b.target||b.srcElement;a.element[0]===b||a.element.find(b).length===1||a.closeSub(a.element.find("ul"))};jQuery(window).on("click",this._windowClickFnc);this._unselectEverythingFnc=function(){a._unselectEverything()};this.element.find("li").not(":has(ul)").find("a").on("click",this._unselectEverythingFnc);this._blurFnc=function(){a._checkFocus()};this.element.on("blur","a",this._blurFnc);if(this.options.useHoverEvents){var d={timeout:this.options.delayTimeout,
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
5 over:function(){if(a._isActive){var b=jQuery(this),c=b.parent();if(c.has("ul").length===0){c=c.siblings("li.selected").removeClass("selected");a.closeSub(c);b.focus()}else c.hasClass("selected")||b.focus().click()}},out:function(){}};this.element.find(">li:not(:has(ul))>a,li:has(ul)>a").hoverIntent(d)}},_destroyEvents:function(){jQuery(window).off("click",this._windowClickFnc);this._windowClickFnc=null;this.element.off("blur","a",this._blurFnc);this._blurFnc=null;this.element.find(">li:not(:has(ul))>a,li:has(ul)>a").unbind("mouseover mouseoff");
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
6 this.element.find("li").not(":has(ul)").find("a").off("click",this._unselectEverythingFnc)},_addAjaxEvents:function(){if(this.element.find(">li:has(a.expandDown)").not(":has(ul)").length>0){var a=this;this._ajaxEnterFnc=function(){a._loadAjaxContent()};this.element.on("mouseenter",this._ajaxEnterFnc)}},_loadAjaxContent:function(){var a=this;this.element.off("mouseenter",this._ajaxEnterFnc);this._ajaxEnterFnc=null;var d=this.element.find("a.expandDown"),b=d.eq(0).prop("href").split("#");jQuery("<div/>").load(b[0],
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
7 function(){a._handleAjaxLoadCallback(this,d)})},_handleAjaxLoadCallback:function(a,d){var b=jQuery(a);d.each(function(){var c=jQuery(this),e=c.prop("href").split("#")[1];e=b.find("#"+e);if(e[0].tagName.toLowerCase()==="li")e=e.find(">ul");c.parent().append(e)});this._createMenus();this._addEvents()},_checkFocus:function(){function a(){d.element.find("a:focus").length===0&&d._unselectEverything()}var d=this;window.setTimeout(a,10)},_addListeners:function(){var a=this;this.element.find(">ul").andSelf().on("ncbibasicmenuunselected",
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
8 function(d,b,c,e){e==="click"&&a.closeSub(c)}).on("ncbibasicmenuselected",function(d,b,c,e){if(e==="click")a.openSub(c);else{d=c.siblings().find("ul:visible");if(d.length>0){d.each(function(){a.closeSub(jQuery(this))});c.parent("ul").hasClass("ui-ncbimenu")&&a.openSub(c)}}}).on("ncbibasicmenuactiondown ncbibasicmenuactionright",function(d,b){b=jQuery(b);var c=b.find(">ul");if(b.hasClass("selected"))c.length===1&&c.not(":visible")&&a.openSub(b);else b.find(">a").click();c.length===1&&window.setTimeout(function(){c.ncbibasicmenu("selectFirstItem")},
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
9 10)}).on("ncbibasicmenuactionup ncbibasicmenuactionleft ncbibasicmenuescape",function(d,b){b=jQuery(b);d=b.find(">ul");if(d.length>0&&d.is(":visible"))a.closeSub(jQuery(b));else{b=b.parent("ul").parent("li");b.find(">a").focus();a.closeSub(b)}})},_destroyListeners:function(){this.element.find("ul").andSelf().off("ncbibasicmenuunselected").off("ncbibasicmenuselected")},openSub:function(a){var d=a.find(">ul");if(d.length===1){this._isActive=true;var b=a.parent().find("li:has(ul:visible)");b.length>
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
10 0&&this.closeSub(b);if(a.parent().hasClass("orientation_hort")){b="left bottom";var c="fit flip"}else{b="right center";c="flip fit"}d.show().position({of:a,my:"left top",at:b,collision:c}).attr("aria-hidden","false")}},closeSub:function(a){(a.is("li")?a.find("ul"):a).find("ul").andSelf().not(".ui-ncbimenu").hide().attr("aria-hidden","true").end().ncbibasicmenu("removeAllSelections").find("li.selected").removeClass("selected")},_unselectEverything:function(){this.closeSub(this.element.find("ul:visible").andSelf());
bad241dc701f add example input blast xml and output html page
Jan Kanis <jan.code@jankanis.nl>
parents:
diff changeset
11 this._isActive=false}});