@atlaskit/editor-plugin-collab-edit
Version:
Collab Edit plugin for @atlaskit/editor-core
37 lines (36 loc) • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.nativeCollabProviderPlugin = exports.getCollabProvider = void 0;
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
var _state = require("@atlaskit/editor-prosemirror/state");
var nativeCollabProviderPluginKey = new _state.PluginKey('nativeCollabProviderPlugin');
var nativeCollabProviderPlugin = exports.nativeCollabProviderPlugin = function nativeCollabProviderPlugin(_ref) {
var providerPromise = _ref.providerPromise;
return new _safePlugin.SafePlugin({
key: nativeCollabProviderPluginKey,
state: {
init: function init() {
return null;
},
apply: function apply(tr, currentPluginState) {
var provider = tr.getMeta(nativeCollabProviderPluginKey);
return provider ? provider : currentPluginState;
}
},
view: function view(editorView) {
providerPromise.then(function (provider) {
var dispatch = editorView.dispatch,
state = editorView.state;
var tr = state.tr;
tr.setMeta(nativeCollabProviderPluginKey, provider);
dispatch(tr);
});
return {};
}
});
};
var getCollabProvider = exports.getCollabProvider = function getCollabProvider(editorState) {
return nativeCollabProviderPluginKey.getState(editorState);
};