Organizing input actions in device folders

This commit is contained in:
barsdeveloper
2022-01-05 22:26:56 +01:00
parent 7704850cf6
commit a6ff4161e8
19 changed files with 41 additions and 41 deletions

35
js/input/mouse/Unfocus.js Executable file
View File

@@ -0,0 +1,35 @@
import Context from "../Context"
export default class Unfocus extends Context {
constructor(target, blueprint, options = {}) {
options.wantsFocusCallback = true
super(target, blueprint, options)
let self = this
this.clickHandler = e => self.clickedSomewhere(e)
if (this.blueprint.focuse) {
document.addEventListener("click", this.clickHandler)
}
}
/**
*
* @param {MouseEvent} e
*/
clickedSomewhere(e) {
// If target is inside the blueprint grid
if (e.target.closest("ueb-blueprint")) {
return
}
this.blueprint.setFocused(false)
}
blueprintFocused() {
document.addEventListener("click", this.clickHandler)
}
blueprintUnfocused() {
document.removeEventListener("click", this.clickHandler)
}
}