diff --git a/src/bundle/Resources/public/js/scripts/admin.location.add.translation.js b/src/bundle/Resources/public/js/scripts/admin.location.add.translation.js index cf076f0b0b..7d9e05c1b8 100644 --- a/src/bundle/Resources/public/js/scripts/admin.location.add.translation.js +++ b/src/bundle/Resources/public/js/scripts/admin.location.add.translation.js @@ -1,15 +1,22 @@ (function (global, doc) { const SELECTOR_MODAL = '.ibexa-modal'; + const observerConfig = { + attributes: true, + attributeFilter: ['class'], + }; const toggleBtnDisabledState = (select) => { const modal = select.closest(SELECTOR_MODAL); const buttonCreate = modal.querySelector('.ibexa-btn--create-translation'); - buttonCreate.toggleAttribute('disabled', !select.value); }; doc.querySelectorAll('.ibexa-translation__language-wrapper--language').forEach((select) => { - toggleBtnDisabledState(select); + const dropdown = select.closest('.ibexa-dropdown'); + const observer = new MutationObserver(() => toggleBtnDisabledState(select)); + toggleBtnDisabledState(select); select.addEventListener('change', ({ target }) => toggleBtnDisabledState(target), false); + + observer.observe(dropdown, observerConfig); }); })(window, window.document);