@atlaskit/editor-plugin-toolbar-lists-indentation
Version:
Toolbar lists and indentation plugin for @atlaskit/editor-core
48 lines • 4.14 kB
JavaScript
export const onItemActivated = (pluginInjectionApi, indentationStateNode, inputMethod) => ({
buttonName,
editorView
}) => {
var _pluginInjectionApi$c, _pluginInjectionApi$l, _pluginInjectionApi$c2, _pluginInjectionApi$l2;
switch (buttonName) {
case 'bullet_list':
pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$c = pluginInjectionApi.core) === null || _pluginInjectionApi$c === void 0 ? void 0 : _pluginInjectionApi$c.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$l = pluginInjectionApi.list) === null || _pluginInjectionApi$l === void 0 ? void 0 : _pluginInjectionApi$l.commands.toggleBulletList(inputMethod));
break;
case 'ordered_list':
pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$c2 = pluginInjectionApi.core) === null || _pluginInjectionApi$c2 === void 0 ? void 0 : _pluginInjectionApi$c2.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$l2 = pluginInjectionApi.list) === null || _pluginInjectionApi$l2 === void 0 ? void 0 : _pluginInjectionApi$l2.commands.toggleOrderedList(inputMethod));
break;
case 'indent':
{
const node = indentationStateNode;
if (node === 'paragraph_heading') {
var _pluginInjectionApi$i;
pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$i = pluginInjectionApi.indentation) === null || _pluginInjectionApi$i === void 0 ? void 0 : _pluginInjectionApi$i.actions.indentParagraphOrHeading(inputMethod)(editorView.state, editorView.dispatch);
}
if (node === 'list') {
var _pluginInjectionApi$c3, _pluginInjectionApi$l3;
pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$c3 = pluginInjectionApi.core) === null || _pluginInjectionApi$c3 === void 0 ? void 0 : _pluginInjectionApi$c3.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$l3 = pluginInjectionApi.list) === null || _pluginInjectionApi$l3 === void 0 ? void 0 : _pluginInjectionApi$l3.commands.indentList(inputMethod));
}
if (node === 'taskList') {
var _pluginInjectionApi$t;
pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$t = pluginInjectionApi.taskDecision) === null || _pluginInjectionApi$t === void 0 ? void 0 : _pluginInjectionApi$t.actions.indentTaskList(inputMethod)(editorView.state, editorView.dispatch);
}
break;
}
case 'outdent':
{
const node = indentationStateNode;
if (node === 'paragraph_heading') {
var _pluginInjectionApi$i2;
pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$i2 = pluginInjectionApi.indentation) === null || _pluginInjectionApi$i2 === void 0 ? void 0 : _pluginInjectionApi$i2.actions.outdentParagraphOrHeading(inputMethod)(editorView.state, editorView.dispatch);
}
if (node === 'list') {
var _pluginInjectionApi$c4, _pluginInjectionApi$l4;
pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$c4 = pluginInjectionApi.core) === null || _pluginInjectionApi$c4 === void 0 ? void 0 : _pluginInjectionApi$c4.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$l4 = pluginInjectionApi.list) === null || _pluginInjectionApi$l4 === void 0 ? void 0 : _pluginInjectionApi$l4.commands.outdentList(inputMethod));
}
if (node === 'taskList') {
var _pluginInjectionApi$t2;
pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$t2 = pluginInjectionApi.taskDecision) === null || _pluginInjectionApi$t2 === void 0 ? void 0 : _pluginInjectionApi$t2.actions.outdentTaskList(inputMethod)(editorView.state, editorView.dispatch);
}
break;
}
}
};