Closeable color picker window

This commit is contained in:
barsdeveloper
2022-11-06 17:44:50 +01:00
parent 5183aae21b
commit b86d952e3a
19 changed files with 272 additions and 203 deletions

View File

@@ -9,9 +9,9 @@ import Utility from "../../Utility"
*/
export default class IPointing extends IInput {
constructor(target, blueprint, options) {
constructor(target, blueprint, options = {}) {
options.ignoreTranslateCompensate ??= false
options.movementSpace ??= blueprint?.getGridDOMElement() ?? document.documentElement
options.movementSpace ??= blueprint.getGridDOMElement() ?? document.documentElement
super(target, blueprint, options)
this.movementSpace = options.movementSpace
}

View File

@@ -0,0 +1,28 @@
import IMouseClick from "./IMouseClick"
export default class MouseClickAction extends IMouseClick {
static #ignoreEvent =
/** @param {MouseClickAction} self */
self => { }
constructor(
target,
blueprint,
options,
onMouseDown = MouseClickAction.#ignoreEvent,
onMouseUp = MouseClickAction.#ignoreEvent
) {
super(target, blueprint, options)
this.onMouseDown = onMouseDown
this.onMouseUp = onMouseUp
}
clicked() {
this.onMouseDown(this)
}
unclicked() {
this.onMouseUp(this)
}
}

View File

@@ -1,22 +0,0 @@
import IMouseClick from "./IMouseClick"
import WindowElement from "../../element/WindowElement"
/**
* @template {HTMLElement} T
* @extends {IMouseClick<T>}
*/
export default class MouseOpenWindow extends IMouseClick {
#window
clicked(location) {
}
unclicked(location) {
this.#window = new WindowElement({
type: this.options.windowType,
windowOptions: this.options.windowOptions,
})
this.blueprint.append(this.#window)
}
}