From fe8e8fbbb99707b2587bd711d3eb95c7a7acd411 Mon Sep 17 00:00:00 2001 From: Richard Schreiber Date: Thu, 31 Oct 2024 16:02:09 +0100 Subject: [PATCH] Hide dependencies recursively if input will be disabled --- src/pretix/static/pretixcontrol/js/ui/main.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pretix/static/pretixcontrol/js/ui/main.js b/src/pretix/static/pretixcontrol/js/ui/main.js index a83ae15f2..60084f0fd 100644 --- a/src/pretix/static/pretixcontrol/js/ui/main.js +++ b/src/pretix/static/pretixcontrol/js/ui/main.js @@ -377,7 +377,7 @@ var form_handlers = function (el) { var dependent = $(this), dependency = findDependency($(this).attr("data-display-dependency"), this), update = function (ev) { - var enabled = dependency.toArray().some(function(d) { + var enabled = dependency.attr('disabled') ? false : dependency.toArray().some(function(d) { if (d.type === 'checkbox' || d.type === 'radio') { return d.checked; } else if (d.type === 'select-one') { @@ -393,12 +393,12 @@ var form_handlers = function (el) { return (!!d.value && !d.value.match(/^0\.?0*$/g)); } }); - if (dependent.is("[data-inverse]")) { + if (!dependency.attr('disabled') && dependent.is("[data-inverse]")) { enabled = !enabled; } var $toggling = dependent; if (dependent.attr("data-disable-dependent")) { - $toggling.attr('disabled', !enabled); + $toggling.attr('disabled', !enabled).trigger("change"); } if (dependent.get(0).tagName.toLowerCase() !== "div") { $toggling = dependent.closest('.form-group');