Mercurial > repos > jankanis > blast2html
view Blast output page example trimmed_files/format.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 | ffe82516a83c |
children |
line wrap: on
line source
function UpdateDisplayTypes(displayTypes) { dispMenu = displayTypes.options; for(i=0; i < dispMenu.length; i++) { //if(!utils.hasClass(displayTypes,"psiBlast") && !utils.hasClass(displayTypes,"phiBlast") || if($("stepNumber").value == "" || $("stepNumber").value < 2) { if(dispMenu[i].value.indexOf("PSSM") != -1) { dispMenu[i--] = null; //break; } } } } function GetIndexByValue(selectElem,val) { var idx = 0; var opts = selectElem.options; for(i=0; i < opts.length; i++) { if(opts[i].value == val) { idx = i; break; } } return idx; } function resetAdvView(show) { var advView = $("advView"); if(show) { if(utils.hasClass(advView, "hidden")) { utils.removeClass(advView, "hidden"); } } else { utils.addClass(advView, "hidden"); } } function ShowOrHide(hide,elem) { if(hide) { if(!utils.hasClass(elem, "hidden")) { utils.addClass(elem, "hidden"); } } else { if(utils.hasClass(elem, "hidden")) { utils.removeClass(elem, "hidden"); } } } function UpdateFormatTypes(form) { var selectedObjType = form.FORMAT_OBJECT[form.FORMAT_OBJECT.selectedIndex].value; var hideAdvView = false; bioseqFormatHide = true; pssmFormatHide = true; pssmScFormatHide = true; formatTypeHide = true; if (selectedObjType == "Alignment") { formatObjectSelectedIndex = 0; //HTML formatTypeHide = false; hideAdvView = true; } if (selectedObjType == "PSSM") { formatObjectSelectedIndex = GetIndexByValue(form.FORMAT_TYPE,"Text"); pssmFormatHide = false; } if (selectedObjType == "PSSM_Scoremat") { formatObjectSelectedIndex = GetIndexByValue(form.FORMAT_TYPE,"ASN.1"); pssmScFormatHide = false; } else if (selectedObjType == "Bioseq") { formatObjectSelectedIndex = GetIndexByValue(form.FORMAT_TYPE,"ASN.1"); bioseqFormatHide = false; } form.FORMAT_TYPE.selectedIndex = formatObjectSelectedIndex; ShowOrHide(formatTypeHide,form.FORMAT_TYPE); if ($("bioseqFormat")) { ShowOrHide(bioseqFormatHide,$("bioseqFormat")); $("bioseqFormat").readOnly=true; } if ($("pssmFormat")) { ShowOrHide(pssmFormatHide,$("pssmFormat")); $("pssmFormat").readOnly=true; } if ($("pssmScFormat")) { ShowOrHide(pssmScFormatHide,$("pssmScFormat")); $("pssmScFormat").readOnly=true; } resetAdvView(hideAdvView); } function ResetForm() { //var defValNodes = cssQuery(".reset"); defValNodes = $("FormatForm").elements; for(i=0; i < defValNodes.length; i++) { if(utils.hasClass(defValNodes[i],"reset")) setDefalValue(defValNodes[i]); } if ($("FormatForm").FORMAT_OBJECT.type == "select-one") { UpdateFormatTypes($("FormatForm")); UpdateDisplayTypes($("FormatForm").FORMAT_OBJECT); } if($("FormatForm").RUN_PSIBLAST.checked) setDefalValue($("FormatForm").I_THRESH) else $("FormatForm").I_THRESH.value=""; //resetOrganismSuggest($("FormatForm").FORMAT_ORGANISM); resetOrganismControls($("FormatForm").FORMAT_ORGANISM); //TO DO: add threshold } function LimitByHitlistSize(list) { var listBreak = false; var optSel = false; for(i=0; i < list.options.length; i++) { var optVal = parseInt(list.options[i].value ,10); var hitListSize = parseInt($("maxNumSeq").value ,10); if(list.options[i].selected) optSel = true; if(optVal >= hitListSize) { if(!optSel) {list.options[i].selected = true;} list.options.length = i + 1; break; } } } function AddFormatOrgField(e) { AddOrgRow(e, "FORMAT_ORGANISM", "FORMAT_ORG_EXCLUDE"); } function initSubmit() { } function adjustFormatOptions() { var alignView = $("FormatForm").ALIGNMENT_VIEW; var formatType = $("FormatForm").FORMAT_TYPE; var queryAnch = formatType[formatType.selectedIndex].value == "HTML" && (alignView[alignView.selectedIndex].value != "Pairwise" && alignView[alignView.selectedIndex].value != "PairwiseWithIdentities"); var dynFormatQA = !$("FormatForm").OLD_VIEW.checked && queryAnch; dynFormatPW = !$("FormatForm").OLD_VIEW.checked && formatType[formatType.selectedIndex].value == "HTML" && (alignView[alignView.selectedIndex].value == "Pairwise" || alignView[alignView.selectedIndex].value == "PairwiseWithIdentities"); UpdateDescriptions(dynFormatPW); if (dynFormatPW) { jQuery("#frmAln").addClass("hidden"); if (!utils.hasClass($("shl"), "hidden")) jQuery("#shl").addClass("hidden"); //hide SHOW_LINKOUT jQuery("#gts").addClass("hidden"); //hide GET_SEQUENCE jQuery("#scf").removeClass("hidden");//show CDS_FEAT $("FormatForm").SHOW_LINKOUT.checked = true; } else { if(dynFormatQA) $("FRM_ALIGNMENTS").selectedIndex = $("FRM_DESCRIPTIONS").selectedIndex; jQuery("#frmAln").removeClass("hidden"); if (dynFormatQA) { if (!utils.hasClass($("shl"), "hidden")) jQuery("#shl").addClass("hidden"); //hide SHOW_LINKOUT } else { jQuery("#shl").removeClass("hidden"); } if (queryAnch) { jQuery("#scf").addClass("hidden"); //hide CDS_FEAT } else {//pairwise old_view=false jQuery("#scf").removeClass("hidden"); //hide CDS_FEAT } jQuery("#gts").removeClass("hidden"); //GET_SEQUENCE } if ($("blastSpec").value == "VecScreen") { adjustVecscreen(dynFormatPW); } } function adjustVecscreen(dynFormatPW) { var dfltDescrInd = 0; //0 var dfltDynDescrInd = 5; //1000 var dfltAlnInd = 6; //1000 if (dynFormatPW) { utils.addClass($("lr"), "hidden"); $("FRM_DESCRIPTIONS").selectedIndex = dfltDynDescrInd; } else { utils.removeClass($("lr"), "hidden"); $("FRM_DESCRIPTIONS").selectedIndex = dfltDescrInd; } $("FRM_ALIGNMENTS").selectedIndex = dfltAlnInd; } function UpdateDescriptions(removeZero) { if (removeZero) { dispMenu = $("FormatForm").DESCRIPTIONS; dispMenu.remove(0); } else { dispMenu = $("FormatForm").DESCRIPTIONS; if (dispMenu.options[0].value != "0") { if (navigator.userAgent.match(/ie/i)) { dispMenu.add(new Option("0", "0"), 0); } else { dispMenu.add(new Option("0", "0"), dispMenu[0]); } } } } function InitDynFormatOptions() { if ($("OLD_VIEW")) { utils.addEvent($("FormatForm").OLD_VIEW, "click", adjustFormatOptions, false); utils.addEvent($("FormatForm").ALIGNMENT_VIEW,"change", adjustFormatOptions, false); utils.addEvent($("FormatForm").FORMAT_TYPE, "change", adjustFormatOptions, false); adjustFormatOptions(); } } function InitFormatPage() { if ($("FormatForm").FORMAT_OBJECT.type == "select-one") { UpdateDisplayTypes($("FormatForm").FORMAT_OBJECT); UpdateFormatTypes($("FormatForm")); list = $("FormatForm").FORMAT_OBJECT; utils.addEvent(list, "change", function() { UpdateFormatTypes($("FormatForm")); }, false); } utils.addEvent($("resetAll"), "click", ResetForm, false); if($("maxNumSeq") != null) { if($("maxNumSeq").value != "") { LimitByHitlistSize($("FormatForm").DESCRIPTIONS); LimitByHitlistSize($("FormatForm").ALIGNMENTS); LimitByHitlistSize($("FormatForm").NUM_OVERVIEW); } } setupOrganismSuggest($("FormatForm").FORMAT_ORGANISM); utils.addEvent($("FormatForm"), "submit", function() { adjustOrgVal($("FormatForm").FORMAT_ORGANISM);}, false); if ($("addOrg")) utils.addEvent($("addOrg"), "click", AddFormatOrgField, false); InitDynFormatOptions(); /* add this code if decide image for View Report var imgButtons = jQuery("[class='viewReport']"); for (var i = 0; i < imgButtons.length; i++) { var l = imgButtons[i]; utils.addEvent(l, "click", function() {$("FormatForm").submit();}, false); utils.addEvent(l, "mouseover", function() {l.src = l.getAttribute("mouseovImg");}, false); utils.addEvent(l, "mouseout", function() {l.src = l.getAttribute("mouseoutImg");}, false); utils.addEvent(l, "mousedown", function() {l.src = l.getAttribute("mousedownImg");}, false); utils.addEvent(l, "mouseup", function() {l.src = l.getAttribute("mouseupImg");}, false); } */ } utils.addEvent(window, 'load', InitFormatPage, false);