Mercurial > repos > jankanis > blast2html
diff Blast output page example trimmed_files/blast.js @ 1:ffe82516a83c
add trimmed down html example
author | Jan Kanis <jan.code@jankanis.nl> |
---|---|
date | Tue, 06 May 2014 17:36:10 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Blast output page example trimmed_files/blast.js Tue May 06 17:36:10 2014 +0200 @@ -0,0 +1,308 @@ + +function printfire() +{ + // Firefox + if (document.createEvent && window.dispatchEvent) { + printfire.args = arguments; + var ev = document.createEvent("Events"); + ev.initEvent("printfire", false, true); + window.dispatchEvent(ev); + } +} +//This functions handle setting defaults for protein or nulcleotide suite search page when +//one of blast program radio buttons is clicked - not used now +function AdjustMoreOptionsStyle() +{ + var optsEl = document.getElementById("moreopts"); + if(optsEl && optsEl.style.height != "0px") { + optsEl.style.height = optsEl.scrollHeight + "px"; + } +} + +//Strip (taxid:XXX) from organism list selection +//sgRunFunc="AdjustOrganism();" +function AdjustOrganism() +{ + var words = $("qorganism").value.split(" (taxid"); + $("qorganism").value = words[0]; +} + + +/* JS Common to all BLAST pages */ + + +function setResultsTarget() +{ + //var newWin = $("newwin"); + var newWin = this; + var searchFrm = $(newWin.getAttribute("form")); + if(newWin && newWin.checked == true) { + if(newWin.getAttribute("winType") == "random") { + searchFrm.target = "Blast_Results_for_" + Math.floor(Math.pow(10,10) *Math.random()); + } + else { + searchFrm.target = $("resPageTarget").value; + } + } + else { + searchFrm.target = ""; + } +} + +function diffFromDefault(elem) +{ + var currentVal = ""; + var ret = 0; + + if (!(elem)) return; + var defVal = elem.getAttribute("defVal"); //Default value + var elShowDiff = utils.getParent(elem); + if(!elem.type) {//div element for example + //Check if parent elem has "hide" class + if(utils.hasClass(utils.getParent(elem), "hide")) { + currentVal = "hide"; + } + else { + currentVal = "show"; + } + elShowDiff = elem; + } + else if(elem.type == "select-one") { + if(elem[elem.selectedIndex].value) currentVal = elem[elem.selectedIndex].value; + //If Default value is not specified - the first one in the selection list is the default + if (!defVal && elem[0].value) defVal = elem[0].value; + } + else if(elem.type == "select-multiple") { + currentVal = "";//for now + } + else if(elem.type == "checkbox") { + //alert("defVal1=" + elem.id + " " + defVal); + //var defVal = elem.defVal; //Default value + //alert("defVal2=" + defVal); + if(elem.checked == true) currentVal = "checked" + else currentVal = "unchecked"; + } + else { + currentVal = elem.value; + } + + + var numdiff = parseInt($("NUM_DIFFS").value,10); + var optsNumDiff = parseInt($("NUM_OPTS_DIFFS").value,10); + if(defVal != currentVal) { + if(!utils.hasClass(elShowDiff, "nondef")) { + utils.addClass(elShowDiff, "nondef"); + numdiff++; + if(utils.hasClass(elem,"opts")) optsNumDiff++; + } + ret = 1; + } + else { + if(utils.hasClass(elShowDiff, "nondef")) { + utils.removeClass(elShowDiff, "nondef"); + //alert("noDiff-" + elem.id); + if(numdiff != 0) numdiff--; + if(utils.hasClass(elem,"opts")) optsNumDiff--; + } + ret=0; + } + $("NUM_DIFFS").value = numdiff; + $("NUM_OPTS_DIFFS").value = optsNumDiff; + if(numdiff > 0) { + $("diffMes").style.display = "inline"; + } + else { + $("diffMes").style.display = "none"; + } + //alert(elem.id + " " + $("NUM_DIFFS").value); + return ret; +} + +function setDefalValue(elem) +{ + var currentVal; + var defVal = elem.getAttribute("defVal"); //Default value + if(elem.type == "select-one") { + //If Default value is not specified - the first one in the selection list is the default + if(!defVal) defVal = elem[0].value; + for(j=0; j < elem.options.length; j++) { + if(elem.options[j].value == defVal) { + elem.options[j].selected = true; + break; + } + } + } + else if(elem.type == "checkbox" || elem.type == "radio") { + if(!defVal) defVal = "checked"; + if(defVal == "checked") elem.checked = true + else elem.checked = false; + } + else { + if(!defVal) defVal = ""; + elem.value = defVal; + } + + var elShowDiff = utils.getParent(elem); + if(utils.hasClass(elShowDiff, "nondef")) { + utils.removeClass(elShowDiff, "nondef"); + } + //alert(elem.id + " " + $("NUM_DIFFS").value); +} + +function newResultsWinInit() { + jQuery("[class='newwin']").each(function(index) { + utils.addEvent(this, "click", setResultsTarget, false); + }); +} + +function resetOrganismSuggest(orgEntryElem) +{ + //suggestHint is in the hidden field used for SRA + var defaultMessage = ($("suggestHint")) ? $("suggestHint").value : "Enter organism name or id--completions will be suggested"; + var suggestHint = $("qorganism").getAttribute("suggestHint"); + if(suggestHint) defaultMessage = suggestHint; + if(orgEntryElem.value == "") { + orgEntryElem.value = defaultMessage; + } + if(orgEntryElem.value == defaultMessage) { + utils.addClass(orgEntryElem,"orgHint"); + } +} + +function setupOrganismSuggest(orgEntryElem) +{ + resetOrganismSuggest(orgEntryElem); + utils.addEvent(orgEntryElem, "focus", function() { + clearOrgSuggest(orgEntryElem); + }, false); +} + +function clearOrgSuggest(orgEntryElem) +{ + if(utils.hasClass(orgEntryElem,"orgHint")) { + orgEntryElem.value=""; + utils.removeClass(orgEntryElem,"orgHint"); + } +} + +function InitCustomButton(bn) +{ + utils.addEvent(bn, "mouseover", function() {this.src = this.getAttribute("mouseovImg");}, false); + utils.addEvent(bn, "mouseout", function() {this.src = this.getAttribute("mouseoutImg");}, false); + utils.addEvent(bn, "mousedown", function() {this.src = this.getAttribute("mousedownImg");}, false); + utils.addEvent(bn, "mouseup", function() {this.src = this.getAttribute("mouseupImg");}, false); +} + +function showHideElem(id,hide) +{ + if($(id)) { + if(hide) { + if(!utils.hasClass($(id),"hidden")) utils.addClass($(id), "hidden"); + } + else { + if(utils.hasClass($(id),"hidden")) utils.removeClass($(id), "hidden"); + } + } +} + +function resetOrganismControls(orgEntryElem) { + resetOrganismSuggest(orgEntryElem); + if ($("orgExcl")) $("orgExcl").checked = false; + utils.replaceInHtml("", $("orgs")); + if ($("frOrgs")) utils.replaceInHtml("", $("frOrgs")); + if ($("numOrg")) $("numOrg").value = 1; +} + +function AddOrgRow(e,orgName,exclName) { + e = e || window.event; + utils.preventDefault(e); + var checkedExclude = new Array(); + var orgDict = jQuery($($("qorganism"))).ncbiautocomplete("option","dictionary"); + orgDict = (!orgDict || orgDict == "") ? "taxids_sg" : orgDict; + var len = $("qorganism").getAttribute("size"); + + var newOrgFieldID = "qorganism" + $("numOrg").value; + var newOrgField = " <div><input name=\"" + orgName + $("numOrg").value + "\" size=\"" + len + "\" id=\"" + newOrgFieldID + + "\" type=\"text\" data-jigconfig=\"dictionary:'" + orgDict + "'\" autocomplete=\"off\" class=\"jig-ncbiautocomplete multiOrg\" />"; + if (exclName != "") { + newOrgField += "<span class=\"orgExcl\">" + + "<input type=\"checkbox\" name=\"" + exclName + $("numOrg").value + "\" class=\"oExcl cb\" id=\"orgExcl" + $("numOrg").value + "\" />" + + "<label for=\"orgExcl" + $("numOrg").value + "\" class=\"right oExclRl\">Exclude</label></span>"; + } + newOrgField += "</div>"; + if (navigator.userAgent.match(/ie/i)) { + for (i = 1; i < $("numOrg").value; i++) { + if ($("orgExcl" + i)) checkedExclude[i] = $("orgExcl" + i).checked; + } + } + if (!navigator.userAgent.match(/firefox/i)) { + jQuery($($(orgs))).append(newOrgField,true); + } + else { + utils.insertInHtml(newOrgField, $("orgs")); + } + + if (navigator.userAgent.match(/ie/i)) { + for (i = 1; i < $("numOrg").value; i++) { + if ($("orgExcl" + i)) $("orgExcl" + i).checked = checkedExclude[i]; + } + } + setupOrganismSuggest($(newOrgFieldID)); + jQuery($($(newOrgFieldID))).ncbiautocomplete(); + $("numOrg").value++; +} + +function adjustOrgVal(orgEntryElem) +{ + //if (utils.hasClass($("searchForm").EQ_MENU, "orgHint")) $("searchForm").EQ_MENU.value = ""; + clearOrgSuggest(orgEntryElem); + if ($("numOrg")) { + for (i = 1; i < $("numOrg").value; i++) { + if ($("qorganism" + i)) { + clearOrgSuggest($("qorganism" + i)); + } + } + } +} + +function getUrlCompForEntryField(elem) { + var url = ""; + if (elem && elem.value != "") { + url = "&" + elem.name + "=" + escape(elem.value); + } + return url; +} + + +function getUrlCompForCheckedField(elem) { + var url = ""; + if (elem && elem.checked) { + url = "&" + elem.name + "=" + elem.value; + } + return url; + +} + +function getUrlCompForOptionsField(elem) { + var url = ""; + if (elem) { + url = "&" + elem.name + "=" + elem[elem.selectedIndex].value; + } + return url; +} + +function getUrlCompForMultiOptionsField(elem) { + var url = ""; + if (elem) { + for (i = 0; i < elem.options.length; i++) { + if (elem.options[i].selected) { + url += "&" + elem.name + "=" + elem.options[i].value; + } + } + } + return url; +} + + +utils.addEvent(window, 'load', newResultsWinInit, false); +