@wcardinal/wcardinal-ui 0.284.0 → 0.286.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.
- package/dist/wcardinal/ui/d-table-body-cell-input-tree.js +12 -1
- package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-tree.js +12 -1
- package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
- package/dist/wcardinal/ui/d-table-data-tree.js +0 -2
- package/dist/wcardinal/ui/d-table-data-tree.js.map +1 -1
- package/dist/wcardinal/ui/util/util-keyboard-event.js +34 -7
- package/dist/wcardinal/ui/util/util-keyboard-event.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +59 -12
- package/dist/wcardinal-ui.js +59 -12
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -124,7 +124,18 @@ var DTableBodyCellInputTree = /** @class */ (function (_super) {
|
|
|
124
124
|
}
|
|
125
125
|
var data = body.data;
|
|
126
126
|
if (data && data.toggle) {
|
|
127
|
-
data.
|
|
127
|
+
if (data.isExpanded(row)) {
|
|
128
|
+
if (data.collapse(row)) {
|
|
129
|
+
this.emit("collapse", this);
|
|
130
|
+
data.emit("collapse", row, this);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
if (data.expand(row)) {
|
|
135
|
+
this.emit("expand", this);
|
|
136
|
+
data.emit("expand", row, this);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
128
139
|
}
|
|
129
140
|
};
|
|
130
141
|
DTableBodyCellInputTree.prototype.onRowSelect = function (e, local) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-body-cell-input-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-input-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point } from \"pixi.js\";\nimport { DBase, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport {\n\tDTableBodyCellInputTreeInput,\n\tDTableBodyCellInputTreeInputOptions\n} from \"./d-table-body-cell-input-tree-input\";\nimport { DTableBodyCellInputTreeMarker } from \"./d-table-body-cell-input-tree-marker\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\n\nexport interface DThemeTableBodyCellInputTree extends DThemeBase {\n\tgetLevelPadding(level: number): number;\n}\n\nconst toBaseOptions = (options?: DTableBodyCellInputTreeInputOptions) => {\n\tif (options != null) {\n\t\treturn {\n\t\t\tweight: options.weight,\n\t\t\twidth: options.width\n\t\t};\n\t}\n\treturn undefined;\n};\n\nexport class DTableBodyCellInputTree<\n\t\tROW = unknown,\n\t\tTHEME extends DThemeTableBodyCellInputTree = DThemeTableBodyCellInputTree,\n\t\tOPTIONS extends DTableBodyCellInputTreeInputOptions = DTableBodyCellInputTreeInputOptions\n\t>\n\textends DBase<THEME>\n\timplements DTableBodyCell<ROW, string>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, string>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, string>;\n\n\tprotected _marker: DTableBodyCellInputTreeMarker;\n\tprotected _input: DTableBodyCellInputTreeInput;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, string>,\n\t\tonChange: DTableBodyCellOnChange<ROW, string>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(toBaseOptions(options));\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\n\t\t// Input\n\t\tconst input = this.newInput(options);\n\t\tthis._input = input;\n\t\tthis.addChild(input);\n\n\t\t// Marker\n\t\tconst marker = this.newMarker(options);\n\t\tthis._marker = marker;\n\t\tthis.addChild(marker);\n\t}\n\n\tprotected newInput(options?: OPTIONS): DTableBodyCellInputTreeInput {\n\t\treturn new DTableBodyCellInputTreeInput(this.toInputOptions(options));\n\t}\n\n\tprotected toInputOptions(options?: OPTIONS): DTableBodyCellInputTreeInputOptions {\n\t\treturn {\n\t\t\tweight: 1,\n\t\t\ttext: options?.text,\n\t\t\tediting: options?.editing,\n\t\t\twhen: options?.when,\n\t\t\tcursor: options?.cursor,\n\t\t\ton: {\n\t\t\t\tchange: (newValue: string, oldValue: string): void => {\n\t\t\t\t\tthis.onInputChange(newValue, oldValue);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tprotected onInputChange(newValue: string, oldValue: string): void {\n\t\tconst row = this._row;\n\t\tif (row !== undefined) {\n\t\t\tconst rowIndex = this._rowIndex;\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tthis._column.setter(row, columnIndex, newValue);\n\t\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t\tthis._onChange(newValue, oldValue, row, rowIndex, columnIndex, this);\n\t\t}\n\t}\n\n\tprotected newMarker(options?: OPTIONS): DTableBodyCellInputTreeMarker {\n\t\treturn new DTableBodyCellInputTreeMarker({\n\t\t\tvisible: false,\n\t\t\ton: {\n\t\t\t\tactive: (): void => {\n\t\t\t\t\tthis.onMarkerActive();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected onMarkerActive(): void {\n\t\tif (this._marker.state.is(DTableState.HAS_CHILDREN)) {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, string> {\n\t\treturn this._column;\n\t}\n\n\tprotected toggle(): void {\n\t\tconst row = this._row;\n\t\tif (row === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst body = parent.parent;\n\t\tif (body == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = (body as any).data;\n\t\tif (data && data.toggle) {\n\t\t\tdata.toggle(row);\n\t\t}\n\t}\n\n\tonRowSelect(e: interaction.InteractionEvent, local: Point): boolean {\n\t\tif (local.x <= this.position.x + this._input.padding.getLeft()) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tset(\n\t\tvalue: unknown,\n\t\trow: ROW,\n\t\tsupplimental: unknown,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void {\n\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tconst input = this._input;\n\t\tinput.visible = true;\n\t\tinput.text = String(value);\n\n\t\tconst marker = this._marker;\n\t\tif (isNumber(supplimental)) {\n\t\t\tconst isOpened = !!(supplimental & 0x1);\n\t\t\tconst hasChildren = !!(supplimental & 0x2);\n\t\t\tconst level = supplimental >> 2;\n\t\t\tconst markerState = marker.state;\n\t\t\tmarkerState.lock();\n\t\t\tmarkerState.set(DTableState.HAS_CHILDREN, hasChildren);\n\t\t\tmarkerState.set(DBaseState.DISABLED, !hasChildren);\n\t\t\tmarkerState.set(DTableState.OPENED, isOpened);\n\t\t\tmarkerState.unlock();\n\t\t\tconst padding = this.theme.getLevelPadding(level);\n\t\t\tmarker.width = padding;\n\t\t\tif (hasChildren) {\n\t\t\t\tmarker.show();\n\t\t\t} else {\n\t\t\t\tmarker.hide();\n\t\t\t}\n\t\t\tinput.padding.adjLeft(padding);\n\t\t} else {\n\t\t\tmarker.state.removeAll(DTableState.OPENED, DTableState.HAS_CHILDREN);\n\t\t\tmarker.hide();\n\t\t\tinput.padding.adjLeft(0);\n\t\t}\n\n\t\tDTableBodyCells.set(this._input, row, columnIndex, this._column);\n\t}\n\n\tunset(): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t\tthis._input.visible = false;\n\t\tthis._marker.hide();\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellInputTree\";\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-table-body-cell-input-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-input-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point } from \"pixi.js\";\nimport { DBase, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport {\n\tDTableBodyCellInputTreeInput,\n\tDTableBodyCellInputTreeInputOptions\n} from \"./d-table-body-cell-input-tree-input\";\nimport { DTableBodyCellInputTreeMarker } from \"./d-table-body-cell-input-tree-marker\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\n\nexport interface DThemeTableBodyCellInputTree extends DThemeBase {\n\tgetLevelPadding(level: number): number;\n}\n\nconst toBaseOptions = (options?: DTableBodyCellInputTreeInputOptions) => {\n\tif (options != null) {\n\t\treturn {\n\t\t\tweight: options.weight,\n\t\t\twidth: options.width\n\t\t};\n\t}\n\treturn undefined;\n};\n\nexport class DTableBodyCellInputTree<\n\t\tROW = unknown,\n\t\tTHEME extends DThemeTableBodyCellInputTree = DThemeTableBodyCellInputTree,\n\t\tOPTIONS extends DTableBodyCellInputTreeInputOptions = DTableBodyCellInputTreeInputOptions\n\t>\n\textends DBase<THEME>\n\timplements DTableBodyCell<ROW, string>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, string>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, string>;\n\n\tprotected _marker: DTableBodyCellInputTreeMarker;\n\tprotected _input: DTableBodyCellInputTreeInput;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, string>,\n\t\tonChange: DTableBodyCellOnChange<ROW, string>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(toBaseOptions(options));\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\n\t\t// Input\n\t\tconst input = this.newInput(options);\n\t\tthis._input = input;\n\t\tthis.addChild(input);\n\n\t\t// Marker\n\t\tconst marker = this.newMarker(options);\n\t\tthis._marker = marker;\n\t\tthis.addChild(marker);\n\t}\n\n\tprotected newInput(options?: OPTIONS): DTableBodyCellInputTreeInput {\n\t\treturn new DTableBodyCellInputTreeInput(this.toInputOptions(options));\n\t}\n\n\tprotected toInputOptions(options?: OPTIONS): DTableBodyCellInputTreeInputOptions {\n\t\treturn {\n\t\t\tweight: 1,\n\t\t\ttext: options?.text,\n\t\t\tediting: options?.editing,\n\t\t\twhen: options?.when,\n\t\t\tcursor: options?.cursor,\n\t\t\ton: {\n\t\t\t\tchange: (newValue: string, oldValue: string): void => {\n\t\t\t\t\tthis.onInputChange(newValue, oldValue);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\n\tprotected onInputChange(newValue: string, oldValue: string): void {\n\t\tconst row = this._row;\n\t\tif (row !== undefined) {\n\t\t\tconst rowIndex = this._rowIndex;\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tthis._column.setter(row, columnIndex, newValue);\n\t\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t\tthis._onChange(newValue, oldValue, row, rowIndex, columnIndex, this);\n\t\t}\n\t}\n\n\tprotected newMarker(options?: OPTIONS): DTableBodyCellInputTreeMarker {\n\t\treturn new DTableBodyCellInputTreeMarker({\n\t\t\tvisible: false,\n\t\t\ton: {\n\t\t\t\tactive: (): void => {\n\t\t\t\t\tthis.onMarkerActive();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected onMarkerActive(): void {\n\t\tif (this._marker.state.is(DTableState.HAS_CHILDREN)) {\n\t\t\tthis.toggle();\n\t\t}\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, string> {\n\t\treturn this._column;\n\t}\n\n\tprotected toggle(): void {\n\t\tconst row = this._row;\n\t\tif (row === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst body = parent.parent;\n\t\tif (body == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = (body as any).data;\n\t\tif (data && data.toggle) {\n\t\t\tif (data.isExpanded(row)) {\n\t\t\t\tif (data.collapse(row)) {\n\t\t\t\t\tthis.emit(\"collapse\", this);\n\t\t\t\t\tdata.emit(\"collapse\", row, this);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (data.expand(row)) {\n\t\t\t\t\tthis.emit(\"expand\", this);\n\t\t\t\t\tdata.emit(\"expand\", row, this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRowSelect(e: interaction.InteractionEvent, local: Point): boolean {\n\t\tif (local.x <= this.position.x + this._input.padding.getLeft()) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tset(\n\t\tvalue: unknown,\n\t\trow: ROW,\n\t\tsupplimental: unknown,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void {\n\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tconst input = this._input;\n\t\tinput.visible = true;\n\t\tinput.text = String(value);\n\n\t\tconst marker = this._marker;\n\t\tif (isNumber(supplimental)) {\n\t\t\tconst isOpened = !!(supplimental & 0x1);\n\t\t\tconst hasChildren = !!(supplimental & 0x2);\n\t\t\tconst level = supplimental >> 2;\n\t\t\tconst markerState = marker.state;\n\t\t\tmarkerState.lock();\n\t\t\tmarkerState.set(DTableState.HAS_CHILDREN, hasChildren);\n\t\t\tmarkerState.set(DBaseState.DISABLED, !hasChildren);\n\t\t\tmarkerState.set(DTableState.OPENED, isOpened);\n\t\t\tmarkerState.unlock();\n\t\t\tconst padding = this.theme.getLevelPadding(level);\n\t\t\tmarker.width = padding;\n\t\t\tif (hasChildren) {\n\t\t\t\tmarker.show();\n\t\t\t} else {\n\t\t\t\tmarker.hide();\n\t\t\t}\n\t\t\tinput.padding.adjLeft(padding);\n\t\t} else {\n\t\t\tmarker.state.removeAll(DTableState.OPENED, DTableState.HAS_CHILDREN);\n\t\t\tmarker.hide();\n\t\t\tinput.padding.adjLeft(0);\n\t\t}\n\n\t\tDTableBodyCells.set(this._input, row, columnIndex, this._column);\n\t}\n\n\tunset(): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t\tthis._input.visible = false;\n\t\tthis._marker.hide();\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellInputTree\";\n\t}\n}\n"]}
|
|
@@ -71,7 +71,18 @@ var DTableBodyCellTree = /** @class */ (function (_super) {
|
|
|
71
71
|
}
|
|
72
72
|
var data = body.data;
|
|
73
73
|
if (data && data.toggle) {
|
|
74
|
-
data.
|
|
74
|
+
if (data.isExpanded(row)) {
|
|
75
|
+
if (data.collapse(row)) {
|
|
76
|
+
this.emit("collapse", this);
|
|
77
|
+
data.emit("collapse", row, this);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
if (data.expand(row)) {
|
|
82
|
+
this.emit("expand", this);
|
|
83
|
+
data.emit("expand", row, this);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
75
86
|
}
|
|
76
87
|
};
|
|
77
88
|
DTableBodyCellTree.prototype.onRowSelect = function (e, local) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-body-cell-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-tree.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EACN,oBAAoB,EAGpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAiC,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAe5C;IASU,sCAAgD;IAIzD,4BACC,WAAmB,EACnB,MAAuC,EACvC,QAAmD,EACnD,OAAiB;QAJlB,iBAQC;;gBAFA,kBAAM,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3F,KAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;;IAC3D,CAAC;IAES,oCAAO,GAAjB,UAAkB,CAA+B;;QAChD,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAK,IAAI,EAAE;YACzC,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAED,sBAAI,oCAAI;aAAR;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,MAAM,KAAK,SAAS,EAAE;gBACzB,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;aACpB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAES,oCAAO,GAAjB;;QACC,IAAM,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC;QACpC,IAAI,OAAO,EAAE;YACZ,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,uCAAU,GAApB,UACC,CAA0E;;QAE1E,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;SACd;aAAM;YACN,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;IACF,CAAC;IAES,mCAAM,GAAhB;QACC,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,GAAG,KAAK,SAAS,EAAE;YACtB,OAAO;SACP;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,OAAO;SACP;QACD,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,IAAI,IAAI,IAAI,EAAE;YACjB,OAAO;SACP;QACD,IAAM,IAAI,GAAI,IAAY,CAAC,IAAI,CAAC;QAChC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"d-table-body-cell-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point } from \"pixi.js\";\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DLink } from \"./d-link\";\nimport { DLinks } from \"./d-links\";\nimport {\n\tDTableBodyCellButton,\n\tDTableBodyCellButtonOptions,\n\tDThemeTableBodyCellButton\n} from \"./d-table-body-cell-button\";\nimport { DTableBodyCellLinkLinkOptions, toLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableBodyCellOnChange } from \"./d-table-body-cell\";\n\nexport interface DTableBodyCellTreeOptions<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellTree<VALUE> = DThemeTableBodyCellTree<VALUE>\n> extends DTableBodyCellButtonOptions<ROW, VALUE, THEME> {\n\tlink?: DTableBodyCellLinkLinkOptions<ROW, VALUE>;\n}\n\nexport interface DThemeTableBodyCellTree<VALUE = unknown> extends DThemeTableBodyCellButton<VALUE> {\n\tgetLevelPadding(level: number): number;\n}\n\nexport class DTableBodyCellTree<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellTree<VALUE> = DThemeTableBodyCellTree<VALUE>,\n\tOPTIONS extends DTableBodyCellTreeOptions<ROW, VALUE, THEME> = DTableBodyCellTreeOptions<\n\t\tROW,\n\t\tVALUE,\n\t\tTHEME\n\t>\n> extends DTableBodyCellButton<ROW, VALUE, THEME, OPTIONS> {\n\tprotected _padding!: DBasePaddingAdjustable;\n\tprotected _link?: DLink | null;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, VALUE | null>,\n\t\tonChange: DTableBodyCellOnChange<ROW, VALUE | null>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(columnIndex, column, onChange, DLinks.toStateOptions(options?.link?.target, options));\n\t\tthis._padding = new DBasePaddingAdjustable(this._padding);\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tif (this.link?.onClick(this, e) !== true) {\n\t\t\tsuper.onClick(e);\n\t\t}\n\t}\n\n\tget link(): DLink | null {\n\t\tlet result = this._link;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newLink();\n\t\t\tthis._link = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newLink(): DLink | null {\n\t\tconst options = this._options?.link;\n\t\tif (options) {\n\t\t\treturn new DLink(toLinkOptions(this, options));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onActivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onActivate(e);\n\t\tif (this.state.is(DTableState.HAS_CHILDREN)) {\n\t\t\tthis.toggle();\n\t\t} else {\n\t\t\tthis.link?.open(e);\n\t\t}\n\t}\n\n\tprotected toggle(): void {\n\t\tconst row = this._row;\n\t\tif (row === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst body = parent.parent;\n\t\tif (body == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = (body as any).data;\n\t\tif (data && data.toggle) {\n\t\t\tif (data.isExpanded(row)) {\n\t\t\t\tif (data.collapse(row)) {\n\t\t\t\t\tthis.emit(\"collapse\", this);\n\t\t\t\t\tdata.emit(\"collapse\", row, this);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (data.expand(row)) {\n\t\t\t\t\tthis.emit(\"expand\", this);\n\t\t\t\t\tdata.emit(\"expand\", row, this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRowSelect(e: interaction.InteractionEvent, local: Point): boolean {\n\t\tif (local.x <= this.position.x + this.padding.getLeft()) {\n\t\t\tthis.toggle();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tset(\n\t\tvalue: unknown,\n\t\trow: ROW,\n\t\tsupplimental: unknown,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void {\n\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tthis.text = value as VALUE | null;\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column, false);\n\n\t\tconst link = this.link;\n\t\tconst padding = this._padding;\n\t\tif (isNumber(supplimental)) {\n\t\t\tconst isOpened = !!(supplimental & 0x1);\n\t\t\tconst hasChildren = !!(supplimental & 0x2);\n\t\t\tconst level = supplimental >> 2;\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.set(DTableState.HAS_CHILDREN, hasChildren);\n\t\t\tstate.set(DTableState.OPENED, isOpened);\n\t\t\tstate.unlock();\n\t\t\tpadding.adjLeft(this.theme.getLevelPadding(level));\n\t\t\tif (link) {\n\t\t\t\tlink.menu.enable = !hasChildren;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.state.removeAll(DTableState.OPENED, DTableState.HAS_CHILDREN);\n\t\t\tpadding.adjLeft(0);\n\t\t\tif (link) {\n\t\t\t\tlink.menu.enable = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellTree\";\n\t}\n}\n"]}
|
|
@@ -172,7 +172,6 @@ var DTableDataTree = /** @class */ (function (_super) {
|
|
|
172
172
|
this._isRowsDirty = true;
|
|
173
173
|
this._filter.toDirty();
|
|
174
174
|
this.update(true);
|
|
175
|
-
this.emit("expand", node, this);
|
|
176
175
|
return true;
|
|
177
176
|
}
|
|
178
177
|
return false;
|
|
@@ -184,7 +183,6 @@ var DTableDataTree = /** @class */ (function (_super) {
|
|
|
184
183
|
this._isRowsDirty = true;
|
|
185
184
|
this._filter.toDirty();
|
|
186
185
|
this.update(true);
|
|
187
|
-
this.emit("collapse", node, this);
|
|
188
186
|
return true;
|
|
189
187
|
}
|
|
190
188
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-table-data-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableData, DTableDataMapped, DTableDataParent } from \"./d-table-data\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataTreeFilter } from \"./d-table-data-tree-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport { DTableDataSelection } from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataTreeSorter } from \"./d-table-data-tree-sorter\";\nimport { DTableDataTreeNode } from \"./d-table-data-tree-item\";\nimport {\n\tDTableDataTreeItemAccessor,\n\tDTableDataTreeItemAccessorOptions\n} from \"./d-table-data-tree-item-accessor\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionCreator,\n\tDTableDataTreeSelectionOptions\n} from \"./d-table-data-tree-selection\";\nimport { DTableDataTreeSelectionImpl } from \"./d-table-data-tree-selection-impl\";\nimport { isFunction } from \"./util/is-function\";\nimport { DBaseEvents } from \"./d-base\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DTableDataTree} events.\n */\nexport interface DTableDataTreeEvents<NODE, EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when a node is expanded.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\texpand(node: NODE, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a node is collapsed.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\tcollapse(node: NODE, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableDataTree} \"on\" options.\n */\nexport interface DTableDataTreeOnOptions<NODE, EMITTER>\n\textends Partial<DTableDataTreeEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTableDataTree} options.\n */\nexport interface DTableDataTreeOptions<NODE, EMITTER = any>\n\textends DTableDataTreeItemAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataTreeSelection<NODE>\n\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t| DTableDataTreeSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<NODE>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DTableDataTreeOnOptions<NODE, EMITTER>;\n}\n\n/**\n * Please note that this data class does not support the sorter.\n */\nexport class DTableDataTree<NODE extends DTableDataTreeNode<NODE, NODE>>\n\textends utils.EventEmitter\n\timplements DTableData<NODE>\n{\n\tprotected _parent: DTableDataParent | null;\n\tprotected _nodes?: NODE[];\n\tprotected _rows: NODE[];\n\tprotected _isRowsDirty: boolean;\n\tprotected _supplimentals: number[];\n\tprotected _flags: WeakMap<NODE, number>;\n\tprotected _filter: DTableDataTreeFilter<NODE>;\n\tprotected _sorter: DTableDataTreeSorter<NODE>;\n\tprotected _selection: DTableDataTreeSelection<NODE>;\n\tprotected _mapped: DTableDataMapped<NODE>;\n\tprotected _accessor: DTableDataTreeItemAccessor<NODE>;\n\tprotected _reverse: boolean;\n\n\tconstructor(options?: DTableDataTreeOptions<NODE>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._accessor = this.toAccessor(options);\n\t\tthis._mapped = new DTableDataListMapped<NODE>(this);\n\t\tthis._rows = [];\n\t\tthis._isRowsDirty = false;\n\t\tthis._supplimentals = [];\n\t\tthis._flags = new WeakMap<NODE, number>();\n\t\tthis._reverse = !!options?.reverse;\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataTreeFilter<NODE>(this);\n\t\tthis._sorter = new DTableDataTreeSorter<NODE>();\n\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update rows\n\t\tthis.nodes = options?.nodes;\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataTreeSelection<NODE>\n\t\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t\t| DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(\n\t\toptions?: DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\treturn new DTableDataTreeSelectionImpl(this, options);\n\t}\n\n\tprotected toAccessor(options?: DTableDataTreeOptions<NODE>): DTableDataTreeItemAccessor<NODE> {\n\t\treturn new DTableDataTreeItemAccessor(options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tget nodes(): NODE[] | undefined {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[] | undefined) {\n\t\tthis._nodes = nodes;\n\t\tthis._isRowsDirty = true;\n\t\tthis._selection.onNodeChange(nodes);\n\t\tthis._filter.toDirty();\n\t\tthis.update(true);\n\t}\n\n\tget rows(): NODE[] {\n\t\tif (this._isRowsDirty) {\n\t\t\tthis._isRowsDirty = false;\n\t\t\tthis.updateRows(this._nodes);\n\t\t}\n\t\treturn this._rows;\n\t}\n\n\tget supplimentals(): number[] {\n\t\treturn this._supplimentals;\n\t}\n\n\tget accessor(): DTableDataTreeItemAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tprotected updateRows(nodes: NODE[] | undefined): void {\n\t\tconst rows = this._rows;\n\t\tconst supplimentals = this._supplimentals;\n\t\tconst flags = this._flags;\n\t\tif (nodes != null) {\n\t\t\tconst irows = this.newRows(\n\t\t\t\tnodes,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\trows,\n\t\t\t\tsupplimentals,\n\t\t\t\tflags,\n\t\t\t\tthis._reverse,\n\t\t\t\tthis._accessor.toChildren\n\t\t\t);\n\t\t\tif (irows !== rows.length) {\n\t\t\t\trows.length = irows;\n\t\t\t\tsupplimentals.length = irows;\n\t\t\t}\n\t\t} else {\n\t\t\trows.length = 0;\n\t\t\tsupplimentals.length = 0;\n\t\t}\n\t}\n\n\tprotected toSupplimental(ilevel: number, hasChildren: boolean, isOpened: boolean): number {\n\t\treturn (ilevel << 2) | (hasChildren ? 2 : 0) | (isOpened ? 1 : 0);\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\tirows: number,\n\t\tilevel: number,\n\t\trows: NODE[],\n\t\tsupplimentals: number[],\n\t\tflags: WeakMap<NODE, number>,\n\t\treverse: boolean,\n\t\ttoChildren: (node: NODE) => NODE[] | null | undefined\n\t): number {\n\t\tconst nodesLength = nodes.length;\n\t\tconst istart = reverse ? nodesLength - 1 : 0;\n\t\tconst idelta = reverse ? -1 : +1;\n\t\tfor (let i = istart; 0 <= i && i < nodesLength; i += idelta) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst children = toChildren(node);\n\t\t\tconst isOpened = flags.has(node);\n\t\t\tconst supplimental = this.toSupplimental(\n\t\t\t\tilevel,\n\t\t\t\t!!(children && 0 < children.length),\n\t\t\t\tisOpened\n\t\t\t);\n\t\t\tif (irows < rows.length) {\n\t\t\t\trows[irows] = node;\n\t\t\t\tsupplimentals[irows] = supplimental;\n\t\t\t} else {\n\t\t\t\trows.push(node);\n\t\t\t\tsupplimentals.push(supplimental);\n\t\t\t}\n\t\t\tirows += 1;\n\n\t\t\tif (isOpened && children) {\n\t\t\t\tirows = this.newRows(\n\t\t\t\t\tchildren,\n\t\t\t\t\tirows,\n\t\t\t\t\tilevel + 1,\n\t\t\t\t\trows,\n\t\t\t\t\tsupplimentals,\n\t\t\t\t\tflags,\n\t\t\t\t\treverse,\n\t\t\t\t\ttoChildren\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn irows;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update(forcibly);\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this.rows.length;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst rows = this.rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\texpand(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (!flags.has(node)) {\n\t\t\tflags.set(node, 1);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\tthis.emit(\"expand\", node, this);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (flags.has(node)) {\n\t\t\tflags.delete(node);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\tthis.emit(\"collapse\", node, this);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(node: NODE): boolean {\n\t\treturn !this._flags.has(node);\n\t}\n\n\tisExpanded(node: NODE): boolean {\n\t\treturn this._flags.has(node);\n\t}\n\n\ttoggle(node: NODE): boolean {\n\t\tif (this.isExpanded(node)) {\n\t\t\treturn this.collapse(node);\n\t\t} else {\n\t\t\treturn this.expand(node);\n\t\t}\n\t}\n\n\t/** @deprecated in favor of {@link expand}. */\n\topen(node: NODE): boolean {\n\t\treturn this.expand(node);\n\t}\n\n\t/** @deprecated in favor of {@link collapse}. */\n\tclose(node: NODE): boolean {\n\t\treturn this.collapse(node);\n\t}\n\n\t/** @deprecated in favor of {@link isExpanded}. */\n\tisOpened(node: NODE): boolean {\n\t\treturn this.isExpanded(node);\n\t}\n\n\teach(\n\t\titeratee: (node: NODE, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this.rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<NODE> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<NODE> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-table-data-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableData, DTableDataMapped, DTableDataParent } from \"./d-table-data\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataTreeFilter } from \"./d-table-data-tree-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport { DTableDataSelection } from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataTreeSorter } from \"./d-table-data-tree-sorter\";\nimport { DTableDataTreeNode } from \"./d-table-data-tree-item\";\nimport {\n\tDTableDataTreeItemAccessor,\n\tDTableDataTreeItemAccessorOptions\n} from \"./d-table-data-tree-item-accessor\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionCreator,\n\tDTableDataTreeSelectionOptions\n} from \"./d-table-data-tree-selection\";\nimport { DTableDataTreeSelectionImpl } from \"./d-table-data-tree-selection-impl\";\nimport { isFunction } from \"./util/is-function\";\nimport { DBaseEvents } from \"./d-base\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DTableDataTree} events.\n */\nexport interface DTableDataTreeEvents<NODE, EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when a node is expanded.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\texpand(node: NODE, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a node is collapsed.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\tcollapse(node: NODE, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableDataTree} \"on\" options.\n */\nexport interface DTableDataTreeOnOptions<NODE, EMITTER>\n\textends Partial<DTableDataTreeEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTableDataTree} options.\n */\nexport interface DTableDataTreeOptions<NODE, EMITTER = any>\n\textends DTableDataTreeItemAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataTreeSelection<NODE>\n\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t| DTableDataTreeSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<NODE>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DTableDataTreeOnOptions<NODE, EMITTER>;\n}\n\n/**\n * Please note that this data class does not support the sorter.\n */\nexport class DTableDataTree<NODE extends DTableDataTreeNode<NODE, NODE>>\n\textends utils.EventEmitter\n\timplements DTableData<NODE>\n{\n\tprotected _parent: DTableDataParent | null;\n\tprotected _nodes?: NODE[];\n\tprotected _rows: NODE[];\n\tprotected _isRowsDirty: boolean;\n\tprotected _supplimentals: number[];\n\tprotected _flags: WeakMap<NODE, number>;\n\tprotected _filter: DTableDataTreeFilter<NODE>;\n\tprotected _sorter: DTableDataTreeSorter<NODE>;\n\tprotected _selection: DTableDataTreeSelection<NODE>;\n\tprotected _mapped: DTableDataMapped<NODE>;\n\tprotected _accessor: DTableDataTreeItemAccessor<NODE>;\n\tprotected _reverse: boolean;\n\n\tconstructor(options?: DTableDataTreeOptions<NODE>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._accessor = this.toAccessor(options);\n\t\tthis._mapped = new DTableDataListMapped<NODE>(this);\n\t\tthis._rows = [];\n\t\tthis._isRowsDirty = false;\n\t\tthis._supplimentals = [];\n\t\tthis._flags = new WeakMap<NODE, number>();\n\t\tthis._reverse = !!options?.reverse;\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataTreeFilter<NODE>(this);\n\t\tthis._sorter = new DTableDataTreeSorter<NODE>();\n\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update rows\n\t\tthis.nodes = options?.nodes;\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataTreeSelection<NODE>\n\t\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t\t| DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(\n\t\toptions?: DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\treturn new DTableDataTreeSelectionImpl(this, options);\n\t}\n\n\tprotected toAccessor(options?: DTableDataTreeOptions<NODE>): DTableDataTreeItemAccessor<NODE> {\n\t\treturn new DTableDataTreeItemAccessor(options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tget nodes(): NODE[] | undefined {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[] | undefined) {\n\t\tthis._nodes = nodes;\n\t\tthis._isRowsDirty = true;\n\t\tthis._selection.onNodeChange(nodes);\n\t\tthis._filter.toDirty();\n\t\tthis.update(true);\n\t}\n\n\tget rows(): NODE[] {\n\t\tif (this._isRowsDirty) {\n\t\t\tthis._isRowsDirty = false;\n\t\t\tthis.updateRows(this._nodes);\n\t\t}\n\t\treturn this._rows;\n\t}\n\n\tget supplimentals(): number[] {\n\t\treturn this._supplimentals;\n\t}\n\n\tget accessor(): DTableDataTreeItemAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tprotected updateRows(nodes: NODE[] | undefined): void {\n\t\tconst rows = this._rows;\n\t\tconst supplimentals = this._supplimentals;\n\t\tconst flags = this._flags;\n\t\tif (nodes != null) {\n\t\t\tconst irows = this.newRows(\n\t\t\t\tnodes,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\trows,\n\t\t\t\tsupplimentals,\n\t\t\t\tflags,\n\t\t\t\tthis._reverse,\n\t\t\t\tthis._accessor.toChildren\n\t\t\t);\n\t\t\tif (irows !== rows.length) {\n\t\t\t\trows.length = irows;\n\t\t\t\tsupplimentals.length = irows;\n\t\t\t}\n\t\t} else {\n\t\t\trows.length = 0;\n\t\t\tsupplimentals.length = 0;\n\t\t}\n\t}\n\n\tprotected toSupplimental(ilevel: number, hasChildren: boolean, isOpened: boolean): number {\n\t\treturn (ilevel << 2) | (hasChildren ? 2 : 0) | (isOpened ? 1 : 0);\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\tirows: number,\n\t\tilevel: number,\n\t\trows: NODE[],\n\t\tsupplimentals: number[],\n\t\tflags: WeakMap<NODE, number>,\n\t\treverse: boolean,\n\t\ttoChildren: (node: NODE) => NODE[] | null | undefined\n\t): number {\n\t\tconst nodesLength = nodes.length;\n\t\tconst istart = reverse ? nodesLength - 1 : 0;\n\t\tconst idelta = reverse ? -1 : +1;\n\t\tfor (let i = istart; 0 <= i && i < nodesLength; i += idelta) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst children = toChildren(node);\n\t\t\tconst isOpened = flags.has(node);\n\t\t\tconst supplimental = this.toSupplimental(\n\t\t\t\tilevel,\n\t\t\t\t!!(children && 0 < children.length),\n\t\t\t\tisOpened\n\t\t\t);\n\t\t\tif (irows < rows.length) {\n\t\t\t\trows[irows] = node;\n\t\t\t\tsupplimentals[irows] = supplimental;\n\t\t\t} else {\n\t\t\t\trows.push(node);\n\t\t\t\tsupplimentals.push(supplimental);\n\t\t\t}\n\t\t\tirows += 1;\n\n\t\t\tif (isOpened && children) {\n\t\t\t\tirows = this.newRows(\n\t\t\t\t\tchildren,\n\t\t\t\t\tirows,\n\t\t\t\t\tilevel + 1,\n\t\t\t\t\trows,\n\t\t\t\t\tsupplimentals,\n\t\t\t\t\tflags,\n\t\t\t\t\treverse,\n\t\t\t\t\ttoChildren\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn irows;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update(forcibly);\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this.rows.length;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst rows = this.rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\texpand(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (!flags.has(node)) {\n\t\t\tflags.set(node, 1);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (flags.has(node)) {\n\t\t\tflags.delete(node);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(node: NODE): boolean {\n\t\treturn !this._flags.has(node);\n\t}\n\n\tisExpanded(node: NODE): boolean {\n\t\treturn this._flags.has(node);\n\t}\n\n\ttoggle(node: NODE): boolean {\n\t\tif (this.isExpanded(node)) {\n\t\t\treturn this.collapse(node);\n\t\t} else {\n\t\t\treturn this.expand(node);\n\t\t}\n\t}\n\n\t/** @deprecated in favor of {@link expand}. */\n\topen(node: NODE): boolean {\n\t\treturn this.expand(node);\n\t}\n\n\t/** @deprecated in favor of {@link collapse}. */\n\tclose(node: NODE): boolean {\n\t\treturn this.collapse(node);\n\t}\n\n\t/** @deprecated in favor of {@link isExpanded}. */\n\tisOpened(node: NODE): boolean {\n\t\treturn this.isExpanded(node);\n\t}\n\n\teach(\n\t\titeratee: (node: NODE, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this.rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<NODE> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<NODE> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
|
|
@@ -176,17 +176,44 @@ var UtilKeyboardEvent = /** @class */ (function () {
|
|
|
176
176
|
var keyExpression = void 0;
|
|
177
177
|
var event_1;
|
|
178
178
|
if (0 <= arrowIndex) {
|
|
179
|
-
keyExpression = expression.substring(0, arrowIndex).trim();
|
|
179
|
+
keyExpression = expression.substring(0, arrowIndex).trim().toLowerCase();
|
|
180
180
|
event_1 = expression.substring(arrowIndex + 2).trim();
|
|
181
181
|
}
|
|
182
182
|
else {
|
|
183
|
-
keyExpression = expression.trim();
|
|
183
|
+
keyExpression = expression.trim().toLowerCase();
|
|
184
|
+
}
|
|
185
|
+
var alt = false;
|
|
186
|
+
var ctrl = false;
|
|
187
|
+
var shift = false;
|
|
188
|
+
var key = "a";
|
|
189
|
+
var length_1 = keyExpression.length;
|
|
190
|
+
var i = 0;
|
|
191
|
+
var j = 1;
|
|
192
|
+
for (; j < length_1; ++j) {
|
|
193
|
+
var c = keyExpression.charAt(j);
|
|
194
|
+
if (c === "+") {
|
|
195
|
+
var part = keyExpression.substring(i, j);
|
|
196
|
+
switch (part) {
|
|
197
|
+
case "alt":
|
|
198
|
+
alt = true;
|
|
199
|
+
break;
|
|
200
|
+
case "ctrl":
|
|
201
|
+
ctrl = true;
|
|
202
|
+
break;
|
|
203
|
+
case "shift":
|
|
204
|
+
shift = true;
|
|
205
|
+
break;
|
|
206
|
+
default:
|
|
207
|
+
key = part;
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
j += 1;
|
|
211
|
+
i = j;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (i !== j) {
|
|
215
|
+
key = keyExpression.substring(i, j);
|
|
184
216
|
}
|
|
185
|
-
var keys = keyExpression.toLowerCase().split("+");
|
|
186
|
-
var alt = 0 <= keys.indexOf("alt");
|
|
187
|
-
var ctrl = 0 <= keys.indexOf("ctrl");
|
|
188
|
-
var shift = 0 <= keys.indexOf("shift");
|
|
189
|
-
var key = keys[keys.length - 1];
|
|
190
217
|
return setShortcutKeyAndWhich({
|
|
191
218
|
alt: alt,
|
|
192
219
|
ctrl: ctrl,
|
|
@@ -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();\n\t\t\t\tevent = expression.substring(arrowIndex + 2).trim();\n\t\t\t} else {\n\t\t\t\tkeyExpression = expression.trim();\n\t\t\t}\n\t\t\tconst keys = keyExpression.toLowerCase().split(\"+\");\n\t\t\tconst alt: boolean = 0 <= keys.indexOf(\"alt\");\n\t\t\tconst ctrl: boolean = 0 <= keys.indexOf(\"ctrl\");\n\t\t\tconst shift: boolean = 0 <= keys.indexOf(\"shift\");\n\t\t\tconst key: string = keys[keys.length - 1];\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\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"]}
|
package/dist/wcardinal-ui.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.286.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -12796,17 +12796,44 @@ var UtilKeyboardEvent = /** @class */ (function () {
|
|
|
12796
12796
|
var keyExpression = void 0;
|
|
12797
12797
|
var event_1;
|
|
12798
12798
|
if (0 <= arrowIndex) {
|
|
12799
|
-
keyExpression = expression.substring(0, arrowIndex).trim();
|
|
12799
|
+
keyExpression = expression.substring(0, arrowIndex).trim().toLowerCase();
|
|
12800
12800
|
event_1 = expression.substring(arrowIndex + 2).trim();
|
|
12801
12801
|
}
|
|
12802
12802
|
else {
|
|
12803
|
-
keyExpression = expression.trim();
|
|
12803
|
+
keyExpression = expression.trim().toLowerCase();
|
|
12804
|
+
}
|
|
12805
|
+
var alt = false;
|
|
12806
|
+
var ctrl = false;
|
|
12807
|
+
var shift = false;
|
|
12808
|
+
var key = "a";
|
|
12809
|
+
var length_1 = keyExpression.length;
|
|
12810
|
+
var i = 0;
|
|
12811
|
+
var j = 1;
|
|
12812
|
+
for (; j < length_1; ++j) {
|
|
12813
|
+
var c = keyExpression.charAt(j);
|
|
12814
|
+
if (c === "+") {
|
|
12815
|
+
var part = keyExpression.substring(i, j);
|
|
12816
|
+
switch (part) {
|
|
12817
|
+
case "alt":
|
|
12818
|
+
alt = true;
|
|
12819
|
+
break;
|
|
12820
|
+
case "ctrl":
|
|
12821
|
+
ctrl = true;
|
|
12822
|
+
break;
|
|
12823
|
+
case "shift":
|
|
12824
|
+
shift = true;
|
|
12825
|
+
break;
|
|
12826
|
+
default:
|
|
12827
|
+
key = part;
|
|
12828
|
+
break;
|
|
12829
|
+
}
|
|
12830
|
+
j += 1;
|
|
12831
|
+
i = j;
|
|
12832
|
+
}
|
|
12833
|
+
}
|
|
12834
|
+
if (i !== j) {
|
|
12835
|
+
key = keyExpression.substring(i, j);
|
|
12804
12836
|
}
|
|
12805
|
-
var keys = keyExpression.toLowerCase().split("+");
|
|
12806
|
-
var alt = 0 <= keys.indexOf("alt");
|
|
12807
|
-
var ctrl = 0 <= keys.indexOf("ctrl");
|
|
12808
|
-
var shift = 0 <= keys.indexOf("shift");
|
|
12809
|
-
var key = keys[keys.length - 1];
|
|
12810
12837
|
return setShortcutKeyAndWhich({
|
|
12811
12838
|
alt: alt,
|
|
12812
12839
|
ctrl: ctrl,
|
|
@@ -85353,7 +85380,18 @@ var DTableBodyCellInputTree = /** @class */ (function (_super) {
|
|
|
85353
85380
|
}
|
|
85354
85381
|
var data = body.data;
|
|
85355
85382
|
if (data && data.toggle) {
|
|
85356
|
-
data.
|
|
85383
|
+
if (data.isExpanded(row)) {
|
|
85384
|
+
if (data.collapse(row)) {
|
|
85385
|
+
this.emit("collapse", this);
|
|
85386
|
+
data.emit("collapse", row, this);
|
|
85387
|
+
}
|
|
85388
|
+
}
|
|
85389
|
+
else {
|
|
85390
|
+
if (data.expand(row)) {
|
|
85391
|
+
this.emit("expand", this);
|
|
85392
|
+
data.emit("expand", row, this);
|
|
85393
|
+
}
|
|
85394
|
+
}
|
|
85357
85395
|
}
|
|
85358
85396
|
};
|
|
85359
85397
|
DTableBodyCellInputTree.prototype.onRowSelect = function (e, local) {
|
|
@@ -85784,7 +85822,18 @@ var DTableBodyCellTree = /** @class */ (function (_super) {
|
|
|
85784
85822
|
}
|
|
85785
85823
|
var data = body.data;
|
|
85786
85824
|
if (data && data.toggle) {
|
|
85787
|
-
data.
|
|
85825
|
+
if (data.isExpanded(row)) {
|
|
85826
|
+
if (data.collapse(row)) {
|
|
85827
|
+
this.emit("collapse", this);
|
|
85828
|
+
data.emit("collapse", row, this);
|
|
85829
|
+
}
|
|
85830
|
+
}
|
|
85831
|
+
else {
|
|
85832
|
+
if (data.expand(row)) {
|
|
85833
|
+
this.emit("expand", this);
|
|
85834
|
+
data.emit("expand", row, this);
|
|
85835
|
+
}
|
|
85836
|
+
}
|
|
85788
85837
|
}
|
|
85789
85838
|
};
|
|
85790
85839
|
DTableBodyCellTree.prototype.onRowSelect = function (e, local) {
|
|
@@ -88375,7 +88424,6 @@ var DTableDataTree = /** @class */ (function (_super) {
|
|
|
88375
88424
|
this._isRowsDirty = true;
|
|
88376
88425
|
this._filter.toDirty();
|
|
88377
88426
|
this.update(true);
|
|
88378
|
-
this.emit("expand", node, this);
|
|
88379
88427
|
return true;
|
|
88380
88428
|
}
|
|
88381
88429
|
return false;
|
|
@@ -88387,7 +88435,6 @@ var DTableDataTree = /** @class */ (function (_super) {
|
|
|
88387
88435
|
this._isRowsDirty = true;
|
|
88388
88436
|
this._filter.toDirty();
|
|
88389
88437
|
this.update(true);
|
|
88390
|
-
this.emit("collapse", node, this);
|
|
88391
88438
|
return true;
|
|
88392
88439
|
}
|
|
88393
88440
|
return false;
|