@atlaskit/editor-plugin-context-identifier
Version:
Context identifier plugin for @atlaskit/editor-core
44 lines (43 loc) • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.contextIdentifierPlugin = void 0;
var _main = require("./pm-plugins/main");
var contextIdentifierPlugin = exports.contextIdentifierPlugin = function contextIdentifierPlugin(_ref) {
var config = _ref.config,
api = _ref.api;
return {
name: 'contextIdentifier',
commands: {
setProvider: function setProvider(config) {
return function (_ref2) {
var _api$contextIdentifie;
var tr = _ref2.tr;
// If no change, don't dispatch
if ((config === null || config === void 0 ? void 0 : config.contextIdentifierProvider) === (api === null || api === void 0 || (_api$contextIdentifie = api.contextIdentifier) === null || _api$contextIdentifie === void 0 || (_api$contextIdentifie = _api$contextIdentifie.sharedState.currentState()) === null || _api$contextIdentifie === void 0 ? void 0 : _api$contextIdentifie.contextIdentifierProvider)) {
return null;
}
return tr.setMeta(_main.pluginKey, {
contextIdentifierProvider: config === null || config === void 0 ? void 0 : config.contextIdentifierProvider
});
};
}
},
getSharedState: function getSharedState(state) {
var _pluginKey$getState;
if (!state) {
return undefined;
}
return {
contextIdentifierProvider: (_pluginKey$getState = _main.pluginKey.getState(state)) === null || _pluginKey$getState === void 0 ? void 0 : _pluginKey$getState.contextIdentifierProvider
};
},
pmPlugins: function pmPlugins() {
return [{
name: 'contextIdentifier',
plugin: (0, _main.createPlugin)(config, api)
}];
}
};
};