UNPKG

@atlaskit/editor-plugin-track-changes

Version:

ShowDiff plugin for @atlaskit/editor-core

37 lines (35 loc) 1.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.keymapPlugin = keymapPlugin; var _browser = require("@atlaskit/editor-common/browser"); var _keymaps = require("@atlaskit/editor-common/keymaps"); var _safePlugin = require("@atlaskit/editor-common/safe-plugin"); var _keymap = require("@atlaskit/editor-prosemirror/keymap"); function keymapPlugin(api) { var list = {}; var browser = (0, _browser.getBrowserInfo)(); // Exclude Firefox browser from keyboard shortcut if (!browser.gecko) { (0, _keymaps.bindKeymapWithCommand)( // eslint-disable-next-line @typescript-eslint/no-non-null-assertion _keymaps.toggleViewChanges.common, function () { var _api$trackChanges, _api$trackChanges2; var isShowDiffAvailable = api === null || api === void 0 || (_api$trackChanges = api.trackChanges) === null || _api$trackChanges === void 0 || (_api$trackChanges = _api$trackChanges.sharedState.currentState()) === null || _api$trackChanges === void 0 ? void 0 : _api$trackChanges.isShowDiffAvailable; if (!isShowDiffAvailable) { return false; } var result = api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 || (_api$trackChanges2 = api.trackChanges) === null || _api$trackChanges2 === void 0 ? void 0 : _api$trackChanges2.commands.toggleChanges); return result !== null && result !== void 0 ? result : false; }, list); } return new _safePlugin.SafePlugin({ props: { handleKeyDown: function handleKeyDown(view, event) { var keyboardEvent = (0, _keymaps.isCapsLockOnAndModifyKeyboardEvent)(event); return (0, _keymap.keydownHandler)(list)(view, keyboardEvent); } } }); }