mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-04 08:50:33 +08:00
32 lines
1.1 KiB
JavaScript
Executable File
32 lines
1.1 KiB
JavaScript
Executable File
export default class Context {
|
|
|
|
constructor(target, blueprint, options) {
|
|
/** @type {HTMLElement} */
|
|
this.target = target
|
|
/** @type {import("../Blueprint").default}" */
|
|
this.blueprint = blueprint
|
|
this.options = options
|
|
let self = this
|
|
this.blueprintFocusHandler = _ => self.listenEvents()
|
|
this.blueprintUnfocusHandler = _ => self.unlistenEvents()
|
|
if (options?.wantsFocusCallback ?? false) {
|
|
this.blueprint.addEventListener("blueprint-focus", this.blueprintFocusHandler)
|
|
this.blueprint.addEventListener("blueprint-unfocus", this.blueprintUnfocusHandler)
|
|
}
|
|
}
|
|
|
|
unlistenDOMElement() {
|
|
this.unlistenEvents()
|
|
this.blueprint.removeEventListener("blueprint-focus", this.blueprintFocusHandler)
|
|
this.blueprint.removeEventListener("blueprint-unfocus", this.blueprintUnfocusHandler)
|
|
}
|
|
|
|
|
|
/* Subclasses will probabily override the following methods */
|
|
listenEvents() {
|
|
}
|
|
|
|
unlistenEvents() {
|
|
}
|
|
}
|