@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
38 lines • 2.13 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var withProviders_1 = require("../../../providerFactory/withProviders");
var mentions_1 = require("../../../plugins/mentions");
var input_rules_1 = require("../../../plugins/mentions/input-rules");
var keymap_1 = require("../../../plugins/mentions/keymap");
var mention_1 = require("../../../schema/nodes/mention");
var mention_query_1 = require("../../../schema/marks/mention-query");
var plugin_key_1 = require("../../../plugins/mentions/plugin-key");
var ToolbarMention_1 = require("../../../ui/ToolbarMention");
var MentionPicker_1 = require("../../../ui/MentionPicker");
var mentionsPlugin = {
nodes: function () {
return [{ name: 'mention', node: mention_1.mention, rank: 1200 }];
},
marks: function () {
return [{ name: 'mentionQuery', mark: mention_query_1.mentionQuery, rank: 1200 }];
},
pmPlugins: function () {
return [
{ rank: 300, plugin: function (schema, props, dispatch, providerFactory) { return mentions_1.createPlugin(providerFactory); } },
{ rank: 310, plugin: function (schema) { return input_rules_1.default(schema); } },
{ rank: 320, plugin: function (schema) { return keymap_1.default(schema); } }
];
},
contentComponent: function (editorView, eventDispatcher, providerFactory) {
var renderNode = function (providers) {
return React.createElement(MentionPicker_1.default, { editorView: editorView, pluginKey: plugin_key_1.default, mentionProvider: providers.mentionProvider, presenceProvider: providers.presenceProvider });
};
return (React.createElement(withProviders_1.WithProviders, { providerFactory: providerFactory, providers: ['mentionProvider', 'presenceProvider'], renderNode: renderNode }));
},
secondaryToolbarComponent: function (editorView) {
return React.createElement(ToolbarMention_1.default, { editorView: editorView, pluginKey: plugin_key_1.default });
}
};
exports.default = mentionsPlugin;
//# sourceMappingURL=index.js.map