72e76d115bf56e6e998b757f17112e3ee14ebd99 kate Thu Mar 22 11:13:45 2012 -0700 Better method of suppressing extra search dropdowns from URL diff --git src/hg/js/encodeDataSummary.js src/hg/js/encodeDataSummary.js index 1850467..9bad0b2 100644 --- src/hg/js/encodeDataSummary.js +++ src/hg/js/encodeDataSummary.js @@ -140,46 +140,49 @@ } } else { dataType = encodeProject.getDataTypeByLabel(value); if (dataType !== undefined) { description = dataType.description; term = dataType.term; } } // quote the end tags so HTML validator doesn't whine $(table).append("<tr class='" + (row % 2 === 0 ? "even" : "odd") + "'><td title='" + description + "'>" + value + "<\/td><td id='" + term + "' class='dataItem' title='Click to search for " + value + " data'>" + exps[value] + "<\/td><\/tr>"); row++; }); $(".even, .odd").click(function () { var dataType, target, url, antibodyTarget; + // NOTE: generating full search URL should be generalized & encapsulated url = encodeMatrix.getSearchUrl(encodeProject.getAssembly()); if ($(this).parents('table').attr('id') === 'tfbsTable') { target = $(this).children('.dataItem').attr('id'); url += '&hgt_mdbVar1=antibody'; antibodyTarget = encodeProject.getAntibodyTarget(target); $.each(antibodyTarget.antibodies, function (i, antibody) { url += '&hgt_mdbVal1=' + antibody; }); } else { dataType = $(this).children('.dataItem').attr('id'); url += '&hgt_mdbVar1=dataType&hgt_mdbVal1=' + dataType; } - url += '&hgt_mdbVar2=view&hgt_mdbVal2=Any' + - // TODO: figure out how to remove mdbVar3 and mdbVar4 - '&hgt_mdbVar3=view&hgt_mdbVal3=Any' + - '&hgt_mdbVar4=view&hgt_mdbVal4=Any' ; + url += '&hgt_mdbVar2=view&hgt_mdbVal2=Any'; + // remove extra rows + url += '&hgt_mdbVar3=[]'; + url += '&hgt_mdbVar4=[]'; + url += '&hgt_mdbVar5=[]'; + url += '&hgt_mdbVar6=[]'; window.open(url, "searchWindow"); }); $(table).append("<tr><td class='totals'>Total: " + types.length + "<\/td><td class='totals'>" + total + "<\/td><\/tr>"); if (total === 0) { $(table).remove(); } } // initialize encodeMatrix.start($summaryTables); // load data from server encodeProject.loadAllFromServer(requests, handleServerData); });