From 09a5ab94dd4d8a28ae86f1fc5591232b879875a0 Mon Sep 17 00:00:00 2001 From: Felix Hamann Date: Tue, 9 Apr 2019 22:14:05 +0200 Subject: [PATCH] fix issue with conditional fieldsets in modals --- static/js/utils/form.js | 2 +- static/js/utils/modal.js | 4 ++-- templates/widgets/multi-action/multi-action.hamlet | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/static/js/utils/form.js b/static/js/utils/form.js index baa0eb9e6..cb7cdd9f9 100644 --- a/static/js/utils/form.js +++ b/static/js/utils/form.js @@ -159,7 +159,7 @@ if (!element.dataset.conditionalInput) { throw new Error('Interactive Fieldset needs a selector for a conditional input!'); } - conditionalInput = document.querySelector(element.dataset.conditionalInput); + conditionalInput = document.querySelector('#' + element.dataset.conditionalInput); if (!conditionalInput) { // abort if form has no required inputs throw new Error('Couldn\'t find the conditional input. Aborting setup for interactive fieldset.'); diff --git a/static/js/utils/modal.js b/static/js/utils/modal.js index 6b5f0fba1..a0993d802 100644 --- a/static/js/utils/modal.js +++ b/static/js/utils/modal.js @@ -173,9 +173,9 @@ } function withPrefixedInputIDs(modalContent) { - var idAttrs = ['id', 'for', 'data-conditional-id']; + var idAttrs = ['id', 'for', 'data-conditional-input']; idAttrs.forEach(function(attr) { - modalContent.querySelectorAll('[' + attr + ']').forEach(function(input) { + Array.from(modalContent.querySelectorAll('[' + attr + ']')).forEach(function(input) { var value = element.id + '__' + input.getAttribute(attr); input.setAttribute(attr, value); }); diff --git a/templates/widgets/multi-action/multi-action.hamlet b/templates/widgets/multi-action/multi-action.hamlet index f65a39dec..f8b284f24 100644 --- a/templates/widgets/multi-action/multi-action.hamlet +++ b/templates/widgets/multi-action/multi-action.hamlet @@ -1,4 +1,4 @@ -
+
_{act} ^{w}