|
- /**
- * @ignore
- * some key-codes definition and utils from closure-library
- * @author yiminghe@gmail.com
- */
- var KeyCode = {
- /**
- * MAC_ENTER
- */
- MAC_ENTER: 3,
-
- /**
- * BACKSPACE
- */
- BACKSPACE: 8,
-
- /**
- * TAB
- */
- TAB: 9,
-
- /**
- * NUMLOCK on FF/Safari Mac
- */
- NUM_CENTER: 12,
-
- /**
- * ENTER
- */
- ENTER: 13,
-
- /**
- * SHIFT
- */
- SHIFT: 16,
-
- /**
- * CTRL
- */
- CTRL: 17,
-
- /**
- * ALT
- */
- ALT: 18,
-
- /**
- * PAUSE
- */
- PAUSE: 19,
-
- /**
- * CAPS_LOCK
- */
- CAPS_LOCK: 20,
-
- /**
- * ESC
- */
- ESC: 27,
-
- /**
- * SPACE
- */
- SPACE: 32,
-
- /**
- * PAGE_UP
- */
- PAGE_UP: 33,
-
- /**
- * PAGE_DOWN
- */
- PAGE_DOWN: 34,
-
- /**
- * END
- */
- END: 35,
-
- /**
- * HOME
- */
- HOME: 36,
-
- /**
- * LEFT
- */
- LEFT: 37,
-
- /**
- * UP
- */
- UP: 38,
-
- /**
- * RIGHT
- */
- RIGHT: 39,
-
- /**
- * DOWN
- */
- DOWN: 40,
-
- /**
- * PRINT_SCREEN
- */
- PRINT_SCREEN: 44,
-
- /**
- * INSERT
- */
- INSERT: 45,
-
- /**
- * DELETE
- */
- DELETE: 46,
-
- /**
- * ZERO
- */
- ZERO: 48,
-
- /**
- * ONE
- */
- ONE: 49,
-
- /**
- * TWO
- */
- TWO: 50,
-
- /**
- * THREE
- */
- THREE: 51,
-
- /**
- * FOUR
- */
- FOUR: 52,
-
- /**
- * FIVE
- */
- FIVE: 53,
-
- /**
- * SIX
- */
- SIX: 54,
-
- /**
- * SEVEN
- */
- SEVEN: 55,
-
- /**
- * EIGHT
- */
- EIGHT: 56,
-
- /**
- * NINE
- */
- NINE: 57,
-
- /**
- * QUESTION_MARK
- */
- QUESTION_MARK: 63,
-
- /**
- * A
- */
- A: 65,
-
- /**
- * B
- */
- B: 66,
-
- /**
- * C
- */
- C: 67,
-
- /**
- * D
- */
- D: 68,
-
- /**
- * E
- */
- E: 69,
-
- /**
- * F
- */
- F: 70,
-
- /**
- * G
- */
- G: 71,
-
- /**
- * H
- */
- H: 72,
-
- /**
- * I
- */
- I: 73,
-
- /**
- * J
- */
- J: 74,
-
- /**
- * K
- */
- K: 75,
-
- /**
- * L
- */
- L: 76,
-
- /**
- * M
- */
- M: 77,
-
- /**
- * N
- */
- N: 78,
-
- /**
- * O
- */
- O: 79,
-
- /**
- * P
- */
- P: 80,
-
- /**
- * Q
- */
- Q: 81,
-
- /**
- * R
- */
- R: 82,
-
- /**
- * S
- */
- S: 83,
-
- /**
- * T
- */
- T: 84,
-
- /**
- * U
- */
- U: 85,
-
- /**
- * V
- */
- V: 86,
-
- /**
- * W
- */
- W: 87,
-
- /**
- * X
- */
- X: 88,
-
- /**
- * Y
- */
- Y: 89,
-
- /**
- * Z
- */
- Z: 90,
-
- /**
- * META
- */
- META: 91,
-
- /**
- * WIN_KEY_RIGHT
- */
- WIN_KEY_RIGHT: 92,
-
- /**
- * CONTEXT_MENU
- */
- CONTEXT_MENU: 93,
-
- /**
- * NUM_ZERO
- */
- NUM_ZERO: 96,
-
- /**
- * NUM_ONE
- */
- NUM_ONE: 97,
-
- /**
- * NUM_TWO
- */
- NUM_TWO: 98,
-
- /**
- * NUM_THREE
- */
- NUM_THREE: 99,
-
- /**
- * NUM_FOUR
- */
- NUM_FOUR: 100,
-
- /**
- * NUM_FIVE
- */
- NUM_FIVE: 101,
-
- /**
- * NUM_SIX
- */
- NUM_SIX: 102,
-
- /**
- * NUM_SEVEN
- */
- NUM_SEVEN: 103,
-
- /**
- * NUM_EIGHT
- */
- NUM_EIGHT: 104,
-
- /**
- * NUM_NINE
- */
- NUM_NINE: 105,
-
- /**
- * NUM_MULTIPLY
- */
- NUM_MULTIPLY: 106,
-
- /**
- * NUM_PLUS
- */
- NUM_PLUS: 107,
-
- /**
- * NUM_MINUS
- */
- NUM_MINUS: 109,
-
- /**
- * NUM_PERIOD
- */
- NUM_PERIOD: 110,
-
- /**
- * NUM_DIVISION
- */
- NUM_DIVISION: 111,
-
- /**
- * F1
- */
- F1: 112,
-
- /**
- * F2
- */
- F2: 113,
-
- /**
- * F3
- */
- F3: 114,
-
- /**
- * F4
- */
- F4: 115,
-
- /**
- * F5
- */
- F5: 116,
-
- /**
- * F6
- */
- F6: 117,
-
- /**
- * F7
- */
- F7: 118,
-
- /**
- * F8
- */
- F8: 119,
-
- /**
- * F9
- */
- F9: 120,
-
- /**
- * F10
- */
- F10: 121,
-
- /**
- * F11
- */
- F11: 122,
-
- /**
- * F12
- */
- F12: 123,
-
- /**
- * NUMLOCK
- */
- NUMLOCK: 144,
-
- /**
- * SEMICOLON
- */
- SEMICOLON: 186,
-
- /**
- * DASH
- */
- DASH: 189,
-
- /**
- * EQUALS
- */
- EQUALS: 187,
-
- /**
- * COMMA
- */
- COMMA: 188,
-
- /**
- * PERIOD
- */
- PERIOD: 190,
-
- /**
- * SLASH
- */
- SLASH: 191,
-
- /**
- * APOSTROPHE
- */
- APOSTROPHE: 192,
-
- /**
- * SINGLE_QUOTE
- */
- SINGLE_QUOTE: 222,
-
- /**
- * OPEN_SQUARE_BRACKET
- */
- OPEN_SQUARE_BRACKET: 219,
-
- /**
- * BACKSLASH
- */
- BACKSLASH: 220,
-
- /**
- * CLOSE_SQUARE_BRACKET
- */
- CLOSE_SQUARE_BRACKET: 221,
-
- /**
- * WIN_KEY
- */
- WIN_KEY: 224,
-
- /**
- * MAC_FF_META
- */
- MAC_FF_META: 224,
-
- /**
- * WIN_IME
- */
- WIN_IME: 229,
- // ======================== Function ========================
-
- /**
- * whether text and modified key is entered at the same time.
- */
- isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {
- var keyCode = e.keyCode;
-
- if (e.altKey && !e.ctrlKey || e.metaKey || // Function keys don't generate text
- keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {
- return false;
- } // The following keys are quite harmless, even in combination with
- // CTRL, ALT or SHIFT.
-
-
- switch (keyCode) {
- case KeyCode.ALT:
- case KeyCode.CAPS_LOCK:
- case KeyCode.CONTEXT_MENU:
- case KeyCode.CTRL:
- case KeyCode.DOWN:
- case KeyCode.END:
- case KeyCode.ESC:
- case KeyCode.HOME:
- case KeyCode.INSERT:
- case KeyCode.LEFT:
- case KeyCode.MAC_FF_META:
- case KeyCode.META:
- case KeyCode.NUMLOCK:
- case KeyCode.NUM_CENTER:
- case KeyCode.PAGE_DOWN:
- case KeyCode.PAGE_UP:
- case KeyCode.PAUSE:
- case KeyCode.PRINT_SCREEN:
- case KeyCode.RIGHT:
- case KeyCode.SHIFT:
- case KeyCode.UP:
- case KeyCode.WIN_KEY:
- case KeyCode.WIN_KEY_RIGHT:
- return false;
-
- default:
- return true;
- }
- },
-
- /**
- * whether character is entered.
- */
- isCharacterKey: function isCharacterKey(keyCode) {
- if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {
- return true;
- }
-
- if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {
- return true;
- }
-
- if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {
- return true;
- } // Safari sends zero key code for non-latin characters.
-
-
- if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {
- return true;
- }
-
- switch (keyCode) {
- case KeyCode.SPACE:
- case KeyCode.QUESTION_MARK:
- case KeyCode.NUM_PLUS:
- case KeyCode.NUM_MINUS:
- case KeyCode.NUM_PERIOD:
- case KeyCode.NUM_DIVISION:
- case KeyCode.SEMICOLON:
- case KeyCode.DASH:
- case KeyCode.EQUALS:
- case KeyCode.COMMA:
- case KeyCode.PERIOD:
- case KeyCode.SLASH:
- case KeyCode.APOSTROPHE:
- case KeyCode.SINGLE_QUOTE:
- case KeyCode.OPEN_SQUARE_BRACKET:
- case KeyCode.BACKSLASH:
- case KeyCode.CLOSE_SQUARE_BRACKET:
- return true;
-
- default:
- return false;
- }
- }
- };
- export default KeyCode;
|