From b4c60c1edc334e8e75cfe65ad3f3b3ae481fc6cf Mon Sep 17 00:00:00 2001 From: Marco 'Lubber' Wienkoop Date: Wed, 5 Oct 2022 20:17:42 +0200 Subject: [PATCH] fix(modal,flyout): dynamic elements did not reference Whenever a flyout or modal were dynamically created, the internal element has to be reassigned, otherwise it would always be body. This is especially important when mutationobservers or this-references in callbacks are used --- src/definitions/modules/flyout.js | 3 ++- src/definitions/modules/modal.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/definitions/modules/flyout.js b/src/definitions/modules/flyout.js index 8d44b79229..8958269bb4 100644 --- a/src/definitions/modules/flyout.js +++ b/src/definitions/modules/flyout.js @@ -168,7 +168,6 @@ $.flyout = $.fn.flyout = function(parameters) { module.setup.heights(); module.bind.resize(); } - module.refreshInputs(); module.bind.events(); module.observeChanges(); module.instantiate(); @@ -208,6 +207,7 @@ $.flyout = $.fn.flyout = function(parameters) { $('
', {class: className.actions}).appendTo($module); } $module.prependTo($context); + element = $module[0]; }, id: function() { id = (Math.random().toString(16) + '000000000').slice(2, 10); @@ -621,6 +621,7 @@ $.flyout = $.fn.flyout = function(parameters) { module.add.keyboardShortcuts(); } module.save.focus(); + module.refreshInputs(); if(settings.autofocus) { module.set.autofocus(); } diff --git a/src/definitions/modules/modal.js b/src/definitions/modules/modal.js index 3b8c745038..02ac6661c6 100755 --- a/src/definitions/modules/modal.js +++ b/src/definitions/modules/modal.js @@ -153,7 +153,6 @@ $.modal = $.fn.modal = function(parameters) { $module.addClass('top aligned'); } module.refreshModals(); - module.refreshInputs(); module.bind.events(); module.observeChanges(); module.instantiate(); @@ -191,6 +190,7 @@ $.modal = $.fn.modal = function(parameters) { $('
', {class: className.actions}).appendTo($module); } $context.append($module); + element = $module[0]; }, dimmer: function() { var @@ -574,6 +574,7 @@ $.modal = $.fn.modal = function(parameters) { } module.save.focus(); module.set.active(); + module.refreshInputs() if(settings.autofocus) { module.set.autofocus(); }