7cd97c987844110762ef96424b1a9e97b5485dc6
kate
  Tue Feb 9 14:02:26 2016 -0800
Add JS to disable/enable GTEx gene track config controls when applicable. refs #15645

diff --git src/hg/js/utils.js src/hg/js/utils.js
index f55ed3d..7dba058 100644
--- src/hg/js/utils.js
+++ src/hg/js/utils.js
@@ -1296,30 +1296,62 @@
 }
 
 function hideLoadingImage(id)
 {
     $(document.getElementById(id)).remove();
 }
 
 function codonColoringChanged(name)
 {   // Updated disabled state of codonNumbering checkbox based on current value
     // of track coloring select.
     var val = $("select[name='" + name + ".baseColorDrawOpt'] option:selected").text();
     $("input[name='" + name + ".codonNumbering']").attr('disabled', val === "OFF");
     $("#" + name + "CodonNumberingLabel").toggleClass("disabled", val === "OFF" ? true : false);
 }
 
+function gtexTransformChanged(name)
+{ // Disable view limits settings if log transform enabled
+
+    // NOTE: selector strings are a bit complex due to dots GB vars/attributes (track.var)
+    // so can't use more concise jQuery syntax
+
+    // check log transform
+    var logCheckbox = $("input[name='" + name + ".logTransform']");
+    var isLogChecked = logCheckbox.attr('checked');
+
+    // enable/disable view limits
+    var maxTextbox = $("input[name='" + name + ".maxLimit']");
+    maxTextbox.attr('disabled', isLogChecked);
+    var maxTextLabel = $("." + name + "ViewLimitsMaxLabel");
+    maxTextLabel.toggleClass("disabled", isLogChecked ? true : false);
+}
+
+function gtexSamplesChanged(name)
+{ // Disable and comparison controls if all samples selected
+
+    // check sample select
+    var sampleSelect = $("input[name='" + name + ".samples']:checked");
+    var isAllSamples = (sampleSelect.val() === 'all');
+
+    // enable/disable comparison options
+    // limiting to radio buttons as there is a problem with tissue checkbox naming on popup
+    var comparisonButtons = $("input[type='radio' name='" + name + ".comparison']");
+    comparisonButtons.attr('disabled', isAllSamples);
+    var comparisonLabel = $("." + name + "ComparisonLabel");
+    comparisonLabel.toggleClass("disabled", isAllSamples ? true : false);
+}
+
 
 var bindings = {
     // This object is for finding a subtring using tokens as bounds
     // The tokens can be literal strings or regular expressions.
     // If regular expressions are used, then only the first expression found will count
     // If not using regexp, then you can pass in limits to the original string
 
     _raw: function (begToken,endToken,someString,ixBeg,ixEnd)
     { // primitive not meant to be called directly but by bindings.inside and bindings.outside
         if (someString.length <= 0)
             return '';
         if (ixBeg === undefined || ixBeg === null)
             ixBeg = 0;
         if (ixEnd === undefined || ixEnd === null)
             ixEnd = someString.length;