e8010173cb0940a00c38dd6f11ac3ab1fc64195b
tdreszer
  Fri Aug 27 13:17:07 2010 -0700
Needed to change cfg popup return, because ajaxing over vars then fetching new track had timing issues
diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js
index ece55d8..f1cd745 100644
--- src/hg/js/hgTracks.js
+++ src/hg/js/hgTracks.js
@@ -1769,10 +1769,13 @@
     return mapItems;
 }
 
-function updateTrackImg(trackName)
+function updateTrackImg(trackName,extraData,loadingId)
 {
     var data = "hgt.trackImgOnly=1&hgsid=" + getHgsid() + "&hgt.trackNameFilter=" + trackName;
-    var loadingId = showLoadingImage("tr_" + trackName);
+    if(extraData != undefined && extraData != "")
+        data += "&" + extraData;
+    if(loadingId == undefined || loadingId == "")
+        loadingId = showLoadingImage("tr_" + trackName);
     $.ajax({
                 type: "GET",
                 url: "../cgi-bin/hgTracks",
@@ -1832,12 +1835,30 @@
                                closeOnEscape: true,
                                autoOpen: false,
                                buttons: { "Ok": function() {
-                                    if(popUpTrackDescriptionOnly == false)
+                                    var hide = false; // need to handle special case of vis going to hide!
+                                    var vis = $('#pop').find('select[name="'+popUpTrackName+'"]');
+                                    if(vis != undefined)
+                                        hide = ($(vis).val() == 'hide');
+                                    if(popUpTrackDescriptionOnly == false) {
+                                        if($('#imgTbl') != undefined) {
+                                            if(hide) {
+                                                if(trackDbJson[popUpTrackName].parentTrack)
+                                                    setAllVars($('#pop'),popUpTrackName);
+                                                else
                                         setAllVars($('#pop'));
+                                                $('#tr_' + popUpTrackName).remove();
+                                                loadImgAreaSelect(false);
+                                            }
+                                            else {
+                                                var urlData = getAllVarsAsUrlData($('#pop'));
+                                                updateTrackImg(popUpTrackName,urlData,"");
+                                            }
+                                        } else {
+                                            setAllVars($('#pop'));
+                                            //if(hide) // Need to set checkbox here
+                                        }
+                                    }
                                     $(this).dialog("close");
-                                    if($('#imgTbl') != undefined && popUpTrackDescriptionOnly == false)
-                                        setTimeout('updateTrackImg(popUpTrackName);',50); // Necessary because ajax settings need to be done first
-                                        updateTrackImg(popUpTrackName);
                                }},
                                close: function() {
                                    // clear out html after close to prevent problems caused by duplicate html elements