@wcardinal/wcardinal-ui 0.367.0 → 0.369.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 (127) hide show
  1. package/dist/types/wcardinal/ui/d-table-body-cell-action-menu.d.ts +2 -1
  2. package/dist/types/wcardinal/ui/d-table-body-cell-check.d.ts +2 -1
  3. package/dist/types/wcardinal/ui/d-table-body-cell-color.d.ts +2 -1
  4. package/dist/types/wcardinal/ui/d-table-body-cell-date.d.ts +2 -1
  5. package/dist/types/wcardinal/ui/d-table-body-cell-datetime.d.ts +2 -1
  6. package/dist/types/wcardinal/ui/d-table-body-cell-index.d.ts +3 -2
  7. package/dist/types/wcardinal/ui/d-table-body-cell-input-integer.d.ts +2 -1
  8. package/dist/types/wcardinal/ui/d-table-body-cell-input-real.d.ts +2 -1
  9. package/dist/types/wcardinal/ui/d-table-body-cell-input-text-area.d.ts +24 -0
  10. package/dist/types/wcardinal/ui/d-table-body-cell-input-text.d.ts +2 -1
  11. package/dist/types/wcardinal/ui/d-table-body-cell-input-tree.d.ts +2 -1
  12. package/dist/types/wcardinal/ui/d-table-body-cell-select-dialog.d.ts +2 -1
  13. package/dist/types/wcardinal/ui/d-table-body-cell-select-menu.d.ts +2 -1
  14. package/dist/types/wcardinal/ui/d-table-body-cell-select-multiple.d.ts +2 -1
  15. package/dist/types/wcardinal/ui/d-table-body-cell-select-promise.d.ts +2 -1
  16. package/dist/types/wcardinal/ui/d-table-body-cell-text-area.d.ts +8 -0
  17. package/dist/types/wcardinal/ui/d-table-body-cell-text.d.ts +2 -1
  18. package/dist/types/wcardinal/ui/d-table-body-cell-time.d.ts +2 -1
  19. package/dist/types/wcardinal/ui/d-table-body-cell-tree.d.ts +2 -1
  20. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +3 -2
  21. package/dist/types/wcardinal/ui/d-table-body-row.d.ts +11 -7
  22. package/dist/types/wcardinal/ui/d-table-body.d.ts +1 -0
  23. package/dist/types/wcardinal/ui/d-table-column-type.d.ts +1 -0
  24. package/dist/types/wcardinal/ui/d-table-column-update.d.ts +13 -0
  25. package/dist/types/wcardinal/ui/d-table-column.d.ts +10 -0
  26. package/dist/types/wcardinal/ui/d-table-data-list-mapped.d.ts +2 -2
  27. package/dist/types/wcardinal/ui/d-table-data-list.d.ts +2 -2
  28. package/dist/types/wcardinal/ui/d-table-data-tree.d.ts +7 -5
  29. package/dist/types/wcardinal/ui/d-table-data.d.ts +7 -1
  30. package/dist/types/wcardinal/ui/index.d.ts +3 -0
  31. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-input-text-area.d.ts +16 -0
  32. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-text-area.d.ts +5 -0
  33. package/dist/types/wcardinal/ui/theme/dark/index.d.ts +2 -0
  34. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-body-cell-input-text-area.d.ts +16 -0
  35. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-body-cell-text-area.d.ts +5 -0
  36. package/dist/types/wcardinal/ui/theme/white/index.d.ts +2 -0
  37. package/dist/types/wcardinal/ui/util/util-attach.d.ts +1 -0
  38. package/dist/wcardinal/ui/d-dialog.js +3 -0
  39. package/dist/wcardinal/ui/d-dialog.js.map +1 -1
  40. package/dist/wcardinal/ui/d-table-body-cell-action-menu.js +3 -2
  41. package/dist/wcardinal/ui/d-table-body-cell-action-menu.js.map +1 -1
  42. package/dist/wcardinal/ui/d-table-body-cell-button.js +2 -1
  43. package/dist/wcardinal/ui/d-table-body-cell-button.js.map +1 -1
  44. package/dist/wcardinal/ui/d-table-body-cell-check.js +6 -5
  45. package/dist/wcardinal/ui/d-table-body-cell-check.js.map +1 -1
  46. package/dist/wcardinal/ui/d-table-body-cell-color.js +3 -2
  47. package/dist/wcardinal/ui/d-table-body-cell-color.js.map +1 -1
  48. package/dist/wcardinal/ui/d-table-body-cell-date.js +3 -2
  49. package/dist/wcardinal/ui/d-table-body-cell-date.js.map +1 -1
  50. package/dist/wcardinal/ui/d-table-body-cell-datetime.js +3 -2
  51. package/dist/wcardinal/ui/d-table-body-cell-datetime.js.map +1 -1
  52. package/dist/wcardinal/ui/d-table-body-cell-index.js.map +1 -1
  53. package/dist/wcardinal/ui/d-table-body-cell-input-integer.js +3 -2
  54. package/dist/wcardinal/ui/d-table-body-cell-input-integer.js.map +1 -1
  55. package/dist/wcardinal/ui/d-table-body-cell-input-real.js +3 -2
  56. package/dist/wcardinal/ui/d-table-body-cell-input-real.js.map +1 -1
  57. package/dist/wcardinal/ui/d-table-body-cell-input-text-area.js +73 -0
  58. package/dist/wcardinal/ui/d-table-body-cell-input-text-area.js.map +1 -0
  59. package/dist/wcardinal/ui/d-table-body-cell-input-text.js +3 -2
  60. package/dist/wcardinal/ui/d-table-body-cell-input-text.js.map +1 -1
  61. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js +4 -4
  62. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
  63. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js +3 -2
  64. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  65. package/dist/wcardinal/ui/d-table-body-cell-select-menu.js +3 -2
  66. package/dist/wcardinal/ui/d-table-body-cell-select-menu.js.map +1 -1
  67. package/dist/wcardinal/ui/d-table-body-cell-select-multiple.js +3 -2
  68. package/dist/wcardinal/ui/d-table-body-cell-select-multiple.js.map +1 -1
  69. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js +3 -2
  70. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  71. package/dist/wcardinal/ui/d-table-body-cell-text-area.js +18 -0
  72. package/dist/wcardinal/ui/d-table-body-cell-text-area.js.map +1 -0
  73. package/dist/wcardinal/ui/d-table-body-cell-text.js.map +1 -1
  74. package/dist/wcardinal/ui/d-table-body-cell-time.js +3 -2
  75. package/dist/wcardinal/ui/d-table-body-cell-time.js.map +1 -1
  76. package/dist/wcardinal/ui/d-table-body-cell-tree.js +1 -2
  77. package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
  78. package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
  79. package/dist/wcardinal/ui/d-table-body-row.js +27 -4
  80. package/dist/wcardinal/ui/d-table-body-row.js.map +1 -1
  81. package/dist/wcardinal/ui/d-table-body.js +10 -2
  82. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  83. package/dist/wcardinal/ui/d-table-column-type.js +2 -1
  84. package/dist/wcardinal/ui/d-table-column-type.js.map +1 -1
  85. package/dist/wcardinal/ui/d-table-column-update.js +13 -0
  86. package/dist/wcardinal/ui/d-table-column-update.js.map +1 -0
  87. package/dist/wcardinal/ui/d-table-column.js.map +1 -1
  88. package/dist/wcardinal/ui/d-table-data-list-mapped.js.map +1 -1
  89. package/dist/wcardinal/ui/d-table-data-list.js +22 -14
  90. package/dist/wcardinal/ui/d-table-data-list.js.map +1 -1
  91. package/dist/wcardinal/ui/d-table-data-tree.js +12 -0
  92. package/dist/wcardinal/ui/d-table-data-tree.js.map +1 -1
  93. package/dist/wcardinal/ui/d-table-data.js.map +1 -1
  94. package/dist/wcardinal/ui/d-table-header-cell-check.js.map +1 -1
  95. package/dist/wcardinal/ui/d-table.js +5 -2
  96. package/dist/wcardinal/ui/d-table.js.map +1 -1
  97. package/dist/wcardinal/ui/index.js +3 -0
  98. package/dist/wcardinal/ui/index.js.map +1 -1
  99. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-input-text-area.js +40 -0
  100. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-input-text-area.js.map +1 -0
  101. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-text-area.js +19 -0
  102. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cell-text-area.js.map +1 -0
  103. package/dist/wcardinal/ui/theme/dark/index.js +2 -0
  104. package/dist/wcardinal/ui/theme/dark/index.js.map +1 -1
  105. package/dist/wcardinal/ui/theme/dark/load/load-theme-dark-table.js +6 -0
  106. package/dist/wcardinal/ui/theme/dark/load/load-theme-dark-table.js.map +1 -1
  107. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cell-input-text-area.js +40 -0
  108. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cell-input-text-area.js.map +1 -0
  109. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cell-text-area.js +19 -0
  110. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cell-text-area.js.map +1 -0
  111. package/dist/wcardinal/ui/theme/white/index.js +2 -0
  112. package/dist/wcardinal/ui/theme/white/index.js.map +1 -1
  113. package/dist/wcardinal/ui/theme/white/load/load-theme-white-table.js +6 -0
  114. package/dist/wcardinal/ui/theme/white/load/load-theme-white-table.js.map +1 -1
  115. package/dist/wcardinal/ui/util/util-attach.js +5 -1
  116. package/dist/wcardinal/ui/util/util-attach.js.map +1 -1
  117. package/dist/wcardinal-ui-theme-dark.js +57 -1
  118. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  119. package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
  120. package/dist/wcardinal-ui-theme-white.js +57 -1
  121. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  122. package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
  123. package/dist/wcardinal-ui.cjs.js +342 -59
  124. package/dist/wcardinal-ui.js +230 -59
  125. package/dist/wcardinal-ui.min.js +2 -2
  126. package/dist/wcardinal-ui.min.js.map +1 -1
  127. package/package.json +1 -1
@@ -70,10 +70,10 @@ var DTableDataList = /** @class */ (function (_super) {
70
70
  enumerable: false,
71
71
  configurable: true
72
72
  });
73
- DTableDataList.prototype.update = function () {
73
+ DTableDataList.prototype.update = function (forcibly) {
74
74
  var parent = this._parent;
75
75
  if (parent) {
76
- parent.update();
76
+ parent.update(forcibly);
77
77
  }
78
78
  };
79
79
  DTableDataList.prototype.lock = function () {
@@ -82,11 +82,10 @@ var DTableDataList = /** @class */ (function (_super) {
82
82
  parent.lock();
83
83
  }
84
84
  };
85
- DTableDataList.prototype.unlock = function () {
85
+ DTableDataList.prototype.unlock = function (callIfNeeded) {
86
86
  var parent = this._parent;
87
87
  if (parent) {
88
- parent.unlock(false);
89
- parent.update();
88
+ parent.unlock(callIfNeeded);
90
89
  }
91
90
  };
92
91
  DTableDataList.prototype.size = function () {
@@ -100,7 +99,8 @@ var DTableDataList = /** @class */ (function (_super) {
100
99
  this._selection.clear();
101
100
  this._sorter.toDirty();
102
101
  this._filter.toDirty();
103
- this.unlock();
102
+ this.update();
103
+ this.unlock(true);
104
104
  }
105
105
  };
106
106
  DTableDataList.prototype.clearAndAdd = function (row) {
@@ -111,7 +111,8 @@ var DTableDataList = /** @class */ (function (_super) {
111
111
  this._selection.clear();
112
112
  this._sorter.toDirty();
113
113
  this._filter.toDirty();
114
- this.unlock();
114
+ this.update();
115
+ this.unlock(true);
115
116
  };
116
117
  DTableDataList.prototype.clearAndAddAll = function (newRows) {
117
118
  var rows = this._rows;
@@ -123,7 +124,8 @@ var DTableDataList = /** @class */ (function (_super) {
123
124
  this._selection.clear();
124
125
  this._sorter.toDirty();
125
126
  this._filter.toDirty();
126
- this.unlock();
127
+ this.update();
128
+ this.unlock(true);
127
129
  };
128
130
  DTableDataList.prototype.add = function (row, index) {
129
131
  var rows = this._rows;
@@ -135,7 +137,8 @@ var DTableDataList = /** @class */ (function (_super) {
135
137
  this.lock();
136
138
  sorter.toDirty();
137
139
  filter.toDirty();
138
- this.unlock();
140
+ this.update();
141
+ this.unlock(true);
139
142
  }
140
143
  else if (0 <= index && index < rows.length) {
141
144
  rows.splice(index, 0, row);
@@ -143,7 +146,8 @@ var DTableDataList = /** @class */ (function (_super) {
143
146
  selection.shift(index, 1);
144
147
  sorter.toDirty();
145
148
  filter.toDirty();
146
- this.unlock();
149
+ this.update();
150
+ this.unlock(true);
147
151
  }
148
152
  };
149
153
  DTableDataList.prototype.addAll = function (newRows, index) {
@@ -160,7 +164,8 @@ var DTableDataList = /** @class */ (function (_super) {
160
164
  this.lock();
161
165
  sorter.toDirty();
162
166
  filter.toDirty();
163
- this.unlock();
167
+ this.update();
168
+ this.unlock(true);
164
169
  }
165
170
  else if (0 <= index && index < rowsLength) {
166
171
  var newRowsLength = newRows.length;
@@ -171,7 +176,8 @@ var DTableDataList = /** @class */ (function (_super) {
171
176
  selection.shift(index, newRowsLength);
172
177
  sorter.toDirty();
173
178
  filter.toDirty();
174
- this.unlock();
179
+ this.update();
180
+ this.unlock(true);
175
181
  }
176
182
  };
177
183
  DTableDataList.prototype.get = function (index) {
@@ -189,7 +195,8 @@ var DTableDataList = /** @class */ (function (_super) {
189
195
  this.lock();
190
196
  this._sorter.toDirty();
191
197
  this._filter.toDirty();
192
- this.unlock();
198
+ this.update();
199
+ this.unlock(true);
193
200
  return result;
194
201
  }
195
202
  return null;
@@ -202,7 +209,8 @@ var DTableDataList = /** @class */ (function (_super) {
202
209
  this._selection.remove(index);
203
210
  this._sorter.toDirty();
204
211
  this._filter.toDirty();
205
- this.unlock();
212
+ this.update();
213
+ this.unlock(true);
206
214
  return result;
207
215
  }
208
216
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data-list.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list.ts"],"names":[],"mappings":"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","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DTableData, DTableDataMapped, DTableDataOptions, DTableDataParent } from \"./d-table-data\";\nimport { DTableDataFilter } from \"./d-table-data-filter\";\nimport { DTableDataListFilter } from \"./d-table-data-list-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataListSelection } from \"./d-table-data-list-selection\";\nimport { DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataListSorter } from \"./d-table-data-list-sorter\";\nimport { isFunction } from \"./util/is-function\";\n\nexport interface DTableDataListOptions<ROW> extends DTableDataOptions<ROW> {\n\trows?: ROW[];\n}\n\nexport class DTableDataList<ROW> extends utils.EventEmitter implements DTableData<ROW> {\n\tprotected _parent: DTableDataParent | null;\n\tprotected _rows: ROW[];\n\tprotected _filter: DTableDataListFilter<ROW>;\n\tprotected _sorter: DTableDataListSorter<ROW>;\n\tprotected _selection: DTableDataSelection<ROW>;\n\tprotected _mapped: DTableDataMapped<ROW>;\n\n\tconstructor(options?: DTableDataListOptions<ROW>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._rows = this.toRows(options?.rows);\n\t\tthis._mapped = new DTableDataListMapped<ROW>(this);\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataListFilter<ROW>(this);\n\t\tthis._sorter = new DTableDataListSorter<ROW>(this);\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Comparator\n\t\t\tconst comparator = options.comparator;\n\t\t\tif (comparator) {\n\t\t\t\tthis._sorter.set(comparator);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataSelection<ROW>\n\t\t\t| DTableDataSelectionCreator<ROW>\n\t\t\t| DTableDataSelectionOptions\n\t): DTableDataSelection<ROW> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(options?: DTableDataSelectionOptions): DTableDataSelection<ROW> {\n\t\treturn new DTableDataListSelection(this, options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tprotected toRows(row?: ROW[]): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tif (row != null) {\n\t\t\tfor (let i = 0, imax = row.length; i < imax; ++i) {\n\t\t\t\tresult.push(row[i]);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tget rows(): ROW[] {\n\t\treturn this._rows;\n\t}\n\n\tupdate(): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update();\n\t\t}\n\t}\n\n\tlock(): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.lock();\n\t\t}\n\t}\n\n\tunlock(): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.unlock(false);\n\t\t\tparent.update();\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this._rows.length;\n\t}\n\n\tclear(): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.length) {\n\t\t\trows.length = 0;\n\t\t\tthis.lock();\n\t\t\tthis._selection.clear();\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\tclearAndAdd(row: ROW): void {\n\t\tconst rows = this._rows;\n\t\trows.length = 0;\n\t\trows.push(row);\n\t\tthis.lock();\n\t\tthis._selection.clear();\n\t\tthis._sorter.toDirty();\n\t\tthis._filter.toDirty();\n\t\tthis.unlock();\n\t}\n\n\tclearAndAddAll(newRows: ROW[]): void {\n\t\tconst rows = this._rows;\n\t\trows.length = 0;\n\t\tfor (let i = 0, imax = newRows.length; i < imax; ++i) {\n\t\t\trows.push(newRows[i]);\n\t\t}\n\t\tthis.lock();\n\t\tthis._selection.clear();\n\t\tthis._sorter.toDirty();\n\t\tthis._filter.toDirty();\n\t\tthis.unlock();\n\t}\n\n\tadd(row: ROW, index?: number): void {\n\t\tconst rows = this._rows;\n\t\tconst selection = this._selection;\n\t\tconst sorter = this._sorter;\n\t\tconst filter = this._filter;\n\t\tif (index == null) {\n\t\t\trows.push(row);\n\t\t\tthis.lock();\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.unlock();\n\t\t} else if (0 <= index && index < rows.length) {\n\t\t\trows.splice(index, 0, row);\n\t\t\tthis.lock();\n\t\t\tselection.shift(index, 1);\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\taddAll(newRows: ROW[], index?: number): void {\n\t\tconst rows = this._rows;\n\t\tconst rowsLength = rows.length;\n\t\tconst selection = this._selection;\n\t\tconst sorter = this._sorter;\n\t\tconst filter = this._filter;\n\t\tif (index == null) {\n\t\t\tconst newRowsLength = newRows.length;\n\t\t\tfor (let i = 0, imax = newRowsLength; i < imax; ++i) {\n\t\t\t\trows.push(newRows[i]);\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.unlock();\n\t\t} else if (0 <= index && index < rowsLength) {\n\t\t\tconst newRowsLength = newRows.length;\n\t\t\tfor (let i = 0; i < newRowsLength; ++i) {\n\t\t\t\trows.splice(index + i, 0, newRows[i]);\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tselection.shift(index, newRowsLength);\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\tget(index: number): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\tset(index: number, row: ROW): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\tconst result = rows[index];\n\t\t\trows[index] = row;\n\t\t\tthis.lock();\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.unlock();\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tremove(index: number): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\tconst result = rows.splice(index, 1)[0];\n\t\t\tthis.lock();\n\t\t\tthis._selection.remove(index);\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.unlock();\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\teach(\n\t\titeratee: (row: ROW, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this._rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<ROW> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<ROW> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<ROW> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-data-list.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list.ts"],"names":[],"mappings":"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","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DTableData, DTableDataMapped, DTableDataOptions, DTableDataParent } from \"./d-table-data\";\nimport { DTableDataFilter } from \"./d-table-data-filter\";\nimport { DTableDataListFilter } from \"./d-table-data-list-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataListSelection } from \"./d-table-data-list-selection\";\nimport { DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataListSorter } from \"./d-table-data-list-sorter\";\nimport { isFunction } from \"./util/is-function\";\n\nexport interface DTableDataListOptions<ROW> extends DTableDataOptions<ROW> {\n\trows?: ROW[];\n}\n\nexport class DTableDataList<ROW> extends utils.EventEmitter implements DTableData<ROW> {\n\tprotected _parent: DTableDataParent | null;\n\tprotected _rows: ROW[];\n\tprotected _filter: DTableDataListFilter<ROW>;\n\tprotected _sorter: DTableDataListSorter<ROW>;\n\tprotected _selection: DTableDataSelection<ROW>;\n\tprotected _mapped: DTableDataMapped<ROW>;\n\n\tconstructor(options?: DTableDataListOptions<ROW>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._rows = this.toRows(options?.rows);\n\t\tthis._mapped = new DTableDataListMapped<ROW>(this);\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataListFilter<ROW>(this);\n\t\tthis._sorter = new DTableDataListSorter<ROW>(this);\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Comparator\n\t\t\tconst comparator = options.comparator;\n\t\t\tif (comparator) {\n\t\t\t\tthis._sorter.set(comparator);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataSelection<ROW>\n\t\t\t| DTableDataSelectionCreator<ROW>\n\t\t\t| DTableDataSelectionOptions\n\t): DTableDataSelection<ROW> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(options?: DTableDataSelectionOptions): DTableDataSelection<ROW> {\n\t\treturn new DTableDataListSelection(this, options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tprotected toRows(row?: ROW[]): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tif (row != null) {\n\t\t\tfor (let i = 0, imax = row.length; i < imax; ++i) {\n\t\t\t\tresult.push(row[i]);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tget rows(): ROW[] {\n\t\treturn this._rows;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update(forcibly);\n\t\t}\n\t}\n\n\tlock(): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.lock();\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.unlock(callIfNeeded);\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this._rows.length;\n\t}\n\n\tclear(): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.length) {\n\t\t\trows.length = 0;\n\t\t\tthis.lock();\n\t\t\tthis._selection.clear();\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t}\n\t}\n\n\tclearAndAdd(row: ROW): void {\n\t\tconst rows = this._rows;\n\t\trows.length = 0;\n\t\trows.push(row);\n\t\tthis.lock();\n\t\tthis._selection.clear();\n\t\tthis._sorter.toDirty();\n\t\tthis._filter.toDirty();\n\t\tthis.update();\n\t\tthis.unlock(true);\n\t}\n\n\tclearAndAddAll(newRows: ROW[]): void {\n\t\tconst rows = this._rows;\n\t\trows.length = 0;\n\t\tfor (let i = 0, imax = newRows.length; i < imax; ++i) {\n\t\t\trows.push(newRows[i]);\n\t\t}\n\t\tthis.lock();\n\t\tthis._selection.clear();\n\t\tthis._sorter.toDirty();\n\t\tthis._filter.toDirty();\n\t\tthis.update();\n\t\tthis.unlock(true);\n\t}\n\n\tadd(row: ROW, index?: number): void {\n\t\tconst rows = this._rows;\n\t\tconst selection = this._selection;\n\t\tconst sorter = this._sorter;\n\t\tconst filter = this._filter;\n\t\tif (index == null) {\n\t\t\trows.push(row);\n\t\t\tthis.lock();\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t} else if (0 <= index && index < rows.length) {\n\t\t\trows.splice(index, 0, row);\n\t\t\tthis.lock();\n\t\t\tselection.shift(index, 1);\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t}\n\t}\n\n\taddAll(newRows: ROW[], index?: number): void {\n\t\tconst rows = this._rows;\n\t\tconst rowsLength = rows.length;\n\t\tconst selection = this._selection;\n\t\tconst sorter = this._sorter;\n\t\tconst filter = this._filter;\n\t\tif (index == null) {\n\t\t\tconst newRowsLength = newRows.length;\n\t\t\tfor (let i = 0, imax = newRowsLength; i < imax; ++i) {\n\t\t\t\trows.push(newRows[i]);\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t} else if (0 <= index && index < rowsLength) {\n\t\t\tconst newRowsLength = newRows.length;\n\t\t\tfor (let i = 0; i < newRowsLength; ++i) {\n\t\t\t\trows.splice(index + i, 0, newRows[i]);\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tselection.shift(index, newRowsLength);\n\t\t\tsorter.toDirty();\n\t\t\tfilter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t}\n\t}\n\n\tget(index: number): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\tset(index: number, row: ROW): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\tconst result = rows[index];\n\t\t\trows[index] = row;\n\t\t\tthis.lock();\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tremove(index: number): ROW | null {\n\t\tconst rows = this._rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\tconst result = rows.splice(index, 1)[0];\n\t\t\tthis.lock();\n\t\t\tthis._selection.remove(index);\n\t\t\tthis._sorter.toDirty();\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update();\n\t\t\tthis.unlock(true);\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\teach(\n\t\titeratee: (row: ROW, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this._rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<ROW> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<ROW> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<ROW> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
@@ -156,6 +156,18 @@ var DTableDataTree = /** @class */ (function (_super) {
156
156
  parent.update(forcibly);
157
157
  }
158
158
  };
159
+ DTableDataTree.prototype.lock = function () {
160
+ var parent = this._parent;
161
+ if (parent) {
162
+ parent.lock();
163
+ }
164
+ };
165
+ DTableDataTree.prototype.unlock = function (callIfNeeded) {
166
+ var parent = this._parent;
167
+ if (parent) {
168
+ parent.unlock(callIfNeeded);
169
+ }
170
+ };
159
171
  DTableDataTree.prototype.size = function () {
160
172
  return this.rows.length;
161
173
  };
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableData, DTableDataMapped, DTableDataParent } from \"./d-table-data\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataTreeFilter } from \"./d-table-data-tree-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport { DTableDataSelection } from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataTreeSorter } from \"./d-table-data-tree-sorter\";\nimport { DTableDataTreeNode } from \"./d-table-data-tree-item\";\nimport {\n\tDTableDataTreeItemAccessor,\n\tDTableDataTreeItemAccessorHasChildren,\n\tDTableDataTreeItemAccessorOptions,\n\tDTableDataTreeItemAccessorToChildren\n} from \"./d-table-data-tree-item-accessor\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionCreator,\n\tDTableDataTreeSelectionOptions\n} from \"./d-table-data-tree-selection\";\nimport { DTableDataTreeSelectionImpl } from \"./d-table-data-tree-selection-impl\";\nimport { isFunction } from \"./util/is-function\";\nimport { DBaseEvents } from \"./d-base\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DTableDataTree} events.\n */\nexport interface DTableDataTreeEvents<NODE, EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when a node is expanded.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\texpand(node: NODE, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a node is collapsed.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\tcollapse(node: NODE, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableDataTree} \"on\" options.\n */\nexport interface DTableDataTreeOnOptions<NODE, EMITTER>\n\textends Partial<DTableDataTreeEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTableDataTree} options.\n */\nexport interface DTableDataTreeOptions<NODE, EMITTER = any>\n\textends DTableDataTreeItemAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataTreeSelection<NODE>\n\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t| DTableDataTreeSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<NODE>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DTableDataTreeOnOptions<NODE, EMITTER>;\n}\n\n/**\n * Please note that this data class does not support the sorter.\n */\nexport class DTableDataTree<NODE extends DTableDataTreeNode<NODE, NODE>>\n\textends utils.EventEmitter\n\timplements DTableData<NODE>\n{\n\tprotected _parent: DTableDataParent | null;\n\tprotected _nodes?: NODE[];\n\tprotected _rows: NODE[];\n\tprotected _isRowsDirty: boolean;\n\tprotected _supplimentals: number[];\n\tprotected _flags: WeakMap<NODE, number>;\n\tprotected _filter: DTableDataTreeFilter<NODE>;\n\tprotected _sorter: DTableDataTreeSorter<NODE>;\n\tprotected _selection: DTableDataTreeSelection<NODE>;\n\tprotected _mapped: DTableDataMapped<NODE>;\n\tprotected _accessor: DTableDataTreeItemAccessor<NODE>;\n\tprotected _reverse: boolean;\n\n\tconstructor(options?: DTableDataTreeOptions<NODE>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._accessor = this.toAccessor(options);\n\t\tthis._mapped = new DTableDataListMapped<NODE>(this);\n\t\tthis._rows = [];\n\t\tthis._isRowsDirty = false;\n\t\tthis._supplimentals = [];\n\t\tthis._flags = new WeakMap<NODE, number>();\n\t\tthis._reverse = !!options?.reverse;\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataTreeFilter<NODE>(this);\n\t\tthis._sorter = new DTableDataTreeSorter<NODE>();\n\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update rows\n\t\tthis.nodes = options?.nodes;\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataTreeSelection<NODE>\n\t\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t\t| DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(\n\t\toptions?: DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\treturn new DTableDataTreeSelectionImpl(this, options);\n\t}\n\n\tprotected toAccessor(options?: DTableDataTreeOptions<NODE>): DTableDataTreeItemAccessor<NODE> {\n\t\treturn new DTableDataTreeItemAccessor(options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tget nodes(): NODE[] | undefined {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[] | undefined) {\n\t\tthis._nodes = nodes;\n\t\tthis._isRowsDirty = true;\n\t\tthis._selection.onNodeChange(nodes);\n\t\tthis._filter.toDirty();\n\t\tthis.update(true);\n\t}\n\n\tget rows(): NODE[] {\n\t\tif (this._isRowsDirty) {\n\t\t\tthis._isRowsDirty = false;\n\t\t\tthis.updateRows(this._nodes);\n\t\t}\n\t\treturn this._rows;\n\t}\n\n\tget supplimentals(): number[] {\n\t\treturn this._supplimentals;\n\t}\n\n\tget accessor(): DTableDataTreeItemAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tprotected updateRows(nodes: NODE[] | undefined): void {\n\t\tconst rows = this._rows;\n\t\tconst supplimentals = this._supplimentals;\n\t\tconst flags = this._flags;\n\t\tif (nodes != null) {\n\t\t\tconst accessor = this._accessor;\n\t\t\tconst irows = this.newRows(\n\t\t\t\tnodes,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\trows,\n\t\t\t\tsupplimentals,\n\t\t\t\tflags,\n\t\t\t\tthis._reverse,\n\t\t\t\taccessor.toChildren,\n\t\t\t\taccessor.hasChildren\n\t\t\t);\n\t\t\tif (irows !== rows.length) {\n\t\t\t\trows.length = irows;\n\t\t\t\tsupplimentals.length = irows;\n\t\t\t}\n\t\t} else {\n\t\t\trows.length = 0;\n\t\t\tsupplimentals.length = 0;\n\t\t}\n\t}\n\n\tprotected toSupplimental(ilevel: number, hasChildren: boolean, isOpened: boolean): number {\n\t\treturn (ilevel << 2) | (hasChildren ? 2 : 0) | (isOpened ? 1 : 0);\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\tirows: number,\n\t\tilevel: number,\n\t\trows: NODE[],\n\t\tsupplimentals: number[],\n\t\tflags: WeakMap<NODE, number>,\n\t\treverse: boolean,\n\t\ttoChildren: DTableDataTreeItemAccessorToChildren<NODE>,\n\t\thasChildren: DTableDataTreeItemAccessorHasChildren<NODE>\n\t): number {\n\t\tconst nodesLength = nodes.length;\n\t\tconst istart = reverse ? nodesLength - 1 : 0;\n\t\tconst idelta = reverse ? -1 : +1;\n\t\tfor (let i = istart; 0 <= i && i < nodesLength; i += idelta) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst children = toChildren(node);\n\t\t\tconst isOpened = flags.has(node);\n\t\t\tconst supplimental = this.toSupplimental(ilevel, hasChildren(node, children), isOpened);\n\t\t\tif (irows < rows.length) {\n\t\t\t\trows[irows] = node;\n\t\t\t\tsupplimentals[irows] = supplimental;\n\t\t\t} else {\n\t\t\t\trows.push(node);\n\t\t\t\tsupplimentals.push(supplimental);\n\t\t\t}\n\t\t\tirows += 1;\n\n\t\t\tif (isOpened && children) {\n\t\t\t\tirows = this.newRows(\n\t\t\t\t\tchildren,\n\t\t\t\t\tirows,\n\t\t\t\t\tilevel + 1,\n\t\t\t\t\trows,\n\t\t\t\t\tsupplimentals,\n\t\t\t\t\tflags,\n\t\t\t\t\treverse,\n\t\t\t\t\ttoChildren,\n\t\t\t\t\thasChildren\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn irows;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update(forcibly);\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this.rows.length;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst rows = this.rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\texpand(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (!flags.has(node)) {\n\t\t\tflags.set(node, 1);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (flags.has(node)) {\n\t\t\tflags.delete(node);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(node: NODE): boolean {\n\t\treturn !this._flags.has(node);\n\t}\n\n\tisExpanded(node: NODE): boolean {\n\t\treturn this._flags.has(node);\n\t}\n\n\ttoggle(node: NODE): boolean {\n\t\tif (this.isExpanded(node)) {\n\t\t\treturn this.collapse(node);\n\t\t} else {\n\t\t\treturn this.expand(node);\n\t\t}\n\t}\n\n\t/** @deprecated in favor of {@link expand}. */\n\topen(node: NODE): boolean {\n\t\treturn this.expand(node);\n\t}\n\n\t/** @deprecated in favor of {@link collapse}. */\n\tclose(node: NODE): boolean {\n\t\treturn this.collapse(node);\n\t}\n\n\t/** @deprecated in favor of {@link isExpanded}. */\n\tisOpened(node: NODE): boolean {\n\t\treturn this.isExpanded(node);\n\t}\n\n\teach(\n\t\titeratee: (node: NODE, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this.rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<NODE> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<NODE> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-data-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport {\n\tDTableData,\n\tDTableDataMapped,\n\tDTableDataParent,\n\tDTableDataSupplimental\n} from \"./d-table-data\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport { DTableDataTreeFilter } from \"./d-table-data-tree-filter\";\nimport { DTableDataListMapped } from \"./d-table-data-list-mapped\";\nimport { DTableDataSelection } from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableDataTreeSorter } from \"./d-table-data-tree-sorter\";\nimport { DTableDataTreeNode } from \"./d-table-data-tree-item\";\nimport {\n\tDTableDataTreeItemAccessor,\n\tDTableDataTreeItemAccessorHasChildren,\n\tDTableDataTreeItemAccessorOptions,\n\tDTableDataTreeItemAccessorToChildren\n} from \"./d-table-data-tree-item-accessor\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionCreator,\n\tDTableDataTreeSelectionOptions\n} from \"./d-table-data-tree-selection\";\nimport { DTableDataTreeSelectionImpl } from \"./d-table-data-tree-selection-impl\";\nimport { isFunction } from \"./util/is-function\";\nimport { DBaseEvents } from \"./d-base\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DTableDataTree} events.\n */\nexport interface DTableDataTreeEvents<NODE, EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when a node is expanded.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\texpand(node: NODE, emitter: EMITTER): void;\n\n\t/**\n\t * Triggered when a node is collapsed.\n\t *\n\t * @param node a node\n\t * @param emitter an emitter\n\t */\n\tcollapse(node: NODE, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableDataTree} \"on\" options.\n */\nexport interface DTableDataTreeOnOptions<NODE, EMITTER>\n\textends Partial<DTableDataTreeEvents<NODE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTableDataTree} options.\n */\nexport interface DTableDataTreeOptions<NODE, EMITTER = any>\n\textends DTableDataTreeItemAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataTreeSelection<NODE>\n\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t| DTableDataTreeSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<NODE>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DTableDataTreeOnOptions<NODE, EMITTER>;\n}\n\n/**\n * Please note that this data class does not support the sorter.\n */\nexport class DTableDataTree<NODE extends DTableDataTreeNode<NODE, NODE>>\n\textends utils.EventEmitter\n\timplements DTableData<NODE>\n{\n\tprotected _parent: DTableDataParent | null;\n\tprotected _nodes?: NODE[];\n\tprotected _rows: NODE[];\n\tprotected _isRowsDirty: boolean;\n\tprotected _supplimentals: DTableDataSupplimental[];\n\tprotected _flags: WeakMap<NODE, number>;\n\tprotected _filter: DTableDataTreeFilter<NODE>;\n\tprotected _sorter: DTableDataTreeSorter<NODE>;\n\tprotected _selection: DTableDataTreeSelection<NODE>;\n\tprotected _mapped: DTableDataMapped<NODE>;\n\tprotected _accessor: DTableDataTreeItemAccessor<NODE>;\n\tprotected _reverse: boolean;\n\n\tconstructor(options?: DTableDataTreeOptions<NODE>) {\n\t\tsuper();\n\n\t\tthis._parent = null;\n\t\tthis._accessor = this.toAccessor(options);\n\t\tthis._mapped = new DTableDataListMapped<NODE>(this);\n\t\tthis._rows = [];\n\t\tthis._isRowsDirty = false;\n\t\tthis._supplimentals = [];\n\t\tthis._flags = new WeakMap<NODE, number>();\n\t\tthis._reverse = !!options?.reverse;\n\t\tthis._selection = this.toSelection(options?.selection);\n\t\tthis._filter = new DTableDataTreeFilter<NODE>(this);\n\t\tthis._sorter = new DTableDataTreeSorter<NODE>();\n\n\t\tif (options) {\n\t\t\t// Filter\n\t\t\tconst filter = options.filter;\n\t\t\tif (filter) {\n\t\t\t\tthis._filter.set(filter);\n\t\t\t}\n\n\t\t\t// Events\n\t\t\tconst on = options.on;\n\t\t\tif (on) {\n\t\t\t\tfor (const name in on) {\n\t\t\t\t\tconst handler = on[name];\n\t\t\t\t\tif (handler) {\n\t\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Update rows\n\t\tthis.nodes = options?.nodes;\n\t}\n\n\tprotected toSelection(\n\t\toptions?:\n\t\t\t| DTableDataTreeSelection<NODE>\n\t\t\t| DTableDataTreeSelectionCreator<NODE>\n\t\t\t| DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\tif (options instanceof utils.EventEmitter) {\n\t\t\treturn options;\n\t\t} else if (isFunction(options)) {\n\t\t\treturn options(this);\n\t\t}\n\t\treturn this.newSelection(options);\n\t}\n\n\tprotected newSelection(\n\t\toptions?: DTableDataTreeSelectionOptions\n\t): DTableDataTreeSelection<NODE> {\n\t\treturn new DTableDataTreeSelectionImpl(this, options);\n\t}\n\n\tprotected toAccessor(options?: DTableDataTreeOptions<NODE>): DTableDataTreeItemAccessor<NODE> {\n\t\treturn new DTableDataTreeItemAccessor(options);\n\t}\n\n\tbind(parent: DTableDataParent): void {\n\t\tthis._parent = parent;\n\t}\n\n\tget nodes(): NODE[] | undefined {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[] | undefined) {\n\t\tthis._nodes = nodes;\n\t\tthis._isRowsDirty = true;\n\t\tthis._selection.onNodeChange(nodes);\n\t\tthis._filter.toDirty();\n\t\tthis.update(true);\n\t}\n\n\tget rows(): NODE[] {\n\t\tif (this._isRowsDirty) {\n\t\t\tthis._isRowsDirty = false;\n\t\t\tthis.updateRows(this._nodes);\n\t\t}\n\t\treturn this._rows;\n\t}\n\n\tget supplimentals(): DTableDataSupplimental[] {\n\t\treturn this._supplimentals;\n\t}\n\n\tget accessor(): DTableDataTreeItemAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tprotected updateRows(nodes: NODE[] | undefined): void {\n\t\tconst rows = this._rows;\n\t\tconst supplimentals = this._supplimentals;\n\t\tconst flags = this._flags;\n\t\tif (nodes != null) {\n\t\t\tconst accessor = this._accessor;\n\t\t\tconst irows = this.newRows(\n\t\t\t\tnodes,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\trows,\n\t\t\t\tsupplimentals,\n\t\t\t\tflags,\n\t\t\t\tthis._reverse,\n\t\t\t\taccessor.toChildren,\n\t\t\t\taccessor.hasChildren\n\t\t\t);\n\t\t\tif (irows !== rows.length) {\n\t\t\t\trows.length = irows;\n\t\t\t\tsupplimentals.length = irows;\n\t\t\t}\n\t\t} else {\n\t\t\trows.length = 0;\n\t\t\tsupplimentals.length = 0;\n\t\t}\n\t}\n\n\tprotected toSupplimental(\n\t\tilevel: number,\n\t\thasChildren: boolean,\n\t\tisOpened: boolean\n\t): DTableDataSupplimental {\n\t\treturn (ilevel << 2) | (hasChildren ? 2 : 0) | (isOpened ? 1 : 0);\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\tirows: number,\n\t\tilevel: number,\n\t\trows: NODE[],\n\t\tsupplimentals: DTableDataSupplimental[],\n\t\tflags: WeakMap<NODE, number>,\n\t\treverse: boolean,\n\t\ttoChildren: DTableDataTreeItemAccessorToChildren<NODE>,\n\t\thasChildren: DTableDataTreeItemAccessorHasChildren<NODE>\n\t): number {\n\t\tconst nodesLength = nodes.length;\n\t\tconst istart = reverse ? nodesLength - 1 : 0;\n\t\tconst idelta = reverse ? -1 : +1;\n\t\tfor (let i = istart; 0 <= i && i < nodesLength; i += idelta) {\n\t\t\tconst node = nodes[i];\n\t\t\tconst children = toChildren(node);\n\t\t\tconst isOpened = flags.has(node);\n\t\t\tconst supplimental = this.toSupplimental(ilevel, hasChildren(node, children), isOpened);\n\t\t\tif (irows < rows.length) {\n\t\t\t\trows[irows] = node;\n\t\t\t\tsupplimentals[irows] = supplimental;\n\t\t\t} else {\n\t\t\t\trows.push(node);\n\t\t\t\tsupplimentals.push(supplimental);\n\t\t\t}\n\t\t\tirows += 1;\n\n\t\t\tif (isOpened && children) {\n\t\t\t\tirows = this.newRows(\n\t\t\t\t\tchildren,\n\t\t\t\t\tirows,\n\t\t\t\t\tilevel + 1,\n\t\t\t\t\trows,\n\t\t\t\t\tsupplimentals,\n\t\t\t\t\tflags,\n\t\t\t\t\treverse,\n\t\t\t\t\ttoChildren,\n\t\t\t\t\thasChildren\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn irows;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.update(forcibly);\n\t\t}\n\t}\n\n\tlock(): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.lock();\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tconst parent = this._parent;\n\t\tif (parent) {\n\t\t\tparent.unlock(callIfNeeded);\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this.rows.length;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst rows = this.rows;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\texpand(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (!flags.has(node)) {\n\t\t\tflags.set(node, 1);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(node: NODE): boolean {\n\t\tconst flags = this._flags;\n\t\tif (flags.has(node)) {\n\t\t\tflags.delete(node);\n\t\t\tthis._isRowsDirty = true;\n\t\t\tthis._filter.toDirty();\n\t\t\tthis.update(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(node: NODE): boolean {\n\t\treturn !this._flags.has(node);\n\t}\n\n\tisExpanded(node: NODE): boolean {\n\t\treturn this._flags.has(node);\n\t}\n\n\ttoggle(node: NODE): boolean {\n\t\tif (this.isExpanded(node)) {\n\t\t\treturn this.collapse(node);\n\t\t} else {\n\t\t\treturn this.expand(node);\n\t\t}\n\t}\n\n\t/** @deprecated in favor of {@link expand}. */\n\topen(node: NODE): boolean {\n\t\treturn this.expand(node);\n\t}\n\n\t/** @deprecated in favor of {@link collapse}. */\n\tclose(node: NODE): boolean {\n\t\treturn this.collapse(node);\n\t}\n\n\t/** @deprecated in favor of {@link isExpanded}. */\n\tisOpened(node: NODE): boolean {\n\t\treturn this.isExpanded(node);\n\t}\n\n\teach(\n\t\titeratee: (node: NODE, index: number) => boolean | void,\n\t\tifrom?: number,\n\t\tito?: number\n\t): void {\n\t\tconst rows = this.rows;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tito = ito != null ? Math.min(rows.length, ito) : rows.length;\n\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\tconst row = rows[i];\n\t\t\tif (iteratee(row, i) === false) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tget selection(): DTableDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tget filter(): DTableDataFilter<NODE> {\n\t\treturn this._filter;\n\t}\n\n\tget sorter(): DTableDataSorter<NODE> {\n\t\treturn this._sorter;\n\t}\n\n\tget mapped(): DTableDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data.ts"],"names":[],"mappings":"","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DBaseOnOptions } from \"./d-base\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\n\nexport type DTableDataMappedEachIteratee<ROW> = (\n\trow: ROW,\n\tsupplimental: unknown,\n\tindex: number,\n\tunmappedIndex: number\n) => void | boolean;\n\nexport interface DTableDataMapped<ROW> {\n\t/**\n\t * Mapped rows.\n\t */\n\treadonly rows: ROW[];\n\n\t/**\n\t * Returns an mapped index of the specified unmapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param unmappedIndex a unmapped index\n\t */\n\tmap(unmappedIndex: number): number | null;\n\n\t/**\n\t * Returns an unmapped index of the specified mapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tunmap(index: number): number;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each mapped datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each mapped datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, iend?: number): void;\n}\n\nexport type DTableDataEachIteratee<ROW> = (row: ROW, index: number) => void | boolean;\n\nexport interface DTableDataOptions<ROW, EMITTER = any> {\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataSelection<ROW>\n\t\t| DTableDataSelectionCreator<ROW>\n\t\t| DTableDataSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<ROW>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<ROW>;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport interface DTableDataParent {\n\tlock(): void;\n\tunlock(callIfNeeded: boolean): void;\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTableData<ROW> extends utils.EventEmitter {\n\t/**\n\t * A data selection.\n\t */\n\treadonly selection: DTableDataSelection<ROW>;\n\n\t/**\n\t * A data filter.\n\t */\n\treadonly filter: DTableDataFilter<ROW>;\n\n\t/**\n\t * A data sorter.\n\t */\n\treadonly sorter: DTableDataSorter<ROW>;\n\n\t/**\n\t * Sorted and filtered data.\n\t */\n\treadonly mapped: DTableDataMapped<ROW>;\n\n\tbind(parent: DTableDataParent): void;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are not applied.\n\t *\n\t * @param index an index on rows filters and sorters are not applied\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataEachIteratee<ROW>, ifrom?: number, ito?: number): void;\n}\n"]}
1
+ {"version":3,"file":"d-table-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data.ts"],"names":[],"mappings":"","sourcesContent":["import { utils } from \"pixi.js\";\nimport { DBaseOnOptions } from \"./d-base\";\nimport { DTableDataFilter, DTableDataFilterer } from \"./d-table-data-filter\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionCreator,\n\tDTableDataSelectionOptions\n} from \"./d-table-data-selection\";\nimport { DTableDataComparator, DTableDataSorter } from \"./d-table-data-sorter\";\n\nexport type DTableDataSupplimental = number;\n\nexport type DTableDataMappedEachIteratee<ROW> = (\n\trow: ROW,\n\tsupplimental: DTableDataSupplimental | null,\n\tindex: number,\n\tunmappedIndex: number\n) => void | boolean;\n\nexport interface DTableDataMapped<ROW> {\n\t/**\n\t * Mapped rows.\n\t */\n\treadonly rows: ROW[];\n\n\t/**\n\t * Returns an mapped index of the specified unmapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param unmappedIndex a unmapped index\n\t */\n\tmap(unmappedIndex: number): number | null;\n\n\t/**\n\t * Returns an unmapped index of the specified mapped index.\n\t * A mapped index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tunmap(index: number): number;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are applied.\n\t *\n\t * @param index a mapped index\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each mapped datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each mapped datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, iend?: number): void;\n}\n\nexport type DTableDataEachIteratee<ROW> = (row: ROW, index: number) => void | boolean;\n\nexport interface DTableDataOptions<ROW, EMITTER = any> {\n\t/**\n\t * Selection options.\n\t */\n\tselection?:\n\t\t| DTableDataSelection<ROW>\n\t\t| DTableDataSelectionCreator<ROW>\n\t\t| DTableDataSelectionOptions;\n\n\t/**\n\t * A filter.\n\t */\n\tfilter?: DTableDataFilterer<ROW>;\n\n\t/**\n\t * A comparator.\n\t */\n\tcomparator?: DTableDataComparator<ROW>;\n\n\t/**\n\t * Mappings of event names and event handlers.\n\t */\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport interface DTableDataParent {\n\tlock(): void;\n\tunlock(callIfNeeded: boolean): void;\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTableData<ROW> extends utils.EventEmitter {\n\t/**\n\t * A data selection.\n\t */\n\treadonly selection: DTableDataSelection<ROW>;\n\n\t/**\n\t * A data filter.\n\t */\n\treadonly filter: DTableDataFilter<ROW>;\n\n\t/**\n\t * A data sorter.\n\t */\n\treadonly sorter: DTableDataSorter<ROW>;\n\n\t/**\n\t * Sorted and filtered data.\n\t */\n\treadonly mapped: DTableDataMapped<ROW>;\n\n\t/** A list of rows. */\n\treadonly rows: ROW[];\n\n\tbind(parent: DTableDataParent): void;\n\n\tupdate(forcibly?: boolean): void;\n\n\tlock(): void;\n\n\tunlock(callIfNeeded: boolean): void;\n\n\t/**\n\t * Returns a size of rows.\n\t */\n\tsize(): number;\n\n\t/**\n\t * Returns a row data at the specified index.\n\t * The index is an index on rows filters and sorters are not applied.\n\t *\n\t * @param index an index on rows filters and sorters are not applied\n\t */\n\tget(index: number): ROW | null;\n\n\t/**\n\t * Calls the specified iteratee on each datum of the specified index range.\n\t * If called iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an function called on each datum\n\t * @param ifrom an index to start an iteration\n\t * @param ito an index before which an interation stops\n\t */\n\teach(iteratee: DTableDataEachIteratee<ROW>, ifrom?: number, ito?: number): void;\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 { 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: unknown,\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, 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"]}
@@ -21,6 +21,7 @@ import { UtilKeyboardEvent } from "./util/util-keyboard-event";
21
21
  import { UtilPointerEvent } from "./util/util-pointer-event";
22
22
  import { DTableScrollBar } from "./d-table-scrollbar";
23
23
  import { DTableColumnType } from "./d-table-column-type";
24
+ import { DTableColumnUpdate } from "./d-table-column-update";
24
25
  var defaultGetter = function (row, columnIndex) {
25
26
  return row[columnIndex];
26
27
  };
@@ -93,6 +94,7 @@ var toColumnAlign = function (options, type) {
93
94
  }
94
95
  switch (type) {
95
96
  case DTableColumnType.TEXT:
97
+ case DTableColumnType.TEXT_AREA:
96
98
  return DAlignHorizontal.LEFT;
97
99
  case DTableColumnType.REAL:
98
100
  case DTableColumnType.INTEGER:
@@ -312,7 +314,7 @@ var toColumnRenderable = function (options, path) {
312
314
  return true;
313
315
  };
314
316
  var toColumn = function (index, options) {
315
- var _a;
317
+ var _a, _b;
316
318
  var weight = options.weight;
317
319
  var width = options.width;
318
320
  if (weight != null) {
@@ -348,7 +350,8 @@ var toColumn = function (index, options) {
348
350
  category: options.category,
349
351
  frozen: options.frozen,
350
352
  offset: 0.0,
351
- link: options.link
353
+ link: options.link,
354
+ update: toEnum((_b = options.update) !== null && _b !== void 0 ? _b : DTableColumnUpdate.CELL, DTableColumnUpdate)
352
355
  };
353
356
  };
354
357
  var toColumns = function (options) {