.../admin/grid/GridActionsWidget/assets/action_dropdown.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/application/extensions/admin/grid/GridActionsWidget/assets/action_dropdown.js b/application/extensions/admin/grid/GridActionsWidget/assets/action_dropdown.js index 6c904f3a..c9f99fb8 100644 --- a/application/extensions/admin/grid/GridActionsWidget/assets/action_dropdown.js +++ b/application/extensions/admin/grid/GridActionsWidget/assets/action_dropdown.js @@ -11,9 +11,11 @@ LS.actionDropdown = { document.querySelectorAll('.ls-dropdown-toggle') ); let body = document.querySelector('body'); + let uniqueId = 'dropdown-menu-' + Math.random().toString(36).substr(2, 9); dropdownElementList.map(function (dropdownToggleEl) { let dropdownMenu = dropdownToggleEl.nextElementSibling; if (dropdownMenu !== null) { + dropdownMenu.setAttribute('data-dropdown-id', uniqueId); new LS.actionDropdown.DropdownClass(dropdownToggleEl, { lsMenuElement: dropdownMenu, boundary: body, @@ -21,9 +23,16 @@ LS.actionDropdown = { strategy: 'fixed', }, }); + body.append(dropdownMenu); } }); + document.querySelectorAll('.dropdown-menu').forEach(function (menu) { + if (menu.getAttribute('data-dropdown-id') !== uniqueId) { + menu.remove(); + } + } + ); } };