mirror of
https://github.com/vector-im/hydrogen-web.git
synced 2025-02-08 10:38:18 +01:00
allow adding custom event handlers to a template view
so you don't have to remove them yourself
This commit is contained in:
parent
c847cfb200
commit
581dc95c53
@ -74,16 +74,16 @@ export class TemplateView {
|
|||||||
|
|
||||||
_attach() {
|
_attach() {
|
||||||
if (this._eventListeners) {
|
if (this._eventListeners) {
|
||||||
for (let {node, name, fn} of this._eventListeners) {
|
for (let {node, name, fn, useCapture} of this._eventListeners) {
|
||||||
node.addEventListener(name, fn);
|
node.addEventListener(name, fn, useCapture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_detach() {
|
_detach() {
|
||||||
if (this._eventListeners) {
|
if (this._eventListeners) {
|
||||||
for (let {node, name, fn} of this._eventListeners) {
|
for (let {node, name, fn, useCapture} of this._eventListeners) {
|
||||||
node.removeEventListener(name, fn);
|
node.removeEventListener(name, fn, useCapture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -132,11 +132,11 @@ export class TemplateView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_addEventListener(node, name, fn) {
|
_addEventListener(node, name, fn, useCapture = false) {
|
||||||
if (!this._eventListeners) {
|
if (!this._eventListeners) {
|
||||||
this._eventListeners = [];
|
this._eventListeners = [];
|
||||||
}
|
}
|
||||||
this._eventListeners.push({node, name, fn});
|
this._eventListeners.push({node, name, fn, useCapture});
|
||||||
}
|
}
|
||||||
|
|
||||||
_addBinding(bindingFn) {
|
_addBinding(bindingFn) {
|
||||||
@ -164,6 +164,10 @@ class TemplateBuilder {
|
|||||||
return this._templateView._value;
|
return this._templateView._value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addEventListener(node, name, fn, useCapture = false) {
|
||||||
|
this._templateView._addEventListener(node, name, fn, useCapture);
|
||||||
|
}
|
||||||
|
|
||||||
_addAttributeBinding(node, name, fn) {
|
_addAttributeBinding(node, name, fn) {
|
||||||
let prevValue = undefined;
|
let prevValue = undefined;
|
||||||
const binding = () => {
|
const binding = () => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user