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/encodeChipMatrix.js src/hg/js/encodeChipMatrix.js index dd3ba4e..cae4105 100644 --- src/hg/js/encodeChipMatrix.js +++ src/hg/js/encodeChipMatrix.js @@ -170,44 +170,38 @@ $td.addClass('experiment'); $td.text(matrix[cellType][target]); $td.data({ 'target' : target, 'cellType' : cellType }); $td.attr('title', 'Click to select: ' + target + ' in ' + cellType +' cells'); // add highlight when moused over encodeMatrix.hoverExperiment($td); $td.click(function() { var url, antibodyTarget; + var antibodies = []; - // NOTE: generating full search URL should be generalized & encapsulated - url = encodeMatrix.getSearchUrl(encodeProject.getAssembly()); - url += - ('&hgt_mdbVar1=dataType&hgt_mdbVal1=' + 'ChipSeq' + - '&hgt_mdbVar2=cell&hgt_mdbVal2=' + $(this).data().cellType + - '&hgt_mdbVar3=antibody'); + // get list of antibodies for this protein target antibodyTarget = encodeProject.getAntibodyTarget($(this).data().target); - // TODO: html encode ? $.each(antibodyTarget.antibodies, function (i, antibody) { - url += ('&hgt_mdbVal3=' + antibody); + antibodies.push(antibody); }); - url += '&hgt_mdbVar4=view&hgt_mdbVal4=Any'; - - // remove extra rows - url += '&hgt_mdbVar5=[]'; - url += '&hgt_mdbVar6=[]'; + url = encodeMatrix.getSearchUrl( + {'mdbVar': 'dataType', 'mdbVal': 'ChipSeq'}, + {'mdbVar': 'cell', 'mdbVal': $(this).data().cellType}, + {'mdbVar': 'antibody', 'mdbVal': antibodies}); window.open(url, "searchWindow"); }); }); }); } // initialize encodeMatrix.start($matrixTable); // load data from server and set up callback encodeProject.loadAllFromServer(requests, handleServerData); });