@wcardinal/wcardinal-ui 0.411.0 → 0.412.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 (89) hide show
  1. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +2 -2
  2. package/dist/types/wcardinal/ui/d-table-body-row.d.ts +9 -9
  3. package/dist/types/wcardinal/ui/d-table-body.d.ts +5 -7
  4. package/dist/types/wcardinal/ui/d-table-category-cell.d.ts +37 -0
  5. package/dist/types/wcardinal/ui/d-table-category-column-impl.d.ts +24 -0
  6. package/dist/types/wcardinal/ui/d-table-category-column.d.ts +10 -0
  7. package/dist/types/wcardinal/ui/d-table-category-container-impl.d.ts +12 -0
  8. package/dist/types/wcardinal/ui/d-table-category-container.d.ts +4 -0
  9. package/dist/types/wcardinal/ui/d-table-category.d.ts +13 -12
  10. package/dist/types/wcardinal/ui/d-table-column-container-impl.d.ts +25 -0
  11. package/dist/types/wcardinal/ui/d-table-column-container.d.ts +12 -0
  12. package/dist/types/wcardinal/ui/d-table-column-impl.d.ts +44 -0
  13. package/dist/types/wcardinal/ui/d-table-column.d.ts +22 -19
  14. package/dist/types/wcardinal/ui/d-table-header-cell-check.d.ts +1 -1
  15. package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +34 -12
  16. package/dist/types/wcardinal/ui/d-table-header.d.ts +8 -9
  17. package/dist/types/wcardinal/ui/d-table-row.d.ts +8 -9
  18. package/dist/types/wcardinal/ui/d-table-state.d.ts +8 -0
  19. package/dist/types/wcardinal/ui/d-table.d.ts +15 -18
  20. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.d.ts +1 -0
  21. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-header.d.ts +1 -0
  22. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-header-cell.d.ts +1 -0
  23. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-header.d.ts +1 -0
  24. package/dist/wcardinal/ui/d-base.js +2 -2
  25. package/dist/wcardinal/ui/d-base.js.map +1 -1
  26. package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
  27. package/dist/wcardinal/ui/d-table-body-row.js +4 -4
  28. package/dist/wcardinal/ui/d-table-body-row.js.map +1 -1
  29. package/dist/wcardinal/ui/d-table-body.js +6 -15
  30. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  31. package/dist/wcardinal/ui/d-table-category-cell.js +244 -2
  32. package/dist/wcardinal/ui/d-table-category-cell.js.map +1 -1
  33. package/dist/wcardinal/ui/d-table-category-column-impl.js +222 -0
  34. package/dist/wcardinal/ui/d-table-category-column-impl.js.map +1 -0
  35. package/dist/wcardinal/ui/d-table-category-column.js +6 -0
  36. package/dist/wcardinal/ui/d-table-category-column.js.map +1 -0
  37. package/dist/wcardinal/ui/d-table-category-container-impl.js +149 -0
  38. package/dist/wcardinal/ui/d-table-category-container-impl.js.map +1 -0
  39. package/dist/wcardinal/ui/d-table-category-container.js +2 -0
  40. package/dist/wcardinal/ui/d-table-category-container.js.map +1 -0
  41. package/dist/wcardinal/ui/d-table-category.js +49 -7
  42. package/dist/wcardinal/ui/d-table-category.js.map +1 -1
  43. package/dist/wcardinal/ui/d-table-column-container-impl.js +126 -0
  44. package/dist/wcardinal/ui/d-table-column-container-impl.js.map +1 -0
  45. package/dist/wcardinal/ui/d-table-column-container.js +2 -0
  46. package/dist/wcardinal/ui/d-table-column-container.js.map +1 -0
  47. package/dist/wcardinal/ui/d-table-column-impl.js +375 -0
  48. package/dist/wcardinal/ui/d-table-column-impl.js.map +1 -0
  49. package/dist/wcardinal/ui/d-table-column.js.map +1 -1
  50. package/dist/wcardinal/ui/d-table-header-cell-check.js.map +1 -1
  51. package/dist/wcardinal/ui/d-table-header-cell.js +245 -48
  52. package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
  53. package/dist/wcardinal/ui/d-table-header.js +8 -22
  54. package/dist/wcardinal/ui/d-table-header.js.map +1 -1
  55. package/dist/wcardinal/ui/d-table-row.js +7 -5
  56. package/dist/wcardinal/ui/d-table-row.js.map +1 -1
  57. package/dist/wcardinal/ui/d-table-state.js +9 -1
  58. package/dist/wcardinal/ui/d-table-state.js.map +1 -1
  59. package/dist/wcardinal/ui/d-table.js +69 -631
  60. package/dist/wcardinal/ui/d-table.js.map +1 -1
  61. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js +7 -1
  62. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js.map +1 -1
  63. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header.js +7 -0
  64. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header.js.map +1 -1
  65. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js +7 -1
  66. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js.map +1 -1
  67. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header.js +7 -0
  68. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header.js.map +1 -1
  69. package/dist/wcardinal-ui-theme-dark-en-us.js +14 -2
  70. package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
  71. package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
  72. package/dist/wcardinal-ui-theme-dark-ja-jp.js +14 -2
  73. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
  74. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
  75. package/dist/wcardinal-ui-theme-dark.js +14 -2
  76. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  77. package/dist/wcardinal-ui-theme-white-en-us.js +14 -2
  78. package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
  79. package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
  80. package/dist/wcardinal-ui-theme-white-ja-jp.js +14 -2
  81. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
  82. package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
  83. package/dist/wcardinal-ui-theme-white.js +14 -2
  84. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  85. package/dist/wcardinal-ui.cjs.js +1153 -371
  86. package/dist/wcardinal-ui.js +1127 -369
  87. package/dist/wcardinal-ui.min.js +2 -2
  88. package/dist/wcardinal-ui.min.js.map +1 -1
  89. package/package.json +1 -1
@@ -0,0 +1,375 @@
1
+ import { __extends } from "tslib";
2
+ import { utils } from "pixi.js";
3
+ import { DAlignHorizontal } from "./d-align-horizontal";
4
+ import { DDialogSelect } from "./d-dialog-select";
5
+ import { DMenu } from "./d-menu";
6
+ import { DTableColumnType } from "./d-table-column-type";
7
+ import { DTableColumnUpdate } from "./d-table-column-update";
8
+ import { isArray } from "./util/is-array";
9
+ import { isString } from "./util/is-string";
10
+ import { toEnum } from "./util/to-enum";
11
+ var defaultGetter = function (row, columnIndex) {
12
+ return row[columnIndex];
13
+ };
14
+ var defaultSetter = function (row, columnIndex, cell) {
15
+ row[columnIndex] = cell;
16
+ };
17
+ var defaultGetterEmpty = function () { return ""; };
18
+ var defaultSetterEmpty = function () {
19
+ // DO NOTHING
20
+ };
21
+ var toPathGetter = function (path, def) {
22
+ if (path.length <= 1) {
23
+ var key_1 = path[0];
24
+ if (def === undefined) {
25
+ return function (row) {
26
+ return row[key_1];
27
+ };
28
+ }
29
+ else {
30
+ return function (row) {
31
+ return Object.prototype.hasOwnProperty.call(row, key_1) ? row[key_1] : def;
32
+ };
33
+ }
34
+ }
35
+ else {
36
+ if (def === undefined) {
37
+ return function (row) {
38
+ for (var i = 0, imax = path.length - 1; i < imax; ++i) {
39
+ row = row[path[i]];
40
+ }
41
+ return row[path[path.length - 1]];
42
+ };
43
+ }
44
+ else {
45
+ return function (row) {
46
+ for (var i = 0, imax = path.length - 1; i < imax; ++i) {
47
+ row = row[path[i]];
48
+ }
49
+ var key = path[path.length - 1];
50
+ return Object.prototype.hasOwnProperty.call(row, key) ? row[key] : def;
51
+ };
52
+ }
53
+ }
54
+ };
55
+ var toPathSetter = function (path) {
56
+ if (path.length <= 1) {
57
+ var key_2 = path[0];
58
+ return function (row, columnIndex, cell) {
59
+ row[key_2] = cell;
60
+ };
61
+ }
62
+ else {
63
+ return function (row, columnIndex, cell) {
64
+ for (var i = 0, imax = path.length - 1; i < imax; ++i) {
65
+ row = row[path[i]] || {};
66
+ }
67
+ row[path[path.length - 1]] = cell;
68
+ };
69
+ }
70
+ };
71
+ var toAlign = function (options, type) {
72
+ var align = options.align;
73
+ if (align != null) {
74
+ if (isString(align)) {
75
+ return DAlignHorizontal[align];
76
+ }
77
+ else {
78
+ return align;
79
+ }
80
+ }
81
+ switch (type) {
82
+ case DTableColumnType.TEXT:
83
+ case DTableColumnType.TEXT_AREA:
84
+ return DAlignHorizontal.LEFT;
85
+ case DTableColumnType.REAL:
86
+ case DTableColumnType.INTEGER:
87
+ return DAlignHorizontal.RIGHT;
88
+ case DTableColumnType.BUTTON:
89
+ case DTableColumnType.INDEX:
90
+ case DTableColumnType.SELECT:
91
+ case DTableColumnType.ACTION:
92
+ case DTableColumnType.LINK:
93
+ case DTableColumnType.CHECK:
94
+ case DTableColumnType.CHECK_SINGLE:
95
+ case DTableColumnType.COLOR:
96
+ return DAlignHorizontal.CENTER;
97
+ default:
98
+ return DAlignHorizontal.LEFT;
99
+ }
100
+ };
101
+ var toDataChecker = function (path) {
102
+ if (path != null) {
103
+ var pathLength_1 = path.length;
104
+ if (pathLength_1 <= 1) {
105
+ var key_3 = path[0];
106
+ return function (row) {
107
+ return Object.prototype.hasOwnProperty.call(row, key_3);
108
+ };
109
+ }
110
+ else {
111
+ return function (row) {
112
+ for (var i = 0; i < pathLength_1; ++i) {
113
+ var part = path[i];
114
+ if (part in row) {
115
+ row = row[part];
116
+ }
117
+ else {
118
+ return false;
119
+ }
120
+ }
121
+ return true;
122
+ };
123
+ }
124
+ }
125
+ return function (row, columnIndex) {
126
+ return columnIndex < row.length;
127
+ };
128
+ };
129
+ var toEditingEnable = function (enable, path) {
130
+ if (isString(enable)) {
131
+ return toDataChecker(path);
132
+ }
133
+ else if (enable != null) {
134
+ return enable;
135
+ }
136
+ else {
137
+ return false;
138
+ }
139
+ };
140
+ var toEditing = function (options, path) {
141
+ var _a;
142
+ var editing = options.editing;
143
+ var editable = options.editable;
144
+ if (editing) {
145
+ return {
146
+ enable: toEditingEnable((_a = editing.enable) !== null && _a !== void 0 ? _a : editable, path),
147
+ formatter: editing.formatter,
148
+ unformatter: editing.unformatter,
149
+ validator: editing.validator
150
+ };
151
+ }
152
+ return {
153
+ enable: toEditingEnable(editable, path)
154
+ };
155
+ };
156
+ var toComparator = function (getter, index) {
157
+ return function (rowA, rowB) {
158
+ var valueA = getter(rowA, index);
159
+ var valueB = getter(rowB, index);
160
+ return valueA < valueB ? -1 : valueB < valueA ? +1 : 0;
161
+ };
162
+ };
163
+ var toSorting = function (getter, index, options) {
164
+ var sorting = options.sorting;
165
+ var sortable = options.sortable;
166
+ if (sorting) {
167
+ if (sorting.enable || sortable) {
168
+ return {
169
+ enable: true,
170
+ comparator: sorting.comparator || toComparator(getter, index)
171
+ };
172
+ }
173
+ return {
174
+ enable: false
175
+ };
176
+ }
177
+ if (sortable) {
178
+ return {
179
+ enable: true,
180
+ comparator: toComparator(getter, index)
181
+ };
182
+ }
183
+ return {
184
+ enable: false
185
+ };
186
+ };
187
+ var toMenu = function (options) {
188
+ if (options == null) {
189
+ return undefined;
190
+ }
191
+ else if (options instanceof DMenu) {
192
+ return options;
193
+ }
194
+ else {
195
+ return new DMenu(options);
196
+ }
197
+ };
198
+ var toDialog = function (options) {
199
+ if (options == null) {
200
+ return undefined;
201
+ }
202
+ else if ("open" in options) {
203
+ return options;
204
+ }
205
+ else {
206
+ return new DDialogSelect(options);
207
+ }
208
+ };
209
+ var defaultSelectingGetter = function (dialog) {
210
+ return dialog.value;
211
+ };
212
+ var defaultSelectingSetter = function () {
213
+ // DO NOTHING
214
+ };
215
+ var toSelecting = function (options) {
216
+ if (options) {
217
+ return {
218
+ getter: options.getter || defaultSelectingGetter,
219
+ setter: options.setter || defaultSelectingSetter,
220
+ menu: toMenu(options.menu),
221
+ multiple: toMenu(options.multiple),
222
+ dialog: toDialog(options.dialog),
223
+ promise: options.promise
224
+ };
225
+ }
226
+ return {
227
+ getter: defaultSelectingGetter,
228
+ setter: defaultSelectingSetter
229
+ };
230
+ };
231
+ var toGetter = function (options, type, parts) {
232
+ var getter = options.getter;
233
+ if (getter) {
234
+ return getter;
235
+ }
236
+ switch (type) {
237
+ case DTableColumnType.ACTION:
238
+ case DTableColumnType.LINK:
239
+ return defaultGetterEmpty;
240
+ default:
241
+ if (parts == null) {
242
+ return defaultGetter;
243
+ }
244
+ else {
245
+ return toPathGetter(parts, options.default);
246
+ }
247
+ }
248
+ };
249
+ var toSetter = function (options, type, path) {
250
+ var setter = options.setter;
251
+ if (setter) {
252
+ return setter;
253
+ }
254
+ switch (type) {
255
+ case DTableColumnType.BUTTON:
256
+ case DTableColumnType.ACTION:
257
+ case DTableColumnType.LINK:
258
+ return defaultSetterEmpty;
259
+ default:
260
+ if (path == null) {
261
+ return defaultSetter;
262
+ }
263
+ else {
264
+ return toPathSetter(path);
265
+ }
266
+ }
267
+ };
268
+ var toState = function (options) {
269
+ var state = options.state;
270
+ if (state != null) {
271
+ if (isString(state) || isArray(state)) {
272
+ return {
273
+ initial: state,
274
+ modifier: undefined
275
+ };
276
+ }
277
+ else {
278
+ return {
279
+ initial: undefined,
280
+ modifier: state
281
+ };
282
+ }
283
+ }
284
+ return {
285
+ initial: undefined,
286
+ modifier: undefined
287
+ };
288
+ };
289
+ var toPath = function (options) {
290
+ return options.path != null ? options.path.split(".") : null;
291
+ };
292
+ var toRenderable = function (options, path) {
293
+ var renderable = options.renderable;
294
+ if (isString(renderable)) {
295
+ return toDataChecker(path);
296
+ }
297
+ else if (renderable != null) {
298
+ return renderable;
299
+ }
300
+ return true;
301
+ };
302
+ var DTableColumnImpl = /** @class */ (function (_super) {
303
+ __extends(DTableColumnImpl, _super);
304
+ function DTableColumnImpl(index, options) {
305
+ var _a, _b, _c;
306
+ var _this = _super.call(this) || this;
307
+ var weight = options.weight;
308
+ var width = options.width;
309
+ if (weight != null) {
310
+ if (width != null) {
311
+ width = undefined;
312
+ }
313
+ }
314
+ else if (width == null) {
315
+ weight = 1;
316
+ }
317
+ var type = toEnum((_a = options.type) !== null && _a !== void 0 ? _a : DTableColumnType.TEXT, DTableColumnType);
318
+ var align = toAlign(options, type);
319
+ var label = options.label || "";
320
+ var path = toPath(options);
321
+ var getter = toGetter(options, type, path);
322
+ var setter = toSetter(options, type, path);
323
+ _this._weight = weight;
324
+ _this._width = width;
325
+ _this.resizable = (_b = options.resizable) !== null && _b !== void 0 ? _b : false;
326
+ _this.type = type;
327
+ _this.label = label;
328
+ _this.getter = getter;
329
+ _this.setter = setter;
330
+ _this.formatter = options.formatter;
331
+ _this.renderable = toRenderable(options, path);
332
+ _this.align = align;
333
+ _this.state = toState(options);
334
+ _this.editing = toEditing(options, path);
335
+ _this.sorting = toSorting(getter, index, options);
336
+ _this.header = options.header;
337
+ _this.body = options.body;
338
+ _this.selecting = toSelecting(options.selecting);
339
+ _this.category = options.category;
340
+ _this.frozen = options.frozen;
341
+ _this.offset = 0.0;
342
+ _this.link = options.link;
343
+ _this.update = toEnum((_c = options.update) !== null && _c !== void 0 ? _c : DTableColumnUpdate.CELL, DTableColumnUpdate);
344
+ return _this;
345
+ }
346
+ Object.defineProperty(DTableColumnImpl.prototype, "weight", {
347
+ get: function () {
348
+ return this._weight;
349
+ },
350
+ set: function (weight) {
351
+ if (this._weight != null && this._weight !== weight) {
352
+ this._weight = weight;
353
+ this.emit("resize", this);
354
+ }
355
+ },
356
+ enumerable: false,
357
+ configurable: true
358
+ });
359
+ Object.defineProperty(DTableColumnImpl.prototype, "width", {
360
+ get: function () {
361
+ return this._width;
362
+ },
363
+ set: function (width) {
364
+ if (this._width != null && this._width !== width) {
365
+ this._width = width;
366
+ this.emit("resize", this);
367
+ }
368
+ },
369
+ enumerable: false,
370
+ configurable: true
371
+ });
372
+ return DTableColumnImpl;
373
+ }(utils.EventEmitter));
374
+ export { DTableColumnImpl };
375
+ //# sourceMappingURL=d-table-column-impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d-table-column-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-impl.ts"],"names":[],"mappings":"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","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DDialogSelect, DDialogSelectOptions } from \"./d-dialog-select\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DTableBodyCellLinkLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DTableColumn, DTableColumnOptions } from \"./d-table-column\";\nimport { DTableColumnEditable, DTableColumnEditing } from \"./d-table-column-editing\";\nimport { DTableColumnFormatter } from \"./d-table-column-formatter\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnSorting } from \"./d-table-column-sorting\";\nimport { DTableColumnState } from \"./d-table-column-state\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\nimport { DTableDataComparatorFunction } from \"./d-table-data-sorter\";\nimport { DTableHeaderCellOptions, DThemeTableHeaderCell } from \"./d-table-header-cell\";\nimport { isArray } from \"./util/is-array\";\nimport { isString } from \"./util/is-string\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst defaultGetter = <ROW, CELL>(row: ROW, columnIndex: number): CELL => {\n\treturn (row as any)[columnIndex];\n};\n\nconst defaultSetter = <ROW, CELL>(row: ROW, columnIndex: number, cell: CELL): void => {\n\t(row as any)[columnIndex] = cell;\n};\n\nconst defaultGetterEmpty = <CELL>(): CELL => \"\" as any;\n\nconst defaultSetterEmpty = (): void => {\n\t// DO NOTHING\n};\n\nconst toPathGetter = <ROW, CELL>(path: string[], def?: CELL): DTableColumnGetter<ROW, CELL> => {\n\tif (path.length <= 1) {\n\t\tconst key = path[0];\n\t\tif (def === undefined) {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\treturn (row as any)[key];\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key) ? (row as any)[key] : def;\n\t\t\t};\n\t\t}\n\t} else {\n\t\tif (def === undefined) {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\t\trow = (row as any)[path[i]];\n\t\t\t\t}\n\t\t\t\treturn (row as any)[path[path.length - 1]];\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: ROW): CELL => {\n\t\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\t\trow = (row as any)[path[i]];\n\t\t\t\t}\n\t\t\t\tconst key = path[path.length - 1];\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key) ? (row as any)[key] : def;\n\t\t\t};\n\t\t}\n\t}\n};\n\nconst toPathSetter = <ROW, CELL>(path: string[]): DTableColumnSetter<ROW, CELL> => {\n\tif (path.length <= 1) {\n\t\tconst key = path[0];\n\t\treturn (row: ROW, columnIndex: number, cell: CELL): void => {\n\t\t\t(row as any)[key] = cell;\n\t\t};\n\t} else {\n\t\treturn (row: ROW, columnIndex: number, cell: CELL): void => {\n\t\t\tfor (let i = 0, imax = path.length - 1; i < imax; ++i) {\n\t\t\t\trow = (row as any)[path[i]] || {};\n\t\t\t}\n\t\t\t(row as any)[path[path.length - 1]] = cell;\n\t\t};\n\t}\n};\n\nconst toAlign = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType\n): DAlignHorizontal => {\n\tconst align = options.align;\n\tif (align != null) {\n\t\tif (isString(align)) {\n\t\t\treturn DAlignHorizontal[align];\n\t\t} else {\n\t\t\treturn align;\n\t\t}\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.TEXT:\n\t\tcase DTableColumnType.TEXT_AREA:\n\t\t\treturn DAlignHorizontal.LEFT;\n\t\tcase DTableColumnType.REAL:\n\t\tcase DTableColumnType.INTEGER:\n\t\t\treturn DAlignHorizontal.RIGHT;\n\t\tcase DTableColumnType.BUTTON:\n\t\tcase DTableColumnType.INDEX:\n\t\tcase DTableColumnType.SELECT:\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\tcase DTableColumnType.CHECK:\n\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\tcase DTableColumnType.COLOR:\n\t\t\treturn DAlignHorizontal.CENTER;\n\t\tdefault:\n\t\t\treturn DAlignHorizontal.LEFT;\n\t}\n};\n\nconst toDataChecker = <ROW>(path: string[] | null): DTableColumnEditable<ROW> => {\n\tif (path != null) {\n\t\tconst pathLength = path.length;\n\t\tif (pathLength <= 1) {\n\t\t\tconst key = path[0];\n\t\t\treturn (row: ROW): boolean => {\n\t\t\t\treturn Object.prototype.hasOwnProperty.call(row, key);\n\t\t\t};\n\t\t} else {\n\t\t\treturn (row: any): boolean => {\n\t\t\t\tfor (let i = 0; i < pathLength; ++i) {\n\t\t\t\t\tconst part: string = path[i];\n\t\t\t\t\tif (part in row) {\n\t\t\t\t\t\trow = row[part];\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t};\n\t\t}\n\t}\n\treturn (row: any, columnIndex: number): boolean => {\n\t\treturn columnIndex < row.length;\n\t};\n};\n\nconst toEditingEnable = <ROW>(\n\tenable: boolean | DTableColumnEditable<ROW> | \"auto\" | \"AUTO\" | undefined,\n\tpath: string[] | null\n): boolean | DTableColumnEditable<ROW> => {\n\tif (isString(enable)) {\n\t\treturn toDataChecker(path);\n\t} else if (enable != null) {\n\t\treturn enable;\n\t} else {\n\t\treturn false;\n\t}\n};\n\nconst toEditing = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\tpath: string[] | null\n): DTableColumnEditing<ROW, CELL> => {\n\tconst editing = options.editing;\n\tconst editable = options.editable;\n\tif (editing) {\n\t\treturn {\n\t\t\tenable: toEditingEnable(editing.enable ?? editable, path),\n\t\t\tformatter: editing.formatter,\n\t\t\tunformatter: editing.unformatter,\n\t\t\tvalidator: editing.validator\n\t\t};\n\t}\n\treturn {\n\t\tenable: toEditingEnable(editable, path)\n\t};\n};\n\nconst toComparator = <ROW, CELL>(\n\tgetter: DTableColumnGetter<ROW, CELL>,\n\tindex: number\n): DTableDataComparatorFunction<ROW> => {\n\treturn (rowA: ROW, rowB: ROW): number => {\n\t\tconst valueA = getter(rowA, index) as any;\n\t\tconst valueB = getter(rowB, index) as any;\n\t\treturn valueA < valueB ? -1 : valueB < valueA ? +1 : 0;\n\t};\n};\n\nconst toSorting = <ROW, CELL>(\n\tgetter: DTableColumnGetter<ROW, CELL>,\n\tindex: number,\n\toptions: DTableColumnOptions<ROW, CELL>\n): DTableColumnSorting<ROW> => {\n\tconst sorting = options.sorting;\n\tconst sortable = options.sortable;\n\tif (sorting) {\n\t\tif (sorting.enable || sortable) {\n\t\t\treturn {\n\t\t\t\tenable: true,\n\t\t\t\tcomparator: sorting.comparator || toComparator(getter, index)\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tenable: false\n\t\t};\n\t}\n\tif (sortable) {\n\t\treturn {\n\t\t\tenable: true,\n\t\t\tcomparator: toComparator(getter, index)\n\t\t};\n\t}\n\treturn {\n\t\tenable: false\n\t};\n};\n\nconst toMenu = (options?: DMenuOptions<unknown> | DMenu<unknown>): DMenu<unknown> | undefined => {\n\tif (options == null) {\n\t\treturn undefined;\n\t} else if (options instanceof DMenu) {\n\t\treturn options;\n\t} else {\n\t\treturn new DMenu(options);\n\t}\n};\n\nconst toDialog = (\n\toptions?: DDialogSelectOptions<unknown> | DTableColumnSelectingDialog<unknown>\n): DTableColumnSelectingDialog<unknown> | undefined => {\n\tif (options == null) {\n\t\treturn undefined;\n\t} else if (\"open\" in options) {\n\t\treturn options;\n\t} else {\n\t\treturn new DDialogSelect(options);\n\t}\n};\n\nconst defaultSelectingGetter = (dialog: DTableColumnSelectingDialog<unknown>): unknown => {\n\treturn dialog.value;\n};\n\nconst defaultSelectingSetter = (): void => {\n\t// DO NOTHING\n};\n\nconst toSelecting = (\n\toptions: DTableColumnSelectingOptions<any, any, any> | undefined\n): DTableColumnSelecting<any, any, any> => {\n\tif (options) {\n\t\treturn {\n\t\t\tgetter: options.getter || defaultSelectingGetter,\n\t\t\tsetter: options.setter || defaultSelectingSetter,\n\t\t\tmenu: toMenu(options.menu),\n\t\t\tmultiple: toMenu(options.multiple),\n\t\t\tdialog: toDialog(options.dialog),\n\t\t\tpromise: options.promise\n\t\t};\n\t}\n\treturn {\n\t\tgetter: defaultSelectingGetter,\n\t\tsetter: defaultSelectingSetter\n\t};\n};\n\nconst toGetter = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType,\n\tparts: string[] | null\n): DTableColumnGetter<ROW, CELL> => {\n\tconst getter = options.getter;\n\tif (getter) {\n\t\treturn getter;\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\t\treturn defaultGetterEmpty;\n\t\tdefault:\n\t\t\tif (parts == null) {\n\t\t\t\treturn defaultGetter;\n\t\t\t} else {\n\t\t\t\treturn toPathGetter(parts, options.default);\n\t\t\t}\n\t}\n};\n\nconst toSetter = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\ttype: DTableColumnType,\n\tpath: string[] | null\n): DTableColumnSetter<ROW, CELL> => {\n\tconst setter = options.setter;\n\tif (setter) {\n\t\treturn setter;\n\t}\n\tswitch (type) {\n\t\tcase DTableColumnType.BUTTON:\n\t\tcase DTableColumnType.ACTION:\n\t\tcase DTableColumnType.LINK:\n\t\t\treturn defaultSetterEmpty;\n\t\tdefault:\n\t\t\tif (path == null) {\n\t\t\t\treturn defaultSetter;\n\t\t\t} else {\n\t\t\t\treturn toPathSetter(path);\n\t\t\t}\n\t}\n};\n\nconst toState = <ROW, CELL>(options: DTableColumnOptions<ROW, CELL>): DTableColumnState<ROW> => {\n\tconst state = options.state;\n\tif (state != null) {\n\t\tif (isString(state) || isArray(state)) {\n\t\t\treturn {\n\t\t\t\tinitial: state,\n\t\t\t\tmodifier: undefined\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tinitial: undefined,\n\t\t\t\tmodifier: state\n\t\t\t};\n\t\t}\n\t}\n\treturn {\n\t\tinitial: undefined,\n\t\tmodifier: undefined\n\t};\n};\n\nconst toPath = <ROW, CELL>(options: DTableColumnOptions<ROW, CELL>): string[] | null => {\n\treturn options.path != null ? options.path.split(\".\") : null;\n};\n\nconst toRenderable = <ROW, CELL>(\n\toptions: DTableColumnOptions<ROW, CELL>,\n\tpath: string[] | null\n): boolean | DTableColumnRenderable<ROW> => {\n\tconst renderable = options.renderable;\n\tif (isString(renderable)) {\n\t\treturn toDataChecker(path);\n\t} else if (renderable != null) {\n\t\treturn renderable;\n\t}\n\treturn true;\n};\n\nexport class DTableColumnImpl<\n\t\tROW_VALUE,\n\t\tCELL_VALUE,\n\t\tDIALOG_VALUE = CELL_VALUE,\n\t\tDIALOG extends\n\t\t\tDTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>\n\t>\n\textends utils.EventEmitter\n\timplements DTableColumn<ROW_VALUE, CELL_VALUE, DIALOG_VALUE, DIALOG>\n{\n\tprotected _weight?: number;\n\tprotected _width?: number;\n\treadonly resizable: boolean;\n\n\treadonly type: DTableColumnType;\n\treadonly label: string;\n\treadonly getter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\treadonly setter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\treadonly formatter?: DTableColumnFormatter<CELL_VALUE>;\n\treadonly align: DAlignHorizontal;\n\treadonly state: DTableColumnState<ROW_VALUE>;\n\treadonly renderable: boolean | DTableColumnRenderable<ROW_VALUE>;\n\n\treadonly editing: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;\n\treadonly sorting: DTableColumnSorting<ROW_VALUE>;\n\n\treadonly header?: DTableHeaderCellOptions<ROW_VALUE, DThemeTableHeaderCell>;\n\treadonly body?: DTableBodyCellOptions<ROW_VALUE>;\n\n\treadonly selecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\treadonly category?: string | string[];\n\treadonly frozen?: boolean | undefined;\n\toffset: number;\n\n\treadonly link?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\treadonly update: DTableColumnUpdate;\n\n\tconstructor(index: number, options: DTableColumnOptions<ROW_VALUE, CELL_VALUE>) {\n\t\tsuper();\n\t\tlet weight = options.weight;\n\t\tlet width = options.width;\n\t\tif (weight != null) {\n\t\t\tif (width != null) {\n\t\t\t\twidth = undefined;\n\t\t\t}\n\t\t} else if (width == null) {\n\t\t\tweight = 1;\n\t\t}\n\t\tconst type = toEnum(options.type ?? DTableColumnType.TEXT, DTableColumnType);\n\t\tconst align = toAlign(options, type);\n\t\tconst label = options.label || \"\";\n\t\tconst path = toPath(options);\n\t\tconst getter = toGetter(options, type, path);\n\t\tconst setter = toSetter(options, type, path);\n\n\t\tthis._weight = weight;\n\t\tthis._width = width;\n\t\tthis.resizable = options.resizable ?? false;\n\t\tthis.type = type;\n\t\tthis.label = label;\n\t\tthis.getter = getter;\n\t\tthis.setter = setter;\n\t\tthis.formatter = options.formatter;\n\t\tthis.renderable = toRenderable(options, path);\n\t\tthis.align = align;\n\t\tthis.state = toState(options);\n\n\t\tthis.editing = toEditing(options, path);\n\t\tthis.sorting = toSorting(getter, index, options);\n\n\t\tthis.header = options.header;\n\t\tthis.body = options.body;\n\n\t\tthis.selecting = toSelecting(options.selecting);\n\n\t\tthis.category = options.category;\n\t\tthis.frozen = options.frozen;\n\t\tthis.offset = 0.0;\n\n\t\tthis.link = options.link;\n\n\t\tthis.update = toEnum(options.update ?? DTableColumnUpdate.CELL, DTableColumnUpdate);\n\t}\n\n\tget weight(): number | undefined {\n\t\treturn this._weight;\n\t}\n\n\tset weight(weight: number) {\n\t\tif (this._weight != null && this._weight !== weight) {\n\t\t\tthis._weight = weight;\n\t\t\tthis.emit(\"resize\", this);\n\t\t}\n\t}\n\n\tget width(): number | undefined {\n\t\treturn this._width;\n\t}\n\n\tset width(width: number) {\n\t\tif (this._width != null && this._width !== width) {\n\t\t\tthis._width = width;\n\t\t\tthis.emit(\"resize\", this);\n\t\t}\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-column.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DTableBodyCellLinkLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport {\n\tDTableColumnEditing,\n\tDTableColumnEditingOptions,\n\tDTableColumnEditable\n} from \"./d-table-column-editing\";\nimport { DTableColumnFormatter } from \"./d-table-column-formatter\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnSorting, DTableColumnSortingOptions } from \"./d-table-column-sorting\";\nimport { DTableColumnState, DTableColumnStateModifier } from \"./d-table-column-state\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\nimport { DTableHeaderCellOptions } from \"./d-table-header-cell\";\n\nexport interface DTableColumnOptions<\n\tROW_VALUE,\n\tCELL_VALUE = any,\n\tDIALOG_VALUE = any,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = any\n> {\n\tweight?: number;\n\twidth?: number;\n\n\ttype?: keyof typeof DTableColumnType | DTableColumnType;\n\tlabel?: string;\n\tgetter?: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\tsetter?: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\tpath?: string;\n\tdefault?: CELL_VALUE;\n\n\t/**\n\t * A shortcut of body#text#formatter.\n\t */\n\tformatter?: DTableColumnFormatter<CELL_VALUE>;\n\n\t/**\n\t * A shortcut of body#text#align#horizontal.\n\t */\n\talign?: keyof typeof DAlignHorizontal | DAlignHorizontal;\n\n\t/**\n\t * A state option.\n\t */\n\tstate?: string | string[] | DTableColumnStateModifier<ROW_VALUE>;\n\n\t/**\n\t * If the renderable is\n\t *\n\t * * true, cells get rendered.\n\t * * false, cells do not get rendered.\n\t * * a function, cells get rendered only when that function returns true.\n\t * * \"AUTO\", cells get rendered only when the cell data exit.\n\t */\n\trenderable?: boolean | DTableColumnRenderable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\n\t/**\n\t * If the editable is\n\t *\n\t * * true, cells get editable.\n\t * * false, cells do not get editable.\n\t * * a function, cells are editable only when that function returns true.\n\t * * \"AUTO\", cells are editable only when the cell data exist.\n\t */\n\teditable?: boolean | DTableColumnEditable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\tediting?: DTableColumnEditingOptions<ROW_VALUE, CELL_VALUE>;\n\n\tsortable?: boolean;\n\tsorting?: DTableColumnSortingOptions<ROW_VALUE>;\n\n\theader?: DTableHeaderCellOptions<ROW_VALUE>;\n\tbody?: DTableBodyCellOptions<ROW_VALUE>;\n\n\tselecting?: DTableColumnSelectingOptions<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\tcategory?: string | string[];\n\tfrozen?: boolean;\n\n\tlink?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\t/**\n\t * An update region when cells get edited.\n\t *\n\t * * CELL: Edited cells (Default).\n\t * * ROW: Rows that edited cells belongs to.\n\t * * ALL: All the rows.\n\t */\n\tupdate?: keyof typeof DTableColumnUpdate | DTableColumnUpdate;\n}\n\nexport interface DTableColumn<\n\tROW_VALUE,\n\tCELL_VALUE,\n\tDIALOG_VALUE = CELL_VALUE,\n\tDIALOG extends\n\t\tDTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>\n> {\n\tweight: number | undefined;\n\twidth: number | undefined;\n\n\ttype: DTableColumnType;\n\tlabel: string;\n\tgetter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\tsetter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\tformatter?: DTableColumnFormatter<CELL_VALUE>;\n\talign: DAlignHorizontal;\n\tstate: DTableColumnState<ROW_VALUE>;\n\trenderable: boolean | DTableColumnRenderable<ROW_VALUE>;\n\n\tediting: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;\n\tsorting: DTableColumnSorting<ROW_VALUE>;\n\n\theader?: DTableHeaderCellOptions<ROW_VALUE>;\n\tbody?: DTableBodyCellOptions<ROW_VALUE>;\n\n\tselecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\tcategory?: string | string[];\n\tfrozen?: boolean;\n\toffset: number;\n\n\tlink?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\tupdate: DTableColumnUpdate;\n}\n"]}
1
+ {"version":3,"file":"d-table-column.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DTableBodyCellLinkLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport {\n\tDTableColumnEditing,\n\tDTableColumnEditingOptions,\n\tDTableColumnEditable\n} from \"./d-table-column-editing\";\nimport { DTableColumnFormatter } from \"./d-table-column-formatter\";\nimport { DTableColumnGetter } from \"./d-table-column-getter\";\nimport { DTableColumnRenderable } from \"./d-table-column-renderable\";\nimport {\n\tDTableColumnSelecting,\n\tDTableColumnSelectingDialog,\n\tDTableColumnSelectingOptions\n} from \"./d-table-column-selecting\";\nimport { DTableColumnSetter } from \"./d-table-column-setter\";\nimport { DTableColumnSorting, DTableColumnSortingOptions } from \"./d-table-column-sorting\";\nimport { DTableColumnState, DTableColumnStateModifier } from \"./d-table-column-state\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\nimport { DTableHeaderCellOptions } from \"./d-table-header-cell\";\n\nexport interface DTableColumnOptions<\n\tROW_VALUE,\n\tCELL_VALUE = any,\n\tDIALOG_VALUE = any,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE> = any\n> {\n\tweight?: number;\n\twidth?: number;\n\tresizable?: boolean;\n\n\ttype?: keyof typeof DTableColumnType | DTableColumnType;\n\tlabel?: string;\n\tgetter?: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\tsetter?: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\tpath?: string;\n\tdefault?: CELL_VALUE;\n\n\t/**\n\t * A shortcut of body#text#formatter.\n\t */\n\tformatter?: DTableColumnFormatter<CELL_VALUE>;\n\n\t/**\n\t * A shortcut of body#text#align#horizontal.\n\t */\n\talign?: keyof typeof DAlignHorizontal | DAlignHorizontal;\n\n\t/**\n\t * A state option.\n\t */\n\tstate?: string | string[] | DTableColumnStateModifier<ROW_VALUE>;\n\n\t/**\n\t * If the renderable is\n\t *\n\t * * true, cells get rendered.\n\t * * false, cells do not get rendered.\n\t * * a function, cells get rendered only when that function returns true.\n\t * * \"AUTO\", cells get rendered only when the cell data exit.\n\t */\n\trenderable?: boolean | DTableColumnRenderable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\n\t/**\n\t * If the editable is\n\t *\n\t * * true, cells get editable.\n\t * * false, cells do not get editable.\n\t * * a function, cells are editable only when that function returns true.\n\t * * \"AUTO\", cells are editable only when the cell data exist.\n\t */\n\teditable?: boolean | DTableColumnEditable<ROW_VALUE> | \"auto\" | \"AUTO\";\n\tediting?: DTableColumnEditingOptions<ROW_VALUE, CELL_VALUE>;\n\n\tsortable?: boolean;\n\tsorting?: DTableColumnSortingOptions<ROW_VALUE>;\n\n\theader?: DTableHeaderCellOptions<ROW_VALUE>;\n\tbody?: DTableBodyCellOptions<ROW_VALUE>;\n\n\tselecting?: DTableColumnSelectingOptions<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\tcategory?: string | string[];\n\tfrozen?: boolean;\n\n\tlink?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\t/**\n\t * An update region when cells get edited.\n\t *\n\t * * CELL: Edited cells (Default).\n\t * * ROW: Rows that edited cells belongs to.\n\t * * ALL: All the rows.\n\t */\n\tupdate?: keyof typeof DTableColumnUpdate | DTableColumnUpdate;\n}\n\nexport interface DTableColumn<\n\tROW_VALUE,\n\tCELL_VALUE = unknown,\n\tDIALOG_VALUE = CELL_VALUE,\n\tDIALOG extends\n\t\tDTableColumnSelectingDialog<DIALOG_VALUE> = DTableColumnSelectingDialog<DIALOG_VALUE>\n> extends utils.EventEmitter {\n\tweight?: number;\n\twidth?: number;\n\treadonly resizable: boolean;\n\n\treadonly type: DTableColumnType;\n\tlabel: string;\n\treadonly getter: DTableColumnGetter<ROW_VALUE, CELL_VALUE>;\n\treadonly setter: DTableColumnSetter<ROW_VALUE, CELL_VALUE>;\n\treadonly formatter?: DTableColumnFormatter<CELL_VALUE>;\n\treadonly align: DAlignHorizontal;\n\treadonly state: DTableColumnState<ROW_VALUE>;\n\treadonly renderable: boolean | DTableColumnRenderable<ROW_VALUE>;\n\n\treadonly editing: DTableColumnEditing<ROW_VALUE, CELL_VALUE>;\n\treadonly sorting: DTableColumnSorting<ROW_VALUE>;\n\n\treadonly header?: DTableHeaderCellOptions<ROW_VALUE>;\n\treadonly body?: DTableBodyCellOptions<ROW_VALUE>;\n\n\treadonly selecting: DTableColumnSelecting<CELL_VALUE, DIALOG_VALUE, DIALOG>;\n\n\treadonly category?: string | string[];\n\treadonly frozen?: boolean;\n\toffset: number;\n\n\treadonly link?: DTableBodyCellLinkLinkOptions<ROW_VALUE, CELL_VALUE>;\n\n\treadonly update: DTableColumnUpdate;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-header-cell-check.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header-cell-check.ts"],"names":[],"mappings":"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","sourcesContent":["import { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableHeaderTable } from \"./d-table-header\";\nimport { DTableHeaderCellHeader } from \"./d-table-header-cell\";\n\nexport interface DTableHeaderCellCheckOptions {\n\tenable?: boolean;\n\tfilterable?: boolean;\n\temittable?: boolean;\n}\n\nexport interface DTableHeaderCellCheckParent<ROW> {\n\treadonly column?: DTableColumn<ROW, unknown>;\n\treadonly columnIndex?: number;\n\treadonly header?: DTableHeaderCellHeader<ROW>;\n}\n\nexport class DTableHeaderCellCheck<ROW> {\n\tprotected _parent: DTableHeaderCellCheckParent<ROW>;\n\tprotected _isEnabled: boolean;\n\tprotected _isFilterable: boolean;\n\tprotected _isEmittable: boolean;\n\n\tconstructor(parent: DTableHeaderCellCheckParent<ROW>, options?: DTableHeaderCellCheckOptions) {\n\t\tthis._parent = parent;\n\t\tthis._isEnabled = options?.enable ?? false;\n\t\tthis._isFilterable = options?.filterable ?? true;\n\t\tthis._isEmittable = options?.emittable ?? true;\n\t}\n\n\tget isEnabled(): boolean {\n\t\treturn this._isEnabled;\n\t}\n\n\tget isFilterable(): boolean {\n\t\treturn this._isFilterable;\n\t}\n\n\tset isFilterable(isFilterable: boolean) {\n\t\tthis._isFilterable = isFilterable;\n\t}\n\n\tget isEmittable(): boolean {\n\t\treturn this._isEmittable;\n\t}\n\n\tset isEmittable(isEmittable: boolean) {\n\t\tthis._isEmittable = isEmittable;\n\t}\n\n\tprotected newIteratee(\n\t\ttable: DTableHeaderTable<ROW>,\n\t\tisChecked: boolean\n\t): ((row: ROW, rowIndex: number) => boolean) | null {\n\t\tconst parent = this._parent;\n\t\tconst column = parent.column;\n\t\tconst columnIndex = parent.columnIndex;\n\t\tif (column != null && columnIndex != null) {\n\t\t\tconst getter = column.getter;\n\t\t\tconst setter = column.setter;\n\t\t\tif (this._isEmittable) {\n\t\t\t\tconst data = table.data;\n\t\t\t\treturn (row: ROW, rowIndex: number): boolean => {\n\t\t\t\t\tif (getter(row, columnIndex) !== isChecked) {\n\t\t\t\t\t\tsetter(row, columnIndex, isChecked);\n\t\t\t\t\t\tdata.emit(\n\t\t\t\t\t\t\t\"change\",\n\t\t\t\t\t\t\tisChecked,\n\t\t\t\t\t\t\t!isChecked,\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn (row: ROW): boolean => {\n\t\t\t\t\tif (getter(row, columnIndex) !== isChecked) {\n\t\t\t\t\t\tsetter(row, columnIndex, isChecked);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic execute(isChecked: boolean): void {\n\t\tconst table = this._parent.header?.table;\n\t\tif (table) {\n\t\t\tconst iteratee = this.newIteratee(table, isChecked);\n\t\t\tif (iteratee) {\n\t\t\t\tlet isChanged = false;\n\t\t\t\tif (this._isFilterable) {\n\t\t\t\t\ttable.data.mapped.each(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\trow: ROW,\n\t\t\t\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\t\t\t\tindex: number,\n\t\t\t\t\t\t\tunmappedIndex: number\n\t\t\t\t\t\t): void => {\n\t\t\t\t\t\t\tif (iteratee(row, unmappedIndex)) {\n\t\t\t\t\t\t\t\tisChanged = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttable.data.each((row: ROW, index: number): void => {\n\t\t\t\t\t\tif (iteratee(row, index)) {\n\t\t\t\t\t\t\tisChanged = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (isChanged) {\n\t\t\t\t\ttable.body.update(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-header-cell-check.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header-cell-check.ts"],"names":[],"mappings":"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","sourcesContent":["import { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableHeaderTable } from \"./d-table-header\";\nimport { DTableHeaderCellHeader } from \"./d-table-header-cell\";\n\nexport interface DTableHeaderCellCheckOptions {\n\tenable?: boolean;\n\tfilterable?: boolean;\n\temittable?: boolean;\n}\n\nexport interface DTableHeaderCellCheckParent<ROW> {\n\treadonly column?: DTableColumn<ROW>;\n\treadonly columnIndex?: number;\n\treadonly header?: DTableHeaderCellHeader<ROW>;\n}\n\nexport class DTableHeaderCellCheck<ROW> {\n\tprotected _parent: DTableHeaderCellCheckParent<ROW>;\n\tprotected _isEnabled: boolean;\n\tprotected _isFilterable: boolean;\n\tprotected _isEmittable: boolean;\n\n\tconstructor(parent: DTableHeaderCellCheckParent<ROW>, options?: DTableHeaderCellCheckOptions) {\n\t\tthis._parent = parent;\n\t\tthis._isEnabled = options?.enable ?? false;\n\t\tthis._isFilterable = options?.filterable ?? true;\n\t\tthis._isEmittable = options?.emittable ?? true;\n\t}\n\n\tget isEnabled(): boolean {\n\t\treturn this._isEnabled;\n\t}\n\n\tget isFilterable(): boolean {\n\t\treturn this._isFilterable;\n\t}\n\n\tset isFilterable(isFilterable: boolean) {\n\t\tthis._isFilterable = isFilterable;\n\t}\n\n\tget isEmittable(): boolean {\n\t\treturn this._isEmittable;\n\t}\n\n\tset isEmittable(isEmittable: boolean) {\n\t\tthis._isEmittable = isEmittable;\n\t}\n\n\tprotected newIteratee(\n\t\ttable: DTableHeaderTable<ROW>,\n\t\tisChecked: boolean\n\t): ((row: ROW, rowIndex: number) => boolean) | null {\n\t\tconst parent = this._parent;\n\t\tconst column = parent.column;\n\t\tconst columnIndex = parent.columnIndex;\n\t\tif (column != null && columnIndex != null) {\n\t\t\tconst getter = column.getter;\n\t\t\tconst setter = column.setter;\n\t\t\tif (this._isEmittable) {\n\t\t\t\tconst data = table.data;\n\t\t\t\treturn (row: ROW, rowIndex: number): boolean => {\n\t\t\t\t\tif (getter(row, columnIndex) !== isChecked) {\n\t\t\t\t\t\tsetter(row, columnIndex, isChecked);\n\t\t\t\t\t\tdata.emit(\n\t\t\t\t\t\t\t\"change\",\n\t\t\t\t\t\t\tisChecked,\n\t\t\t\t\t\t\t!isChecked,\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn (row: ROW): boolean => {\n\t\t\t\t\tif (getter(row, columnIndex) !== isChecked) {\n\t\t\t\t\t\tsetter(row, columnIndex, isChecked);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic execute(isChecked: boolean): void {\n\t\tconst table = this._parent.header?.table;\n\t\tif (table) {\n\t\t\tconst iteratee = this.newIteratee(table, isChecked);\n\t\t\tif (iteratee) {\n\t\t\t\tlet isChanged = false;\n\t\t\t\tif (this._isFilterable) {\n\t\t\t\t\ttable.data.mapped.each(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\trow: ROW,\n\t\t\t\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\t\t\t\tindex: number,\n\t\t\t\t\t\t\tunmappedIndex: number\n\t\t\t\t\t\t): void => {\n\t\t\t\t\t\t\tif (iteratee(row, unmappedIndex)) {\n\t\t\t\t\t\t\t\tisChanged = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttable.data.each((row: ROW, index: number): void => {\n\t\t\t\t\t\tif (iteratee(row, index)) {\n\t\t\t\t\t\t\tisChanged = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (isChanged) {\n\t\t\t\t\ttable.body.update(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}