UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

37 lines 2.07 kB
import { keydownHandler } from '../../prosemirror'; import * as keymaps from '../../keymaps'; import { trackAndInvoke } from '../../analytics'; import * as commands from './commands'; export function keymapHandler(view, pluginState) { var list = {}; var schema = view.state.schema; if (schema.marks.strong) { var eventName = analyticsEventName(schema.marks.strong); keymaps.bindKeymapWithCommand(keymaps.toggleBold.common, trackAndInvoke(eventName, function () { return pluginState.toggleStrong(view); }), list); } if (schema.marks.em) { var eventName = analyticsEventName(schema.marks.em); keymaps.bindKeymapWithCommand(keymaps.toggleItalic.common, trackAndInvoke(eventName, function () { return pluginState.toggleEm(view); }), list); } if (schema.marks.code) { var eventName = analyticsEventName(schema.marks.code); keymaps.bindKeymapWithCommand(keymaps.toggleCode.common, trackAndInvoke(eventName, function () { return pluginState.toggleCode(view); }), list); } if (schema.marks.strike) { var eventName = analyticsEventName(schema.marks.strike); keymaps.bindKeymapWithCommand(keymaps.toggleStrikethrough.common, trackAndInvoke(eventName, function () { return pluginState.toggleStrike(view); }), list); } if (schema.marks.underline) { var eventName = analyticsEventName(schema.marks.underline); keymaps.bindKeymapWithCommand(keymaps.toggleUnderline.common, trackAndInvoke(eventName, function () { return pluginState.toggleUnderline(view); }), list); } keymaps.bindKeymapWithCommand(keymaps.moveRight.common, commands.moveRight(), list); keymaps.bindKeymapWithCommand(keymaps.moveLeft.common, commands.moveLeft(view), list); keymaps.bindKeymapWithCommand(keymaps.backspace.common, commands.removeIgnoredNodes(view), list); return keydownHandler(list); } function analyticsEventName(markType) { return "atlassian.editor.format." + markType.name + ".keyboard"; } export default keymapHandler; //# sourceMappingURL=keymap.js.map