f0958c22f5dca692bce772179ab48fe8a8744049 kate Tue Apr 17 22:14:47 2012 -0700 Search needs to clear first three fields in Advanced Tab. Taking this opportunity to generalize generation of search url and move to encodeMatrix lib diff --git src/hg/js/encodeDataSummary.js src/hg/js/encodeDataSummary.js index 7c05961..d66bfdb 100644 --- src/hg/js/encodeDataSummary.js +++ src/hg/js/encodeDataSummary.js @@ -143,50 +143,49 @@ term = dataType.term; } } // quote the end tags so HTML validator doesn't whine row = "<tr class='dataRow " + (rowNum % 2 === 0 ? "even" : "odd") + "'>" + "<td class='dataLabel' title='" + description + "'>" + value + "<\/td>" + "<td id='" + term + "' class='dataItem' title='Click to search for " + value + " data'>" + exps[value] + "<\/td>" + "<\/tr>"; $(table).append(row); rowNum++; }); $(".dataRow").click(function () { var dataType, target, url, antibodyTarget; - // NOTE: generating full search URL should be generalized & encapsulated - url = encodeMatrix.getSearchUrl(encodeProject.getAssembly()); + var antibodies = []; + var searchObj = {}; + if ($(this).parents('table').attr('id') === 'tfbsTable') { + // search on list of antibodies for protein target target = $(this).children('.dataItem').attr('id'); - url += '&hgt_mdbVar1=antibody'; antibodyTarget = encodeProject.getAntibodyTarget(target); $.each(antibodyTarget.antibodies, function (i, antibody) { - url += '&hgt_mdbVal1=' + antibody; + antibodies.push(antibody); }); + searchObj.mdbVar = 'antibody'; + searchObj.mdbVal = antibodies; } else { + // search on data type dataType = $(this).children('.dataItem').attr('id'); - url += '&hgt_mdbVar1=dataType&hgt_mdbVal1=' + dataType; - } - url += '&hgt_mdbVar2=view&hgt_mdbVal2=Any'; - // remove extra rows - url += '&hgt_mdbVar3=[]'; - url += '&hgt_mdbVar4=[]'; - url += '&hgt_mdbVar5=[]'; - url += '&hgt_mdbVar6=[]'; + searchObj.mdbVar = 'dataType'; + searchObj.mdbVal = dataType; + } + url = encodeMatrix.getSearchUrl(searchObj); 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); });