@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
39 lines • 2.04 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var withProviders_1 = require("../../../providerFactory/withProviders");
var hyperlink_1 = require("../../../plugins/hyperlink");
var input_rule_1 = require("../../../plugins/hyperlink/input-rule");
var keymap_1 = require("../../../plugins/hyperlink/keymap");
var link_1 = require("../../../schema/marks/link");
var plugin_key_1 = require("../../../plugins/hyperlink/plugin-key");
var HyperlinkEdit_1 = require("../../../ui/HyperlinkEdit");
var ToolbarHyperlink_1 = require("../../../ui/ToolbarHyperlink");
var hyperlinkPlugin = {
marks: function () {
return [{ name: 'link', mark: link_1.link, rank: 100 }];
},
pmPlugins: function () {
return [
{ rank: 900, plugin: function () { return hyperlink_1.plugin; } },
{ rank: 910, plugin: function (schema) { return input_rule_1.default(schema); } },
{ rank: 920, plugin: function (schema, props) { return keymap_1.default(schema, props); } },
];
},
primaryToolbarComponent: function (editorView) {
var pluginState = plugin_key_1.default.getState(editorView.state);
return React.createElement(ToolbarHyperlink_1.default, { editorView: editorView, pluginState: pluginState });
},
contentComponent: function (editorView, dispatch, providerFactory, appearance) {
if (appearance === 'message') {
return null;
}
var renderNode = function (providers) {
var pluginState = plugin_key_1.default.getState(editorView.state);
return React.createElement(HyperlinkEdit_1.default, { editorView: editorView, pluginState: pluginState, activityProvider: providers.activityProvider });
};
return (React.createElement(withProviders_1.WithProviders, { providerFactory: providerFactory, providers: ['activityProvider'], renderNode: renderNode }));
}
};
exports.default = hyperlinkPlugin;
//# sourceMappingURL=index.js.map