Make template stateful

This commit is contained in:
barsdeveloper
2022-09-27 20:40:23 +02:00
parent 8361ba61a6
commit 4f0c7f9190
23 changed files with 491 additions and 680 deletions

View File

@@ -11,8 +11,8 @@ export default class NamePinTemplate extends IInputPinTemplate {
* @param {PinElement} pin
* @param {Map} changedProperties
*/
firstUpdated(pin, changedProperties) {
super.firstUpdated(pin, changedProperties)
firstUpdated(changedProperties) {
super.firstUpdated(changedProperties)
this.onInputHandler = e => {
e.stopPropagation()
if (
@@ -29,9 +29,8 @@ export default class NamePinTemplate extends IInputPinTemplate {
})
}
/** @param {PinElement} pin */
cleanup(pin) {
super.cleanup(pin)
cleanup() {
super.cleanup()
this.inputContentElements.forEach(element => {
element.removeEventListener("input", /** @type {(e : Event) => void} */(this.onInputHandler))
})
@@ -42,12 +41,9 @@ export default class NamePinTemplate extends IInputPinTemplate {
return this.inputContentElements.map(element => element.textContent) // textContent for performance reason
}
/**
* @param {PinElement} pin
* @param {String[]?} values
*/
setInputs(pin, values = [], updateDefaultValue = true) {
/** @param {String[]?} values */
setInputs(values = [], updateDefaultValue = true) {
values = values.map(value => value.replaceAll("\n", "")) // get rid of the new lines
super.setInputs(pin, values, updateDefaultValue)
super.setInputs(values, updateDefaultValue)
}
}