5ff4d1d2b3de8b231d7dd24cec7b0263ac4a2b46 kate Fri Mar 16 22:45:55 2012 -0700 Fixes to search problems diff --git src/hg/js/encodeDataSummary.js src/hg/js/encodeDataSummary.js index f590356..88c7e4a 100644 --- src/hg/js/encodeDataSummary.js +++ src/hg/js/encodeDataSummary.js @@ -107,75 +107,78 @@ // add row highlight $('.summaryTable').delegate('.even, .odd', 'mouseover mouseleave', function (ev) { if (ev.type == 'mouseover') { $(this).addClass('rowHighlight'); } else { $(this).removeClass('rowHighlight'); } }); } function tableOut(table, types, exps, isChipSeq) { // Helper function to output tables to document var total = 0, row = 0; var dataType, antibodyTarget; + var description, term; $.each(exps, function (key, value) { types.push(key); total += parseInt(value, 10); }); types.sort(encodeProject.cmpNoCase); // lay out table $.each(types, function (i, value) { description = ''; + term = ''; if (isChipSeq) { antibodyTarget = encodeProject.getAntibodyTarget(value); if (antibodyTarget !== undefined) { description = antibodyTarget.description; + term = value; } } 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='" + value + "' class='dataItem' title='Click to search for " + value + " data'>" + exps[value] + "<\/td><\/tr>"); + $(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++; }); - /* $(".dataItem").addClass("selectable"); */ $(".even, .odd").click(function () { // TODO: base on preview ? - var url = encodeMatrix.getSearchUrl(encodeProject.getAssembly()); - if (isChipSeq) { - target = $(this).children('.dataItem').attr("id"); + var dataType, target, url, antibodyTarget; + 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"); + dataType = $(this).children('.dataItem').attr('id'); url += '&hgt_mdbVar1=dataType&hgt_mdbVal1=' + dataType; } url += '&hgt_mdbVar2=view&hgt_mdbVal2=Any'; // TODO: open search window window.open(url, "searchWindow"); - //window.location = url; }); $(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); });