@progress/kendo-react-editor
Version:
Kendo UI for React Editor package
37 lines • 2.54 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var kendo_editor_common_1 = require("@progress/kendo-editor-common");
var toolsSettings_1 = require("./toolsSettings");
var bold = toolsSettings_1.EditorToolsSettings.bold, underline = toolsSettings_1.EditorToolsSettings.underline, italic = toolsSettings_1.EditorToolsSettings.italic;
var mac = typeof navigator !== 'undefined' ? /Mac/.test(navigator.platform) : false;
/**
* @hidden
*/
exports.getShortcuts = function (settings) {
var insertBr = kendo_editor_common_1.chainCommands(kendo_editor_common_1.exitCode, function (state, dispatch) {
var hardBreak = settings && settings.types && settings.types.hardBreak || 'hard_break';
var br = state.schema.nodes[hardBreak];
if (dispatch) {
dispatch(state.tr.replaceSelectionWith(br.create()).scrollIntoView());
}
return true;
});
var listItem = settings && settings.types && settings.types.listItem || 'list_item';
var toolsSettings = settings && settings.toolsSettings || {};
var shortcutsSettings = __assign({ 'Mod-b': function (state, dispatch) { return kendo_editor_common_1.toggleInlineFormat(toolsSettings.bold || bold)(state, dispatch); }, 'Mod-i': function (state, dispatch) { return kendo_editor_common_1.toggleInlineFormat(toolsSettings.italic || italic)(state, dispatch); }, 'Mod-u': function (state, dispatch) { return kendo_editor_common_1.toggleInlineFormat(toolsSettings.underline || underline)(state, dispatch); }, 'Mod-z': kendo_editor_common_1.undo, 'Shift-Mod-z': kendo_editor_common_1.redo }, __assign({}, !mac ? { 'Mod-y': kendo_editor_common_1.redo } : {}), { 'Backspace': kendo_editor_common_1.undoInputRule, 'Mod-Enter': insertBr, 'Shift-Enter': insertBr }, __assign({}, mac ? { 'Ctrl-Enter': insertBr } : {}), { 'Enter': function (state, dispatch) {
return kendo_editor_common_1.splitListItem(state.schema.nodes[listItem])(state, dispatch);
}, 'Tab': kendo_editor_common_1.goToNextCell(1), 'Shift-Tab': kendo_editor_common_1.goToNextCell(-1) });
return shortcutsSettings;
};
//# sourceMappingURL=shortcuts.js.map