src/hg/js/hui.js 1.23

1.23 2009/04/01 20:12:50 tdreszer
Necessary checkin of registerOnChange to bind with jQuery.change(). Also checking in incomplete, but not yet used code.
Index: src/hg/js/hui.js
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/js/hui.js,v
retrieving revision 1.22
retrieving revision 1.23
diff -b -B -U 4 -r1.22 -r1.23
--- src/hg/js/hui.js	13 Mar 2009 23:35:43 -0000	1.22
+++ src/hg/js/hui.js	1 Apr 2009 20:12:50 -0000	1.23
@@ -241,20 +241,13 @@
 function compositeCfgRegisterOnchangeAction(prefix)
 {
 // After composite level cfg settings written to HTML it is necessary to go back and
 // make sure that each time they change, any matching subtrack level cfg setting are changed.
-    var count=0;
     var list = $("input[name^='"+prefix+"']").not("[name$='.vis']");
+    $(list).change(function(){compositeCfgUpdateSubtrackCfgs(this);});
 
-    for (var ix=0;ix<list.length;ix++) {
-        list[ix].onchange = function(){compositeCfgUpdateSubtrackCfgs(this);};
-        count++;
-    }
     var list = $("select[name^='"+prefix+"']").not("[name$='.vis']");
-    for (var ix=0;ix<list.length;ix++) {
-        list[ix].onchange = function(){compositeCfgUpdateSubtrackCfgs(this);};
-        count++;
-    }
+    $(list).change(function(){compositeCfgUpdateSubtrackCfgs(this);});
 }
 
 
 function subtrackCfgHideAll(table)
@@ -799,12 +792,44 @@
     }
    // alert("Time stamped ");
 }
 
+function multiSelectLoad(div,sizeWhenOpen)
+{
+    //var div = $(obj);//.parent("div.multiSelectContainer");
+    var sel = $(div).children("select:first");
+    if(div != undefined && sel != undefined && sizeWhenOpen <= $(sel).length) {
+        $(div).css('width', ( $(sel).clientWidth ) +"px");
+        $(div).css('overflow',"hidden");
+        $(div).css('borderRight',"2px inset");
+    }
+    $(sel).show();
+}
+
+function multiSelectBlur(obj)
+{
+    if(obj.value == undefined || obj.value == "")
+        obj.value = "All";
+    if(obj.value == "All") // Close if selected index is 1
+        obj.size=1;
+}
+
+function multiSelectClick(obj,sizeWhenOpen)
+{
+    if(obj.size == 1)
+        obj.size=sizeWhenOpen;
+    else
+        multiSelectBlur(obj);
+}
+
 // The following js depends upon the jQuery library
 $(document).ready(function()
 {
     //matInitializeMatrix();
+    //$("div.multiSelectContainer").each( function (i) {
+    //    var sel = $(this).children("select:first");
+    //    multiSelectLoad(this,sel.openSize);
+    //});
 
     // Allows rows to have their positions updated after a drag event
     if($(".tableWithDragAndDrop").length > 0) {
         $(".tableWithDragAndDrop").tableDnD({