UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

30 lines 1.26 kB
import { inputRules } from '../../prosemirror'; import pluginKey from './plugin-key'; import { createInputRule, leafNodeReplacementCharacter } from '../utils'; import { analyticsService } from '../../analytics'; export function inputRulePlugin(schema) { var rules = []; if (schema.nodes.mention && schema.marks.mentionQuery) { var regex = new RegExp("(^|[\\s(" + leafNodeReplacementCharacter + "])@$"); var mentionQueryRule = createInputRule(regex, function (state, match, start, end) { var mentionsState = pluginKey.getState(state); if (!mentionsState.mentionProvider) { return undefined; } if (!mentionsState.isEnabled()) { return undefined; } var mark = schema.mark('mentionQuery'); var tr = state.tr; analyticsService.trackEvent('atlassian.editor.mention.autoformatting'); var mentionText = schema.text('@', [mark]); return tr.replaceSelectionWith(mentionText, false); }); rules.push(mentionQueryRule); } if (rules.length !== 0) { return inputRules({ rules: rules }); } } export default inputRulePlugin; //# sourceMappingURL=input-rules.js.map