diff --git a/ts/dees-element.classes.dees-element.ts b/ts/dees-element.classes.dees-element.ts index a28f11a..953363d 100644 --- a/ts/dees-element.classes.dees-element.ts +++ b/ts/dees-element.classes.dees-element.ts @@ -13,6 +13,9 @@ export class DeesElement extends plugins.lit.LitElement { private themeSubscription: plugins.smartrx.rxjs.Subscription; + private elementDomReadyDeferred = plugins.domtools.plugins.smartpromise.defer(); + public elementDomReady = this.elementDomReadyDeferred.promise; + constructor() { super(); this.domtoolsPromise.then((domtoolsArg) => { @@ -29,6 +32,11 @@ export class DeesElement extends plugins.lit.LitElement { this.dispatchEvent(new CustomEvent('deesElementConnected')); } + public firstUpdated(_changedProperties: Map): void { + super.firstUpdated(_changedProperties); + this.elementDomReadyDeferred.resolve(); + } + public async disconnectedCallback() { await this.domtoolsPromise; super.disconnectedCallback();