verstak
Version:
Verstak - Front-End Library
94 lines (93 loc) • 2.92 kB
JavaScript
import { FocusSensor } from "./FocusSensor.js";
import { HoverSensor } from "./HoverSensor.js";
import { HtmlDragSensor } from "./HtmlDragSensor.js";
import { KeyboardSensor } from "./KeyboardSensor.js";
import { ButtonSensor } from "./ButtonSensor.js";
import { ResizeSensor } from "./ResizeSensor.js";
import { WheelSensor } from "./WheelSensor.js";
import { ScrollSensor } from "./ScrollSensor.js";
import { WindowSensor } from "./WindowSensor.js";
import { PointerSensor } from "./PointerSensor.js";
export class HtmlSensors {
get window() {
if (this._window === undefined) {
this._window = new WindowSensor();
}
return this._window;
}
get focus() {
if (this._focus === undefined) {
this._focus = new FocusSensor(this._element, this.window);
this._focus.listen();
}
return this._focus;
}
get hover() {
if (this._hover === undefined) {
this._hover = new HoverSensor(this._element);
this._hover.listen();
}
return this._hover;
}
get keyboard() {
if (this._keyboard === undefined) {
this._keyboard = new KeyboardSensor(this._element);
this._keyboard.listen();
}
return this._keyboard;
}
get wheel() {
if (this._wheel === undefined) {
this._wheel = new WheelSensor(this._element);
this._wheel.listen();
}
return this._wheel;
}
get scroll() {
if (this._scroll === undefined) {
this._scroll = new ScrollSensor(this._element);
this._scroll.listen();
}
return this._scroll;
}
get resize() {
if (this._resize === undefined) {
this._resize = new ResizeSensor();
}
return this._resize;
}
get htmlDrag() {
if (this._htmlDrag === undefined) {
this._htmlDrag = new HtmlDragSensor(this._element, this.window);
this._htmlDrag.listen();
}
return this._htmlDrag;
}
get button() {
if (this._button === undefined) {
this._button = new ButtonSensor(this._element, this.window);
this._button.listen();
}
return this._button;
}
get pointer() {
if (this._pointer === undefined) {
this._pointer = new PointerSensor(this._element, this.window);
this._pointer.listen();
}
return this._pointer;
}
constructor(element) {
this._element = element;
this._window = undefined;
this._focus = undefined;
this._hover = undefined;
this._keyboard = undefined;
this._wheel = undefined;
this._scroll = undefined;
this._resize = undefined;
this._htmlDrag = undefined;
this._button = undefined;
this._pointer = undefined;
}
}