diff --git a/packages/frontend/component/src/lit-react/lit-portal/lite-portal.tsx b/packages/frontend/component/src/lit-react/lit-portal/lite-portal.tsx index 9b2e97f979..b3b3da7868 100644 --- a/packages/frontend/component/src/lit-react/lit-portal/lite-portal.tsx +++ b/packages/frontend/component/src/lit-react/lit-portal/lite-portal.tsx @@ -37,6 +37,23 @@ class LitReactPortal extends LitElement { }; } + override attributeChangedCallback( + name: string, + oldVal: string, + newVal: string + ) { + super.attributeChangedCallback(name, oldVal, newVal); + if (name.toLowerCase() === 'portalid') { + listeners.forEach(l => + l({ + name: 'willUpdate', + target: this, + previousPortalId: oldVal, + }) + ); + } + } + // do not enable shadow root override createRenderRoot() { return this; @@ -60,17 +77,6 @@ class LitReactPortal extends LitElement { }) ); } - - override willUpdate(changedProperties: any) { - super.willUpdate(changedProperties); - listeners.forEach(l => - l({ - name: 'willUpdate', - target: this, - previousPortalId: changedProperties.get('portalId'), - }) - ); - } } declare global {