Compare commits

...

2 Commits

Author SHA1 Message Date
a8e7d2f335 2.0.32 2023-10-26 12:43:04 +02:00
219390e895 fix(core): update 2023-10-26 12:43:04 +02:00
3 changed files with 10 additions and 2 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@design.estate/dees-element", "name": "@design.estate/dees-element",
"version": "2.0.31", "version": "2.0.32",
"private": false, "private": false,
"description": "a custom element class extending lit element class", "description": "a custom element class extending lit element class",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@design.estate/dees-element', name: '@design.estate/dees-element',
version: '2.0.31', version: '2.0.32',
description: 'a custom element class extending lit element class' description: 'a custom element class extending lit element class'
} }

View File

@ -40,12 +40,20 @@ export class DeesElement extends plugins.lit.LitElement {
this.elementDomReadyDeferred.resolve(); this.elementDomReadyDeferred.resolve();
} }
private garbageFunctions: (() => void)[] = [];
public registerGarbageFunction(garbageFunctionArg: () => void) {
this.garbageFunctions.push(garbageFunctionArg);
}
public async disconnectedCallback() { public async disconnectedCallback() {
await this.domtoolsPromise; await this.domtoolsPromise;
super.disconnectedCallback(); super.disconnectedCallback();
for (const subscription of this.rxSubscriptions) { for (const subscription of this.rxSubscriptions) {
subscription.unsubscribe(); subscription.unsubscribe();
} }
for (const garbageFunction of this.garbageFunctions) {
garbageFunction();
}
this.dispatchEvent(new CustomEvent('deesElementDisconnected')); this.dispatchEvent(new CustomEvent('deesElementDisconnected'));
} }
} }