UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

40 lines 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var prosemirror_1 = require("../../prosemirror"); var keymaps = require("../../keymaps"); var analytics_1 = require("../../analytics"); var commands = require("./commands"); 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, analytics_1.trackAndInvoke(eventName, function () { return pluginState.toggleStrong(view); }), list); } if (schema.marks.em) { var eventName = analyticsEventName(schema.marks.em); keymaps.bindKeymapWithCommand(keymaps.toggleItalic.common, analytics_1.trackAndInvoke(eventName, function () { return pluginState.toggleEm(view); }), list); } if (schema.marks.code) { var eventName = analyticsEventName(schema.marks.code); keymaps.bindKeymapWithCommand(keymaps.toggleCode.common, analytics_1.trackAndInvoke(eventName, function () { return pluginState.toggleCode(view); }), list); } if (schema.marks.strike) { var eventName = analyticsEventName(schema.marks.strike); keymaps.bindKeymapWithCommand(keymaps.toggleStrikethrough.common, analytics_1.trackAndInvoke(eventName, function () { return pluginState.toggleStrike(view); }), list); } if (schema.marks.underline) { var eventName = analyticsEventName(schema.marks.underline); keymaps.bindKeymapWithCommand(keymaps.toggleUnderline.common, analytics_1.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 prosemirror_1.keydownHandler(list); } exports.keymapHandler = keymapHandler; function analyticsEventName(markType) { return "atlassian.editor.format." + markType.name + ".keyboard"; } exports.default = keymapHandler; //# sourceMappingURL=keymap.js.map