@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.
- package/dist/types/wcardinal/ui/d-indicator-processing.d.ts +8 -7
- package/dist/types/wcardinal/ui/d-pagination.d.ts +5 -5
- package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-table-body-row.d.ts +9 -9
- package/dist/types/wcardinal/ui/d-table-body.d.ts +5 -7
- package/dist/types/wcardinal/ui/d-table-category-cell.d.ts +37 -0
- package/dist/types/wcardinal/ui/d-table-category-column-impl.d.ts +24 -0
- package/dist/types/wcardinal/ui/d-table-category-column.d.ts +10 -0
- package/dist/types/wcardinal/ui/d-table-category-container-impl.d.ts +12 -0
- package/dist/types/wcardinal/ui/d-table-category-container.d.ts +4 -0
- package/dist/types/wcardinal/ui/d-table-category.d.ts +13 -12
- package/dist/types/wcardinal/ui/d-table-column-container-impl.d.ts +25 -0
- package/dist/types/wcardinal/ui/d-table-column-container.d.ts +12 -0
- package/dist/types/wcardinal/ui/d-table-column-impl.d.ts +44 -0
- package/dist/types/wcardinal/ui/d-table-column.d.ts +22 -19
- package/dist/types/wcardinal/ui/d-table-header-cell-check.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +34 -12
- package/dist/types/wcardinal/ui/d-table-header.d.ts +8 -9
- package/dist/types/wcardinal/ui/d-table-row.d.ts +8 -9
- package/dist/types/wcardinal/ui/d-table-state.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-table.d.ts +15 -18
- package/dist/types/wcardinal/ui/index.d.ts +7 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-header.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-header-cell.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-header.d.ts +1 -0
- package/dist/wcardinal/ui/d-base.js +2 -2
- package/dist/wcardinal/ui/d-base.js.map +1 -1
- package/dist/wcardinal/ui/d-indicator-processing.js +20 -15
- package/dist/wcardinal/ui/d-indicator-processing.js.map +1 -1
- package/dist/wcardinal/ui/d-pagination.js +5 -5
- package/dist/wcardinal/ui/d-pagination.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-row.js +4 -4
- package/dist/wcardinal/ui/d-table-body-row.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body.js +6 -15
- package/dist/wcardinal/ui/d-table-body.js.map +1 -1
- package/dist/wcardinal/ui/d-table-category-cell.js +244 -2
- package/dist/wcardinal/ui/d-table-category-cell.js.map +1 -1
- package/dist/wcardinal/ui/d-table-category-column-impl.js +222 -0
- package/dist/wcardinal/ui/d-table-category-column-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-table-category-column.js +6 -0
- package/dist/wcardinal/ui/d-table-category-column.js.map +1 -0
- package/dist/wcardinal/ui/d-table-category-container-impl.js +149 -0
- package/dist/wcardinal/ui/d-table-category-container-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-table-category-container.js +2 -0
- package/dist/wcardinal/ui/d-table-category-container.js.map +1 -0
- package/dist/wcardinal/ui/d-table-category.js +49 -7
- package/dist/wcardinal/ui/d-table-category.js.map +1 -1
- package/dist/wcardinal/ui/d-table-column-container-impl.js +126 -0
- package/dist/wcardinal/ui/d-table-column-container-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-container.js +2 -0
- package/dist/wcardinal/ui/d-table-column-container.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column-impl.js +375 -0
- package/dist/wcardinal/ui/d-table-column-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-table-column.js.map +1 -1
- package/dist/wcardinal/ui/d-table-header-cell-check.js.map +1 -1
- package/dist/wcardinal/ui/d-table-header-cell.js +245 -48
- package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
- package/dist/wcardinal/ui/d-table-header.js +8 -22
- package/dist/wcardinal/ui/d-table-header.js.map +1 -1
- package/dist/wcardinal/ui/d-table-row.js +7 -5
- package/dist/wcardinal/ui/d-table-row.js.map +1 -1
- package/dist/wcardinal/ui/d-table-state.js +9 -1
- package/dist/wcardinal/ui/d-table-state.js.map +1 -1
- package/dist/wcardinal/ui/d-table.js +69 -631
- package/dist/wcardinal/ui/d-table.js.map +1 -1
- package/dist/wcardinal/ui/index.js +7 -0
- package/dist/wcardinal/ui/index.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js +7 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header.js +7 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js +7 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-table-header.js +7 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-table-header.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.js +14 -2
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +14 -2
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +14 -2
- package/dist/wcardinal-ui-theme-dark.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.js +14 -2
- package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +14 -2
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white.js +14 -2
- package/dist/wcardinal-ui-theme-white.min.js +2 -2
- package/dist/wcardinal-ui.cjs.js +1545 -753
- package/dist/wcardinal-ui.js +1882 -1114
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- 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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
29
|
-
|
|
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.
|
|
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
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
var
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
-
|
|
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
|
|
142
|
-
this._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.
|
|
177
|
-
this.
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
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
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
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":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,MAAM,EAA8B,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAwB,eAAe,EAAoB,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAE,qBAAqB,EAAgC,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAkB7D;IAIU,oCAAqC;IAJ/C;;IAsRA,CAAC;IAzQU,+BAAI,GAAd,UAAe,OAAiB;QAC/B,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAqB,CAAM,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;SAClE;aAAM;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAqB,CAAM,IAAI,CAAC,CAAC;SACnD;QACD,iBAAM,IAAI,YAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,sBAAI,oCAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,yCAAW;aAAf;YACC,OAAO,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,oCAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,mCAAK;aAAT;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;;;OAAA;IAES,sCAAW,GAArB,UAAsB,OAAiB;QAAvC,iBAgBC;QAfA,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,EAAE;YACX,IAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACxC,IAAI,SAAS,IAAI,QAAQ,EAAE;gBAC1B,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAC,CAAmB;oBACjD,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC;gBACH,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC1C,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC5C,KAAK,CAAC,MAAM,EAAE,CAAC;aACf;SACD;IACF,CAAC;IAED,sBAAI,oCAAM;aAAV;YAAA,iBAuBC;YAtBA,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC5B,IAAI,MAAM,EAAE;oBACX,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC3B,IAAI,KAAK,EAAE;wBACV,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;wBACtB,IAAI,CAAC,oBAAoB;4BACxB,IAAI,CAAC,oBAAoB;gCACzB,CAAC;oCACA,KAAI,CAAC,cAAc,EAAE,CAAC;gCACvB,CAAC,CAAC,CAAC;wBACJ,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;qBAC/C;yBAAM;wBACN,OAAO,IAAI,CAAC;qBACZ;iBACD;qBAAM;oBACN,OAAO,IAAI,CAAC;iBACZ;aACD;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED,sBAAI,wCAAU;aAAd;YACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,MAAM,EAAE;gBACX,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;aACzC;YACD,OAAO,IAAI,CAAC;QACb,CAAC;;;OAAA;IAES,yCAAc,GAAxB;QACC,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,EAAE;YACf,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,MAAM,EAAE;gBACX,IAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC;gBACtD,IAAM,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;gBACxD,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,UAAU,EAAE;oBACtD,IAAI,MAAM,CAAC,KAAK,KAAK,eAAe,CAAC,SAAS,EAAE;wBAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;qBACpD;yBAAM;wBACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;qBACpD;iBACD;qBAAM;oBACN,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;iBAC1D;aACD;SACD;IACF,CAAC;IAES,0CAAe,GAAzB,UAA0B,CAAmB;QAC5C,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,KAAK,EAAE,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAES,yCAAc,GAAxB,UACC,CAA8D;QAE9D,IAAI,CAAC,YAAY,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAC3D,IAAI,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,KAAK,EAAE;oBACV,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC5B,IAAI,MAAM,IAAI,IAAI,EAAE;wBACnB,IAAM,KAAK,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;wBACtC,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;wBACvC,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;wBACnB,OAAO,CACN,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,MAAM,IAAI,QAAQ;4BACnC,QAAQ,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CACpC,CAAC;qBACF;iBACD;aACD;iBAAM;gBACN,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,kCAAO,GAAjB,UAAkB,CAAmB;QACpC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAED,mCAAQ,GAAR,UAAS,CAA8D;QACtE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAES,qCAAU,GAApB,UAAqB,CAA8D;QAClF,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;YAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,EAAE,CAAC;SACnB;aAAM;YACN,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC1B;IACF,CAAC;IAES,iCAAM,GAAhB,UAAiB,CAA8D;QAC9E,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,UAAU,EAAE;gBACf,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,MAAM,EAAE;oBACX,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,UAAU,EAAE;wBAChC,IAAI,MAAM,CAAC,KAAK,KAAK,eAAe,CAAC,SAAS,EAAE;4BAC/C,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC;4BAC1C,MAAM,CAAC,KAAK,EAAE,CAAC;yBACf;6BAAM;4BACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BACjB,MAAM,CAAC,KAAK,EAAE,CAAC;yBACf;qBACD;yBAAM;wBACN,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACvB,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC;wBACzC,MAAM,CAAC,KAAK,EAAE,CAAC;qBACf;iBACD;aACD;SACD;IACF,CAAC;IAED,sBAAI,wCAAU;aAAd;YACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,MAAM,EAAE;gBACX,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aAC7B;YACD,OAAO,KAAK,CAAC;QACd,CAAC;;;OAAA;IAED,sBAAI,sCAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IAED,iCAAM,GAAN;QACC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;aACnB;SACD;IACF,CAAC;IAES,wCAAa,GAAvB;QACC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAES,sCAAW,GAArB;QACC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC1B;aAAM;YACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC5B;IACF,CAAC;IAES,4CAAiB,GAA3B,UAA4B,CAAgB;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,aAAa,EAAE,CAAC;aACrB;iBAAM;gBACN,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;aAC5B;SACD;IACF,CAAC;IAES,0CAAe,GAAzB,UAA0B,CAAgB;QACzC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,WAAW,EAAE,CAAC;aACnB;iBAAM;gBACN,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBACzB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACjB;gBACD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;aAC7B;SACD;IACF,CAAC;IAES,oCAAS,GAAnB,UAAoB,CAAgB;QACnC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC1B;QAED,OAAO,iBAAM,SAAS,YAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAES,kCAAO,GAAjB,UAAkB,CAAgB;QACjC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SACxB;QAED,OAAO,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAES,kCAAO,GAAjB;QACC,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED,kCAAO,GAAP;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,MAAM,IAAI,mBAAmB,EAAE;YAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAEtC,iBAAM,OAAO,WAAE,CAAC;IACjB,CAAC;IACF,uBAAC;AAAD,CAAC,AAtRD,CAIU,MAAM,GAkRf","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":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,gBAAgB,EAAsB,KAAK,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,MAAM,EAA8B,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAwB,eAAe,EAAoB,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAE,qBAAqB,EAAgC,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAoBjD,MAAM,CAAC,IAAM,oBAAoB,GAAG;IACnC,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;CACE,CAAC;AAIX;IAIU,oCAAqC;IAa9C,0BACC,MAAmC,EACnC,WAAmB,EACnB,MAAyB,EACzB,OAAiB;QAJlB,YAMC,kBAAM,OAAO,CAAC,SAqBd;QApBA,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAM,KAAK,GAAG,IAAI,qBAAqB,CAAM,KAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC;QACnE,KAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC3C,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE1B,IAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QACvC,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,SAAS,IAAI,QAAQ,EAAE;YAC1B,KAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAC,CAAmB;gBACjD,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,IAAM,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC;YACzB,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC1C,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC5C,KAAK,CAAC,MAAM,EAAE,CAAC;SACf;;IACF,CAAC;IAED,sBAAI,oCAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,yCAAW;aAAf;YACC,OAAO,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,oCAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,mCAAK;aAAT;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;;;OAAA;IAEkB,iCAAM,GAAzB,UAA0B,CAAmB;QAC5C,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,KAAK,IAAI,IAAI,EAAE;YAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,KAAK,IAAI,IAAI,EAAE;gBAClB,IAAM,kBAAkB,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9D,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;gBACtC,IAAI,KAAK,KAAK,oBAAoB,CAAC,IAAI,EAAE;oBACxC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC;iBACtE;qBAAM;oBACN,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;iBAClE;aACD;SACD;aAAM;YACN,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,iBAAM,MAAM,YAAC,CAAC,CAAC,CAAC;SAChB;IACF,CAAC;IAES,gDAAqB,GAA/B,UAAgC,WAAmB;QAClD,IAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,IAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YACtC,IAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC3B,OAAO,KAAK,CAAC;aACb;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,yDAA8B,GAAxC,UAAyC,WAAmB;QAC3D,IAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,IAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,EAAE,CAAC,EAAE;YACtD,IAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,IAAI,WAAW,CAAC,SAAS,EAAE;gBAC1B,IAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC7C,IAAI,iBAAiB,IAAI,IAAI,EAAE;oBAC9B,OAAO,KAAK,CAAC;iBACb;aACD;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,+CAAoB,GAA9B,UAA+B,WAAmB;QACjD,IAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;gBACjC,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;aACvE;iBAAM;gBACN,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,4CAAiB,GAA3B;QACC,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QAClC,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;gBAC/C,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE;oBAC3C,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC;iBACnC;qBAAM;oBACN,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC;iBACnC;aACD;iBAAM;gBACN,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE;oBAC3C,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC;iBACpC;qBAAM;oBACN,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC;iBACnC;aACD;YACD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;SAC9B;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAEkB,iCAAM,GAAzB,UAA0B,CAAmB;QAA7C,iBAiBC;;QAhBA,iBAAM,MAAM,YAAC,CAAC,CAAC,CAAC;QAEhB,IAAI,IAAI,CAAC,iBAAiB,EAAE,KAAK,oBAAoB,CAAC,IAAI,EAAE;YAC3D,IAAM,cAAc,GAAG,OAAC,IAAI,CAAC,eAAe,oCAApB,IAAI,CAAC,eAAe,GAAK,UAAC,KAAuB;gBACxE,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,EAAC,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAE/C,8EAA8E;YAC9E,mCAAmC;YACnC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClB,IAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,KAAK,IAAI,IAAI,EAAE;gBAClB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;aACxD;SACD;IACF,CAAC;IAEkB,gCAAK,GAAxB,UAAyB,CAAmB;QAC3C,iBAAM,KAAK,YAAC,CAAC,CAAC,CAAC;QAEf,IAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,IAAI,cAAc,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;SAChD;IACF,CAAC;IAES,oCAAS,GAAnB,UAAoB,CAAmB;QACtC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAClC,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;YAC5B,IAAI,IAAI,CAAC,iBAAiB,EAAE,GAAG,oBAAoB,CAAC,IAAI,EAAE;gBACzD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;aACvE;iBAAM;gBACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;aAC/C;SACD;aAAM,IAAI,KAAK,GAAG,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;YAC/C,IAAI,IAAI,CAAC,iBAAiB,EAAE,GAAG,oBAAoB,CAAC,KAAK,EAAE;gBAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,eAAe,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;aACxE;iBAAM;gBACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;aAC/C;SACD;aAAM;YACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;SAC/C;IACF,CAAC;IAES,qCAAU,GAApB,UACC,WAAmB,EACnB,WAAmB,EACnB,kBAAsC;QAEtC,0BAA0B;QAC1B,IAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,IAAI,IAAI,IAAI,EAAE;YACjB,oBAAoB;YACpB,OAAO;SACP;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QAClC,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE;YAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAM,QAAM,GAAG,UAAC,CAAmB;gBAClC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;YAC9E,CAAC,CAAC;YACF,IAAM,MAAI,GAAG,UAAC,CAAmB;gBAChC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC1C,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAM,CAAC,CAAC;gBACtD,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAI,CAAC,CAAC;gBAClD,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAI,CAAC,CAAC;gBACzD,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAI,CAAC,CAAC;YACvD,CAAC,CAAC;YACF,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAM,CAAC,CAAC;YACrD,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAI,CAAC,CAAC;YACjD,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAI,CAAC,CAAC;YACxD,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAI,CAAC,CAAC;SACrD;aAAM;YACN,IAAM,KAAK,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpE,IAAI,KAAK,IAAI,IAAI,EAAE;gBAClB,gCAAgC;gBAChC,OAAO;aACP;YACD,IAAM,aAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;YACpC,IAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;YAClC,IAAM,YAAU,GAAG,YAAY,GAAG,aAAa,CAAC;YAChD,IAAM,aAAW,GAAG,aAAa,GAAG,cAAc,CAAC;YACnD,IAAI,YAAU,IAAI,CAAC,EAAE;gBACpB,iEAAiE;gBACjE,OAAO;aACP;YACD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAM,QAAM,GAAG,UAAC,CAAmB;gBAClC,IAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC5B,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,YAAU,EAAE,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAClE,CAAC;gBACF,IAAM,aAAa,GAAG,aAAW,GAAG,CAAC,YAAY,GAAG,YAAU,CAAC,CAAC;gBAChE,UAAU,CAAC,MAAM,GAAG,aAAa,CAAC;gBAClC,aAAW,CAAC,MAAM,GAAG,aAAW,GAAG,aAAa,CAAC;YAClD,CAAC,CAAC;YACF,IAAM,MAAI,GAAG,UAAC,CAAmB;gBAChC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC1C,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAM,CAAC,CAAC;gBACtD,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAI,CAAC,CAAC;gBAClD,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAI,CAAC,CAAC;gBACzD,kBAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAI,CAAC,CAAC;YACvD,CAAC,CAAC;YACF,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAM,CAAC,CAAC;YACrD,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,MAAI,CAAC,CAAC;YACjD,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAI,CAAC,CAAC;YACxD,kBAAkB,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAI,CAAC,CAAC;SACrD;IACF,CAAC;IAED,sBAAI,oCAAM;aAAV;YAAA,iBAuBC;YAtBA,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC5B,IAAI,MAAM,EAAE;oBACX,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBAC3B,IAAI,KAAK,EAAE;wBACV,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;wBACtB,IAAI,CAAC,oBAAoB;4BACxB,IAAI,CAAC,oBAAoB;gCACzB,CAAC;oCACA,KAAI,CAAC,cAAc,EAAE,CAAC;gCACvB,CAAC,CAAC,CAAC;wBACJ,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;qBAC/C;yBAAM;wBACN,OAAO,IAAI,CAAC;qBACZ;iBACD;qBAAM;oBACN,OAAO,IAAI,CAAC;iBACZ;aACD;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED,sBAAI,wCAAU;aAAd;YACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;QAChD,CAAC;;;OAAA;IAES,yCAAc,GAAxB;QACC,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,UAAU,EAAE;YACf,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,MAAM,EAAE;gBACX,IAAM,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC;gBACtD,IAAM,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;gBACxD,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,UAAU,EAAE;oBACtD,IAAI,MAAM,CAAC,KAAK,KAAK,eAAe,CAAC,SAAS,EAAE;wBAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;qBACpD;yBAAM;wBACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;qBACpD;iBACD;qBAAM;oBACN,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;iBAC1D;aACD;SACD;IACF,CAAC;IAES,0CAAe,GAAzB,UAA0B,CAAmB;;QAC5C,IAAM,SAAS,GAAG,OAAC,IAAI,CAAC,UAAU,oCAAf,IAAI,CAAC,UAAU,GAAK,IAAI,KAAK,EAAE,EAAC,CAAC;QACpD,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAES,yCAAc,GAAxB,UACC,CAA8D;QAE9D,IAAI,CAAC,YAAY,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAC3D,IAAI,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,KAAK,EAAE;oBACV,IAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC5B,IAAI,MAAM,IAAI,IAAI,EAAE;wBACnB,IAAM,KAAK,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;wBACtC,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;wBACvC,IAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;wBACnB,OAAO,CACN,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,MAAM,IAAI,QAAQ;4BACnC,QAAQ,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CACpC,CAAC;qBACF;iBACD;aACD;iBAAM;gBACN,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAES,wCAAa,GAAvB,UACC,CAA8D;QAE9D,OAAO,CACN,CAAC,YAAY,gBAAgB;YAC7B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CACjE,CAAC;IACH,CAAC;IAES,kCAAO,GAAjB,UAAkB,CAAmB;QACpC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAED,mCAAQ,GAAR,UAAS,CAA8D;QACtE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAES,qCAAU,GAApB,UAAqB,CAA8D;QAClF,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YAC3B,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;gBAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;aACnB;iBAAM;gBACN,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;aAC1B;SACD;IACF,CAAC;IAES,iCAAM,GAAhB,UAAiB,CAA8D;QAC9E,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,UAAU,EAAE;gBACf,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,MAAM,EAAE;oBACX,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,UAAU,EAAE;wBAChC,IAAI,MAAM,CAAC,KAAK,KAAK,eAAe,CAAC,SAAS,EAAE;4BAC/C,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC;4BAC1C,MAAM,CAAC,KAAK,EAAE,CAAC;yBACf;6BAAM;4BACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BACjB,MAAM,CAAC,KAAK,EAAE,CAAC;yBACf;qBACD;yBAAM;wBACN,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACvB,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC;wBACzC,MAAM,CAAC,KAAK,EAAE,CAAC;qBACf;iBACD;aACD;SACD;IACF,CAAC;IAED,sBAAI,wCAAU;aAAd;YACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QACpC,CAAC;;;OAAA;IAED,sBAAI,yCAAW;aAAf;YACC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAC/B,CAAC;;;OAAA;IAED,sBAAI,sCAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAC9B,CAAC;;;OAAA;IAED,iCAAM,GAAN;QACC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;aACnB;SACD;IACF,CAAC;IAES,wCAAa,GAAvB;QACC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAES,sCAAW,GAArB;QACC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC1B;aAAM;YACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC5B;IACF,CAAC;IAES,4CAAiB,GAA3B,UAA4B,CAAgB;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,aAAa,EAAE,CAAC;aACrB;iBAAM;gBACN,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;aAC5B;SACD;IACF,CAAC;IAES,0CAAe,GAAzB,UAA0B,CAAgB;QACzC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,WAAW,EAAE,CAAC;aACnB;iBAAM;gBACN,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBACzB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBACjB;gBACD,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;aAC7B;SACD;IACF,CAAC;IAES,oCAAS,GAAnB,UAAoB,CAAgB;QACnC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAC1B;QAED,OAAO,iBAAM,SAAS,YAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAES,kCAAO,GAAjB,UAAkB,CAAgB;QACjC,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SACxB;QAED,OAAO,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAES,kCAAO,GAAjB;QACC,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED,kCAAO,GAAP;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACtD,IAAI,MAAM,IAAI,mBAAmB,EAAE;YAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QAEtC,iBAAM,OAAO,WAAE,CAAC;IACjB,CAAC;IACF,uBAAC;AAAD,CAAC,AAzeD,CAIU,MAAM,GAqef","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
|
|
12
|
-
|
|
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(
|
|
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
|
|
38
|
+
return new DTableHeaderCell(this, columnIndex, column, this.toCellOptions(column, options));
|
|
41
39
|
};
|
|
42
|
-
DTableHeader.prototype.toCellOptions = function (
|
|
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":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,gBAAgB,EAA2B,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAoC,MAAM,eAAe,CAAC;
|
|
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 =
|
|
15
|
-
_this._columns =
|
|
13
|
+
_this._frozen = frozen;
|
|
14
|
+
_this._columns = columns;
|
|
16
15
|
return _this;
|
|
17
16
|
}
|
|
18
|
-
DTableRow.prototype.initCells = function (
|
|
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;
|
|
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
|