mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-03-07 08:07:29 +08:00
Refactoring, various fixes
This commit is contained in:
@@ -1,14 +1,36 @@
|
||||
export default class IContext {
|
||||
|
||||
/** @type {HTMLElement} */
|
||||
target
|
||||
|
||||
/** @type {import("../Blueprint").default}" */
|
||||
blueprint
|
||||
|
||||
/** @type {Object} */
|
||||
options
|
||||
|
||||
#hasFocus = false
|
||||
|
||||
get hasFocus() {
|
||||
return this.#hasFocus
|
||||
}
|
||||
|
||||
set hasFocus(_) {
|
||||
}
|
||||
|
||||
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()
|
||||
this.blueprintFocusHandler = _ => {
|
||||
this.#hasFocus = true
|
||||
self.listenEvents()
|
||||
}
|
||||
this.blueprintUnfocusHandler = _ => {
|
||||
self.unlistenEvents()
|
||||
this.#hasFocus = false
|
||||
}
|
||||
if (options?.wantsFocusCallback ?? false) {
|
||||
this.blueprint.addEventListener("blueprint-focus", this.blueprintFocusHandler)
|
||||
this.blueprint.addEventListener("blueprint-unfocus", this.blueprintUnfocusHandler)
|
||||
|
||||
Reference in New Issue
Block a user