UNPKG

@aurigma/design-atoms

Version:

Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.

73 lines 3.17 kB
import { BaseInputHandler } from "../BaseInputHandler"; import { DefaultKeyInputHandler } from "./DefaultKeyInputHandler"; import { DefaultMouseInputHandler } from "./DefaultMouseInputHandler"; import { DefaultTouchInputHandler } from "./DefaultTouchInputHandler"; import Environment from "@aurigma/design-atoms-model/Utils/Environment"; // Standard ? export class DefaultInputHandler extends BaseInputHandler { constructor(inputManager, _canvas, _commandManager, _eventManager) { super(inputManager); this._canvas = _canvas; this._commandManager = _commandManager; this._eventManager = _eventManager; this._hitTestManager = this._canvas.hitTestManager; this._keyInputHandler = new DefaultKeyInputHandler(this._commandManager, this._canvas, this._selectionHandler); this._selectionHandler.unlock(); if (Environment.IsTouchDevice()) { this._touchInputHandler = new DefaultTouchInputHandler(this._commandManager, this._selectionHandler, this._eventManager, this._hitTestManager, this._canvas.dndHandler, this._canvas, this._canvas.rotateHandler); this._currentInputHandler = this._touchInputHandler; } else { this._mouseInputHandler = new DefaultMouseInputHandler(this._commandManager, this._selectionHandler, this._rubberbandHandler, this._eventManager, this._hitTestManager, this._canvas.dndHandler, this._canvas, this._canvas.rotateHandler); this._currentInputHandler = this._mouseInputHandler; } } get _selectionHandler() { return this._canvas.selection; } get _rubberbandHandler() { return this._canvas.rubberbandHandler; } async _onClick(params) { if (params.isMobile) { this._touchInputHandler.onTap(params); } else { this._mouseInputHandler.onClick(params); } } async _onMove(params) { this._currentInputHandler.onMove(params); params.preventDefault(); } async _onDoubleClick(params) { this._currentInputHandler.onDoubleClick(params); } async _onPointerDown(params) { this._currentInputHandler.onPointerDown(params); } async _onHover(params) { this._mouseInputHandler.onHover(params); } async _onKey(params) { this._keyInputHandler.onKeyInput(params); this._mouseInputHandler.spacePressed = this._keyInputHandler.spacePressed; } async _onLongTap(params) { this._touchInputHandler.onLongTap(params); } async _onTransform(params) { this._touchInputHandler.onTransform(params); } async _onWheel(params) { if (params.ctrlKey) { const isMouse = Number.isInteger(params.delta.y); const coeff = isMouse ? -0.001 : -0.01; const zoomDelta = params.delta.y * coeff; const curentZoom = this._canvas.zoom; this._canvas.viewer.setZoom(curentZoom + zoomDelta); params.preventDefault(); } } } //# sourceMappingURL=DefaultInputHandler.js.map