@atlaskit/editor-plugin-rule
Version:
Rule plugin for @atlaskit/editor-core
36 lines (35 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.createPlugin = void 0;
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
var _selection = require("@atlaskit/editor-common/selection");
var _RuleNodeView = require("../node-views/RuleNodeView");
var selectRuleOnClick = (0, _selection.createSelectionClickHandler)(['rule'], function (target) {
return !!target.closest('[data-rule-node-view]');
}, {
useLongPressSelection: false
});
var createPlugin = exports.createPlugin = function createPlugin() {
return new _safePlugin.SafePlugin({
props: {
nodeViews: {
rule: function rule(node, view) {
return new _RuleNodeView.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;
}
}
});
};
var _default = exports.default = createPlugin;