@atlaskit/editor-plugin-track-changes
Version:
ShowDiff plugin for @atlaskit/editor-core
37 lines (35 loc) • 1.75 kB
JavaScript
;
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);
}
}
});
}