0.8.0 • Published 10 months ago
@titsoft/m-element v0.8.0
m-element
MElement class extends HTMLParsedElement with the following addition:
- constructor argument
{ onLoadHtml }html string used in async initialization (default ''),{ onErrorHtml }html string used for async errors (default ''),
- methods
init()(sync or async) called byparsedCallbackoriginalText(remove)for getting the originaltextContent,originalFragment(remove)for getting the originalchildNodesappended to a document fragment,removeargument to delete from memory the text or fragment (default : true),
getSlotByName(name)to get all mamed slots present as custom-element children but removed and stored for later use,
- events
onloadtriggers when async init finishes (sync init also)
- attributes
- a boolean
level-upattribute to replace the just created custom-element by its children.
- a boolean
Usage
import MElement from `@titsoft/m-element`
customElements.define('a-custom-element', class extends MElement {
constructor () {
super()
// or super( { onLoadHtml: '<p>a waiting message</p>' } )
}
init() {}
// or async init() {}
})
- Do not call
connectedCallbackorparsedCallbackor override them,- Use
disconnectedCallbackorattributeChangedCallbackas usual<a-custom-element></a-custom-element>
level-up attribute example
import MElement from `@titsoft/m-element`
customElements.define('a-custom-element', class extends MElement {
constructor () {
super()
}
// or async init() {}
init() {
this.innerHTML = `
<div>I will replace my transient parent</div>
<div>This one as well</div>
`
}
})<!-- finally, this will create the two divs only -->
<a-custom-element level-up></a-custom-element>