@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
37 lines • 1.84 kB
JavaScript
import * as React from 'react';
import { WithProviders } from '../../../providerFactory/withProviders';
import { plugin } from '../../../plugins/hyperlink';
import inputRulePlugin from '../../../plugins/hyperlink/input-rule';
import keymap from '../../../plugins/hyperlink/keymap';
import { link } from '../../../schema/marks/link';
import pluginKey from '../../../plugins/hyperlink/plugin-key';
import HyperlinkEdit from '../../../ui/HyperlinkEdit';
import ToolbarHyperlink from '../../../ui/ToolbarHyperlink';
var hyperlinkPlugin = {
marks: function () {
return [{ name: 'link', mark: link, rank: 100 }];
},
pmPlugins: function () {
return [
{ rank: 900, plugin: function () { return plugin; } },
{ rank: 910, plugin: function (schema) { return inputRulePlugin(schema); } },
{ rank: 920, plugin: function (schema, props) { return keymap(schema, props); } },
];
},
primaryToolbarComponent: function (editorView) {
var pluginState = pluginKey.getState(editorView.state);
return React.createElement(ToolbarHyperlink, { editorView: editorView, pluginState: pluginState });
},
contentComponent: function (editorView, dispatch, providerFactory, appearance) {
if (appearance === 'message') {
return null;
}
var renderNode = function (providers) {
var pluginState = pluginKey.getState(editorView.state);
return React.createElement(HyperlinkEdit, { editorView: editorView, pluginState: pluginState, activityProvider: providers.activityProvider });
};
return (React.createElement(WithProviders, { providerFactory: providerFactory, providers: ['activityProvider'], renderNode: renderNode }));
}
};
export default hyperlinkPlugin;
//# sourceMappingURL=index.js.map