6e57bd7dddafb83f609a22cba99c47c97fb506d9
tdreszer
  Thu Sep 9 09:09:18 2010 -0700
hgTrackUi can now use ajax to update composite/view settings, which enables keeping subtrack level v. composite/view level settings properly influencing each other.  That is, timing is important in ensuring that composite/view level changes overrides subtrack level settings.  The triggers for this code in hui.c are all ifdef'd on SUBTRACK_CFG_POPUP.
diff --git src/hg/js/hui.js src/hg/js/hui.js
index be02582..6cb9a1d 100644
--- src/hg/js/hui.js
+++ src/hg/js/hui.js
@@ -575,6 +575,27 @@
     $(list).change(function(){compositeCfgUpdateSubtrackCfgs(this);});
 }
 
+function registerViewOnchangeAction(viewTrackName)
+{
+// After composite level view settings are written to HTML it is necessary to go back and
+// make sure that each time they change, the change is ajaxed over
+    var list = $("input[name^='"+viewTrackName+"\.']");
+    $(list).each(function(){setIdRemoveName(this);});
+    $(list).change(function(){setCartVarFromObjId(this);});
+
+    list = $("select[name^='"+viewTrackName+"\.']"); // includes composite.view.vis
+    $(list).each(function(){setIdRemoveName(this);});
+    $(list).change(function(){setCartVarFromObjId(this);});
+
+    list = $("select[name='"+viewTrackName+"']"); // is 'composite' vis
+    $(list).each(function(){setIdRemoveName(this);});
+    $(list).change(function(){setCartVarFromObjId(this);});
+}
+
+function registerFormSubmit(formName)
+{
+    $('form[name="'+formName+'"]').each(function(i) { formSubmitWaitOnAjax(this)});
+}
 
 function subtrackCfgHideAll(table)
 {