UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

33 lines 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var prosemirror_1 = require("../../prosemirror"); var plugin_key_1 = require("./plugin-key"); var utils_1 = require("../utils"); var analytics_1 = require("../../analytics"); function inputRulePlugin(schema) { var rules = []; if (schema.nodes.mention && schema.marks.mentionQuery) { var regex = new RegExp("(^|[\\s(" + utils_1.leafNodeReplacementCharacter + "])@$"); var mentionQueryRule = utils_1.createInputRule(regex, function (state, match, start, end) { var mentionsState = plugin_key_1.default.getState(state); if (!mentionsState.mentionProvider) { return undefined; } if (!mentionsState.isEnabled()) { return undefined; } var mark = schema.mark('mentionQuery'); var tr = state.tr; analytics_1.analyticsService.trackEvent('atlassian.editor.mention.autoformatting'); var mentionText = schema.text('@', [mark]); return tr.replaceSelectionWith(mentionText, false); }); rules.push(mentionQueryRule); } if (rules.length !== 0) { return prosemirror_1.inputRules({ rules: rules }); } } exports.inputRulePlugin = inputRulePlugin; exports.default = inputRulePlugin; //# sourceMappingURL=input-rules.js.map