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/encodeDataMatrix.js src/hg/js/encodeDataMatrix.js
index 3ff68a3..991ca32 100644
--- src/hg/js/encodeDataMatrix.js
+++ src/hg/js/encodeDataMatrix.js
@@ -166,39 +166,31 @@
                 // fill in count, mouseover and selection by click
                 $td.addClass('experiment');
                 $td.text(matrix[cellType][dataType]);
                 $td.data({
                     'dataType' : dataType,
                     'cellType' : cellType
                 });
                 $td.attr('title', 'Click to select: ' + 
                         encodeProject.getDataType(dataType).label +
                         ' in ' + cellType +' cells');
 
                 // add highlight when moused over
                 encodeMatrix.hoverExperiment($td);
 
                 $td.click(function() {
-                    // NOTE: generating full search URL should be generalized & encapsulated
-                    var url = encodeMatrix.getSearchUrl(encodeProject.getAssembly());
-                    // TODO: encapsulate var names
-                    url +=
-                       ('&hgt_mdbVar1=dataType&hgt_mdbVal1=' + $(this).data().dataType +
-                       '&hgt_mdbVar2=cell&hgt_mdbVal2=' + $(this).data().cellType +
-                       '&hgt_mdbVar3=view&hgt_mdbVal3=Any'
-                       );
+                    var url = encodeMatrix.getSearchUrl(
+                                {'mdbVar': 'dataType', 'mdbVal': $(this).data().dataType},
+                                {'mdbVar': 'cell', 'mdbVal': $(this).data().cellType});
                     // specifying window name limits open window glut
-                    url += '&hgt_mdbVar4=[]';
-                    url += '&hgt_mdbVar5=[]';
-                    url += '&hgt_mdbVar6=[]';
                     window.open(url, "searchWindow");
                 });
             });
         });
     }
 
     // initialize application
     encodeMatrix.start($matrixTable);
 
     // load data from server and do callback
     encodeProject.loadAllFromServer(requests, handleServerData);
 });