1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _isHotkey = require('is-hotkey');
|
8 |
|
9 | require('slate');
|
10 |
|
11 | var _utils = require('../utils');
|
12 |
|
13 | var _onTab = require('./onTab');
|
14 |
|
15 | var _onTab2 = _interopRequireDefault(_onTab);
|
16 |
|
17 | var _onShiftTab = require('./onShiftTab');
|
18 |
|
19 | var _onShiftTab2 = _interopRequireDefault(_onShiftTab);
|
20 |
|
21 | var _onEnter = require('./onEnter');
|
22 |
|
23 | var _onEnter2 = _interopRequireDefault(_onEnter);
|
24 |
|
25 | var _onModEnter = require('./onModEnter');
|
26 |
|
27 | var _onModEnter2 = _interopRequireDefault(_onModEnter);
|
28 |
|
29 | var _onBackspace = require('./onBackspace');
|
30 |
|
31 | var _onBackspace2 = _interopRequireDefault(_onBackspace);
|
32 |
|
33 | var _onSelectAll = require('./onSelectAll');
|
34 |
|
35 | var _onSelectAll2 = _interopRequireDefault(_onSelectAll);
|
36 |
|
37 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
38 |
|
39 | var isModA = (0, _isHotkey.isKeyHotkey)('mod+a');
|
40 |
|
41 | var isShiftTab = (0, _isHotkey.isKeyHotkey)('shift+tab');
|
42 | var isTab = (0, _isHotkey.isKeyHotkey)('tab');
|
43 | var isModEnter = (0, _isHotkey.isKeyHotkey)('mod+enter');
|
44 | var isEnter = (0, _isHotkey.isKeyHotkey)('enter');
|
45 | var isBackspace = (0, _isHotkey.isKeyHotkey)('backspace');
|
46 |
|
47 |
|
48 |
|
49 |
|
50 | function onKeyDown(opts, event, change, editor) {
|
51 | var value = change.value;
|
52 |
|
53 | var currentCode = (0, _utils.getCurrentCode)(opts, value);
|
54 |
|
55 |
|
56 | if (!currentCode) {
|
57 | return undefined;
|
58 | }
|
59 |
|
60 |
|
61 | var args = [opts, event, change, editor];
|
62 |
|
63 |
|
64 | if (opts.selectAll && isModA(event)) {
|
65 | return _onSelectAll2.default.apply(undefined, args);
|
66 | } else if (isShiftTab(event)) {
|
67 |
|
68 | return _onShiftTab2.default.apply(undefined, args);
|
69 | } else if (isTab(event)) {
|
70 |
|
71 | return _onTab2.default.apply(undefined, args);
|
72 | } else if (opts.exitBlockType && isModEnter(event)) {
|
73 |
|
74 | return _onModEnter2.default.apply(undefined, args);
|
75 | } else if (isEnter(event)) {
|
76 |
|
77 | return _onEnter2.default.apply(undefined, args);
|
78 | } else if (isBackspace(event)) {
|
79 |
|
80 | return _onBackspace2.default.apply(undefined, args);
|
81 | }
|
82 | return undefined;
|
83 | }
|
84 |
|
85 | exports.default = onKeyDown; |
\ | No newline at end of file |