@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
40 lines • 2.25 kB
JavaScript
;
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