diff --git a/src/Umbraco.Web.UI.Client/src/packages/tiny-mce/plugins/tiny-mce-embeddedmedia.plugin.ts b/src/Umbraco.Web.UI.Client/src/packages/tiny-mce/plugins/tiny-mce-embeddedmedia.plugin.ts index df36043308..1cadeaa0fe 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tiny-mce/plugins/tiny-mce-embeddedmedia.plugin.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tiny-mce/plugins/tiny-mce-embeddedmedia.plugin.ts @@ -6,10 +6,22 @@ export default class UmbTinyMceEmbeddedMediaPlugin extends UmbTinyMcePluginBase constructor(args: TinyMcePluginArguments) { super(args); - this.editor.ui.registry.addButton('umbembeddialog', { + this.editor.ui.registry.addToggleButton('umbembeddialog', { icon: 'embed', tooltip: 'Embed', onAction: () => this.#onAction(), + onSetup: (api) => { + const editor = this.editor; + const onNodeChange = () => { + const selectedElm = editor.selection.getNode(); + api.setActive( + selectedElm.nodeName.toUpperCase() === 'DIV' && selectedElm.classList.contains('umb-embed-holder'), + ); + }; + + editor.on('NodeChange', onNodeChange); + return () => editor.off('NodeChange', onNodeChange); + }, }); }