diff options
Diffstat (limited to 'web/javascript/jqueryFunction.js')
-rwxr-xr-x | web/javascript/jqueryFunction.js | 1092 |
1 files changed, 0 insertions, 1092 deletions
diff --git a/web/javascript/jqueryFunction.js b/web/javascript/jqueryFunction.js deleted file mode 100755 index e612098b..00000000 --- a/web/javascript/jqueryFunction.js +++ /dev/null @@ -1,1092 +0,0 @@ -/* - jquery part -*/ -/* -used by index (base/indexBody.py) -*/ -$(document).ready(function () { - options_visible = 0; //Whether advanced options are being shown - $('tr .advanced_option').hide(); - - $('.toggle_advanced').click(function () { - $('tr .advanced_option').toggle(); - - if (options_visible = 0) { - $('.full_search_td').css('display', 'none;'); - $('.search_td').css('display', 'inline'); - options_visible = 1; - } else { - if ($('#type_menu.type_menu').val() = 'Hippocampus') { - $('.search_td').css('display', 'none;'); - $('.full_search_td').css('display', 'inline'); - } - options_visible = 0; - } - }); - - $('#full_search').click(function () { - gene_symbol = $('input[name=keyword]').val(); - scriptable_interface_url = 'http://alexandria.uthsc.edu:89/webqtl/main.py?cmd=sch&gene=' + gene_symbol; - window.open(scriptable_interface_url, '_self'); - }); -}); - -$('select.type_menu').live('change', function () { - var trait_type = $('select.type_menu option:selected').val(); - $('#tissue').val(trait_type); - $('#tissue').trigger('change'); -}); - - -/* -used by CorrelationPage.py, AddToSelectionPage.py, and SearchResultPage.py -*/ -$(document).ready(function () { - $('img[name=addselect], img[name=networkgraph], img[name=corrmatrix], img[name=partialCorr], img[name=comparecorr], img[name=mintmap], img[name=heatmap]').click(function () { - if ($('input[name=searchResult]:checked').length < 1) { - for (i = 0; i < 10; i++) { - $('input[name=searchResult]:eq(' + i + ')').attr('checked', true); - } - } - }); - - $('img[name=addselect]').click(function () { - addRmvSelection($('input[name=RISet]').val(), document.getElementsByName('showDatabase' + $('input[name=RISet]').val())[0], 'addToSelection'); - }); - - $('.toggleShowHide').click(function () { - var className = '.extra_options'; - if ($(className).css('display') == 'none') { - var less = 'less'; - $('input[name=showHideOptions]').val(less); - $(className).show(); - $('input[name=options]').val('Fewer Options'); - var display = $('input[name=options]').css('display') - $(display).val('block'); - } else { - var more = 'more'; - $('input[name=showHideOptions]').val(more); - $(className).hide(); - $('input[name=options]').val('More Options'); - var display = $('input[name=showHideOptions]').css('display') - $(display).val('block'); - } - }); -}); - -/* -used by AddToSelectionPage.py -*/ -function validateTraitNumber() { - var checkBoxes = $('.checkallbox'); - if (checkBoxes.filter(":checked").length < 2) { - alert("Please select at least two traits."); - return false; - } else { - return true; - } -} - -/* -used by TextSearchPage.py -*/ -$(document).ready(function () { - - $('.add_traits').click(function () { - $('input[name=searchResult]').each(function () { - if ($(this).is(':checked')) { - groupName = $(this).parents().next().next().children('[href]').text(); - addORrmv = 'addToSelection'; - thisForm = $('form[name=showDatabase]'); - addRmvSelection_allGroups(groupName, thisForm, addORrmv); - } - }); - }); - - function addRmvSelection_allGroups(groupName, thisForm, addORrmv) { - thisForm.attr('target', groupName); - thisForm.children('input[name=FormID]:hidden').val(addORrmv); - thisForm.children('input[name=RISet]:hidden').val(groupName); - var newWindow = open("", thisForm.attr('target'), "menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900"); - thisForm.submit(); - } - - $('.tab_content').hide(); //Hide all tab content - $('div.tab_container').each(function () { - $(this).parent('td').find('div.tab_container:first').find('div.tab_content:first').show(); - }); - $('ul.tabs').each(function () { - $(this).find('li:first').addClass('active'); - }); - $('ul.tabs:first').find('li:first').show(); - $('.tab_container:first').find('.tab_content:first').show(); - - //On Click Event - $('ul.tabs li').click(function () { - $('ul.tabs').find('li').removeClass('last_viewed'); - if ($(this).parent('ul.tabs').next('div.tab_container').attr('id').indexOf('stats') != 1) { - $(this).addClass('last_viewed'); - } - $(this).parent('ul.tabs').find('li').removeClass('active'); - $(this).addClass('active'); - $(this).parent('ul.tabs').next('div.tab_container').find('.tab_content').hide(); - var activeTab = $(this).find('a').attr('href'); - if ($.browser.msie) { - $(activeTab).show(); - } else { - $(activeTab).fadeIn(); - } //Fade in the active ID content - return false; - }); - -}); - -/* -used by DataEditingPage.py -*/ -$(document).ready(function () { - - // ZS: This checks the number of columns in order to determine which column to not sort; in this case the plus-minus symbol shouldn't be sortable - $('#sortable1,#sortable2').find('th').each(function () { - if ($(this).text() == 'SE') { - $.tablesorter.defaults.headers = { - 3: { - sorter: false - } - }; - return false; - } - }); - - if ($('#sortable1,#sortable2').find('.outlier').size() > 0) { - $('input[name=sample_method]:eq(1)').attr('checked','checked'); - $('input[name=tissue_method]:eq(1)').attr('checked','checked'); - } - - -/* - ZS: This segment is called by tablesorter.js; it determines where to get the text used when sorting, based on the type of cell. - If a cell has a text input field, it gets the text from its class, which is changed when the user changes the value. - - This segment is repeated twice. Ideally this wouldn't be the case, but I can't find a way to reuse the inner textExtraction function. -*/ - - //ZS: Defining these here, so they don't need to be searched for in the DOM for every single node - primaryTable = $("#sortable1"); - otherTable = $("#sortable2"); - - primaryValueHeader = primaryTable.find('th:contains("Value"):eq(0)'); - primarySEHeader = primaryTable.find('th:contains("SE"):eq(0)'); - otherValueHeader = otherTable.find('th:contains("Value"):eq(1)'); - otherSEHeader = otherTable.find('th:contains("SE"):eq(1)'); - - $("#sortable1").tablesorter({ - textExtraction: function (node) { - if ((node.children[0] == "[object HTMLInputElement]" && node.children[0].type == "text") || (/\S/.test(node.id))) { - cellId = node.id; - thisCell = $('#' + cellId).children(':eq(0)') - valueClassNames = thisCell.attr('class').split(/\s+/); - capitalized_column_name = cellId.split('_')[0].charAt(0).toUpperCase() + cellId.split('_')[0].slice(1); - value = valueClassNames[valueClassNames.length - 1]; - newValue = thisCell.val(); - - if (newValue == 'x' || value == '9999' || value == '-9999') { - valueType = cellId.split('_')[0]; - if (valueType == 'value') { - header = primaryValueHeader; - } else { - header = primarySEHeader; - } - - if (header.hasClass('headerSortUp')) { - sort_order = 'desc'; - } else if (header.hasClass('headerSortDown')) { - sort_order = 'asc'; - } else { - sort_order = 'desc'; - } - - if (sort_order == 'desc') { - value = 9999; - thisCell.removeClass(value).addClass('9999'); - } else if (sort_order == 'asc') { - value = -9999; - thisCell.removeClass(value).addClass('-9999'); - } else { - value = 9999; - thisCell.removeClass(value).addClass('9999'); - } - } - - text = value; - } else { - if (node.textContent) { - text = node.textContent; - } else { - if (node.childNodes[0] && node.childNodes[0].hasChildNodes()) { - text = node.childNodes[0].innerHTML; - } else { - text = node.innerText; - } - } - } - return text - } - }); - - $("#sortable2").tablesorter({ - textExtraction: function (node) { - if ((node.children[0] == "[object HTMLInputElement]" && node.children[0].type == "text") || (/\S/.test(node.id))) { - cellId = node.id; - thisCell = $('#' + cellId).children(':eq(0)') - valueClassNames = thisCell.attr('class').split(/\s+/); - capitalized_column_name = cellId.split('_')[0].charAt(0).toUpperCase() + cellId.split('_')[0].slice(1); - value = valueClassNames[valueClassNames.length - 1]; - newValue = thisCell.val(); - - if (newValue == 'x' || value == '9999' || value == '-9999') { - valueType = cellId.split('_')[0]; - if (valueType == 'value') { - header = otherValueHeader; - } else { - header = otherSEHeader; - } - - if (header.hasClass('headerSortUp')) { - sort_order = 'desc'; - } else if (header.hasClass('headerSortDown')) { - sort_order = 'asc'; - } else { - sort_order = 'desc'; - } - - if (sort_order == 'desc') { - value = 9999; - thisCell.removeClass(value).addClass('9999'); - } else if (sort_order == 'asc') { - value = -9999; - thisCell.removeClass(value).addClass('-9999'); - } else { - value = 9999; - thisCell.removeClass(value).addClass('9999'); - } - } - - text = value; - } else { - if (node.textContent) { - text = node.textContent; - } else { - if (node.childNodes[0] && node.childNodes[0].hasChildNodes()) { - text = node.childNodes[0].innerHTML; - } else { - text = node.innerText; - } - } - } - return text - } - }); - - /* - ZS: When the user changes the value in the text field, the new value is added as a class. This is because - $('input[type=text]').val() gets the value attribute, which is always the default value, instead of the - value property (which can be changed) -*/ - - var thisTable = $('#sortable1,#sortable2'); - - thisTable.bind("update propertychange keyup input paste", function (e) { - - var target = e.target; - $target = $(target); - - if (target.nodeName.toLowerCase() == 'input') { - thisClassNames = $target.attr('class').split(/\s+/); - valueClass = thisClassNames[thisClassNames.length - 1]; - newValue = $target.val(); - thisParent = $target.parent('td'); - thisParentId = thisParent.attr('id'); - - $target.removeClass(valueClass); - - if (newValue == 'x') { - thisParent.parent('tr').addClass('blocked'); - } else { - $('#' + thisParentId).children('input.valueField:eq(0)').addClass(newValue); - } - } - }); - - //////////////////////////////////// - // Initially close tabs - //////////////////////////////////// - thisForm = $('form[name="dataInput"]'); - - $('#sectionbody2').hide(); - $('#sectionbody3').hide(); - $('#sectionbody4').hide(); - - $('#title1').click(function () { - $('#sectionbody1').toggle(); - return false; - }); - $('#title2').click(function () { - $('#sectionbody2').toggle(); - return false; - }); - $('#title3').click(function () { - $('#sectionbody3').toggle(); - return false; - }); - $('#title4').click(function () { - $('#sectionbody4').toggle(); - return false; - }); - $('#title5').click(function () { - $('#sectionbody5').toggle(); - return false; - }); - - - - ////////////////////////////////////////////////////////////// - // Switch out + and - icon when you click each section header - ////////////////////////////////////////////////////////////// - var expand_html = "<span class=\"expand_container\"> <IMG src=\"/images/Expand.gif\" alt=\"Expand\"></span>"; - var contract_html = "<span class=\"contract_container\"> <IMG src=\"/images/Contract.gif\" alt=\"Contract\"></span>"; - - $('#title2, #title3, #title4').prepend(expand_html).addClass('1'); - - $('#title1, #title5').prepend(contract_html).addClass('0'); - - for (i = 1; i <= 5; i++) { - $('#title' + i).click(function () { - if ($(this).hasClass('0')) { - $(this).find('span').replaceWith(expand_html); - $(this).removeClass('0'); - $(this).addClass('1'); - } else { - $(this).find('span').replaceWith(contract_html); - $(this).removeClass('1'); - $(this).addClass('0'); - } - }); - } - - // Exclude cases by attributes - $('div.attribute_values:first').css('display', 'inline'); //Display the dropdown menu with the first attribute's distinct values - $('select[name=exclude_menu]').change(function () { - $('div.attribute_values').css('display', 'none'); //clear all other menus when a new attribute is selected - attribute = $(this).val(); - //attribute = $('select[name=exclude_menu]').val(); - menu = $('div.attribute_values').find('[name=\'' + attribute + '\']'); - menu.parent().css('display', 'inline'); - }); - - primary_row_count = $('#primary').find('tr').length - 1; - other_row_count = $('#other').find('tr').length - 1; - - if (primary_row_count >= other_row_count) { - row_count = primary_row_count; - } else { - row_count = other_row_count; - } - - $('div.attribute_values').children('select').change(function () { - exclude_value = $(this).val(); - }); -}); - -$(window).load(function () { - - //ZS: These are needed in a few places; looping through rows by index is faster than doing a "find" search - numPrimaryRows = $('#sortable1').find('tr').length; - numOtherRows = $('#sortable2').find('tr').length; - - - /////////////////////////////// - //Basic Statistics - /////////////////////////////// - ///////////////////////////////////////////////////////////////// - // Hide unselected Basic Statistics tabs (when just BXD strains - // are selected, hide the results for all strains/non-BXD) - ///////////////////////////////////////////////////////////////// - $('#stats_tabs1').hide(); - $('#stats_tabs2').hide(); - - $('#sectionbody2').find('select[name=stats_mdp]').change(function () { - selected = $('#sectionbody2').find('select[name=stats_mdp] option:selected').val(); - for (i = 0; i <= 2; i++) { - $('#stats_tabs' + i).hide(); - } - $('#stats_tabs' + selected).show(); - }); - - //////////////////////////////////////////////////////////////////////// - // Select the same tab across each sample group (when a Box Plot is - // selected for BXD, switching to Non-BXD will also display a Box Plot) - ////////////./////////////////////////////////////////////////////////// - var $tabs1 = $('#stats_tabs0').tabs(); - var $tabs2 = $('#stats_tabs1').tabs(); - var $tabs3 = $('#stats_tabs2').tabs(); - - $tabs1.tabs({ - show: function (event, ui) { - var selected = $tabs1.tabs('option', 'selected'); - $tabs2.tabs('select', selected); - $tabs3.tabs('select', selected); - } - }); - $tabs2.tabs({ - show: function (event, ui) { - var selected = $tabs2.tabs('option', 'selected'); - $tabs1.tabs('select', selected); - $tabs3.tabs('select', selected); - } - }); - $tabs3.tabs({ - show: function (event, ui) { - var selected = $tabs3.tabs('option', 'selected'); - $tabs1.tabs('select', selected); - $tabs2.tabs('select', selected); - } - }); - - - /////////////////////////////// - //Calculate Correlations - /////////////////////////////// - $('#sectionbody3').find('input[name="sample_corr"]').click(function () { - dbValue = $('select[name=database1] option:selected').val(); - $('input[name=database]').val(dbValue); - criteriaValue = $('select[name=criteria1] option:selected').val(); - $('input[name=criteria]').val(criteriaValue); - MDPValue = $('select[name=MDPChoice1] option:selected').val(); - $('input[name=MDPChoice]').val(MDPValue); - - methodValue = $('input[name=sample_method]:checked').val(); - - //This simple method can be used now that 'method' is defaulted to None instead of '' - if (methodValue == "1") { - $('input[name=method]').val('1'); - } else { - $('input[name=method]').val('2'); - } - - dataEditingFunc(this.form, 'correlation'); - }); - - $('#sectionbody3').find('input[name="lit_corr"]').click(function () { - dbValue = $('select[name=database2] option:selected').val(); - $('input[name=database]').val(dbValue); - criteriaValue = $('select[name=criteria2] option:selected').val(); - $('input[name=criteria]').val(criteriaValue); - MDPValue = $('select[name=MDPChoice2] option:selected').val(); - $('input[name=MDPChoice]').val(MDPValue); - - $('input[name=method]').val('3'); - - dataEditingFunc(this.form, 'correlation'); - }); - - $('#sectionbody3').find('input[name="tiss_corr"]').click(function () { - dbValue = $('select[name=database3] option:selected').val(); - $('input[name=database]').val(dbValue); - criteriaValue = $('select[name=criteria3] option:selected').val(); - $('input[name=criteria]').val(criteriaValue); - MDPValue = $('select[name=MDPChoice3] option:selected').val(); - $('input[name=MDPChoice]').val(MDPValue); - - methodValue = $('input[name=tissue_method]:checked').val(); - - if (methodValue == "4") { - $('input[name=method]').val('4'); - } else { - $('input[name=method]').val('5'); - } - dataEditingFunc(this.form, 'correlation'); - }); - - /////////////////////////////// - //Mapping Tools - /////////////////////////////// - $('#sectionbody4').find('input[name=interval]').click(function () { - chrValue = $('select[name=chromosomes1] option:selected').val(); - $('input[name=chromosomes]').val(chrValue); - scaleValue = $('select[name=scale1] option:selected').val(); - $('input[name=scale]').val(scaleValue); - $('input[name=controlLocus]').val(''); - - //Changed the way permValue, bootValue, and parentsValue are acquired; before it was $(____).is(':checked'); - permValue = $('input[name=permCheck1]:checked').val(); - $('input[name=permCheck]').val(permValue); - - bootValue = $('input[name=bootCheck1]:checked').val(); - $('input[name=bootCheck]').val(bootValue); - - if ($('input[name=parentsf14regression1]:checked').length > 0) { - $('input[name=parentsf14regression]').val('on'); - } else { - $('input[name=parentsf14regression]').val('off'); - } - - varValue = $('input[name=applyVarianceSE1]:checked').val(); - $('input[name=applyVarianceSE]').val(varValue); - - dataEditingFunc(this.form, 'intervalMap'); - }); - - var tiptext = "e.g., rs12345"; - controlLocus = $('#sectionbody4').find('input[name=controlLocus]'); - - if (controlLocus.val() == '' || controlLocus == tiptext) { - controlLocus.addClass('searchtip').val(tiptext); - } - - controlLocus.focus(function (e) { - if (controlLocus.val() == tiptext) { - controlLocus.val(''); - } - controlLocus.removeClass('searchtip'); - }); - - controlLocus.blur(function (e) { - if (controlLocus.val() == '') { - controlLocus.addClass('searchtip').val(tiptext); - } else if (controlLocus.val() == tiptext) { - controlLocus.addClass('searchtip'); - } else { - controlLocus.removeClass('searchtip'); - } - }); - - $('#sectionbody4').find('input[name=composite]').click(function () { - chrValue = $('select[name=chromosomes2] option:selected').val(); - $('input[name=chromosomes]').val(chrValue); - scaleValue = $('select[name=scale2] option:selected').val(); - $('input[name=scale]').val(scaleValue); - controlValue = controlLocus.val(); - if (controlValue != tiptext) { - controlLocus.val(controlValue); - } else { - controlLocus.val(''); - } - - //Changed the way permValue, bootValue, and parentsValue are acquired; before it was $(____).is(':checked'); - permValue = $('input[name=permCheck2]:checked').val(); - $('input[name=permCheck]').val(permValue); - - bootValue = $('input[name=bootCheck2]:checked').val(); - $('input[name=bootCheck]').val(bootValue); - - if ($('input[name=parentsf14regression3]:checked').length > 0) { - $('input[name=parentsf14regression]').val('on'); - } else { - $('input[name=parentsf14regression]').val('off'); - } - - dataEditingFunc(this.form, 'intervalMap'); - - }); - - $('#sectionbody4').find('input[name=marker]').click(function () { - //Changed the way parentsValue is acquired; before it was $(____).is(':checked'); - if ($('input[name=parentsf14regression2]:checked').length > 0) { - $('input[name=parentsf14regression]').val('on'); - } else { - $('input[name=parentsf14regression]').val('off'); - } - - varValue = $('input[name=applyVarianceSE2]:checked').val(); - $('input[name=applyVarianceSE]').val(varValue); - - dataEditingFunc(this.form, 'markerRegression'); - }); - - /////////////////////////////// - //Review and Edit Data - /////////////////////////////// - $('input[name=excludeGroup]').click(function () { - for (i = 1; i <= Math.max(primary_row_count, other_row_count) - 1; i++) { - valueExists = 0; - $('#Primary_' + i + ',#Other_' + i).children().each(function () { - if ($(this).text() == exclude_value) { - $('#Primary_' + i + ',#Other_' + i).addClass('blocked').find('input[type=text]').val('x'); - valueExists = 1; - return false; - } - }); - } - }); - - $('.update').click(function () { - windowName = 'formTarget' + (new Date().getTime()); - var windowHeight; // windowHeight and windowWidth are used to place the window in the center of the screen - var windowWidth; - windowHeight = (window.screen.height/2) - (350 + 10) - windowWidth = (window.screen.width/2) - (450 + 50) - newWindow = open("",windowName,"menubar=1,toolbar=1,resizable=1,left=" + windowWidth + ",top=" + windowHeight + ",screenX=" + windowWidth + ",screenY=" + windowHeight + ",status=1,scrollbars=0,directories=1"); - - document.dataInput.target = windowName; - document.dataInput.submitID.value = "basicStatistics"; - - primaryData = getTraitData()[0]; - otherData = getTraitData()[1]; - allData = getTraitData()[2]; - - if (otherData[0].length > 0) { - if ($('select[name="stats_mdp"] option:selected').val() == 0) { - document.dataInput.strainNames.value = allData[0].toString(); - document.dataInput.strainVals.value = allData[1].toString(); - document.dataInput.strainVars.value = allData[2].toString(); - } else if ($('select[name="stats_mdp"] option:selected').val() == 1) { - document.dataInput.strainNames.value = primaryData[0].toString(); - document.dataInput.strainVals.value = primaryData[1].toString(); - document.dataInput.strainVars.value = primaryData[2].toString(); - } else { - document.dataInput.strainNames.value = otherData[0].toString(); - document.dataInput.strainVals.value = otherData[1].toString(); - document.dataInput.strainVars.value = otherData[2].toString(); - } - } else { - document.dataInput.strainNames.value = allData[0].toString(); - document.dataInput.strainVals.value = allData[1].toString(); - document.dataInput.strainVars.value = allData[2].toString(); - } - - document.dataInput.submit(); - }); - - $('input[name="export"]').click(function () { - windowName = 'formTarget' + (new Date().getTime()); - newWindow = open("", windowName, "menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=0,directories=1,width=900"); - document.dataInput.target = windowName; - document.dataInput.submitID.value = "exportData"; - - primaryData = getTraitData()[0]; - otherData = getTraitData()[1]; - - document.dataInput.strainNames.value = primaryData[0].toString(); - document.dataInput.strainVals.value = primaryData[1].toString(); - document.dataInput.strainVars.value = primaryData[2].toString(); - - document.dataInput.otherStrainNames.value = otherData[0].toString(); - document.dataInput.otherStrainVals.value = otherData[1].toString(); - document.dataInput.otherStrainVars.value = otherData[2].toString(); - - attribute_names = new Array(); - $('#primary,#other').find('th.attribute_name').each(function () { - attribute_names.push($(this).val().toString()); - }); - - primary_attribute_values = ""; //This string will be structured as a dictionary with a set of values for each attribute; it will be parsed in the ExportPage class - other_attribute_values = ""; - - attr_counter = 1; // Counter for each different attribute - row_counter = 1; // Counter for each value for each attribute - while (attr_counter <= attribute_names.length) { - attribute_name = $('#primary,#other').find('th.attribute_name:eq(' + (attr_counter - 1).toString() + ')').text(); - primary_row_count = $('#primary').find('tr').length - 1; - other_row_count = $('#other').find('tr').length - 1; - - primary_attribute_values += attribute_name + " : "; - other_attribute_values += attribute_name + " : "; - - primary_value_string = ""; //This string of values (in the format 'a,b,c', etc) will be appended to the primary_attribute_values string - for (row_counter = 1; row_counter <= numPrimaryRows; row_counter++) { - value = $('#primary_attribute' + attr_counter.toString() + '_sample' + row_counter.toString()).text(); - if (row_counter == primary_row_count) { - primary_value_string += (value + " / "); - } else { - primary_value_string += (value + ","); - } - } - - primary_attribute_values += primary_value_string; - - other_value_string = ""; //This string of values (in the format 'a,b,c', etc) will be appended to the other_attribute_values string - for (row_counter = 1; row_counter <= numOtherRows; row_counter++) { - value = $('#other_attribute' + attr_counter.toString() + '_sample' + row_counter.toString()).text(); - if (row_counter == other_row_count) { - other_value_string += (value + " / "); - } else { - other_value_string += (value + ","); - } - } - other_attribute_values += other_value_string; - attr_counter += 1 - } - - document.dataInput.extra_attributes.value = primary_attribute_values; - document.dataInput.other_extra_attributes.value = other_attribute_values; - - document.dataInput.submit(); - }); - - var thisTable = $('#sortable1,#sortable2'); //ZS: variable representing each table, because it's used often - thisTable.find('input[name="selectCheck"]').click(function () { - if ($(this).is(':checked')) { - $(this).parent("").parent("").children("td").css("background-color", "yellow"); - } else { - if (!($(this).parent().parent().hasClass('outlier'))) { - $(this).parent().parent().children("td").css("background-color", "white"); - } - } - }); - - $('input[name=resetButton]').click(function () { - - //ZS: Reset "hide no value" and "hide outliers" - $('#showHideOptions').find('input[name=showHideNoValue]').val(' Hide No Value '); - $('#showHideOptions').find('input[name=showHideOutliers]').val(' Hide Outliers '); - noValShown = 1; - outliersShown = 1; - - for (i = 1; i <= numPrimaryRows - 1; i++) { - var thisRow = $('#Primary_' + i); - if (thisRow.is('.invisible')) { - thisRow.removeClass('invisible'); - } - if (thisRow.is('.blocked')) { - thisRow.removeClass('blocked'); - } - if (thisRow.is(':not(.outlier)')) { - thisRow.css("background-color", "white"); - } - - var thisValueField = thisRow.find('.valueField'); - - var originalValue = thisValueField[0].defaultValue; - var thisClassNames = thisRow.find('input:eq(1)').attr('class').split(/\s+/); - var valueClass = thisClassNames[thisClassNames.length - 1]; - thisRow.find('input:eq(1)').removeClass(valueClass).addClass(originalValue).val(originalValue); - - if (thisValueField.length > 1) { - var originalValue = thisValueField[1].defaultValue; - var thisClassNames = thisRow.find('input:eq(2)').attr('class').split(/\s+/); - var valueClass = thisClassNames[thisClassNames.length - 1]; - thisRow.find('input:eq(2)').removeClass(valueClass).addClass(originalValue).val(originalValue); - } - } - for (i = 1; i <= numOtherRows - 1; i++) { - var thisRow = $('#Other_' + i); - if (thisRow.is('.invisible')) { - thisRow.removeClass('invisible') - } - if (thisRow.is('.blocked')) { - thisRow.removeClass('blocked'); - } - if (thisRow.is(':not(.outlier)')) { - thisRow.css("background-color", "white"); - } - - var thisValueField = thisRow.find('.valueField'); - - var originalValue = thisValueField[0].defaultValue; - var thisClassNames = thisRow.find('input:eq(1)').attr('class').split(/\s+/); - var valueClass = thisClassNames[thisClassNames.length - 1]; - thisRow.find('input:eq(1)').removeClass(valueClass).addClass(originalValue).val(originalValue); - - if (thisValueField.length > 1) { - var originalValue = thisValueField[1].defaultValue; - var thisClassNames = thisRow.find('input:eq(2)').attr('class').split(/\s+/); - var valueClass = thisClassNames[thisClassNames.length - 1]; - thisRow.find('input:eq(2)').removeClass(valueClass).addClass(originalValue).val(originalValue); - } - } - }); - - var tiptext2 = "e.g., 4, 6-30, 43"; - var blockField = $('#showHideOptions').find('input[name=removeField]'); //ZS: Field where user inputs the index of the samples he/she wants to block; created variable because it's used often - if (blockField.val() == '' || blockField.val() == tiptext2) { - blockField.addClass('searchtip'); - blockField.val(tiptext2); - } - - blockField.focus(function (e) { - if (blockField.val() == tiptext2) { - blockField.val(''); - } - blockField.removeClass('searchtip'); - }); - - blockField.blur(function (e) { - if (blockField.val() == '') { - blockField.addClass('searchtip'); - blockField.val(tiptext2); - } else if (blockField.val() == tiptext2) { - blockField.addClass('searchtip'); - } else { - blockField.removeClass('searchtip'); - } - }); - - var noValShown = new Boolean(1); - var outliersShown = new Boolean(1); - - $('#showHideOptions').bind('click', function (e) { - var target = e.target; - $target = $(target); - - if (target.name === 'blockSamples') { - if (blockField.val() == tiptext2) { - blockField.val('') - } - blockedText = blockField.val(); - blockedTextSplit = new Array(); - blockedItems = new Array(); - - blockedTextSplit = blockedText.split(/\,/); - - for (i = 0; i <= blockedTextSplit.length - 1; i++) { - var item = blockedTextSplit[i]; - if (item.indexOf('-') != -1) { - subArray = new Array(); - subArray = item.split('-'); - num1 = parseInt(subArray[0]); - num2 = parseInt(subArray[1]); - for (j = num1; j <= num2; j = j + 1) { - blockedItems.push(j); - } - } else if (!(isNaN(item))) { - blockedItems.push(item); - } - } - - for (i = 0; i <= blockedItems.length - 1; i++) { - item = blockedItems[i]; - if ($('select[name=block_method]').val() == '0') { - var thisRow = $('#Other_' + item); - } else { - var thisRow = $('#Primary_' + item); - } - - if (thisRow.is('.novalue')) { - continue; - } else { - thisRow.addClass('blocked').find('input.valueField').val('x'); - } - - //First look at value cell - var thisCell = thisRow.find('input:eq(1)'); - var thisClassNames = thisCell.attr('class').split(/\s+/); - var valueClass = thisClassNames[thisClassNames.length - 1]; - var header = thisRow.parents('table.tablesorter').find('th.header:contains("Value"):eq(0)'); - if (header.hasClass('headerSortUp')) { - thisCell.removeClass(valueClass).addClass('-9999'); - } else if (header.hasClass('headerSortDown')) { - thisCell.removeClass(valueClass).addClass('9999'); - } else { - thisCell.removeClass(valueClass).addClass('-9999'); - } - - //Check if there is an SE column - if (thisRow.find('input.valueField').length > 1) { - var thisCell = thisRow.find('input:eq(2)'); - var thisClassNames = thisCell.attr('class').split(/\s+/); - var valueClass = thisClassNames[thisClassNames.length - 1]; - var header = thisRow.parents('table.tablesorter').find('th.header:contains("SE"):eq(0)'); - if (header.hasClass('headerSortUp')) { - thisCell.removeClass(valueClass).addClass('-9999'); - } else if (header.hasClass('headerSortDown')) { - thisCell.removeClass(valueClass).addClass('9999'); - } else { - thisCell.removeClass(valueClass).addClass('-9999'); - } - } - } - } else if (target.name === 'showHideNoValue') { - if (noValShown) { - $('#showHideOptions').find('input[name=showHideNoValue]').val(' Show No Value '); - for (i = 1; i <= Math.max(numPrimaryRows, numOtherRows) - 1; i++) { - if (i <= numPrimaryRows - 1) { - var thisRow = $('#Primary_' + i); - if (thisRow.is('.novalue:visible') || thisRow.is('.blocked:visible')) { - jQuery(thisRow).addClass('invisible'); - } - } - if (i <= numOtherRows - 1) { - var thisOtherRow = $('#Other_' + i); - if (thisOtherRow.is('.novalue:visible') || thisOtherRow.is('.blocked:visible')) { - if (thisOtherRow.is(':visible')) { - jQuery(thisOtherRow).addClass('invisible'); - } - } - } - } - noValShown = 0; - } else { - $('#showHideOptions').find('input[name=showHideNoValue]').val(' Hide No Value '); - for (i = 1; i <= Math.max(numPrimaryRows, numOtherRows) - 1; i++) { - if (i <= numPrimaryRows - 1) { - var thisRow = $('#Primary_' + i); - if (thisRow.is('.novalue') || thisRow.is('.blocked')) { - jQuery(thisRow).removeClass('invisible'); - if (!(outliersShown)) { - if (thisRow.is('.outlier:visible')) { - jQuery(thisRow).addClass('invisible'); - } - } - } - } - if (i <= numOtherRows - 1) { - var thisOtherRow = $('#Other_' + i); - if (thisOtherRow.is('.novalue') || thisOtherRow.is('.blocked')) { - jQuery(thisOtherRow).removeClass('invisible'); - if (!(outliersShown)) { - if (thisOtherRow.is('.outlier:visible')) { - jQuery(thisOtherRow).addClass('invisible'); - } - } - } - } - } - noValShown = 1; - } - } else if (target.name === 'showHideOutliers') { - if (outliersShown) { - $('#showHideOptions').find('input[name=showHideOutliers]').val(' Show Outliers '); - for (i = 1; i <= Math.max(numPrimaryRows, numOtherRows) - 1; i++) { - if (i <= numPrimaryRows - 1) { - thisRow = $('#Primary_' + i); - if (thisRow.is('.outlier:visible') && (!(thisRow.is('.invisible')))) { - thisRow.addClass('invisible') - } - } - if (i <= numOtherRows - 1) { - thisOtherRow = $('#Other_' + i); - if (thisOtherRow.is('.outlier:visible') && (!(thisOtherRow.is('.invisible')))) { - thisOtherRow.addClass('invisible') - } - } - } - outliersShown = 0; - } else { - $('#showHideOptions').find('input[name=showHideOutliers]').val(' Hide Outliers '); - for (i = 1; i <= Math.max(numPrimaryRows, numOtherRows) - 1; i++) { - if (i <= numPrimaryRows - 1) { - thisRow = $('#Primary_' + i); - if (thisRow.is('.outlier') && (!(thisRow.is(':visible')))) { - if (!(noValShown)) { - if (thisRow.is('.blocked')) { - continue; - } - } - jQuery(thisRow).removeClass('invisible') - } - } - if (i <= numOtherRows - 1) { - thisOtherRow = $('#Other_' + i); - if (thisOtherRow.is('.outlier') && (!(thisOtherRow.is(':visible')))) { - if (!(noValShown)) { - if (thisOtherRow.is('.blocked')) { - continue; - } - } - jQuery(thisOtherRow).removeClass('invisible') - } - } - } - outliersShown = 1; - } - } - return false; - }); -}); - -function getTraitData() { - primary_row_count = $('#sortable1').find('tr').length - 1; - other_row_count = $('#sortable2').find('tr').length - 1; - - primaryStrainNames = new Array(); - primaryVals = new Array(); - primaryVars = new Array(); - - allStrainNames = new Array(); - allVals = new Array(); - allVars = new Array(); - - for (i = 1; i <= primary_row_count; i++) { - thisRow = $('#Primary_' + i); - strainName = thisRow.find('span:first').text(); - primaryStrainNames.push(strainName); - allStrainNames.push(strainName); - strainVal = thisRow.find('input:eq(1)').val(); - primaryVals.push(strainVal); - allVals.push(strainVal); - strainVar = ''; // Just to initialize it in case there is no var - strainVar = thisRow.find('input:eq(2)').val(); - primaryVars.push(strainVar); - allVars.push(strainVar); - } - - otherStrainNames = new Array(); - otherVals = new Array(); - otherVars = new Array(); - - for (j = 1; j <= other_row_count; j++) { - thisRow = $('#Other_' + j) - strainName = thisRow.find('span:first').text(); - otherStrainNames.push(strainName); - strainVal = thisRow.find('input:eq(1)').val(); - otherVals.push(strainVal); - strainVar = ''; // Just to initialize it in case there is no var - strainVar = thisRow.find('input:eq(2)').val(); - otherVars.push(strainVar); - - if (jQuery.inArray(strainName, allStrainNames) == -1) { - allStrainNames.push(strainName); - allVals.push(strainVal); - allVars.push(strainVar); - } - } - - primaryData = [primaryStrainNames, primaryVals, primaryVars]; - otherData = [otherStrainNames, otherVals, otherVars]; - allData = [allStrainNames, allVals, allVars]; - - return [primaryData, otherData, allData]; -} - -/* -used by networkGraphPageBody.py -*/ - -//Default to plain text + symbol for the "Export Graph File" button -$('input[name=exportGraphFile]').live('click', function () { - window.open($('input[name=exportFilename]').val() + "_plain_symbol.txt") -}); - -function changeFormat(graphName) { - var graphFormat = $('#exportFormat').val(); - var traitType = $('#traitType').val(); - - $('input[name=exportGraphFile]').die('click'); - - if (graphFormat == "xgmml") { - if (traitType == "symbol") { - var graphFile = graphName + "_xgmml_symbol.txt"; - $('input[name=exportGraphFile]').live('click', function () { - window.open(graphFile) - }); - } else if (traitType == "name") { - var graphFile = graphName + "_xgmml_name.txt"; - $('input[name=exportGraphFile]').live('click', function () { - window.open(graphFile) - }); - } - } else if (graphFormat == "plain") { - if (traitType == "symbol") { - var graphFile = graphName + "_plain_symbol.txt"; - $('input[name=exportGraphFile]').live('click', function () { - window.open(graphFile) - }); - } else if (traitType == "name") { - var graphFile = graphName + "_plain_name.txt"; - $('input[name=exportGraphFile]').live('click', function () { - window.open(graphFile) - }); - } - } -}
\ No newline at end of file |