Make elements default constructible, testing wip

This commit is contained in:
barsdeveloper
2022-12-24 15:29:12 +01:00
parent 7ed36f21e5
commit c3ab6478b0
53 changed files with 992 additions and 712 deletions

View File

@@ -1,15 +1,14 @@
import { css, html } from "lit"
import { html } from "lit"
/**
* @typedef {import("../element/IElement").default} IElement
* @typedef {import("../input/IInput").default} IInput
* @typedef {import("lit").PropertyValues} PropertyValues
*/
/** @template {IElement} T */
export default class ITemplate {
static styles = css``
/** @type {T} */
element
@@ -20,23 +19,26 @@ export default class ITemplate {
}
/** @param {T} element */
constructed(element) {
initialize(element) {
this.element = element
}
/** @returns {IInput[]} */
createInputObjects() {
return []
return /** @type {IInput[]} */([])
}
connectedCallback() {
setup() {
}
/** @param {Map} changedProperties */
cleanup() {
this.#inputObjects.forEach(v => v.unlistenDOMElement())
}
/** @param {PropertyValues} changedProperties */
willUpdate(changedProperties) {
}
/** @param {Map} changedProperties */
/** @param {PropertyValues} changedProperties */
update(changedProperties) {
}
@@ -44,19 +46,15 @@ export default class ITemplate {
return html``
}
/** @param {Map} changedProperties */
/** @param {PropertyValues} changedProperties */
firstUpdated(changedProperties) {
}
/** @param {Map} changedProperties */
/** @param {PropertyValues} changedProperties */
updated(changedProperties) {
}
inputSetup() {
this.#inputObjects = this.createInputObjects()
}
cleanup() {
this.#inputObjects.forEach(v => v.unlistenDOMElement())
}
}