94ef95b9e4a394e2806e30d7b01e1df8bc887b04
tdreszer
  Wed Feb 8 11:18:07 2012 -0800
Ajax reload of a track needs to update the tr's classes.  This fixes 6329.
diff --git src/hg/js/hgTracks.js src/hg/js/hgTracks.js
index 7153642..c6e59df 100644
--- src/hg/js/hgTracks.js
+++ src/hg/js/hgTracks.js
@@ -2544,30 +2544,40 @@
         }
         imageV2.loadRemoteTracks();
         imageV2.markAsDirtyPage();
     },
 
     updateImgForId: function (html, id)
     {   // update row in imgTbl for given id.
         // return true if we successfully pull slice for id and update it in imgTrack.
         var str = "<TR id='tr_" + id + "'[^>]*>([\\s\\S]+?)</TR>";
         var reg = new RegExp(str);
         var a = reg.exec(html);
         if(a && a[1]) {
             var tr = $(document.getElementById("tr_" + id));
             if (tr.length > 0) {
                 $(tr).html(a[1]);
+
+                // Need to update tr class list too
+                str = "<TR id='tr_" + id + "[^>]* class='(.*)'>";
+                reg = new RegExp(str);
+                var classes = reg.exec(html);
+                if(classes && classes[1] && classes[1].length > 0) {
+                    $(tr).removeClass();
+                    $(tr).addClass(classes[1]);
+                }
+
                 // NOTE: Want to examine the png? Uncomment:
                 //var img = $('#tr_' + id).find("img[id^='img_data_']").attr('src');
                 //warn("Just parsed image:<BR>"+img);
 
                 // >1x dragScrolling needs some extra care.
                 if(hgTracks.imgBoxPortal && (hgTracks.imgBoxWidth > hgTracks.imgBoxPortalWidth)) {
                     if (hgTracks.imgBoxPortalLeft != undefined) {
                         $(tr).find('.panImg').css({'left': hgTracks.imgBoxPortalLeft });
                         $(tr).find('.tdData').css(
                                 {'backgroundPosition': hgTracks.imgBoxPortalLeft});
                     }
                 }
                 return true;
             }
         }