ming-demo3
Version:
mdf metaui web
210 lines (192 loc) • 3.86 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getEventKey = exports.getEventModifiers = exports.stopPropagation = exports.preventDefault = void 0;
var _assign2 = _interopRequireDefault(require("lodash/assign"));
var _filter2 = _interopRequireDefault(require("lodash/filter"));
var preventDefault = function preventDefault(nativeEvent) {
if (!nativeEvent) {
return;
}
if (nativeEvent.preventDefault) {
nativeEvent.preventDefault();
} else if (typeof nativeEvent.returnValue !== 'unknown') {
nativeEvent.returnValue = false;
}
};
exports.preventDefault = preventDefault;
var stopPropagation = function stopPropagation(nativeEvent) {
if (!nativeEvent) {
return;
}
if (nativeEvent.stopPropagation) {
nativeEvent.stopPropagation();
} else if (typeof nativeEvent.cancelBubble !== 'unknown') {
nativeEvent.cancelBubble = true;
}
};
exports.stopPropagation = stopPropagation;
var keyNameToModifer = {
Alt: ['Alt', 'altKey'],
Ctrl: ['Control', 'ctrlKey'],
Meta: ['Meta', 'metaKey'],
Shift: ['Shift', 'shiftKey']
};
var getEventModifiers = function getEventModifiers(nativeEvent) {
return (0, _filter2["default"])(Object.keys(keyNameToModifer), function (k) {
if (nativeEvent.getModifierState) {
return nativeEvent.getModifierState(keyNameToModifer[k][0]);
}
return !!nativeEvent[keyNameToModifer[k][1]];
});
};
exports.getEventModifiers = getEventModifiers;
var normalizeKey = {
Esc: 'Escape',
Spacebar: ' ',
Left: 'ArrowLeft',
Up: 'ArrowUp',
Right: 'ArrowRight',
Down: 'ArrowDown',
Del: 'Delete',
Win: 'OS',
Menu: 'ContextMenu',
ContextMenu: 'ContextMenu',
Apps: 'ContextMenu',
Scroll: 'ScrollLock',
MozPrintableKey: 'Unidentified'
};
var translateToKey = {
8: 'Backspace',
9: 'Tab',
12: 'Clear',
13: 'Enter',
16: 'Shift',
17: 'Ctrl',
18: 'Alt',
19: 'Pause',
20: 'CapsLock',
27: 'Escape',
32: ' ',
33: 'PageUp',
34: 'PageDown',
35: 'End',
36: 'Home',
37: 'ArrowLeft',
38: 'ArrowUp',
39: 'ArrowRight',
40: 'ArrowDown',
45: 'Insert',
46: 'Delete',
112: 'F1',
113: 'F2',
114: 'F3',
115: 'F4',
116: 'F5',
117: 'F6',
118: 'F7',
119: 'F8',
120: 'F9',
121: 'F10',
122: 'F11',
123: 'F12',
124: 'F13',
125: 'F14',
126: 'F15',
127: 'F16',
128: 'F17',
129: 'F18',
130: 'F19',
131: 'F20',
132: 'F21',
133: 'F22',
134: 'F23',
135: 'F24',
144: 'NumLock',
145: 'ScrollLock',
224: 'Meta'
};
var stringKey = {
48: '0',
49: '1',
50: '2',
51: '3',
52: '4',
53: '5',
54: '6',
55: '7',
56: '8',
57: '9',
65: 'A',
66: 'B',
67: 'C',
68: 'D',
69: 'E',
70: 'F',
71: 'G',
72: 'H',
73: 'I',
74: 'J',
75: 'K',
76: 'L',
77: 'M',
78: 'N',
79: 'O',
80: 'P',
81: 'Q',
82: 'R',
83: 'S',
84: 'T',
85: 'U',
86: 'V',
87: 'W',
88: 'X',
89: 'Y',
90: 'Z'
};
var specialKey = {
186: ';',
187: '=',
188: ',',
189: '-',
190: '.',
191: '/',
192: '`',
219: '[',
221: ']',
220: '\\',
222: '\''
};
var numberPadKey = {
96: '0',
97: '1',
98: '2',
99: '3',
100: '4',
101: '5',
102: '6',
103: '7',
104: '8',
105: '9',
106: '*',
107: '+',
108: 'Enter',
109: '-',
110: '.',
111: '/'
};
var keysCollect = (0, _assign2["default"])({}, stringKey, numberPadKey, specialKey, translateToKey);
var getEventKey = function getEventKey(nativeEvent) {
var charCode = nativeEvent.keyCode || nativeEvent.which;
if (nativeEvent.key) {
var key = normalizeKey[nativeEvent.key] || '';
if (key && key !== 'Unidentified') {
return key;
}
}
return keysCollect[charCode] || '';
};
exports.getEventKey = getEventKey;
//# sourceMappingURL=Util.js.map