Tracking de l'application VApp (IHM du jeu)
This commit is contained in:
49
VApp/node_modules/vuetify/lib/util/bindProps.mjs
generated
vendored
Normal file
49
VApp/node_modules/vuetify/lib/util/bindProps.mjs
generated
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
// Utilities
|
||||
import { eventName, isOn } from "./helpers.mjs";
|
||||
const handlers = new WeakMap();
|
||||
export function bindProps(el, props) {
|
||||
Object.keys(props).forEach(k => {
|
||||
if (isOn(k)) {
|
||||
const name = eventName(k);
|
||||
const handler = handlers.get(el);
|
||||
if (props[k] == null) {
|
||||
handler?.forEach(v => {
|
||||
const [n, fn] = v;
|
||||
if (n === name) {
|
||||
el.removeEventListener(name, fn);
|
||||
handler.delete(v);
|
||||
}
|
||||
});
|
||||
} else if (!handler || ![...handler]?.some(v => v[0] === name && v[1] === props[k])) {
|
||||
el.addEventListener(name, props[k]);
|
||||
const _handler = handler || new Set();
|
||||
_handler.add([name, props[k]]);
|
||||
if (!handlers.has(el)) handlers.set(el, _handler);
|
||||
}
|
||||
} else {
|
||||
if (props[k] == null) {
|
||||
el.removeAttribute(k);
|
||||
} else {
|
||||
el.setAttribute(k, props[k]);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
export function unbindProps(el, props) {
|
||||
Object.keys(props).forEach(k => {
|
||||
if (isOn(k)) {
|
||||
const name = eventName(k);
|
||||
const handler = handlers.get(el);
|
||||
handler?.forEach(v => {
|
||||
const [n, fn] = v;
|
||||
if (n === name) {
|
||||
el.removeEventListener(name, fn);
|
||||
handler.delete(v);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
el.removeAttribute(k);
|
||||
}
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=bindProps.mjs.map
|
Reference in New Issue
Block a user