UNPKG

@turbox3d/command-manager

Version:

Large-scale productivity application command management library

68 lines (67 loc) 1.96 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.CommandManager = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _create = require("./create"); var _compose = require("./compose"); var _manager = require("./manager"); var _install = require("./install"); var CommandManager = exports.CommandManager = /*#__PURE__*/function () { function CommandManager() { (0, _classCallCheck2["default"])(this, CommandManager); } return (0, _createClass2["default"])(CommandManager, [{ key: "installed", value: function installed() { // } }, { key: "toggleCommand", value: function toggleCommand(command) { this.activeCommand = command; } }, { key: "clearCommand", value: function clearCommand() { this.activeCommand = undefined; } /** * 判断当前激活的 Command 是否为入参 command * @param command */ }, { key: "isCommandActive", value: function isCommandActive(command) { return this.activeCommand === command; } }, { key: "distributeEvent", value: function distributeEvent(eventType, ev, event, tools) { if (this.activeCommand) { this.activeCommand.distributeEvent(eventType, ev, event, tools); } } }]); }(); /** * 构建一个 Command 基类 * * 范型类型为激活时的函数参数 */ CommandManager.create = _create.create; /** * 构建一个组合了其他 Command 的结构(本质依然是一个 Command) */ CommandManager.compose = _compose.compose; /** * 构建一个 CommandManager 基类 */ CommandManager.manager = _manager.manager; /** * 安装声明一系列指令集 */ CommandManager.install = _install.install;