@wcardinal/wcardinal-ui 0.287.0 → 0.288.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,63 +11,72 @@ var setShortcutKeyAndWhich = function (shortcut) {
11
11
  shortcut.key = key.toUpperCase();
12
12
  }
13
13
  var code = key.charCodeAt(0);
14
- if (97 <= code && code <= 122) {
15
- // a ... z
16
- shortcut.which = code - 32;
17
- }
18
- else {
19
- shortcut.which = code;
20
- }
14
+ shortcut.which = 97 <= code && code <= 122 ? code - 32 : code;
21
15
  }
22
16
  else {
23
17
  switch (key) {
24
- case "Enter":
18
+ case "enter":
19
+ shortcut.key = "Enter";
25
20
  shortcut.which = 13;
26
21
  break;
27
- case "Space":
22
+ case "space":
28
23
  shortcut.key = " ";
29
24
  shortcut.which = 32;
30
25
  break;
31
- case "Escape":
26
+ case "escape":
27
+ shortcut.key = "Escape";
32
28
  shortcut.which = 27;
33
29
  break;
34
- case "F1":
30
+ case "f1":
31
+ shortcut.key = "F1";
35
32
  shortcut.which = 112;
36
33
  break;
37
- case "F2":
34
+ case "f2":
35
+ shortcut.key = "F2";
38
36
  shortcut.which = 113;
39
37
  break;
40
- case "F3":
38
+ case "f3":
39
+ shortcut.key = "F3";
41
40
  shortcut.which = 114;
42
41
  break;
43
- case "F4":
42
+ case "f4":
43
+ shortcut.key = "F4";
44
44
  shortcut.which = 115;
45
45
  break;
46
- case "F5":
46
+ case "f5":
47
+ shortcut.key = "F5";
47
48
  shortcut.which = 116;
48
49
  break;
49
- case "F6":
50
+ case "f6":
51
+ shortcut.key = "F6";
50
52
  shortcut.which = 117;
51
53
  break;
52
- case "F7":
54
+ case "f7":
55
+ shortcut.key = "F7";
53
56
  shortcut.which = 118;
54
57
  break;
55
- case "F8":
58
+ case "f8":
59
+ shortcut.key = "F8";
56
60
  shortcut.which = 119;
57
61
  break;
58
- case "F9":
62
+ case "f9":
63
+ shortcut.key = "F9";
59
64
  shortcut.which = 120;
60
65
  break;
61
- case "F10":
66
+ case "f10":
67
+ shortcut.key = "F10";
62
68
  shortcut.which = 121;
63
69
  break;
64
- case "F11":
70
+ case "f11":
71
+ shortcut.key = "F11";
65
72
  shortcut.which = 122;
66
73
  break;
67
- case "F12":
74
+ case "f12":
75
+ shortcut.key = "F12";
68
76
  shortcut.which = 123;
69
77
  break;
70
- case "CapsLock":
78
+ case "capslock":
79
+ shortcut.key = "CapsLock";
71
80
  if (shortcut.shift) {
72
81
  shortcut.which = 20;
73
82
  }
@@ -75,45 +84,70 @@ var setShortcutKeyAndWhich = function (shortcut) {
75
84
  shortcut.which = 240;
76
85
  }
77
86
  break;
78
- case "ArrowUp":
87
+ case "arrowup":
88
+ shortcut.key = "ArrowUp";
79
89
  shortcut.which = 38;
80
90
  break;
81
- case "ArrowDown":
91
+ case "arrowdown":
92
+ shortcut.key = "ArrowDown";
82
93
  shortcut.which = 40;
83
94
  break;
84
- case "ArrowLeft":
95
+ case "arrowleft":
96
+ shortcut.key = "ArrowLeft";
85
97
  shortcut.which = 37;
86
98
  break;
87
- case "ArrowRight":
99
+ case "arrowright":
100
+ shortcut.key = "ArrowRight";
88
101
  shortcut.which = 39;
89
102
  break;
90
- case "Insert":
103
+ case "insert":
104
+ shortcut.key = "Insert";
91
105
  shortcut.which = 45;
92
106
  break;
93
- case "Delete":
107
+ case "delete":
108
+ shortcut.key = "Delete";
94
109
  shortcut.which = 46;
95
110
  break;
96
- case "PageUp":
111
+ case "pageup":
112
+ shortcut.key = "PageUp";
97
113
  shortcut.which = 33;
98
114
  break;
99
- case "PageDown":
115
+ case "pagedown":
116
+ shortcut.key = "PageDown";
100
117
  shortcut.which = 34;
101
118
  break;
102
- case "Backspace":
119
+ case "backspace":
120
+ shortcut.key = "Backspace";
103
121
  shortcut.which = 8;
104
122
  break;
105
- case ";":
123
+ case "colon":
124
+ shortcut.key = ":";
125
+ shortcut.which = 186;
126
+ break;
127
+ case "semicolon":
128
+ shortcut.key = ";";
106
129
  shortcut.which = 187;
107
130
  break;
108
- case "Pause":
131
+ case "pause":
132
+ shortcut.key = "Pause";
109
133
  shortcut.which = 19;
110
134
  break;
111
- case "ScrollLock":
135
+ case "scrolllock":
136
+ shortcut.key = "ScrollLock";
112
137
  shortcut.which = 145;
113
138
  break;
114
- case "Tab":
139
+ case "tab":
140
+ shortcut.key = "Tab";
115
141
  shortcut.which = 9;
116
142
  break;
143
+ case "plus":
144
+ shortcut.key = "+";
145
+ shortcut.which = 187;
146
+ break;
147
+ case "minus":
148
+ shortcut.key = "-";
149
+ shortcut.which = 189;
150
+ break;
117
151
  }
118
152
  }
119
153
  return shortcut;
@@ -1 +1 @@
1
- {"version":3,"file":"util-keyboard-event.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-keyboard-event.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplicationLayerLike } from \"../d-application-layer-like\";\nimport { DApplications } from \"../d-applications\";\nimport { DBase } from \"../d-base\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { isString } from \"./is-string\";\n\nexport interface UtilKeyboardEventLayerPicker {\n\tpicked: DApplicationLayerLike | null;\n}\n\nexport interface UtilKeyboardEventShortcut {\n\talt: boolean;\n\tctrl: boolean;\n\tshift: boolean;\n\tkey: string;\n\twhich: number;\n\tevent?: string;\n}\n\nexport interface UtilKeyboardEventShortcutTarget {\n\tstate: DBaseStateSet;\n\temit(eventName: string): void;\n}\n\nconst setShortcutKeyAndWhich = (shortcut: UtilKeyboardEventShortcut): UtilKeyboardEventShortcut => {\n\tconst key = shortcut.key;\n\tif (key.length <= 1) {\n\t\tif (shortcut.shift) {\n\t\t\tshortcut.key = key.toUpperCase();\n\t\t}\n\t\tconst code = key.charCodeAt(0);\n\t\tif (97 <= code && code <= 122) {\n\t\t\t// a ... z\n\t\t\tshortcut.which = code - 32;\n\t\t} else {\n\t\t\tshortcut.which = code;\n\t\t}\n\t} else {\n\t\tswitch (key) {\n\t\t\tcase \"Enter\":\n\t\t\t\tshortcut.which = 13;\n\t\t\t\tbreak;\n\t\t\tcase \"Space\":\n\t\t\t\tshortcut.key = \" \";\n\t\t\t\tshortcut.which = 32;\n\t\t\t\tbreak;\n\t\t\tcase \"Escape\":\n\t\t\t\tshortcut.which = 27;\n\t\t\t\tbreak;\n\t\t\tcase \"F1\":\n\t\t\t\tshortcut.which = 112;\n\t\t\t\tbreak;\n\t\t\tcase \"F2\":\n\t\t\t\tshortcut.which = 113;\n\t\t\t\tbreak;\n\t\t\tcase \"F3\":\n\t\t\t\tshortcut.which = 114;\n\t\t\t\tbreak;\n\t\t\tcase \"F4\":\n\t\t\t\tshortcut.which = 115;\n\t\t\t\tbreak;\n\t\t\tcase \"F5\":\n\t\t\t\tshortcut.which = 116;\n\t\t\t\tbreak;\n\t\t\tcase \"F6\":\n\t\t\t\tshortcut.which = 117;\n\t\t\t\tbreak;\n\t\t\tcase \"F7\":\n\t\t\t\tshortcut.which = 118;\n\t\t\t\tbreak;\n\t\t\tcase \"F8\":\n\t\t\t\tshortcut.which = 119;\n\t\t\t\tbreak;\n\t\t\tcase \"F9\":\n\t\t\t\tshortcut.which = 120;\n\t\t\t\tbreak;\n\t\t\tcase \"F10\":\n\t\t\t\tshortcut.which = 121;\n\t\t\t\tbreak;\n\t\t\tcase \"F11\":\n\t\t\t\tshortcut.which = 122;\n\t\t\t\tbreak;\n\t\t\tcase \"F12\":\n\t\t\t\tshortcut.which = 123;\n\t\t\t\tbreak;\n\t\t\tcase \"CapsLock\":\n\t\t\t\tif (shortcut.shift) {\n\t\t\t\t\tshortcut.which = 20;\n\t\t\t\t} else {\n\t\t\t\t\tshortcut.which = 240;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowUp\":\n\t\t\t\tshortcut.which = 38;\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowDown\":\n\t\t\t\tshortcut.which = 40;\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowLeft\":\n\t\t\t\tshortcut.which = 37;\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowRight\":\n\t\t\t\tshortcut.which = 39;\n\t\t\t\tbreak;\n\t\t\tcase \"Insert\":\n\t\t\t\tshortcut.which = 45;\n\t\t\t\tbreak;\n\t\t\tcase \"Delete\":\n\t\t\t\tshortcut.which = 46;\n\t\t\t\tbreak;\n\t\t\tcase \"PageUp\":\n\t\t\t\tshortcut.which = 33;\n\t\t\t\tbreak;\n\t\t\tcase \"PageDown\":\n\t\t\t\tshortcut.which = 34;\n\t\t\t\tbreak;\n\t\t\tcase \"Backspace\":\n\t\t\t\tshortcut.which = 8;\n\t\t\t\tbreak;\n\t\t\tcase \";\":\n\t\t\t\tshortcut.which = 187;\n\t\t\t\tbreak;\n\t\t\tcase \"Pause\":\n\t\t\t\tshortcut.which = 19;\n\t\t\t\tbreak;\n\t\t\tcase \"ScrollLock\":\n\t\t\t\tshortcut.which = 145;\n\t\t\t\tbreak;\n\t\t\tcase \"Tab\":\n\t\t\t\tshortcut.which = 9;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn shortcut;\n};\n\nexport class UtilKeyboardEvent {\n\tstatic isActivateKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Space\" || e.key === \"Enter\" || e.which === 32 || e.which === 13;\n\t}\n\n\tstatic isArrowUpKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowUp\" || e.which === 38;\n\t}\n\n\tstatic isArrowDownKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowDown\" || e.which === 40;\n\t}\n\n\tstatic isArrowLeftKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowLeft\" || e.which === 37;\n\t}\n\n\tstatic isArrowRightKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowRight\" || e.which === 39;\n\t}\n\n\tstatic isCancelKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Esc\" || e.which === 27;\n\t}\n\n\tstatic isFocusKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Tab\" || e.which === 9;\n\t}\n\n\tstatic isUndoKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && (e.key === \"z\" || e.which === 90);\n\t}\n\n\tstatic isRedoKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && (e.key === \"y\" || e.which === 89);\n\t}\n\n\tstatic isSaveKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && !e.shiftKey && (e.key === \"s\" || e.which === 83);\n\t}\n\n\tstatic isSaveAsKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && e.shiftKey && (e.key === \"S\" || e.which === 83);\n\t}\n\n\tstatic isDeleteKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Delete\" || e.which === 46;\n\t}\n\n\tstatic isSelectAllKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && !e.shiftKey && (e.key === \"a\" || e.which === 65);\n\t}\n\n\tstatic isOkKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Enter\" || e.which === 13;\n\t}\n\n\tstatic getFocusDirection(e: KeyboardEvent): boolean {\n\t\treturn e.shiftKey !== true;\n\t}\n\n\tstatic toShortcut(\n\t\texpressionOrShortcut: string | UtilKeyboardEventShortcut\n\t): UtilKeyboardEventShortcut {\n\t\tif (!isString(expressionOrShortcut)) {\n\t\t\treturn expressionOrShortcut;\n\t\t} else {\n\t\t\tconst expression = expressionOrShortcut;\n\t\t\tconst arrowIndex = expression.indexOf(\"->\");\n\t\t\tlet keyExpression: string;\n\t\t\tlet event: string | undefined;\n\t\t\tif (0 <= arrowIndex) {\n\t\t\t\tkeyExpression = expression.substring(0, arrowIndex).trim().toLowerCase();\n\t\t\t\tevent = expression.substring(arrowIndex + 2).trim();\n\t\t\t} else {\n\t\t\t\tkeyExpression = expression.trim().toLowerCase();\n\t\t\t}\n\t\t\tlet alt = false;\n\t\t\tlet ctrl = false;\n\t\t\tlet shift = false;\n\t\t\tlet key = \"a\";\n\t\t\tconst length = keyExpression.length;\n\t\t\tlet i = 0;\n\t\t\tlet j = 1;\n\t\t\tfor (; j < length; ++j) {\n\t\t\t\tconst c = keyExpression.charAt(j);\n\t\t\t\tif (c === \"+\") {\n\t\t\t\t\tconst part = keyExpression.substring(i, j);\n\t\t\t\t\tswitch (part) {\n\t\t\t\t\t\tcase \"alt\":\n\t\t\t\t\t\t\talt = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"ctrl\":\n\t\t\t\t\t\t\tctrl = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"shift\":\n\t\t\t\t\t\t\tshift = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkey = part;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tj += 1;\n\t\t\t\t\ti = j;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (i !== j) {\n\t\t\t\tkey = keyExpression.substring(i, j);\n\t\t\t}\n\t\t\treturn setShortcutKeyAndWhich({\n\t\t\t\talt,\n\t\t\t\tctrl,\n\t\t\t\tshift,\n\t\t\t\tkey,\n\t\t\t\twhich: 0,\n\t\t\t\tevent\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic toString(shortcut: UtilKeyboardEventShortcut): string {\n\t\tconst parts = [];\n\t\tif (shortcut.ctrl) {\n\t\t\tparts.push(\"Ctrl\");\n\t\t}\n\t\tif (shortcut.shift) {\n\t\t\tparts.push(\"Shift\");\n\t\t}\n\t\tif (shortcut.alt) {\n\t\t\tparts.push(\"Alt\");\n\t\t}\n\t\tparts.push(shortcut.key.toUpperCase());\n\t\treturn parts.join(\"+\");\n\t}\n\n\tstatic on(\n\t\ttarget: UtilKeyboardEventShortcutTarget,\n\t\texpressionOrShortcut: string | UtilKeyboardEventShortcut,\n\t\thandler?: (e: KeyboardEvent) => void\n\t): void {\n\t\tconst shortcut = this.toShortcut(expressionOrShortcut);\n\t\tdocument.body.addEventListener(\"keydown\", (e: KeyboardEvent): void => {\n\t\t\tif (\n\t\t\t\te.altKey === shortcut.alt &&\n\t\t\t\te.ctrlKey === shortcut.ctrl &&\n\t\t\t\te.shiftKey === shortcut.shift &&\n\t\t\t\t(e.key === shortcut.key || e.which === shortcut.which)\n\t\t\t) {\n\t\t\t\tif (target.state.isActionable) {\n\t\t\t\t\tif (shortcut.event != null) {\n\t\t\t\t\t\ttarget.emit(shortcut.event);\n\t\t\t\t\t} else if (handler != null) {\n\t\t\t\t\t\thandler(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic moveFocusVertically(\n\t\te: KeyboardEvent,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tif (target.state.isActionable) {\n\t\t\tconst isBackward = UtilKeyboardEvent.isArrowUpKey(e);\n\t\t\tconst isForward = UtilKeyboardEvent.isArrowDownKey(e);\n\t\t\tif (isBackward || isForward) {\n\t\t\t\treturn this.moveFocus(isForward, target, picker);\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic moveFocusHorizontally(\n\t\te: KeyboardEvent,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tif (target.state.isActionable) {\n\t\t\tconst isBackward = UtilKeyboardEvent.isArrowLeftKey(e);\n\t\t\tconst isForward = UtilKeyboardEvent.isArrowRightKey(e);\n\t\t\tif (isBackward || isForward) {\n\t\t\t\treturn this.moveFocus(isForward, target, picker);\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic moveFocus(\n\t\tdirection: boolean,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tconst layer = picker?.picked ?? DApplications.getLayer(target);\n\t\tif (layer) {\n\t\t\tconst focusController = layer.getFocusController();\n\t\t\tconst focused = focusController.get();\n\t\t\tif (focused != null) {\n\t\t\t\tconst next = focusController.find(\n\t\t\t\t\tfocused,\n\t\t\t\t\tfalse,\n\t\t\t\t\tfocused.state.isFocusRoot || direction,\n\t\t\t\t\tdirection,\n\t\t\t\t\ttarget\n\t\t\t\t);\n\t\t\t\tif (next != null) {\n\t\t\t\t\tfocusController.focus(next);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
1
+ {"version":3,"file":"util-keyboard-event.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-keyboard-event.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplicationLayerLike } from \"../d-application-layer-like\";\nimport { DApplications } from \"../d-applications\";\nimport { DBase } from \"../d-base\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { isString } from \"./is-string\";\n\nexport interface UtilKeyboardEventLayerPicker {\n\tpicked: DApplicationLayerLike | null;\n}\n\nexport interface UtilKeyboardEventShortcut {\n\talt: boolean;\n\tctrl: boolean;\n\tshift: boolean;\n\tkey: string;\n\twhich: number;\n\tevent?: string;\n}\n\nexport interface UtilKeyboardEventShortcutTarget {\n\tstate: DBaseStateSet;\n\temit(eventName: string): void;\n}\n\nconst setShortcutKeyAndWhich = (shortcut: UtilKeyboardEventShortcut): UtilKeyboardEventShortcut => {\n\tconst key = shortcut.key;\n\tif (key.length <= 1) {\n\t\tif (shortcut.shift) {\n\t\t\tshortcut.key = key.toUpperCase();\n\t\t}\n\t\tconst code = key.charCodeAt(0);\n\t\tshortcut.which = 97 <= code && code <= 122 ? code - 32 : code;\n\t} else {\n\t\tswitch (key) {\n\t\t\tcase \"enter\":\n\t\t\t\tshortcut.key = \"Enter\";\n\t\t\t\tshortcut.which = 13;\n\t\t\t\tbreak;\n\t\t\tcase \"space\":\n\t\t\t\tshortcut.key = \" \";\n\t\t\t\tshortcut.which = 32;\n\t\t\t\tbreak;\n\t\t\tcase \"escape\":\n\t\t\t\tshortcut.key = \"Escape\";\n\t\t\t\tshortcut.which = 27;\n\t\t\t\tbreak;\n\t\t\tcase \"f1\":\n\t\t\t\tshortcut.key = \"F1\";\n\t\t\t\tshortcut.which = 112;\n\t\t\t\tbreak;\n\t\t\tcase \"f2\":\n\t\t\t\tshortcut.key = \"F2\";\n\t\t\t\tshortcut.which = 113;\n\t\t\t\tbreak;\n\t\t\tcase \"f3\":\n\t\t\t\tshortcut.key = \"F3\";\n\t\t\t\tshortcut.which = 114;\n\t\t\t\tbreak;\n\t\t\tcase \"f4\":\n\t\t\t\tshortcut.key = \"F4\";\n\t\t\t\tshortcut.which = 115;\n\t\t\t\tbreak;\n\t\t\tcase \"f5\":\n\t\t\t\tshortcut.key = \"F5\";\n\t\t\t\tshortcut.which = 116;\n\t\t\t\tbreak;\n\t\t\tcase \"f6\":\n\t\t\t\tshortcut.key = \"F6\";\n\t\t\t\tshortcut.which = 117;\n\t\t\t\tbreak;\n\t\t\tcase \"f7\":\n\t\t\t\tshortcut.key = \"F7\";\n\t\t\t\tshortcut.which = 118;\n\t\t\t\tbreak;\n\t\t\tcase \"f8\":\n\t\t\t\tshortcut.key = \"F8\";\n\t\t\t\tshortcut.which = 119;\n\t\t\t\tbreak;\n\t\t\tcase \"f9\":\n\t\t\t\tshortcut.key = \"F9\";\n\t\t\t\tshortcut.which = 120;\n\t\t\t\tbreak;\n\t\t\tcase \"f10\":\n\t\t\t\tshortcut.key = \"F10\";\n\t\t\t\tshortcut.which = 121;\n\t\t\t\tbreak;\n\t\t\tcase \"f11\":\n\t\t\t\tshortcut.key = \"F11\";\n\t\t\t\tshortcut.which = 122;\n\t\t\t\tbreak;\n\t\t\tcase \"f12\":\n\t\t\t\tshortcut.key = \"F12\";\n\t\t\t\tshortcut.which = 123;\n\t\t\t\tbreak;\n\t\t\tcase \"capslock\":\n\t\t\t\tshortcut.key = \"CapsLock\";\n\t\t\t\tif (shortcut.shift) {\n\t\t\t\t\tshortcut.which = 20;\n\t\t\t\t} else {\n\t\t\t\t\tshortcut.which = 240;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"arrowup\":\n\t\t\t\tshortcut.key = \"ArrowUp\";\n\t\t\t\tshortcut.which = 38;\n\t\t\t\tbreak;\n\t\t\tcase \"arrowdown\":\n\t\t\t\tshortcut.key = \"ArrowDown\";\n\t\t\t\tshortcut.which = 40;\n\t\t\t\tbreak;\n\t\t\tcase \"arrowleft\":\n\t\t\t\tshortcut.key = \"ArrowLeft\";\n\t\t\t\tshortcut.which = 37;\n\t\t\t\tbreak;\n\t\t\tcase \"arrowright\":\n\t\t\t\tshortcut.key = \"ArrowRight\";\n\t\t\t\tshortcut.which = 39;\n\t\t\t\tbreak;\n\t\t\tcase \"insert\":\n\t\t\t\tshortcut.key = \"Insert\";\n\t\t\t\tshortcut.which = 45;\n\t\t\t\tbreak;\n\t\t\tcase \"delete\":\n\t\t\t\tshortcut.key = \"Delete\";\n\t\t\t\tshortcut.which = 46;\n\t\t\t\tbreak;\n\t\t\tcase \"pageup\":\n\t\t\t\tshortcut.key = \"PageUp\";\n\t\t\t\tshortcut.which = 33;\n\t\t\t\tbreak;\n\t\t\tcase \"pagedown\":\n\t\t\t\tshortcut.key = \"PageDown\";\n\t\t\t\tshortcut.which = 34;\n\t\t\t\tbreak;\n\t\t\tcase \"backspace\":\n\t\t\t\tshortcut.key = \"Backspace\";\n\t\t\t\tshortcut.which = 8;\n\t\t\t\tbreak;\n\t\t\tcase \"colon\":\n\t\t\t\tshortcut.key = \":\";\n\t\t\t\tshortcut.which = 186;\n\t\t\t\tbreak;\n\t\t\tcase \"semicolon\":\n\t\t\t\tshortcut.key = \";\";\n\t\t\t\tshortcut.which = 187;\n\t\t\t\tbreak;\n\t\t\tcase \"pause\":\n\t\t\t\tshortcut.key = \"Pause\";\n\t\t\t\tshortcut.which = 19;\n\t\t\t\tbreak;\n\t\t\tcase \"scrolllock\":\n\t\t\t\tshortcut.key = \"ScrollLock\";\n\t\t\t\tshortcut.which = 145;\n\t\t\t\tbreak;\n\t\t\tcase \"tab\":\n\t\t\t\tshortcut.key = \"Tab\";\n\t\t\t\tshortcut.which = 9;\n\t\t\t\tbreak;\n\t\t\tcase \"plus\":\n\t\t\t\tshortcut.key = \"+\";\n\t\t\t\tshortcut.which = 187;\n\t\t\t\tbreak;\n\t\t\tcase \"minus\":\n\t\t\t\tshortcut.key = \"-\";\n\t\t\t\tshortcut.which = 189;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn shortcut;\n};\n\nexport class UtilKeyboardEvent {\n\tstatic isActivateKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Space\" || e.key === \"Enter\" || e.which === 32 || e.which === 13;\n\t}\n\n\tstatic isArrowUpKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowUp\" || e.which === 38;\n\t}\n\n\tstatic isArrowDownKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowDown\" || e.which === 40;\n\t}\n\n\tstatic isArrowLeftKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowLeft\" || e.which === 37;\n\t}\n\n\tstatic isArrowRightKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowRight\" || e.which === 39;\n\t}\n\n\tstatic isCancelKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Esc\" || e.which === 27;\n\t}\n\n\tstatic isFocusKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Tab\" || e.which === 9;\n\t}\n\n\tstatic isUndoKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && (e.key === \"z\" || e.which === 90);\n\t}\n\n\tstatic isRedoKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && (e.key === \"y\" || e.which === 89);\n\t}\n\n\tstatic isSaveKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && !e.shiftKey && (e.key === \"s\" || e.which === 83);\n\t}\n\n\tstatic isSaveAsKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && e.shiftKey && (e.key === \"S\" || e.which === 83);\n\t}\n\n\tstatic isDeleteKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Delete\" || e.which === 46;\n\t}\n\n\tstatic isSelectAllKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && !e.shiftKey && (e.key === \"a\" || e.which === 65);\n\t}\n\n\tstatic isOkKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Enter\" || e.which === 13;\n\t}\n\n\tstatic getFocusDirection(e: KeyboardEvent): boolean {\n\t\treturn e.shiftKey !== true;\n\t}\n\n\tstatic toShortcut(\n\t\texpressionOrShortcut: string | UtilKeyboardEventShortcut\n\t): UtilKeyboardEventShortcut {\n\t\tif (!isString(expressionOrShortcut)) {\n\t\t\treturn expressionOrShortcut;\n\t\t} else {\n\t\t\tconst expression = expressionOrShortcut;\n\t\t\tconst arrowIndex = expression.indexOf(\"->\");\n\t\t\tlet keyExpression: string;\n\t\t\tlet event: string | undefined;\n\t\t\tif (0 <= arrowIndex) {\n\t\t\t\tkeyExpression = expression.substring(0, arrowIndex).trim().toLowerCase();\n\t\t\t\tevent = expression.substring(arrowIndex + 2).trim();\n\t\t\t} else {\n\t\t\t\tkeyExpression = expression.trim().toLowerCase();\n\t\t\t}\n\t\t\tlet alt = false;\n\t\t\tlet ctrl = false;\n\t\t\tlet shift = false;\n\t\t\tlet key = \"a\";\n\t\t\tconst length = keyExpression.length;\n\t\t\tlet i = 0;\n\t\t\tlet j = 1;\n\t\t\tfor (; j < length; ++j) {\n\t\t\t\tconst c = keyExpression.charAt(j);\n\t\t\t\tif (c === \"+\") {\n\t\t\t\t\tconst part = keyExpression.substring(i, j);\n\t\t\t\t\tswitch (part) {\n\t\t\t\t\t\tcase \"alt\":\n\t\t\t\t\t\t\talt = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"ctrl\":\n\t\t\t\t\t\t\tctrl = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"shift\":\n\t\t\t\t\t\t\tshift = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkey = part;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tj += 1;\n\t\t\t\t\ti = j;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (i !== j) {\n\t\t\t\tkey = keyExpression.substring(i, j);\n\t\t\t}\n\t\t\treturn setShortcutKeyAndWhich({\n\t\t\t\talt,\n\t\t\t\tctrl,\n\t\t\t\tshift,\n\t\t\t\tkey,\n\t\t\t\twhich: 0,\n\t\t\t\tevent\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic toString(shortcut: UtilKeyboardEventShortcut): string {\n\t\tconst parts = [];\n\t\tif (shortcut.ctrl) {\n\t\t\tparts.push(\"Ctrl\");\n\t\t}\n\t\tif (shortcut.shift) {\n\t\t\tparts.push(\"Shift\");\n\t\t}\n\t\tif (shortcut.alt) {\n\t\t\tparts.push(\"Alt\");\n\t\t}\n\t\tparts.push(shortcut.key.toUpperCase());\n\t\treturn parts.join(\"+\");\n\t}\n\n\tstatic on(\n\t\ttarget: UtilKeyboardEventShortcutTarget,\n\t\texpressionOrShortcut: string | UtilKeyboardEventShortcut,\n\t\thandler?: (e: KeyboardEvent) => void\n\t): void {\n\t\tconst shortcut = this.toShortcut(expressionOrShortcut);\n\t\tdocument.body.addEventListener(\"keydown\", (e: KeyboardEvent): void => {\n\t\t\tif (\n\t\t\t\te.altKey === shortcut.alt &&\n\t\t\t\te.ctrlKey === shortcut.ctrl &&\n\t\t\t\te.shiftKey === shortcut.shift &&\n\t\t\t\t(e.key === shortcut.key || e.which === shortcut.which)\n\t\t\t) {\n\t\t\t\tif (target.state.isActionable) {\n\t\t\t\t\tif (shortcut.event != null) {\n\t\t\t\t\t\ttarget.emit(shortcut.event);\n\t\t\t\t\t} else if (handler != null) {\n\t\t\t\t\t\thandler(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic moveFocusVertically(\n\t\te: KeyboardEvent,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tif (target.state.isActionable) {\n\t\t\tconst isBackward = UtilKeyboardEvent.isArrowUpKey(e);\n\t\t\tconst isForward = UtilKeyboardEvent.isArrowDownKey(e);\n\t\t\tif (isBackward || isForward) {\n\t\t\t\treturn this.moveFocus(isForward, target, picker);\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic moveFocusHorizontally(\n\t\te: KeyboardEvent,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tif (target.state.isActionable) {\n\t\t\tconst isBackward = UtilKeyboardEvent.isArrowLeftKey(e);\n\t\t\tconst isForward = UtilKeyboardEvent.isArrowRightKey(e);\n\t\t\tif (isBackward || isForward) {\n\t\t\t\treturn this.moveFocus(isForward, target, picker);\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic moveFocus(\n\t\tdirection: boolean,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tconst layer = picker?.picked ?? DApplications.getLayer(target);\n\t\tif (layer) {\n\t\t\tconst focusController = layer.getFocusController();\n\t\t\tconst focused = focusController.get();\n\t\t\tif (focused != null) {\n\t\t\t\tconst next = focusController.find(\n\t\t\t\t\tfocused,\n\t\t\t\t\tfalse,\n\t\t\t\t\tfocused.state.isFocusRoot || direction,\n\t\t\t\t\tdirection,\n\t\t\t\t\ttarget\n\t\t\t\t);\n\t\t\t\tif (next != null) {\n\t\t\t\t\tfocusController.focus(next);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.287.0
2
+ Winter Cardinal UI v0.288.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.287.0
2
+ Winter Cardinal UI v0.288.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.287.0
2
+ Winter Cardinal UI v0.288.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.287.0
2
+ Winter Cardinal UI v0.288.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.287.0
2
+ Winter Cardinal UI v0.288.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -12631,63 +12631,72 @@ var setShortcutKeyAndWhich = function (shortcut) {
12631
12631
  shortcut.key = key.toUpperCase();
12632
12632
  }
12633
12633
  var code = key.charCodeAt(0);
12634
- if (97 <= code && code <= 122) {
12635
- // a ... z
12636
- shortcut.which = code - 32;
12637
- }
12638
- else {
12639
- shortcut.which = code;
12640
- }
12634
+ shortcut.which = 97 <= code && code <= 122 ? code - 32 : code;
12641
12635
  }
12642
12636
  else {
12643
12637
  switch (key) {
12644
- case "Enter":
12638
+ case "enter":
12639
+ shortcut.key = "Enter";
12645
12640
  shortcut.which = 13;
12646
12641
  break;
12647
- case "Space":
12642
+ case "space":
12648
12643
  shortcut.key = " ";
12649
12644
  shortcut.which = 32;
12650
12645
  break;
12651
- case "Escape":
12646
+ case "escape":
12647
+ shortcut.key = "Escape";
12652
12648
  shortcut.which = 27;
12653
12649
  break;
12654
- case "F1":
12650
+ case "f1":
12651
+ shortcut.key = "F1";
12655
12652
  shortcut.which = 112;
12656
12653
  break;
12657
- case "F2":
12654
+ case "f2":
12655
+ shortcut.key = "F2";
12658
12656
  shortcut.which = 113;
12659
12657
  break;
12660
- case "F3":
12658
+ case "f3":
12659
+ shortcut.key = "F3";
12661
12660
  shortcut.which = 114;
12662
12661
  break;
12663
- case "F4":
12662
+ case "f4":
12663
+ shortcut.key = "F4";
12664
12664
  shortcut.which = 115;
12665
12665
  break;
12666
- case "F5":
12666
+ case "f5":
12667
+ shortcut.key = "F5";
12667
12668
  shortcut.which = 116;
12668
12669
  break;
12669
- case "F6":
12670
+ case "f6":
12671
+ shortcut.key = "F6";
12670
12672
  shortcut.which = 117;
12671
12673
  break;
12672
- case "F7":
12674
+ case "f7":
12675
+ shortcut.key = "F7";
12673
12676
  shortcut.which = 118;
12674
12677
  break;
12675
- case "F8":
12678
+ case "f8":
12679
+ shortcut.key = "F8";
12676
12680
  shortcut.which = 119;
12677
12681
  break;
12678
- case "F9":
12682
+ case "f9":
12683
+ shortcut.key = "F9";
12679
12684
  shortcut.which = 120;
12680
12685
  break;
12681
- case "F10":
12686
+ case "f10":
12687
+ shortcut.key = "F10";
12682
12688
  shortcut.which = 121;
12683
12689
  break;
12684
- case "F11":
12690
+ case "f11":
12691
+ shortcut.key = "F11";
12685
12692
  shortcut.which = 122;
12686
12693
  break;
12687
- case "F12":
12694
+ case "f12":
12695
+ shortcut.key = "F12";
12688
12696
  shortcut.which = 123;
12689
12697
  break;
12690
- case "CapsLock":
12698
+ case "capslock":
12699
+ shortcut.key = "CapsLock";
12691
12700
  if (shortcut.shift) {
12692
12701
  shortcut.which = 20;
12693
12702
  }
@@ -12695,45 +12704,70 @@ var setShortcutKeyAndWhich = function (shortcut) {
12695
12704
  shortcut.which = 240;
12696
12705
  }
12697
12706
  break;
12698
- case "ArrowUp":
12707
+ case "arrowup":
12708
+ shortcut.key = "ArrowUp";
12699
12709
  shortcut.which = 38;
12700
12710
  break;
12701
- case "ArrowDown":
12711
+ case "arrowdown":
12712
+ shortcut.key = "ArrowDown";
12702
12713
  shortcut.which = 40;
12703
12714
  break;
12704
- case "ArrowLeft":
12715
+ case "arrowleft":
12716
+ shortcut.key = "ArrowLeft";
12705
12717
  shortcut.which = 37;
12706
12718
  break;
12707
- case "ArrowRight":
12719
+ case "arrowright":
12720
+ shortcut.key = "ArrowRight";
12708
12721
  shortcut.which = 39;
12709
12722
  break;
12710
- case "Insert":
12723
+ case "insert":
12724
+ shortcut.key = "Insert";
12711
12725
  shortcut.which = 45;
12712
12726
  break;
12713
- case "Delete":
12727
+ case "delete":
12728
+ shortcut.key = "Delete";
12714
12729
  shortcut.which = 46;
12715
12730
  break;
12716
- case "PageUp":
12731
+ case "pageup":
12732
+ shortcut.key = "PageUp";
12717
12733
  shortcut.which = 33;
12718
12734
  break;
12719
- case "PageDown":
12735
+ case "pagedown":
12736
+ shortcut.key = "PageDown";
12720
12737
  shortcut.which = 34;
12721
12738
  break;
12722
- case "Backspace":
12739
+ case "backspace":
12740
+ shortcut.key = "Backspace";
12723
12741
  shortcut.which = 8;
12724
12742
  break;
12725
- case ";":
12743
+ case "colon":
12744
+ shortcut.key = ":";
12745
+ shortcut.which = 186;
12746
+ break;
12747
+ case "semicolon":
12748
+ shortcut.key = ";";
12726
12749
  shortcut.which = 187;
12727
12750
  break;
12728
- case "Pause":
12751
+ case "pause":
12752
+ shortcut.key = "Pause";
12729
12753
  shortcut.which = 19;
12730
12754
  break;
12731
- case "ScrollLock":
12755
+ case "scrolllock":
12756
+ shortcut.key = "ScrollLock";
12732
12757
  shortcut.which = 145;
12733
12758
  break;
12734
- case "Tab":
12759
+ case "tab":
12760
+ shortcut.key = "Tab";
12735
12761
  shortcut.which = 9;
12736
12762
  break;
12763
+ case "plus":
12764
+ shortcut.key = "+";
12765
+ shortcut.which = 187;
12766
+ break;
12767
+ case "minus":
12768
+ shortcut.key = "-";
12769
+ shortcut.which = 189;
12770
+ break;
12737
12771
  }
12738
12772
  }
12739
12773
  return shortcut;