diff --git a/resources/report/html/loot-plugin-card.html b/resources/report/html/loot-plugin-card.html index 7f7b211d..783a1549 100644 --- a/resources/report/html/loot-plugin-card.html +++ b/resources/report/html/loot-plugin-card.html @@ -335,7 +335,7 @@ loot-clear-metadata if (this.tagName == 'LOOT-PLUGIN-CARD') { card = this; } else { - card = this.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentNode.host; + card = getMenuItemCard(this); } /* If the editor hasn't already been opened, its data is not yet set, so do that now. */ @@ -344,6 +344,7 @@ loot-clear-metadata } card.data.isEditorOpen = true; + card.data.isMenuOpen = false; /* Fire an open event, so that the UI can enter edit mode. */ card.dispatchEvent(new CustomEvent('loot-editor-open', { @@ -356,6 +357,7 @@ loot-clear-metadata }, onShowOnlyConflicts: function(evt) { + getMenuItemCard(this).data.isMenuOpen = false; evt.target.dispatchEvent(new CustomEvent('loot-filter-conflicts', { bubbles: true, detail: evt.target.checked, @@ -363,16 +365,25 @@ loot-clear-metadata }, onCopyMetadata: function(evt) { + getMenuItemCard(this).data.isMenuOpen = false; evt.target.dispatchEvent(new CustomEvent('loot-copy-metadata', { bubbles: true, })); }, onClearMetadata: function(evt) { + getMenuItemCard(this).data.isMenuOpen = false; evt.target.dispatchEvent(new CustomEvent('loot-clear-metadata', { bubbles: true, })); }, }); + + function getMenuItemCard(element) { + while (element.parentElement) { + element = element.parentElement; + } + return element.parentNode.host; + }