1
0
mirror of https://github.com/jaandrle/deka-dom-el synced 2025-07-01 12:22:15 +02:00

add custom HTML element helpers

This commit is contained in:
2023-09-11 18:31:23 +02:00
parent 1cb1a8420c
commit 4b0a7d4554
3 changed files with 99 additions and 26 deletions

View File

@ -16,13 +16,23 @@ import { onAbort } from './helpers.js';
//TODO: cleanUp when event before abort?
on.connected= function(listener, options){
return function registerElement(element){
if(typeof element.connectedCallback === "function"){
element.addEventListener("dde:connected", listener, options);
return element;
}
const c= onAbort(options && options.signal, ()=> c_ch_o.offConnected(element, listener));
if(c) c_ch_o.onConnected(element, listener);
if(!c) return element;
if(element.isConnected) listener(new Event("dde:connected"));
else c_ch_o.onConnected(element, listener);
return element;
};
};
on.disconnected= function(listener, options){
return function registerElement(element){
if(typeof element.disconnectedCallback === "function"){
element.addEventListener("dde:disconnected", listener, options);
return element;
}
const c= onAbort(options && options.signal, ()=> c_ch_o.offDisconnected(element, listener));
if(c) c_ch_o.onDisconnected(element, listener);
return element;