UNPKG

@atlaskit/editor-plugin-status

Version:

Status plugin for @atlaskit/editor-core

41 lines (39 loc) 1.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; exports.keymapPlugin = keymapPlugin; var _keymaps = require("@atlaskit/editor-common/keymaps"); var _keymap = require("@atlaskit/editor-prosemirror/keymap"); var _state = require("@atlaskit/editor-prosemirror/state"); var _actions = require("./actions"); var _pluginKey = require("./plugin-key"); var _utils = require("./utils"); function keymapPlugin() { var list = {}; // Ignored via go/ees005 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion (0, _keymaps.bindKeymapWithCommand)(_keymaps.enter.common, consumeKeyEvent, list); (0, _keymaps.bindKeymapWithCommand)( // Ignored via go/ees005 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion _keymaps.tab.common, function (state, dispatch) { var statusPluginState = _pluginKey.pluginKey.getState(state); var isStatusNode = state.selection instanceof _state.NodeSelection ? state.selection.node.type === state.schema.nodes.status : false; if (!isStatusNode) { return false; } if (statusPluginState !== null && statusPluginState !== void 0 && statusPluginState.showStatusPickerAt) { (0, _actions.setFocusOnStatusInput)()(state, dispatch); return true; } return false; }, list); return (0, _keymap.keymap)(list); } // consume event to prevent status node problems with positioning and selection var consumeKeyEvent = function consumeKeyEvent(state, _dispatch) { return !!(0, _utils.mayGetStatusAtSelection)(state.tr.selection); }; var _default = exports.default = keymapPlugin;