@wcardinal/wcardinal-ui 0.411.0 → 0.413.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.
Files changed (98) hide show
  1. package/dist/types/wcardinal/ui/d-indicator-processing.d.ts +8 -7
  2. package/dist/types/wcardinal/ui/d-pagination.d.ts +5 -5
  3. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +2 -2
  4. package/dist/types/wcardinal/ui/d-table-body-row.d.ts +9 -9
  5. package/dist/types/wcardinal/ui/d-table-body.d.ts +5 -7
  6. package/dist/types/wcardinal/ui/d-table-category-cell.d.ts +37 -0
  7. package/dist/types/wcardinal/ui/d-table-category-column-impl.d.ts +24 -0
  8. package/dist/types/wcardinal/ui/d-table-category-column.d.ts +10 -0
  9. package/dist/types/wcardinal/ui/d-table-category-container-impl.d.ts +12 -0
  10. package/dist/types/wcardinal/ui/d-table-category-container.d.ts +4 -0
  11. package/dist/types/wcardinal/ui/d-table-category.d.ts +13 -12
  12. package/dist/types/wcardinal/ui/d-table-column-container-impl.d.ts +25 -0
  13. package/dist/types/wcardinal/ui/d-table-column-container.d.ts +12 -0
  14. package/dist/types/wcardinal/ui/d-table-column-impl.d.ts +44 -0
  15. package/dist/types/wcardinal/ui/d-table-column.d.ts +22 -19
  16. package/dist/types/wcardinal/ui/d-table-header-cell-check.d.ts +1 -1
  17. package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +34 -12
  18. package/dist/types/wcardinal/ui/d-table-header.d.ts +8 -9
  19. package/dist/types/wcardinal/ui/d-table-row.d.ts +8 -9
  20. package/dist/types/wcardinal/ui/d-table-state.d.ts +8 -0
  21. package/dist/types/wcardinal/ui/d-table.d.ts +15 -18
  22. package/dist/types/wcardinal/ui/index.d.ts +7 -0
  23. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.d.ts +1 -0
  24. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-header.d.ts +1 -0
  25. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-header-cell.d.ts +1 -0
  26. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-header.d.ts +1 -0
  27. package/dist/wcardinal/ui/d-base.js +2 -2
  28. package/dist/wcardinal/ui/d-base.js.map +1 -1
  29. package/dist/wcardinal/ui/d-indicator-processing.js +20 -15
  30. package/dist/wcardinal/ui/d-indicator-processing.js.map +1 -1
  31. package/dist/wcardinal/ui/d-pagination.js +5 -5
  32. package/dist/wcardinal/ui/d-pagination.js.map +1 -1
  33. package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
  34. package/dist/wcardinal/ui/d-table-body-row.js +4 -4
  35. package/dist/wcardinal/ui/d-table-body-row.js.map +1 -1
  36. package/dist/wcardinal/ui/d-table-body.js +6 -15
  37. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  38. package/dist/wcardinal/ui/d-table-category-cell.js +244 -2
  39. package/dist/wcardinal/ui/d-table-category-cell.js.map +1 -1
  40. package/dist/wcardinal/ui/d-table-category-column-impl.js +222 -0
  41. package/dist/wcardinal/ui/d-table-category-column-impl.js.map +1 -0
  42. package/dist/wcardinal/ui/d-table-category-column.js +6 -0
  43. package/dist/wcardinal/ui/d-table-category-column.js.map +1 -0
  44. package/dist/wcardinal/ui/d-table-category-container-impl.js +149 -0
  45. package/dist/wcardinal/ui/d-table-category-container-impl.js.map +1 -0
  46. package/dist/wcardinal/ui/d-table-category-container.js +2 -0
  47. package/dist/wcardinal/ui/d-table-category-container.js.map +1 -0
  48. package/dist/wcardinal/ui/d-table-category.js +49 -7
  49. package/dist/wcardinal/ui/d-table-category.js.map +1 -1
  50. package/dist/wcardinal/ui/d-table-column-container-impl.js +126 -0
  51. package/dist/wcardinal/ui/d-table-column-container-impl.js.map +1 -0
  52. package/dist/wcardinal/ui/d-table-column-container.js +2 -0
  53. package/dist/wcardinal/ui/d-table-column-container.js.map +1 -0
  54. package/dist/wcardinal/ui/d-table-column-impl.js +375 -0
  55. package/dist/wcardinal/ui/d-table-column-impl.js.map +1 -0
  56. package/dist/wcardinal/ui/d-table-column.js.map +1 -1
  57. package/dist/wcardinal/ui/d-table-header-cell-check.js.map +1 -1
  58. package/dist/wcardinal/ui/d-table-header-cell.js +245 -48
  59. package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
  60. package/dist/wcardinal/ui/d-table-header.js +8 -22
  61. package/dist/wcardinal/ui/d-table-header.js.map +1 -1
  62. package/dist/wcardinal/ui/d-table-row.js +7 -5
  63. package/dist/wcardinal/ui/d-table-row.js.map +1 -1
  64. package/dist/wcardinal/ui/d-table-state.js +9 -1
  65. package/dist/wcardinal/ui/d-table-state.js.map +1 -1
  66. package/dist/wcardinal/ui/d-table.js +69 -631
  67. package/dist/wcardinal/ui/d-table.js.map +1 -1
  68. package/dist/wcardinal/ui/index.js +7 -0
  69. package/dist/wcardinal/ui/index.js.map +1 -1
  70. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js +7 -1
  71. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js.map +1 -1
  72. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header.js +7 -0
  73. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header.js.map +1 -1
  74. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js +7 -1
  75. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js.map +1 -1
  76. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header.js +7 -0
  77. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header.js.map +1 -1
  78. package/dist/wcardinal-ui-theme-dark-en-us.js +14 -2
  79. package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
  80. package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
  81. package/dist/wcardinal-ui-theme-dark-ja-jp.js +14 -2
  82. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
  83. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
  84. package/dist/wcardinal-ui-theme-dark.js +14 -2
  85. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  86. package/dist/wcardinal-ui-theme-white-en-us.js +14 -2
  87. package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
  88. package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
  89. package/dist/wcardinal-ui-theme-white-ja-jp.js +14 -2
  90. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
  91. package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
  92. package/dist/wcardinal-ui-theme-white.js +14 -2
  93. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  94. package/dist/wcardinal-ui.cjs.js +1545 -753
  95. package/dist/wcardinal-ui.js +1882 -1114
  96. package/dist/wcardinal-ui.min.js +2 -2
  97. package/dist/wcardinal-ui.min.js.map +1 -1
  98. package/package.json +1 -1
@@ -10,24 +10,38 @@ import { DTableDataOrder } from "./d-table-data-sorter";
10
10
  import { DTableHeaderCellCheck } from "./d-table-header-cell-check";
11
11
  import { UtilKeyboardEvent } from "./util/util-keyboard-event";
12
12
  import { UtilPointerEvent } from "./util/util-pointer-event";
13
+ import { DApplications } from "./d-applications";
14
+ export var DTableHeaderCellEdge = {
15
+ NONE: 0,
16
+ LEFT: 1,
17
+ RIGHT: 2,
18
+ BOTH: 3
19
+ };
13
20
  var DTableHeaderCell = /** @class */ (function (_super) {
14
21
  __extends(DTableHeaderCell, _super);
15
- function DTableHeaderCell() {
16
- return _super !== null && _super.apply(this, arguments) || this;
17
- }
18
- DTableHeaderCell.prototype.init = function (options) {
19
- if (options != null) {
20
- this._header = options.header;
21
- this._column = options.column;
22
- this._columnIndex = options.columnIndex;
23
- this._check = new DTableHeaderCellCheck(this, options.check);
24
- }
25
- else {
26
- this._check = new DTableHeaderCellCheck(this);
22
+ function DTableHeaderCell(header, columnIndex, column, options) {
23
+ var _this = _super.call(this, options) || this;
24
+ _this._header = header;
25
+ _this._column = column;
26
+ _this._columnIndex = columnIndex;
27
+ var check = new DTableHeaderCellCheck(_this, options === null || options === void 0 ? void 0 : options.check);
28
+ _this._check = check;
29
+ _this._edgeSize = _this.theme.getEdgeWidth();
30
+ _this._wasResizing = false;
31
+ var sortable = column.sorting.enable;
32
+ var checkable = check.isEnabled;
33
+ if (checkable || sortable) {
34
+ _this.on(UtilPointerEvent.tap, function (e) {
35
+ _this.onClick(e);
36
+ });
37
+ var state = _this.state;
38
+ state.lock();
39
+ state.set(DTableState.SORTABLE, sortable);
40
+ state.set(DTableState.CHECKABLE, checkable);
41
+ state.unlock();
27
42
  }
28
- _super.prototype.init.call(this, options);
29
- this.initOnClick(options);
30
- };
43
+ return _this;
44
+ }
31
45
  Object.defineProperty(DTableHeaderCell.prototype, "column", {
32
46
  get: function () {
33
47
  return this._column;
@@ -56,24 +70,202 @@ var DTableHeaderCell = /** @class */ (function (_super) {
56
70
  enumerable: false,
57
71
  configurable: true
58
72
  });
59
- DTableHeaderCell.prototype.initOnClick = function (options) {
73
+ DTableHeaderCell.prototype.onDown = function (e) {
74
+ var edges = this.state.valueOf(DTableState.HOVERED_ON_EDGE);
75
+ if (edges != null) {
76
+ this._wasResizing = true;
77
+ var layer = DApplications.getLayer(this);
78
+ if (layer != null) {
79
+ var interactionManager = layer.renderer.plugins.interaction;
80
+ var columnIndex = this._columnIndex;
81
+ if (edges === DTableHeaderCellEdge.LEFT) {
82
+ this.onDownEdge(e.data.global.x, columnIndex - 1, interactionManager);
83
+ }
84
+ else {
85
+ this.onDownEdge(e.data.global.x, columnIndex, interactionManager);
86
+ }
87
+ }
88
+ }
89
+ else {
90
+ this._wasResizing = false;
91
+ _super.prototype.onDown.call(this, e);
92
+ }
93
+ };
94
+ DTableHeaderCell.prototype.findLeftResizableCell = function (columnIndex) {
95
+ var children = this._header.children;
96
+ var childrenLength = children.length;
97
+ for (var i = columnIndex; 0 <= i; --i) {
98
+ var child = children[childrenLength - i - 1];
99
+ if (child.column.resizable) {
100
+ return child;
101
+ }
102
+ }
103
+ return null;
104
+ };
105
+ DTableHeaderCell.prototype.findRightResizableCellOfWeight = function (columnIndex) {
106
+ var children = this._header.children;
107
+ var childrenLength = children.length;
108
+ for (var i = columnIndex + 1; i < childrenLength; ++i) {
109
+ var child = children[childrenLength - i - 1];
110
+ var childColumn = child.column;
111
+ if (childColumn.resizable) {
112
+ var childColumnWeight = childColumn.weight;
113
+ if (childColumnWeight != null) {
114
+ return child;
115
+ }
116
+ }
117
+ }
118
+ return null;
119
+ };
120
+ DTableHeaderCell.prototype.checkIfEdgeResizable = function (columnIndex) {
121
+ var target = this.findLeftResizableCell(columnIndex);
122
+ if (target != null) {
123
+ if (target.column.weight != null) {
124
+ return this.findRightResizableCellOfWeight(target.columnIndex) != null;
125
+ }
126
+ else {
127
+ return true;
128
+ }
129
+ }
130
+ return false;
131
+ };
132
+ DTableHeaderCell.prototype.getResizableEdges = function () {
133
+ var result = this._resizableEdges;
134
+ if (result == null) {
135
+ var columnIndex = this._columnIndex;
136
+ if (this.checkIfEdgeResizable(columnIndex - 1)) {
137
+ if (this.checkIfEdgeResizable(columnIndex)) {
138
+ result = DTableHeaderCellEdge.BOTH;
139
+ }
140
+ else {
141
+ result = DTableHeaderCellEdge.LEFT;
142
+ }
143
+ }
144
+ else {
145
+ if (this.checkIfEdgeResizable(columnIndex)) {
146
+ result = DTableHeaderCellEdge.RIGHT;
147
+ }
148
+ else {
149
+ result = DTableHeaderCellEdge.NONE;
150
+ }
151
+ }
152
+ this._resizableEdges = result;
153
+ }
154
+ return result;
155
+ };
156
+ DTableHeaderCell.prototype.onOver = function (e) {
60
157
  var _this = this;
61
- var column = this._column;
62
- if (column) {
63
- var sortable = column.sorting.enable;
64
- var checkable = this._check.isEnabled;
65
- if (checkable || sortable) {
66
- this.on(UtilPointerEvent.tap, function (e) {
67
- _this.onClick(e);
68
- });
69
- var state = this.state;
70
- state.lock();
71
- state.set(DTableState.SORTABLE, sortable);
72
- state.set(DTableState.CHECKABLE, checkable);
73
- state.unlock();
158
+ var _a;
159
+ _super.prototype.onOver.call(this, e);
160
+ if (this.getResizableEdges() !== DTableHeaderCellEdge.NONE) {
161
+ var onHoveredBound = ((_a = this._onHoveredBound) !== null && _a !== void 0 ? _a : (this._onHoveredBound = function (event) {
162
+ _this.onHovered(event);
163
+ }));
164
+ this.on(UtilPointerEvent.move, onHoveredBound);
165
+ // Since the cursor is set by InteractionManager before this method is called,
166
+ // the cursor need to be overriden.
167
+ this.onHovered(e);
168
+ var layer = DApplications.getLayer(this);
169
+ if (layer != null) {
170
+ layer.renderer.plugins.interaction.cursor = this.cursor;
74
171
  }
75
172
  }
76
173
  };
174
+ DTableHeaderCell.prototype.onOut = function (e) {
175
+ _super.prototype.onOut.call(this, e);
176
+ var onHoveredBound = this._onHoveredBound;
177
+ if (onHoveredBound != null) {
178
+ this.state.remove(DTableState.HOVERED_ON_EDGE);
179
+ this.off(UtilPointerEvent.move, onHoveredBound);
180
+ }
181
+ };
182
+ DTableHeaderCell.prototype.onHovered = function (e) {
183
+ var width = this.width;
184
+ var x = this.toClickPosition(e);
185
+ var edgeSize = this._edgeSize;
186
+ if (0 <= x && x <= edgeSize) {
187
+ if (this.getResizableEdges() & DTableHeaderCellEdge.LEFT) {
188
+ this.state.add(DTableState.HOVERED_ON_EDGE, DTableHeaderCellEdge.LEFT);
189
+ }
190
+ else {
191
+ this.state.remove(DTableState.HOVERED_ON_EDGE);
192
+ }
193
+ }
194
+ else if (width - edgeSize <= x && x <= width) {
195
+ if (this.getResizableEdges() & DTableHeaderCellEdge.RIGHT) {
196
+ this.state.add(DTableState.HOVERED_ON_EDGE, DTableHeaderCellEdge.RIGHT);
197
+ }
198
+ else {
199
+ this.state.remove(DTableState.HOVERED_ON_EDGE);
200
+ }
201
+ }
202
+ else {
203
+ this.state.remove(DTableState.HOVERED_ON_EDGE);
204
+ }
205
+ };
206
+ DTableHeaderCell.prototype.onDownEdge = function (onDownPoint, columnIndex, interactionManager) {
207
+ // Find the resizable cell
208
+ var left = this.findLeftResizableCell(columnIndex);
209
+ if (left == null) {
210
+ // No resizable cell
211
+ return;
212
+ }
213
+ var header = this._header;
214
+ var leftColumn = left.column;
215
+ var leftOldWidth = left.width;
216
+ var leftOldWeight = left.weight;
217
+ if (leftColumn.weight == null) {
218
+ header.state.add(DTableState.RESIZING);
219
+ var onMove_1 = function (e) {
220
+ leftColumn.width = Math.max(1, leftOldWidth + e.data.global.x - onDownPoint);
221
+ };
222
+ var onUp_1 = function (e) {
223
+ header.state.remove(DTableState.RESIZING);
224
+ interactionManager.off(UtilPointerEvent.move, onMove_1);
225
+ interactionManager.off(UtilPointerEvent.up, onUp_1);
226
+ interactionManager.off(UtilPointerEvent.upoutside, onUp_1);
227
+ interactionManager.off(UtilPointerEvent.cancel, onUp_1);
228
+ };
229
+ interactionManager.on(UtilPointerEvent.move, onMove_1);
230
+ interactionManager.on(UtilPointerEvent.up, onUp_1);
231
+ interactionManager.on(UtilPointerEvent.upoutside, onUp_1);
232
+ interactionManager.on(UtilPointerEvent.cancel, onUp_1);
233
+ }
234
+ else {
235
+ var right = this.findRightResizableCellOfWeight(left.columnIndex);
236
+ if (right == null) {
237
+ // No right resizable cell found
238
+ return;
239
+ }
240
+ var rightColumn_1 = right.column;
241
+ var rightOldWeight = right.weight;
242
+ var rightOldWidth = right.width;
243
+ var totalWidth_1 = leftOldWidth + rightOldWidth;
244
+ var totalWeight_1 = leftOldWeight + rightOldWeight;
245
+ if (totalWidth_1 <= 0) {
246
+ // The left and right resizable cells doesn't have non-zero width
247
+ return;
248
+ }
249
+ header.state.add(DTableState.RESIZING);
250
+ var onMove_2 = function (e) {
251
+ var leftNewWidth = Math.max(0, Math.min(totalWidth_1, leftOldWidth + e.data.global.x - onDownPoint));
252
+ var leftNewWeight = totalWeight_1 * (leftNewWidth / totalWidth_1);
253
+ leftColumn.weight = leftNewWeight;
254
+ rightColumn_1.weight = totalWeight_1 - leftNewWeight;
255
+ };
256
+ var onUp_2 = function (e) {
257
+ header.state.remove(DTableState.RESIZING);
258
+ interactionManager.off(UtilPointerEvent.move, onMove_2);
259
+ interactionManager.off(UtilPointerEvent.up, onUp_2);
260
+ interactionManager.off(UtilPointerEvent.upoutside, onUp_2);
261
+ interactionManager.off(UtilPointerEvent.cancel, onUp_2);
262
+ };
263
+ interactionManager.on(UtilPointerEvent.move, onMove_2);
264
+ interactionManager.on(UtilPointerEvent.up, onUp_2);
265
+ interactionManager.on(UtilPointerEvent.upoutside, onUp_2);
266
+ interactionManager.on(UtilPointerEvent.cancel, onUp_2);
267
+ }
268
+ };
77
269
  Object.defineProperty(DTableHeaderCell.prototype, "sorter", {
78
270
  get: function () {
79
271
  var _this = this;
@@ -107,11 +299,7 @@ var DTableHeaderCell = /** @class */ (function (_super) {
107
299
  });
108
300
  Object.defineProperty(DTableHeaderCell.prototype, "comparator", {
109
301
  get: function () {
110
- var column = this._column;
111
- if (column) {
112
- return column.sorting.comparator || null;
113
- }
114
- return null;
302
+ return this._column.sorting.comparator || null;
115
303
  },
116
304
  enumerable: false,
117
305
  configurable: true
@@ -138,8 +326,8 @@ var DTableHeaderCell = /** @class */ (function (_super) {
138
326
  }
139
327
  };
140
328
  DTableHeaderCell.prototype.toClickPosition = function (e) {
141
- var checkWork = this._checkWork || new Point();
142
- this._checkWork = checkWork;
329
+ var _a;
330
+ var checkWork = ((_a = this._checkWork) !== null && _a !== void 0 ? _a : (this._checkWork = new Point()));
143
331
  return e.data.getLocalPosition(this, checkWork).x;
144
332
  };
145
333
  DTableHeaderCell.prototype.isCheckClicked = function (e) {
@@ -164,6 +352,10 @@ var DTableHeaderCell = /** @class */ (function (_super) {
164
352
  }
165
353
  return false;
166
354
  };
355
+ DTableHeaderCell.prototype.isEdgeClicked = function (e) {
356
+ return (e instanceof InteractionEvent &&
357
+ (this.state.is(DTableState.HOVERED_ON_EDGE) || this._wasResizing));
358
+ };
167
359
  DTableHeaderCell.prototype.onClick = function (e) {
168
360
  if (this.state.isActionable) {
169
361
  this.activate(e);
@@ -173,13 +365,15 @@ var DTableHeaderCell = /** @class */ (function (_super) {
173
365
  this.onActivate(e);
174
366
  };
175
367
  DTableHeaderCell.prototype.onActivate = function (e) {
176
- if (this.isCheckClicked(e)) {
177
- this.onToggleStart();
178
- this.onToggleEnd();
179
- }
180
- else {
181
- this.doSort(e);
182
- this.emit("active", this);
368
+ if (!this.isEdgeClicked(e)) {
369
+ if (this.isCheckClicked(e)) {
370
+ this.onToggleStart();
371
+ this.onToggleEnd();
372
+ }
373
+ else {
374
+ this.doSort(e);
375
+ this.emit("active", this);
376
+ }
183
377
  }
184
378
  };
185
379
  DTableHeaderCell.prototype.doSort = function (e) {
@@ -209,11 +403,14 @@ var DTableHeaderCell = /** @class */ (function (_super) {
209
403
  };
210
404
  Object.defineProperty(DTableHeaderCell.prototype, "isSortable", {
211
405
  get: function () {
212
- var column = this._column;
213
- if (column) {
214
- return column.sorting.enable;
215
- }
216
- return false;
406
+ return this._column.sorting.enable;
407
+ },
408
+ enumerable: false,
409
+ configurable: true
410
+ });
411
+ Object.defineProperty(DTableHeaderCell.prototype, "isResizable", {
412
+ get: function () {
413
+ return this._column.resizable;
217
414
  },
218
415
  enumerable: false,
219
416
  configurable: true
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-header-cell.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header-cell.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, Point } from \"pixi.js\";\nimport { DImage, DImageOptions, DThemeImage } from \"./d-image\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataComparator, DTableDataOrder, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableHeaderTable } from \"./d-table-header\";\nimport { DTableHeaderCellCheck, DTableHeaderCellCheckOptions } from \"./d-table-header-cell-check\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DTableHeaderCellHeader<ROW> {\n\treadonly table: DTableHeaderTable<ROW> | null;\n}\n\nexport interface DTableHeaderCellOptions<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell\n> extends DImageOptions<string | null, THEME> {\n\theader?: DTableHeaderCellHeader<ROW>;\n\tcolumn?: DTableColumn<ROW, unknown>;\n\tcolumnIndex?: number;\n\tcheck?: DTableHeaderCellCheckOptions;\n}\n\nexport interface DThemeTableHeaderCell extends DThemeImage<string | null> {}\n\nexport class DTableHeaderCell<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell,\n\tOPTIONS extends DTableHeaderCellOptions<ROW, THEME> = DTableHeaderCellOptions<ROW, THEME>\n> extends DImage<string | null, THEME, OPTIONS> {\n\tprotected _sorter?: DTableDataSorter<ROW>;\n\tprotected _onSorterChangeBound?: () => void;\n\tprotected _header?: DTableHeaderCellHeader<ROW>;\n\tprotected _column?: DTableColumn<ROW, unknown>;\n\tprotected _columnIndex?: number;\n\tprotected _check!: DTableHeaderCellCheck<ROW>;\n\tprotected _checkWork?: Point;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tif (options != null) {\n\t\t\tthis._header = options.header;\n\t\t\tthis._column = options.column;\n\t\t\tthis._columnIndex = options.columnIndex;\n\t\t\tthis._check = new DTableHeaderCellCheck<ROW>(this, options.check);\n\t\t} else {\n\t\t\tthis._check = new DTableHeaderCellCheck<ROW>(this);\n\t\t}\n\t\tsuper.init(options);\n\t\tthis.initOnClick(options);\n\t}\n\n\tget column(): DTableColumn<ROW, unknown> | undefined {\n\t\treturn this._column;\n\t}\n\n\tget columnIndex(): number | undefined {\n\t\treturn this._columnIndex;\n\t}\n\n\tget header(): DTableHeaderCellHeader<ROW> | undefined {\n\t\treturn this._header;\n\t}\n\n\tget check(): DTableHeaderCellCheck<ROW> {\n\t\treturn this._check;\n\t}\n\n\tprotected initOnClick(options?: OPTIONS): void {\n\t\tconst column = this._column;\n\t\tif (column) {\n\t\t\tconst sortable = column.sorting.enable;\n\t\t\tconst checkable = this._check.isEnabled;\n\t\t\tif (checkable || sortable) {\n\t\t\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\t\t\tthis.onClick(e);\n\t\t\t\t});\n\t\t\t\tconst state = this.state;\n\t\t\t\tstate.lock();\n\t\t\t\tstate.set(DTableState.SORTABLE, sortable);\n\t\t\t\tstate.set(DTableState.CHECKABLE, checkable);\n\t\t\t\tstate.unlock();\n\t\t\t}\n\t\t}\n\t}\n\n\tget sorter(): DTableDataSorter<ROW> | null {\n\t\tlet sorter = this._sorter;\n\t\tif (sorter == null) {\n\t\t\tconst header = this._header;\n\t\t\tif (header) {\n\t\t\t\tconst table = header.table;\n\t\t\t\tif (table) {\n\t\t\t\t\tsorter = table.data.sorter;\n\t\t\t\t\tthis._sorter = sorter;\n\t\t\t\t\tthis._onSorterChangeBound =\n\t\t\t\t\t\tthis._onSorterChangeBound ||\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tthis.onSorterChange();\n\t\t\t\t\t\t});\n\t\t\t\t\tsorter.on(\"change\", this._onSorterChangeBound);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\treturn sorter;\n\t}\n\n\tget comparator(): DTableDataComparator<ROW> | null {\n\t\tconst column = this._column;\n\t\tif (column) {\n\t\t\treturn column.sorting.comparator || null;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onSorterChange(): void {\n\t\tconst comparator = this.comparator;\n\t\tif (comparator) {\n\t\t\tconst sorter = this._sorter;\n\t\t\tif (sorter) {\n\t\t\t\tconst SORTED_ASCENDING = DTableState.SORTED_ASCENDING;\n\t\t\t\tconst SORTED_DESCENDING = DTableState.SORTED_DESCENDING;\n\t\t\t\tif (sorter.isApplied() && sorter.get() === comparator) {\n\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\tthis.state.set(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.state.set(SORTED_DESCENDING, SORTED_ASCENDING);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.state.removeAll(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toClickPosition(e: InteractionEvent): number {\n\t\tconst checkWork = this._checkWork || new Point();\n\t\tthis._checkWork = checkWork;\n\t\treturn e.data.getLocalPosition(this, checkWork).x;\n\t}\n\n\tprotected isCheckClicked(\n\t\te?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): boolean {\n\t\tif (e instanceof InteractionEvent && this._check.isEnabled) {\n\t\t\tif (this.isSortable) {\n\t\t\t\tconst image = this.image.get(1);\n\t\t\t\tif (image) {\n\t\t\t\t\tconst position = this.toClickPosition(e);\n\t\t\t\t\tconst object = image.object;\n\t\t\t\t\tif (object != null) {\n\t\t\t\t\t\tconst bound = object.getLocalBounds();\n\t\t\t\t\t\tconst margin = image.margin.horizontal;\n\t\t\t\t\t\tconst x = object.x;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tx + bound.left - margin <= position &&\n\t\t\t\t\t\t\tposition <= x + bound.right + margin\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tactivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.onActivate(e);\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this.isCheckClicked(e)) {\n\t\t\tthis.onToggleStart();\n\t\t\tthis.onToggleEnd();\n\t\t} else {\n\t\t\tthis.doSort(e);\n\t\t\tthis.emit(\"active\", this);\n\t\t}\n\t}\n\n\tprotected doSort(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this.isSortable) {\n\t\t\tconst comparator = this.comparator;\n\t\t\tif (comparator) {\n\t\t\t\tconst sorter = this.sorter;\n\t\t\t\tif (sorter) {\n\t\t\t\t\tif (sorter.get() === comparator) {\n\t\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\t\tsorter.order = DTableDataOrder.DESCENDING;\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsorter.set(null);\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsorter.set(comparator);\n\t\t\t\t\t\tsorter.order = DTableDataOrder.ASCENDING;\n\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget isSortable(): boolean {\n\t\tconst column = this._column;\n\t\tif (column) {\n\t\t\treturn column.sorting.enable;\n\t\t}\n\t\treturn false;\n\t}\n\n\tget isToggle(): boolean {\n\t\treturn this._check.isEnabled;\n\t}\n\n\ttoggle(): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onToggleStart(): void {\n\t\tthis.state.isActive = !this.state.isActive;\n\t}\n\n\tprotected onToggleEnd(): void {\n\t\tif (this.state.isActive) {\n\t\t\tthis._check.execute(true);\n\t\t\tthis.emit(\"active\", this);\n\t\t} else {\n\t\t\tthis._check.execute(false);\n\t\t\tthis.emit(\"inactive\", this);\n\t\t}\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t} else {\n\t\t\t\tthis.state.isPressed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleEnd();\n\t\t\t} else {\n\t\t\t\tif (this.state.isPressed) {\n\t\t\t\t\tthis.activate(e);\n\t\t\t\t}\n\t\t\t\tthis.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyDown(e);\n\t\t}\n\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyUp(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyUp(e);\n\t\t}\n\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableHeaderCell\";\n\t}\n\n\tdestroy(): void {\n\t\tconst sorter = this._sorter;\n\t\tconst onSorterChangeBound = this._onSorterChangeBound;\n\t\tif (sorter && onSorterChangeBound) {\n\t\t\tsorter.off(\"change\", onSorterChangeBound);\n\t\t}\n\t\tthis._sorter = undefined;\n\t\tthis._onSorterChangeBound = undefined;\n\n\t\tsuper.destroy();\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-header-cell.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header-cell.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Point } from \"pixi.js\";\nimport { DImage, DImageOptions, DThemeImage } from \"./d-image\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataComparator, DTableDataOrder, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableHeaderTable } from \"./d-table-header\";\nimport { DTableHeaderCellCheck, DTableHeaderCellCheckOptions } from \"./d-table-header-cell-check\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\nimport { DApplications } from \"./d-applications\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\n\nexport interface DTableHeaderCellHeader<ROW> {\n\treadonly table: DTableHeaderTable<ROW> | null;\n\treadonly children: DTableHeaderCell<ROW>[];\n\treadonly state: DBaseStateSet;\n}\n\nexport interface DTableHeaderCellOptions<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell\n> extends DImageOptions<string | null, THEME> {\n\tcheck?: DTableHeaderCellCheckOptions;\n}\n\nexport interface DThemeTableHeaderCell extends DThemeImage<string | null> {\n\tgetEdgeWidth(): number;\n}\n\nexport const DTableHeaderCellEdge = {\n\tNONE: 0,\n\tLEFT: 1,\n\tRIGHT: 2,\n\tBOTH: 3\n} as const;\n\nexport type DTableHeaderCellEdge = (typeof DTableHeaderCellEdge)[keyof typeof DTableHeaderCellEdge];\n\nexport class DTableHeaderCell<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell,\n\tOPTIONS extends DTableHeaderCellOptions<ROW, THEME> = DTableHeaderCellOptions<ROW, THEME>\n> extends DImage<string | null, THEME, OPTIONS> {\n\tprotected _sorter?: DTableDataSorter<ROW>;\n\tprotected _onSorterChangeBound?: () => void;\n\tprotected _header: DTableHeaderCellHeader<ROW>;\n\tprotected _column: DTableColumn<ROW>;\n\tprotected _columnIndex: number;\n\tprotected _check: DTableHeaderCellCheck<ROW>;\n\tprotected _checkWork?: Point;\n\tprotected _onHoveredBound?: (e: InteractionEvent) => void;\n\tprotected _resizableEdges?: DTableHeaderCellEdge;\n\tprotected _edgeSize: number;\n\tprotected _wasResizing: boolean;\n\n\tconstructor(\n\t\theader: DTableHeaderCellHeader<ROW>,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\t\tthis._header = header;\n\t\tthis._column = column;\n\t\tthis._columnIndex = columnIndex;\n\t\tconst check = new DTableHeaderCellCheck<ROW>(this, options?.check);\n\t\tthis._check = check;\n\t\tthis._edgeSize = this.theme.getEdgeWidth();\n\t\tthis._wasResizing = false;\n\n\t\tconst sortable = column.sorting.enable;\n\t\tconst checkable = check.isEnabled;\n\t\tif (checkable || sortable) {\n\t\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\t\tthis.onClick(e);\n\t\t\t});\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.set(DTableState.SORTABLE, sortable);\n\t\t\tstate.set(DTableState.CHECKABLE, checkable);\n\t\t\tstate.unlock();\n\t\t}\n\t}\n\n\tget column(): DTableColumn<ROW> {\n\t\treturn this._column;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget header(): DTableHeaderCellHeader<ROW> {\n\t\treturn this._header;\n\t}\n\n\tget check(): DTableHeaderCellCheck<ROW> {\n\t\treturn this._check;\n\t}\n\n\tprotected override onDown(e: InteractionEvent): void {\n\t\tconst edges = this.state.valueOf(DTableState.HOVERED_ON_EDGE);\n\t\tif (edges != null) {\n\t\t\tthis._wasResizing = true;\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer != null) {\n\t\t\t\tconst interactionManager = layer.renderer.plugins.interaction;\n\t\t\t\tconst columnIndex = this._columnIndex;\n\t\t\t\tif (edges === DTableHeaderCellEdge.LEFT) {\n\t\t\t\t\tthis.onDownEdge(e.data.global.x, columnIndex - 1, interactionManager);\n\t\t\t\t} else {\n\t\t\t\t\tthis.onDownEdge(e.data.global.x, columnIndex, interactionManager);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tthis._wasResizing = false;\n\t\t\tsuper.onDown(e);\n\t\t}\n\t}\n\n\tprotected findLeftResizableCell(columnIndex: number): DTableHeaderCell<ROW> | null {\n\t\tconst children = this._header.children;\n\t\tconst childrenLength = children.length;\n\t\tfor (let i = columnIndex; 0 <= i; --i) {\n\t\t\tconst child = children[childrenLength - i - 1];\n\t\t\tif (child.column.resizable) {\n\t\t\t\treturn child;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected findRightResizableCellOfWeight(columnIndex: number): DTableHeaderCell<ROW> | null {\n\t\tconst children = this._header.children;\n\t\tconst childrenLength = children.length;\n\t\tfor (let i = columnIndex + 1; i < childrenLength; ++i) {\n\t\t\tconst child = children[childrenLength - i - 1];\n\t\t\tconst childColumn = child.column;\n\t\t\tif (childColumn.resizable) {\n\t\t\t\tconst childColumnWeight = childColumn.weight;\n\t\t\t\tif (childColumnWeight != null) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected checkIfEdgeResizable(columnIndex: number): boolean {\n\t\tconst target = this.findLeftResizableCell(columnIndex);\n\t\tif (target != null) {\n\t\t\tif (target.column.weight != null) {\n\t\t\t\treturn this.findRightResizableCellOfWeight(target.columnIndex) != null;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected getResizableEdges(): DTableHeaderCellEdge {\n\t\tlet result = this._resizableEdges;\n\t\tif (result == null) {\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tif (this.checkIfEdgeResizable(columnIndex - 1)) {\n\t\t\t\tif (this.checkIfEdgeResizable(columnIndex)) {\n\t\t\t\t\tresult = DTableHeaderCellEdge.BOTH;\n\t\t\t\t} else {\n\t\t\t\t\tresult = DTableHeaderCellEdge.LEFT;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (this.checkIfEdgeResizable(columnIndex)) {\n\t\t\t\t\tresult = DTableHeaderCellEdge.RIGHT;\n\t\t\t\t} else {\n\t\t\t\t\tresult = DTableHeaderCellEdge.NONE;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._resizableEdges = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected override onOver(e: InteractionEvent): void {\n\t\tsuper.onOver(e);\n\n\t\tif (this.getResizableEdges() !== DTableHeaderCellEdge.NONE) {\n\t\t\tconst onHoveredBound = (this._onHoveredBound ??= (event: InteractionEvent): void => {\n\t\t\t\tthis.onHovered(event);\n\t\t\t});\n\t\t\tthis.on(UtilPointerEvent.move, onHoveredBound);\n\n\t\t\t// Since the cursor is set by InteractionManager before this method is called,\n\t\t\t// the cursor need to be overriden.\n\t\t\tthis.onHovered(e);\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer != null) {\n\t\t\t\tlayer.renderer.plugins.interaction.cursor = this.cursor;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected override onOut(e: InteractionEvent): void {\n\t\tsuper.onOut(e);\n\n\t\tconst onHoveredBound = this._onHoveredBound;\n\t\tif (onHoveredBound != null) {\n\t\t\tthis.state.remove(DTableState.HOVERED_ON_EDGE);\n\t\t\tthis.off(UtilPointerEvent.move, onHoveredBound);\n\t\t}\n\t}\n\n\tprotected onHovered(e: InteractionEvent): void {\n\t\tconst width = this.width;\n\t\tconst x = this.toClickPosition(e);\n\t\tconst edgeSize = this._edgeSize;\n\t\tif (0 <= x && x <= edgeSize) {\n\t\t\tif (this.getResizableEdges() & DTableHeaderCellEdge.LEFT) {\n\t\t\t\tthis.state.add(DTableState.HOVERED_ON_EDGE, DTableHeaderCellEdge.LEFT);\n\t\t\t} else {\n\t\t\t\tthis.state.remove(DTableState.HOVERED_ON_EDGE);\n\t\t\t}\n\t\t} else if (width - edgeSize <= x && x <= width) {\n\t\t\tif (this.getResizableEdges() & DTableHeaderCellEdge.RIGHT) {\n\t\t\t\tthis.state.add(DTableState.HOVERED_ON_EDGE, DTableHeaderCellEdge.RIGHT);\n\t\t\t} else {\n\t\t\t\tthis.state.remove(DTableState.HOVERED_ON_EDGE);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.state.remove(DTableState.HOVERED_ON_EDGE);\n\t\t}\n\t}\n\n\tprotected onDownEdge(\n\t\tonDownPoint: number,\n\t\tcolumnIndex: number,\n\t\tinteractionManager: InteractionManager\n\t): void {\n\t\t// Find the resizable cell\n\t\tconst left = this.findLeftResizableCell(columnIndex);\n\t\tif (left == null) {\n\t\t\t// No resizable cell\n\t\t\treturn;\n\t\t}\n\n\t\tconst header = this._header;\n\t\tconst leftColumn = left.column;\n\t\tconst leftOldWidth = left.width;\n\t\tconst leftOldWeight = left.weight;\n\t\tif (leftColumn.weight == null) {\n\t\t\theader.state.add(DTableState.RESIZING);\n\t\t\tconst onMove = (e: InteractionEvent): void => {\n\t\t\t\tleftColumn.width = Math.max(1, leftOldWidth + e.data.global.x - onDownPoint);\n\t\t\t};\n\t\t\tconst onUp = (e: InteractionEvent) => {\n\t\t\t\theader.state.remove(DTableState.RESIZING);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.move, onMove);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.upoutside, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onUp);\n\t\t\t};\n\t\t\tinteractionManager.on(UtilPointerEvent.move, onMove);\n\t\t\tinteractionManager.on(UtilPointerEvent.up, onUp);\n\t\t\tinteractionManager.on(UtilPointerEvent.upoutside, onUp);\n\t\t\tinteractionManager.on(UtilPointerEvent.cancel, onUp);\n\t\t} else {\n\t\t\tconst right = this.findRightResizableCellOfWeight(left.columnIndex);\n\t\t\tif (right == null) {\n\t\t\t\t// No right resizable cell found\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst rightColumn = right.column;\n\t\t\tconst rightOldWeight = right.weight;\n\t\t\tconst rightOldWidth = right.width;\n\t\t\tconst totalWidth = leftOldWidth + rightOldWidth;\n\t\t\tconst totalWeight = leftOldWeight + rightOldWeight;\n\t\t\tif (totalWidth <= 0) {\n\t\t\t\t// The left and right resizable cells doesn't have non-zero width\n\t\t\t\treturn;\n\t\t\t}\n\t\t\theader.state.add(DTableState.RESIZING);\n\t\t\tconst onMove = (e: InteractionEvent): void => {\n\t\t\t\tconst leftNewWidth = Math.max(\n\t\t\t\t\t0,\n\t\t\t\t\tMath.min(totalWidth, leftOldWidth + e.data.global.x - onDownPoint)\n\t\t\t\t);\n\t\t\t\tconst leftNewWeight = totalWeight * (leftNewWidth / totalWidth);\n\t\t\t\tleftColumn.weight = leftNewWeight;\n\t\t\t\trightColumn.weight = totalWeight - leftNewWeight;\n\t\t\t};\n\t\t\tconst onUp = (e: InteractionEvent) => {\n\t\t\t\theader.state.remove(DTableState.RESIZING);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.move, onMove);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.up, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.upoutside, onUp);\n\t\t\t\tinteractionManager.off(UtilPointerEvent.cancel, onUp);\n\t\t\t};\n\t\t\tinteractionManager.on(UtilPointerEvent.move, onMove);\n\t\t\tinteractionManager.on(UtilPointerEvent.up, onUp);\n\t\t\tinteractionManager.on(UtilPointerEvent.upoutside, onUp);\n\t\t\tinteractionManager.on(UtilPointerEvent.cancel, onUp);\n\t\t}\n\t}\n\n\tget sorter(): DTableDataSorter<ROW> | null {\n\t\tlet sorter = this._sorter;\n\t\tif (sorter == null) {\n\t\t\tconst header = this._header;\n\t\t\tif (header) {\n\t\t\t\tconst table = header.table;\n\t\t\t\tif (table) {\n\t\t\t\t\tsorter = table.data.sorter;\n\t\t\t\t\tthis._sorter = sorter;\n\t\t\t\t\tthis._onSorterChangeBound =\n\t\t\t\t\t\tthis._onSorterChangeBound ||\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tthis.onSorterChange();\n\t\t\t\t\t\t});\n\t\t\t\t\tsorter.on(\"change\", this._onSorterChangeBound);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\treturn sorter;\n\t}\n\n\tget comparator(): DTableDataComparator<ROW> | null {\n\t\treturn this._column.sorting.comparator || null;\n\t}\n\n\tprotected onSorterChange(): void {\n\t\tconst comparator = this.comparator;\n\t\tif (comparator) {\n\t\t\tconst sorter = this._sorter;\n\t\t\tif (sorter) {\n\t\t\t\tconst SORTED_ASCENDING = DTableState.SORTED_ASCENDING;\n\t\t\t\tconst SORTED_DESCENDING = DTableState.SORTED_DESCENDING;\n\t\t\t\tif (sorter.isApplied() && sorter.get() === comparator) {\n\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\tthis.state.set(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.state.set(SORTED_DESCENDING, SORTED_ASCENDING);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.state.removeAll(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toClickPosition(e: InteractionEvent): number {\n\t\tconst checkWork = (this._checkWork ??= new Point());\n\t\treturn e.data.getLocalPosition(this, checkWork).x;\n\t}\n\n\tprotected isCheckClicked(\n\t\te?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): boolean {\n\t\tif (e instanceof InteractionEvent && this._check.isEnabled) {\n\t\t\tif (this.isSortable) {\n\t\t\t\tconst image = this.image.get(1);\n\t\t\t\tif (image) {\n\t\t\t\t\tconst position = this.toClickPosition(e);\n\t\t\t\t\tconst object = image.object;\n\t\t\t\t\tif (object != null) {\n\t\t\t\t\t\tconst bound = object.getLocalBounds();\n\t\t\t\t\t\tconst margin = image.margin.horizontal;\n\t\t\t\t\t\tconst x = object.x;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tx + bound.left - margin <= position &&\n\t\t\t\t\t\t\tposition <= x + bound.right + margin\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected isEdgeClicked(\n\t\te?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): boolean {\n\t\treturn (\n\t\t\te instanceof InteractionEvent &&\n\t\t\t(this.state.is(DTableState.HOVERED_ON_EDGE) || this._wasResizing)\n\t\t);\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tactivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.onActivate(e);\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (!this.isEdgeClicked(e)) {\n\t\t\tif (this.isCheckClicked(e)) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t} else {\n\t\t\t\tthis.doSort(e);\n\t\t\t\tthis.emit(\"active\", this);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected doSort(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this.isSortable) {\n\t\t\tconst comparator = this.comparator;\n\t\t\tif (comparator) {\n\t\t\t\tconst sorter = this.sorter;\n\t\t\t\tif (sorter) {\n\t\t\t\t\tif (sorter.get() === comparator) {\n\t\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\t\tsorter.order = DTableDataOrder.DESCENDING;\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsorter.set(null);\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsorter.set(comparator);\n\t\t\t\t\t\tsorter.order = DTableDataOrder.ASCENDING;\n\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget isSortable(): boolean {\n\t\treturn this._column.sorting.enable;\n\t}\n\n\tget isResizable(): boolean {\n\t\treturn this._column.resizable;\n\t}\n\n\tget isToggle(): boolean {\n\t\treturn this._check.isEnabled;\n\t}\n\n\ttoggle(): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onToggleStart(): void {\n\t\tthis.state.isActive = !this.state.isActive;\n\t}\n\n\tprotected onToggleEnd(): void {\n\t\tif (this.state.isActive) {\n\t\t\tthis._check.execute(true);\n\t\t\tthis.emit(\"active\", this);\n\t\t} else {\n\t\t\tthis._check.execute(false);\n\t\t\tthis.emit(\"inactive\", this);\n\t\t}\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t} else {\n\t\t\t\tthis.state.isPressed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleEnd();\n\t\t\t} else {\n\t\t\t\tif (this.state.isPressed) {\n\t\t\t\t\tthis.activate(e);\n\t\t\t\t}\n\t\t\t\tthis.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyDown(e);\n\t\t}\n\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyUp(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyUp(e);\n\t\t}\n\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableHeaderCell\";\n\t}\n\n\tdestroy(): void {\n\t\tconst sorter = this._sorter;\n\t\tconst onSorterChangeBound = this._onSorterChangeBound;\n\t\tif (sorter && onSorterChangeBound) {\n\t\t\tsorter.off(\"change\", onSorterChangeBound);\n\t\t}\n\t\tthis._sorter = undefined;\n\t\tthis._onSorterChangeBound = undefined;\n\n\t\tsuper.destroy();\n\t}\n}\n"]}
@@ -7,14 +7,12 @@ import { DTableHeaderCell } from "./d-table-header-cell";
7
7
  import { DTableRow } from "./d-table-row";
8
8
  var DTableHeader = /** @class */ (function (_super) {
9
9
  __extends(DTableHeader, _super);
10
- function DTableHeader(options) {
11
- var _a, _b;
12
- var _this = _super.call(this, options) || this;
13
- _this._table = (_a = options.table) !== null && _a !== void 0 ? _a : null;
14
- var offset = (_b = options.offset) !== null && _b !== void 0 ? _b : 0;
10
+ function DTableHeader(table, columns, frozen, offset, options) {
11
+ var _this = _super.call(this, columns, frozen, options) || this;
12
+ _this._table = table;
15
13
  _this._offset = offset;
16
14
  _this.transform.position.y = offset;
17
- _this.initCells(options, _this._columns, _this._frozen);
15
+ _this.initCells();
18
16
  return _this;
19
17
  }
20
18
  Object.defineProperty(DTableHeader.prototype, "table", {
@@ -37,10 +35,10 @@ var DTableHeader = /** @class */ (function (_super) {
37
35
  return 0;
38
36
  };
39
37
  DTableHeader.prototype.newCell = function (columnIndex, column, columns, options) {
40
- return new DTableHeaderCell(this.toCellOptions(columnIndex, column, options));
38
+ return new DTableHeaderCell(this, columnIndex, column, this.toCellOptions(column, options));
41
39
  };
42
- DTableHeader.prototype.toCellOptions = function (columnIndex, column, options) {
43
- var result = column.header || options.cell;
40
+ DTableHeader.prototype.toCellOptions = function (column, options) {
41
+ var result = column.header || (options === null || options === void 0 ? void 0 : options.cell);
44
42
  if (result != null) {
45
43
  if (result.weight === undefined) {
46
44
  result.weight = column.weight;
@@ -56,15 +54,6 @@ var DTableHeader = /** @class */ (function (_super) {
56
54
  else if (result.text.value === undefined) {
57
55
  result.text.value = column.label;
58
56
  }
59
- if (result.header === undefined) {
60
- result.header = this;
61
- }
62
- if (result.column === undefined) {
63
- result.column = column;
64
- }
65
- if (result.columnIndex === undefined) {
66
- result.columnIndex = columnIndex;
67
- }
68
57
  return result;
69
58
  }
70
59
  else {
@@ -73,10 +62,7 @@ var DTableHeader = /** @class */ (function (_super) {
73
62
  width: column.width,
74
63
  text: {
75
64
  value: column.label
76
- },
77
- header: this,
78
- column: column,
79
- columnIndex: columnIndex
65
+ }
80
66
  };
81
67
  }
82
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-header.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBase } from \"./d-base\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData } from \"./d-table-data\";\nimport { DTableHeaderCell, DTableHeaderCellOptions } from \"./d-table-header-cell\";\nimport { DTableRow, DTableRowOptions, DThemeTableRow } from \"./d-table-row\";\n\nexport interface DTableHeaderTableBody {\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTableHeaderTable<ROW> {\n\treadonly data: DTableData<ROW>;\n\treadonly body: DTableHeaderTableBody;\n}\n\nexport interface DTableHeaderOptions<ROW, THEME extends DThemeTableHeader = DThemeTableHeader>\n\textends DTableRowOptions<ROW, DTableColumn<ROW, unknown>, THEME> {\n\ttable?: DTableHeaderTable<ROW>;\n\toffset?: number;\n\tcell?: DTableHeaderCellOptions<ROW>;\n}\n\nexport interface DThemeTableHeader extends DThemeTableRow {}\n\nexport class DTableHeader<\n\tROW,\n\tTHEME extends DThemeTableHeader = DThemeTableHeader,\n\tOPTIONS extends DTableHeaderOptions<ROW, THEME> = DTableHeaderOptions<ROW, THEME>\n> extends DTableRow<ROW, DTableColumn<ROW, unknown>, THEME, OPTIONS> {\n\tprotected _table: DTableHeaderTable<ROW> | null;\n\tprotected _offset: number;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis._table = options.table ?? null;\n\n\t\tconst offset = options.offset ?? 0;\n\t\tthis._offset = offset;\n\t\tthis.transform.position.y = offset;\n\n\t\tthis.initCells(options, this._columns, this._frozen);\n\t}\n\n\tget table(): DTableHeaderTable<ROW> | null {\n\t\treturn this._table;\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.transform.position.y = -newY + this._offset;\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected getContentPositionX(): number {\n\t\tconst content = this.parent;\n\t\tif (content) {\n\t\t\treturn content.position.x;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tprotected newCell(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\toptions: OPTIONS\n\t): DBase {\n\t\treturn new DTableHeaderCell<ROW>(this.toCellOptions(columnIndex, column, options));\n\t}\n\n\tprotected toCellOptions(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>,\n\t\toptions: OPTIONS\n\t): DTableHeaderCellOptions<ROW> {\n\t\tconst result = column.header || options.cell;\n\t\tif (result != null) {\n\t\t\tif (result.weight === undefined) {\n\t\t\t\tresult.weight = column.weight;\n\t\t\t}\n\t\t\tif (result.width === undefined) {\n\t\t\t\tresult.width = column.width;\n\t\t\t}\n\t\t\tif (result.text === undefined) {\n\t\t\t\tresult.text = {\n\t\t\t\t\tvalue: column.label\n\t\t\t\t};\n\t\t\t} else if (result.text.value === undefined) {\n\t\t\t\tresult.text.value = column.label;\n\t\t\t}\n\t\t\tif (result.header === undefined) {\n\t\t\t\tresult.header = this;\n\t\t\t}\n\t\t\tif (result.column === undefined) {\n\t\t\t\tresult.column = column;\n\t\t\t}\n\t\t\tif (result.columnIndex === undefined) {\n\t\t\t\tresult.columnIndex = columnIndex;\n\t\t\t}\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tweight: column.weight,\n\t\t\t\twidth: column.width,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: column.label\n\t\t\t\t},\n\t\t\t\theader: this,\n\t\t\t\tcolumn,\n\t\t\t\tcolumnIndex\n\t\t\t};\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableHeader\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-header.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,gBAAgB,EAA2B,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAoC,MAAM,eAAe,CAAC;AAkB5E;IAIU,gCAAiD;IAK1D,sBACC,KAA6B,EAC7B,OAA4B,EAC5B,MAAc,EACd,MAAc,EACd,OAAiB;QALlB,YAOC,kBAAM,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,SAQ/B;QANA,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;QAEnC,KAAI,CAAC,SAAS,EAAE,CAAC;;IAClB,CAAC;IAED,sBAAI,+BAAK;aAAT;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;;;OAAA;IAES,mCAAY,GAAtB,UAAuB,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAC5E,iBAAM,YAAY,YAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QACjD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,0CAAmB,GAA7B;QACC,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,OAAO,EAAE;YACZ,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IAES,8BAAO,GAAjB,UACC,WAAmB,EACnB,MAAyB,EACzB,OAAiC,EACjC,OAAiB;QAEjB,OAAO,IAAI,gBAAgB,CAC1B,IAAI,EACJ,WAAW,EACX,MAAM,EACN,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CACnC,CAAC;IACH,CAAC;IAES,oCAAa,GAAvB,UACC,MAAyB,EACzB,OAAiB;QAEjB,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,CAAC;QAC9C,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;gBAChC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;aAC9B;YACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC/B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;aAC5B;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC9B,MAAM,CAAC,IAAI,GAAG;oBACb,KAAK,EAAE,MAAM,CAAC,KAAK;iBACnB,CAAC;aACF;iBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC3C,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;aACjC;YACD,OAAO,MAAM,CAAC;SACd;aAAM;YACN,OAAO;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;iBACnB;aACD,CAAC;SACF;IACF,CAAC;IAES,8BAAO,GAAjB;QACC,OAAO,cAAc,CAAC;IACvB,CAAC;IACF,mBAAC;AAAD,CAAC,AA5FD,CAIU,SAAS,GAwFlB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBase } from \"./d-base\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData } from \"./d-table-data\";\nimport { DTableHeaderCell, DTableHeaderCellOptions } from \"./d-table-header-cell\";\nimport { DTableRow, DTableRowOptions, DThemeTableRow } from \"./d-table-row\";\n\nexport interface DTableHeaderTableBody {\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTableHeaderTable<ROW> {\n\treadonly data: DTableData<ROW>;\n\treadonly body: DTableHeaderTableBody;\n}\n\nexport interface DTableHeaderOptions<ROW, THEME extends DThemeTableHeader = DThemeTableHeader>\n\textends DTableRowOptions<THEME> {\n\tcell?: DTableHeaderCellOptions<ROW>;\n}\n\nexport interface DThemeTableHeader extends DThemeTableRow {}\n\nexport class DTableHeader<\n\tROW,\n\tTHEME extends DThemeTableHeader = DThemeTableHeader,\n\tOPTIONS extends DTableHeaderOptions<ROW, THEME> = DTableHeaderOptions<ROW, THEME>\n> extends DTableRow<ROW, DTableColumn<ROW>, THEME, OPTIONS> {\n\tprotected _table: DTableHeaderTable<ROW>;\n\tprotected _offset: number;\n\tdeclare children: DTableHeaderCell<ROW>[];\n\n\tconstructor(\n\t\ttable: DTableHeaderTable<ROW>,\n\t\tcolumns: DTableColumn<ROW>[],\n\t\tfrozen: number,\n\t\toffset: number,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(columns, frozen, options);\n\n\t\tthis._table = table;\n\n\t\tthis._offset = offset;\n\t\tthis.transform.position.y = offset;\n\n\t\tthis.initCells();\n\t}\n\n\tget table(): DTableHeaderTable<ROW> | null {\n\t\treturn this._table;\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.transform.position.y = -newY + this._offset;\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected getContentPositionX(): number {\n\t\tconst content = this.parent;\n\t\tif (content) {\n\t\t\treturn content.position.x;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tprotected newCell(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW>,\n\t\tcolumns: Array<DTableColumn<ROW>>,\n\t\toptions?: OPTIONS\n\t): DBase {\n\t\treturn new DTableHeaderCell<ROW>(\n\t\t\tthis,\n\t\t\tcolumnIndex,\n\t\t\tcolumn,\n\t\t\tthis.toCellOptions(column, options)\n\t\t);\n\t}\n\n\tprotected toCellOptions(\n\t\tcolumn: DTableColumn<ROW>,\n\t\toptions?: OPTIONS\n\t): DTableHeaderCellOptions<ROW> {\n\t\tconst result = column.header || options?.cell;\n\t\tif (result != null) {\n\t\t\tif (result.weight === undefined) {\n\t\t\t\tresult.weight = column.weight;\n\t\t\t}\n\t\t\tif (result.width === undefined) {\n\t\t\t\tresult.width = column.width;\n\t\t\t}\n\t\t\tif (result.text === undefined) {\n\t\t\t\tresult.text = {\n\t\t\t\t\tvalue: column.label\n\t\t\t\t};\n\t\t\t} else if (result.text.value === undefined) {\n\t\t\t\tresult.text.value = column.label;\n\t\t\t}\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tweight: column.weight,\n\t\t\t\twidth: column.width,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: column.label\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableHeader\";\n\t}\n}\n"]}
@@ -7,15 +7,17 @@ import { DLayoutHorizontal } from "./d-layout-horizontal";
7
7
  import { DTableState } from "./d-table-state";
8
8
  var DTableRow = /** @class */ (function (_super) {
9
9
  __extends(DTableRow, _super);
10
- function DTableRow(options) {
11
- var _a, _b;
10
+ function DTableRow(columns, frozen, options) {
12
11
  var _this = _super.call(this, options) || this;
13
12
  _this._reverse = true;
14
- _this._frozen = (_a = options.frozen) !== null && _a !== void 0 ? _a : 0;
15
- _this._columns = (_b = options.columns) !== null && _b !== void 0 ? _b : [];
13
+ _this._frozen = frozen;
14
+ _this._columns = columns;
16
15
  return _this;
17
16
  }
18
- DTableRow.prototype.initCells = function (options, columns, frozen) {
17
+ DTableRow.prototype.initCells = function () {
18
+ var columns = this._columns;
19
+ var frozen = this._frozen;
20
+ var options = this._options;
19
21
  var iend = this.toIndexEnd(columns);
20
22
  for (var i = columns.length - 1; 0 <= i; --i) {
21
23
  var cell = this.newCell(i, columns[i], columns, options);
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-row.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-row.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAIH,OAAO,EACN,iBAAiB,EAGjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAgB9C;IAKU,6BAAiC;IAI1C,mBAAY,OAAgB;;QAA5B,YACC,kBAAM,OAAO,CAAC,SAKd;QAHA,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,KAAI,CAAC,OAAO,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,CAAC,CAAC;QACnC,KAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC;;IACvC,CAAC;IAES,6BAAS,GAAnB,UAAoB,OAAgB,EAAE,OAAiB,EAAE,MAAc;QACtE,IAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YAC7C,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;YAC7B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,EAAE;gBACZ,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,KAAK,IAAI,EAAE;gBACf,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aAC/B;YACD,IAAI,CAAC,GAAG,MAAM,EAAE;gBACf,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aAClC;YACD,IAAI,CAAC,KAAK,MAAM,GAAG,CAAC,EAAE;gBACrB,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;aACtC;YACD,SAAS,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACpB;IACF,CAAC;IAES,8BAAU,GAApB,UAAqB,OAAiB;QACrC,IAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YAC9B,IAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;gBAChC,OAAO,IAAI,GAAG,CAAC,CAAC;aAChB;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,2BAAO,GAAjB;QACC,iBAAM,OAAO,WAAE,CAAC;QAChB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAChC,CAAC;IAED,4CAAwB,GAAxB,UAAyB,CAAS;QACjC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;YAChC,IAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAM,IAAI,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;SACrC;IACF,CAAC;IAES,2CAAuB,GAAjC;QACC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAM,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;YAChC,IAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAM,IAAI,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;SACrC;IACF,CAAC;IAID,mCAAe,GAAf,UAAgB,MAAe,EAAE,MAAiB;QACjD,iBAAM,eAAe,YAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,GAAG,MAAM,EAAE;YACf,IAAM,IAAI,GAAG,MAAa,CAAC;YAC3B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;gBACjC,IAAM,KAAK,GAAG,IAAI,CAAC,QAAmB,CAAC;gBACvC,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,IAAI,SAAS,EAAE;oBACnB,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;oBACjD,IAAI,MAAM,IAAI,WAAW,EAAE;wBAC1B,IAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;wBACtC,IAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;wBACpD,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC;wBACnB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;qBACvB;iBACD;aACD;SACD;IACF,CAAC;IASS,2BAAO,GAAjB;QACC,OAAO,WAAW,CAAC;IACpB,CAAC;IACF,gBAAC;AAAD,CAAC,AApHD,CAKU,iBAAiB,GA+G1B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Rectangle } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport {\n\tDLayoutHorizontal,\n\tDLayoutHorizontalOptions,\n\tDThemeLayoutHorizontal\n} from \"./d-layout-horizontal\";\nimport { DTableState } from \"./d-table-state\";\n\nexport interface DTableRowOptions<ROW, COLUMN, THEME extends DThemeTableRow = DThemeTableRow>\n\textends DLayoutHorizontalOptions<THEME> {\n\tcolumns?: COLUMN[];\n\tfrozen?: number;\n}\n\nexport interface DThemeTableRow extends DThemeLayoutHorizontal {}\n\nexport interface DTableRowColumn {\n\tweight?: number;\n\tfrozen?: boolean;\n\toffset: number;\n}\n\nexport abstract class DTableRow<\n\tROW,\n\tCOLUMN extends DTableRowColumn,\n\tTHEME extends DThemeTableRow = DThemeTableRow,\n\tOPTIONS extends DTableRowOptions<ROW, COLUMN, THEME> = DTableRowOptions<ROW, COLUMN, THEME>\n> extends DLayoutHorizontal<THEME, OPTIONS> {\n\tprotected _columns: COLUMN[];\n\tprotected _frozen: number;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis._reverse = true;\n\t\tthis._frozen = options.frozen ?? 0;\n\t\tthis._columns = options.columns ?? [];\n\t}\n\n\tprotected initCells(options: OPTIONS, columns: COLUMN[], frozen: number): void {\n\t\tconst iend = this.toIndexEnd(columns);\n\t\tfor (let i = columns.length - 1; 0 <= i; --i) {\n\t\t\tconst cell = this.newCell(i, columns[i], columns, options);\n\t\t\tconst cellState = cell.state;\n\t\t\tcellState.lock(false);\n\t\t\tif (i === 0) {\n\t\t\t\tcellState.add(DTableState.START);\n\t\t\t}\n\t\t\tif (i === iend) {\n\t\t\t\tcellState.add(DTableState.END);\n\t\t\t}\n\t\t\tif (i < frozen) {\n\t\t\t\tcellState.add(DTableState.FROZEN);\n\t\t\t}\n\t\t\tif (i === frozen - 1) {\n\t\t\t\tcellState.add(DTableState.FROZEN_END);\n\t\t\t}\n\t\t\tcellState.unlock();\n\t\t\tthis.addChild(cell);\n\t\t}\n\t}\n\n\tprotected toIndexEnd(columns: COLUMN[]): number {\n\t\tconst imax = columns.length;\n\t\tfor (let i = 0; i < imax; ++i) {\n\t\t\tconst column = columns[i];\n\t\t\tif (column.weight !== undefined) {\n\t\t\t\treturn imax - 1;\n\t\t\t}\n\t\t}\n\t\treturn imax;\n\t}\n\n\tprotected onRefit(): void {\n\t\tsuper.onRefit();\n\t\tthis.resetFrozenCellPosition();\n\t}\n\n\tupdateFrozenCellPosition(x: number): void {\n\t\tconst columns = this._columns;\n\t\tconst cells = this.children;\n\t\tconst cellsLength = cells.length;\n\t\tconst frozen = this._frozen;\n\t\tfor (let i = 0; i < frozen; ++i) {\n\t\t\tconst column = columns[i];\n\t\t\tconst cell = cells[cellsLength - 1 - i];\n\t\t\tcell.position.x = -x + column.offset;\n\t\t}\n\t}\n\n\tprotected resetFrozenCellPosition(): void {\n\t\tconst columns = this._columns;\n\t\tconst cells = this.children;\n\t\tconst cellsLength = cells.length;\n\t\tconst frozen = this._frozen;\n\t\tconst x = this.getContentPositionX();\n\t\tfor (let i = 0; i < frozen; ++i) {\n\t\t\tconst column = columns[i];\n\t\t\tconst cell = cells[cellsLength - 1 - i];\n\t\t\tcolumn.offset = cell.position.x;\n\t\t\tcell.position.x = -x + column.offset;\n\t\t}\n\t}\n\n\tprotected abstract getContentPositionX(): number;\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst frozen = this._frozen;\n\t\tif (0 < frozen) {\n\t\t\tconst cell = target as any;\n\t\t\tif (cell && cell.parent === this) {\n\t\t\t\tconst cells = this.children as DBase[];\n\t\t\t\tconst cellIndex = cells.indexOf(cell);\n\t\t\t\tif (0 <= cellIndex) {\n\t\t\t\t\tconst columnIndex = cells.length - 1 - cellIndex;\n\t\t\t\t\tif (frozen <= columnIndex) {\n\t\t\t\t\t\tconst previous = cells[cellIndex + 1];\n\t\t\t\t\t\tconst shiftX = previous.position.x + previous.width;\n\t\t\t\t\t\tresult.x += shiftX;\n\t\t\t\t\t\tresult.width -= shiftX;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected abstract newCell(\n\t\tcolumnIndex: number,\n\t\tcolumn: COLUMN,\n\t\tcolumns: COLUMN[],\n\t\toptions: OPTIONS\n\t): DBase;\n\n\tprotected getType(): string {\n\t\treturn \"DTableRow\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-row.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-row.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Rectangle, utils } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport {\n\tDLayoutHorizontal,\n\tDLayoutHorizontalOptions,\n\tDThemeLayoutHorizontal\n} from \"./d-layout-horizontal\";\nimport { DTableState } from \"./d-table-state\";\n\nexport interface DTableRowOptions<THEME extends DThemeTableRow = DThemeTableRow>\n\textends DLayoutHorizontalOptions<THEME> {}\n\nexport interface DThemeTableRow extends DThemeLayoutHorizontal {}\n\nexport interface DTableRowColumn extends utils.EventEmitter {\n\tweight?: number;\n\twidth?: number;\n\tfrozen?: boolean;\n\toffset: number;\n}\n\nexport abstract class DTableRow<\n\tROW,\n\tCOLUMN extends DTableRowColumn,\n\tTHEME extends DThemeTableRow = DThemeTableRow,\n\tOPTIONS extends DTableRowOptions<THEME> = DTableRowOptions<THEME>\n> extends DLayoutHorizontal<THEME, OPTIONS> {\n\tprotected _columns: COLUMN[];\n\tprotected _frozen: number;\n\n\tconstructor(columns: COLUMN[], frozen: number, options?: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis._reverse = true;\n\t\tthis._frozen = frozen;\n\t\tthis._columns = columns;\n\t}\n\n\tprotected initCells(): void {\n\t\tconst columns = this._columns;\n\t\tconst frozen = this._frozen;\n\t\tconst options = this._options;\n\t\tconst iend = this.toIndexEnd(columns);\n\t\tfor (let i = columns.length - 1; 0 <= i; --i) {\n\t\t\tconst cell = this.newCell(i, columns[i], columns, options);\n\t\t\tconst cellState = cell.state;\n\t\t\tcellState.lock(false);\n\t\t\tif (i === 0) {\n\t\t\t\tcellState.add(DTableState.START);\n\t\t\t}\n\t\t\tif (i === iend) {\n\t\t\t\tcellState.add(DTableState.END);\n\t\t\t}\n\t\t\tif (i < frozen) {\n\t\t\t\tcellState.add(DTableState.FROZEN);\n\t\t\t}\n\t\t\tif (i === frozen - 1) {\n\t\t\t\tcellState.add(DTableState.FROZEN_END);\n\t\t\t}\n\t\t\tcellState.unlock();\n\t\t\tthis.addChild(cell);\n\t\t}\n\t}\n\n\tprotected toIndexEnd(columns: COLUMN[]): number {\n\t\tconst imax = columns.length;\n\t\tfor (let i = 0; i < imax; ++i) {\n\t\t\tconst column = columns[i];\n\t\t\tif (column.weight !== undefined) {\n\t\t\t\treturn imax - 1;\n\t\t\t}\n\t\t}\n\t\treturn imax;\n\t}\n\n\tprotected onRefit(): void {\n\t\tsuper.onRefit();\n\t\tthis.resetFrozenCellPosition();\n\t}\n\n\tupdateFrozenCellPosition(x: number): void {\n\t\tconst columns = this._columns;\n\t\tconst cells = this.children;\n\t\tconst cellsLength = cells.length;\n\t\tconst frozen = this._frozen;\n\t\tfor (let i = 0; i < frozen; ++i) {\n\t\t\tconst column = columns[i];\n\t\t\tconst cell = cells[cellsLength - 1 - i];\n\t\t\tcell.position.x = -x + column.offset;\n\t\t}\n\t}\n\n\tprotected resetFrozenCellPosition(): void {\n\t\tconst columns = this._columns;\n\t\tconst cells = this.children;\n\t\tconst cellsLength = cells.length;\n\t\tconst frozen = this._frozen;\n\t\tconst x = this.getContentPositionX();\n\t\tfor (let i = 0; i < frozen; ++i) {\n\t\t\tconst column = columns[i];\n\t\t\tconst cell = cells[cellsLength - 1 - i];\n\t\t\tcolumn.offset = cell.position.x;\n\t\t\tcell.position.x = -x + column.offset;\n\t\t}\n\t}\n\n\tprotected abstract getContentPositionX(): number;\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst frozen = this._frozen;\n\t\tif (0 < frozen) {\n\t\t\tconst cell = target as any;\n\t\t\tif (cell && cell.parent === this) {\n\t\t\t\tconst cells = this.children as DBase[];\n\t\t\t\tconst cellIndex = cells.indexOf(cell);\n\t\t\t\tif (0 <= cellIndex) {\n\t\t\t\t\tconst columnIndex = cells.length - 1 - cellIndex;\n\t\t\t\t\tif (frozen <= columnIndex) {\n\t\t\t\t\t\tconst previous = cells[cellIndex + 1];\n\t\t\t\t\t\tconst shiftX = previous.position.x + previous.width;\n\t\t\t\t\t\tresult.x += shiftX;\n\t\t\t\t\t\tresult.width -= shiftX;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected abstract newCell(\n\t\tcolumnIndex: number,\n\t\tcolumn: COLUMN,\n\t\tcolumns: COLUMN[],\n\t\toptions?: OPTIONS\n\t): DBase;\n\n\tprotected getType(): string {\n\t\treturn \"DTableRow\";\n\t}\n}\n"]}
@@ -49,6 +49,14 @@ export var DTableState = {
49
49
  /**
50
50
  * Selectable row
51
51
  */
52
- SELECTABLE: "SELECTABLE"
52
+ SELECTABLE: "SELECTABLE",
53
+ /**
54
+ * Header or category cells hovered on their edges.
55
+ */
56
+ HOVERED_ON_EDGE: "HOVERED_ON_EDGE",
57
+ /**
58
+ * Header or category of being resized.
59
+ */
60
+ RESIZING: "RESIZING"
53
61
  };
54
62
  //# sourceMappingURL=d-table-state.js.map