UNPKG

@atlaskit/editor-plugin-rule

Version:

Rule plugin for @atlaskit/editor-core

30 lines • 1.05 kB
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin'; import { createSelectionClickHandler } from '@atlaskit/editor-common/selection'; import { RuleNodeView } from '../node-views/RuleNodeView'; var selectRuleOnClick = createSelectionClickHandler(['rule'], function (target) { return !!target.closest('[data-rule-node-view]'); }, { useLongPressSelection: false }); export var createPlugin = function createPlugin() { return new SafePlugin({ props: { nodeViews: { rule: function rule(node, view) { return new RuleNodeView(node, view); } }, handleClickOn: function handleClickOn(view) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } var handled = selectRuleOnClick.apply(void 0, [view].concat(args)); if (handled && view.editable) { view.focus(); } return handled; } } }); }; export default createPlugin;