UNPKG

@benson.liao/react-design-editor

Version:

Design Editor Tools with React.js + ant.design + fabric.js

151 lines (150 loc) 3.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Shortcut Handler Class * * @author salgum1114 * @class ShortcutHandler */ class ShortcutHandler { constructor(handler) { /** * Whether keydown Escape * * @param {KeyboardEvent} e * @returns */ this.isEscape = (e) => { return e.keyCode === 27 && this.keyEvent.esc; }; /** * Whether keydown Q * * @param {KeyboardEvent} e * @returns */ this.isQ = (e) => { return e.keyCode === 81; }; /** * Whether keydown W * * @param {KeyboardEvent} e * @returns */ this.isW = (e) => { return e.keyCode === 87; }; /** * Whether keydown Delete or Backpsace * * @param {KeyboardEvent} e * @returns */ this.isDelete = (e) => { return (e.keyCode === 8 || e.keyCode === 46 || e.keyCode === 127) && this.keyEvent.del; }; /** * Whether keydown Arrow * * @param {KeyboardEvent} e * @returns */ this.isArrow = (e) => { return e.code.includes('Arrow') && this.keyEvent.move; }; /** * Whether keydown Ctrl + A * * @param {KeyboardEvent} e * @returns */ this.isCtrlA = (e) => { return e.ctrlKey && e.keyCode === 65 && this.keyEvent.all; }; /** * Whether keydown Ctrl + C * * @param {KeyboardEvent} e * @returns */ this.isCtrlC = (e) => { return e.ctrlKey && e.keyCode === 67 && this.keyEvent.copy; }; /** * Whether keydown Ctrl + V * * @param {KeyboardEvent} e * @returns */ this.isCtrlV = (e) => { return e.ctrlKey && e.keyCode === 86 && this.keyEvent.paste; }; /** * Whether keydown Ctrl + Z * * @param {KeyboardEvent} e * @returns */ this.isCtrlZ = (e) => { return e.ctrlKey && e.keyCode === 90 && this.keyEvent.transaction; }; /** * Whether keydown Ctrl + Y * * @param {KeyboardEvent} e * @returns */ this.isCtrlY = (e) => { return e.ctrlKey && e.keyCode === 89 && this.keyEvent.transaction; }; /** * Whether keydown Plus Or Equal * * @param {KeyboardEvent} e * @returns */ this.isPlus = (e) => { return e.keyCode === 187 && this.keyEvent.zoom; }; /** * Whether keydown Minus * * @param {KeyboardEvent} e * @returns */ this.isMinus = (e) => { return e.keyCode === 189 && this.keyEvent.zoom; }; /** * Whether keydown O * * @param {KeyboardEvent} e * @returns */ this.isO = (e) => { return e.keyCode === 79 && this.keyEvent.zoom; }; /** * Whether keydown P * * @param {KeyboardEvent} e * @returns */ this.isP = (e) => { return e.keyCode === 80 && this.keyEvent.zoom; }; /** * Whether keydown Ctrl + X * * @param {KeyboardEvent} e * @returns */ this.isCtrlX = (e) => { return e.ctrlKey && e.keyCode === 88 && this.keyEvent.cut; }; this.handler = handler; this.keyEvent = handler.keyEvent; } } exports.default = ShortcutHandler;