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;