0dc6764668fc5dd1f4374f847c7607f62ae82704
tdreszer
  Thu Oct 21 17:14:37 2010 -0700
Mostly refiguring to ensure shorter 'get' URL. Paging will remember previous selections but may remove this code.
diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js
index 28c96dd..9f8575e 100644
--- src/hg/js/hgTracks.js
+++ src/hg/js/hgTracks.js
@@ -367,9 +367,11 @@
         var newSrc;
         if(newVal == 1) {
             newSrc = oldSrc.replace("/remove", "/add");
+            $(button).attr('title','Expand this group');
             $("tr[id^='"+prefix+"-']").hide();
         } else {
             newSrc = oldSrc.replace("/add", "/remove");
+            $(button).attr('title','Collapse this group');
             $("tr[id^='"+prefix+"-']").show();
         }
         $(button).attr("src",newSrc);
@@ -1244,7 +1246,7 @@
     }
 
     // Convert map AREA gets to post the form, ensuring that cart variables are kept up to date (but turn this off for search form).
-    if($("FORM").length > 0 && $('#searchTracks').length == 0) {
+    if($("FORM").length > 0 && $('#trackSearch').length == 0) {
         var allLinks = $('a');
         $( allLinks ).unbind('click');
         $( allLinks ).click( postToSaveSettings );
@@ -1308,10 +1310,10 @@
     if($("#tabs").length > 0) {
         // Search page specific code
 
-        var val = $('#currentSearchTab').val();
+        var val = $('#currentTab').val();
         $("#tabs").tabs({
                             show: function(event, ui) {
-                                $('#currentSearchTab').val(ui.panel.id);
+                                $('#currentTab').val(ui.panel.id);
                             },
                             select: function(event, ui) {
                                 if( ui.panel.id == 'simpleTab' && $('div#found').length < 1) {
@@ -1325,9 +1327,7 @@
             $('input#simpleSearch').focus();
         }
         $("#tabs").css('font-family', jQuery('body').css('font-family'));
-        $('#simpleSearch').keydown(searchKeydown);
-        $('#descSearch').keydown(searchKeydown);
-        $('#nameSearch').keydown(searchKeydown);
+        $('.submitOnEnter').keydown(searchKeydown);
         findTracksNormalize();
         updateMetaDataHelpLinks(0);
     }
@@ -2181,7 +2181,7 @@
 function findTracksMdbVarChanged(obj)
 { // Ajax call to repopulate a metadata vals select when mdb var changes
     var newVar = $(obj).val();
-    var a = /metadataName(\d+)/.exec(obj.name)
+    var a = /hgt_mdbVar(\d+)/.exec(obj.name); // NOTE must match METADATA_NAME_PREFIX in hg/hgTracks/searchTracks.c
     if(newVar != undefined && a && a[1]) {
         var num = a[1];
         $.ajax({
@@ -2192,7 +2192,7 @@
                    success: catchErrorOrDispatch,
                    error: errorHandler,
                    cache: true,
-                   cmd: "hgt.metadataValue" + num,
+                   cmd: "hgt_mdbVal" + num, // NOTE must match METADATA_VALUE_PREFIX in hg/hgTracks/searchTracks.c
                    num: num
                });
     }
@@ -2216,9 +2216,9 @@
 function searchKeydown(event)
 {
     if (event.which == 13) {
-        // hgt.forceSearch is required to fix problem on IE and Safari where value of hgt_searchTracks is "-" (i.e. not "Search").
-        $("input[name=hgt.forceSearch]").val(1);
-        $('#searchTracks').submit();
+        // Required to fix problem on IE and Safari where value of hgt_tSearch is "-" (i.e. not "Search").
+        $("input[name=hgt_tsPage]").val(0);  // NOTE: must match TRACK_SEARCH_PAGER in hg/inc/searchTracks.h
+        $('#trackSearch').submit();
         // This doesn't work with IE or Safari.
         // $('#searchSubmit').click();
     }
@@ -2356,7 +2356,7 @@
 
 function findTracksSearchButtonsEnable(enable)
 { // Displays visible and checked track count
-    var searchButton = $('input[name="hgt_searchTracks"]');
+    var searchButton = $('input[name="hgt_tSearch"]'); // NOTE: must match TRACK_SEARCH in hg/inc/searchTracks.h
     var clearButton  = $('input.clear');
     if(enable) {
         $(searchButton).attr('disabled',false);
@@ -2402,7 +2402,7 @@
 function findTracksSortNow(obj)
 {// Called by radio button to sort tracks
     if( $('#sortIt').length == 0 )
-        $('form#searchTracks').append("<input TYPE=HIDDEN id='sortIt' name='"+$(obj).attr('name')+"' value='"+$(obj).val()+"'>");
+        $('form#trackSearch').append("<input TYPE=HIDDEN id='sortIt' name='"+$(obj).attr('name')+"' value='"+$(obj).val()+"'>");
     else
         $('#sortIt').val($(obj).val());
     $('#searchSubmit').click();
@@ -2411,10 +2411,20 @@
 
 function findTracksPage(pageVar,startAt)
 {// Called by radio button to sort tracks
-    if( $('pageIt').length == 0 )
-        $('form#searchTracks').append("<input TYPE=HIDDEN id='pageIt' name='"+pageVar+"' value="+startAt+">");
-    else
-        $('pageIt').val(startAt);
+    var pager = $("input[name='"+pageVar+"']");
+    if( $(pager).length == 1)
+        $(pager).val(startAt);
+
+    // FIXME: Remove this code if sving settings on paging is not wanted
+    // How to hold onto selected tracks?
+    // There are 2 separate forms.  Scrape named inputs from searchResults form and dup them on trackSearch?
+    var inp = $('form#searchResults').find('input:hidden').not(':disabled').not("[name='hgsid']");
+    if($(inp).length > 0) {
+        $(inp).appendTo('form#trackSearch');
+        $('form#trackSearch').attr('method','POST'); // Must be post to avoid url too long  NOTE: probably needs to be post anyway
+    }
+    // FIXME: Remove this code if sving settings on paging is not wanted
+
     $('#searchSubmit').click();
     return false;
 }
@@ -2424,14 +2434,14 @@
 function delSearchSelect(obj, rowNum)
 {
     obj = $(obj);
-    $("input[name=hgt.delRow]").val(rowNum);
+    $("input[name=hgt_tsDelRow]").val(rowNum);  // NOTE: Must match TRACK_SEARCH_DEL_ROW in hg/inc/searchTracks.h
     return true;
 }
 
 function addSearchSelect(obj, rowNum)
 {
     obj = $(obj);
-    $("input[name=hgt.addRow]").val(rowNum);
+    $("input[name=hgt_tsAddRow]").val(rowNum);  // NOTE: Must match TRACK_SEARCH_ADD_ROW in hg/inc/searchTracks.h
     return true;
 }
 
@@ -2461,8 +2471,8 @@
         var span = $("#helpLink" + i);
         if(span.length > 0) {
             if(index == 0 || i == index) {
-                var val = $("select[name='hgt.metadataName" + i + "']").val();
-                var text = $("select[name='hgt.metadataName" + i + "'] option:selected").text();
+                var val = $("select[name='hgt_mdbVar" + i + "']").val();  // NOTE must match METADATA_NAME_PREFIX in hg/hgTracks/searchTracks.c
+                var text = $("select[name='hgt_mdbVar" + i + "'] option:selected").text();
                 var str;
                 span.empty();
                 if(val == 'cell') {