@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
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-cell.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DTableColumn } from \"./d-table-column\";\n\nexport type DTableBodyCellOnChange<ROW, VALUE, EMITTER = any> = (\n\tnewValue: VALUE,\n\toldValue: VALUE,\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\temitter: EMITTER\n) => void;\n\nexport interface DTableBodyCell<ROW, VALUE> extends DBase {\n\t/**\n\t * A row data if exists.\n\t * Otherwise, Undefined.\n\t *\n\t * @returns a row data or undefined.\n\t */\n\treadonly row?: ROW;\n\n\t/**\n\t * A row index if a row data exists.\n\t * Otherise, -1.\n\t *\n\t * @returns a row index or -1.\n\t */\n\treadonly rowIndex: number;\n\n\t/**\n\t * A column index.\n\t */\n\treadonly columnIndex: number;\n\n\t/**\n\t * A column.\n\t */\n\treadonly column: DTableColumn<ROW, VALUE>;\n\n\tset(\n\t\tvalue: unknown,\n\t\trow: ROW,\n\t\tsupplimental: unknown,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void;\n\tunset(): void;\n\n\t/**\n\t * Called when the selection type is not {@link DTableDataSelectionType}'s NONE\n\t * and a cell is clicked. Returning true will prevent the row selection.\n\t * Otherwise, a clicked row will be selected.\n\t *\n\t * @param e\n\t * @param local\n\t * @return true to prevent the row selection\n\t */\n\tonRowSelect?(e: interaction.InteractionEvent, local: Point): boolean;\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\n\nexport type DTableBodyCellOnChange<ROW, VALUE, EMITTER = any> = (\n\tnewValue: VALUE,\n\toldValue: VALUE,\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\tcolumn: DTableColumn<ROW, VALUE>,\n\temitter: EMITTER\n) => void;\n\nexport interface DTableBodyCell<ROW, VALUE> extends DBase {\n\t/**\n\t * A row data if exists.\n\t * Otherwise, Undefined.\n\t *\n\t * @returns a row data or undefined.\n\t */\n\treadonly row?: ROW;\n\n\t/**\n\t * A row index if a row data exists.\n\t * Otherise, -1.\n\t *\n\t * @returns a row index or -1.\n\t */\n\treadonly rowIndex: number;\n\n\t/**\n\t * A column index.\n\t */\n\treadonly columnIndex: number;\n\n\t/**\n\t * A column.\n\t */\n\treadonly column: DTableColumn<ROW, VALUE>;\n\n\tset(\n\t\tvalue: unknown,\n\t\trow: ROW,\n\t\tsupplimental: DTableDataSupplimental | null,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void;\n\tunset(): void;\n\n\t/**\n\t * Called when the selection type is not {@link DTableDataSelectionType}'s NONE\n\t * and a cell is clicked. Returning true will prevent the row selection.\n\t * Otherwise, a clicked row will be selected.\n\t *\n\t * @param e\n\t * @param local\n\t * @return true to prevent the row selection\n\t */\n\tonRowSelect?(e: interaction.InteractionEvent, local: Point): boolean;\n}\n"]}
@@ -15,6 +15,7 @@ import { DTableBodyCellIndex } from "./d-table-body-cell-index";
15
15
  import { DTableBodyCellInputInteger } from "./d-table-body-cell-input-integer";
16
16
  import { DTableBodyCellInputReal } from "./d-table-body-cell-input-real";
17
17
  import { DTableBodyCellInputText } from "./d-table-body-cell-input-text";
18
+ import { DTableBodyCellInputTextArea } from "./d-table-body-cell-input-text-area";
18
19
  import { DTableBodyCellInputTree } from "./d-table-body-cell-input-tree";
19
20
  import { DTableBodyCellLink } from "./d-table-body-cell-link";
20
21
  import { DTableBodyCellSelectDialog } from "./d-table-body-cell-select-dialog";
@@ -22,9 +23,11 @@ import { DTableBodyCellSelectMenu } from "./d-table-body-cell-select-menu";
22
23
  import { DTableBodyCellSelectMultiple } from "./d-table-body-cell-select-multiple";
23
24
  import { DTableBodyCellSelectPromise } from "./d-table-body-cell-select-promise";
24
25
  import { DTableBodyCellText } from "./d-table-body-cell-text";
26
+ import { DTableBodyCellTextArea } from "./d-table-body-cell-text-area";
25
27
  import { DTableBodyCellTime } from "./d-table-body-cell-time";
26
28
  import { DTableBodyCellTree } from "./d-table-body-cell-tree";
27
29
  import { DTableColumnType } from "./d-table-column-type";
30
+ import { DTableColumnUpdate } from "./d-table-column-update";
28
31
  import { DTableDataSelectionType } from "./d-table-data-selection";
29
32
  import { DTableRow } from "./d-table-row";
30
33
  import { DTableState } from "./d-table-state";
@@ -34,15 +37,27 @@ var DTableBodyRow = /** @class */ (function (_super) {
34
37
  function DTableBodyRow(onChange, isEven, columnIndexToCellOptions, options) {
35
38
  var _this = _super.call(this, options) || this;
36
39
  _this._index = -1;
37
- _this._onCellChangeBound = function (newValue, oldValue, row, rowIndex, columnIndex) {
38
- _this.emit("change", newValue, oldValue, row, rowIndex, columnIndex, _this);
39
- onChange(newValue, oldValue, row, rowIndex, columnIndex, _this);
40
+ _this._onChange = onChange;
41
+ _this._onCellChangeBound = function (newValue, oldValue, row, rowIndex, columnIndex, column) {
42
+ _this.onCellChange(newValue, oldValue, row, rowIndex, columnIndex, column);
40
43
  };
41
44
  _this._columnIndexToCellOptions = columnIndexToCellOptions;
42
45
  _this.state.isAlternated = !isEven;
43
46
  _this.initCells(options, _this._columns, _this._frozen);
44
47
  return _this;
45
48
  }
49
+ DTableBodyRow.prototype.onCellChange = function (newValue, oldValue, row, rowIndex, columnIndex, column) {
50
+ this.emit("change", newValue, oldValue, row, rowIndex, columnIndex, this);
51
+ if (column.update === DTableColumnUpdate.ROW) {
52
+ var value = this._value;
53
+ var supplimental = this._supplimental;
54
+ var index = this._index;
55
+ if (value !== undefined && supplimental !== undefined) {
56
+ this.set(value, supplimental, index, true);
57
+ }
58
+ }
59
+ this._onChange(newValue, oldValue, row, rowIndex, columnIndex, column, this);
60
+ };
46
61
  DTableBodyRow.prototype.newCell = function (columnIndex, column, columns, options) {
47
62
  var onChange = this._onCellChangeBound;
48
63
  var columnIndexToCellOptions = this._columnIndexToCellOptions;
@@ -68,6 +83,8 @@ var DTableBodyRow = /** @class */ (function (_super) {
68
83
  return new DTableBodyCellIndex(columnIndex, column, onChange, options);
69
84
  case DTableColumnType.TEXT:
70
85
  return new DTableBodyCellInputText(columnIndex, column, onChange, options);
86
+ case DTableColumnType.TEXT_AREA:
87
+ return new DTableBodyCellInputTextArea(columnIndex, column, onChange, options);
71
88
  case DTableColumnType.TREE:
72
89
  return new DTableBodyCellInputTree(columnIndex, column, onChange, options);
73
90
  case DTableColumnType.INTEGER:
@@ -103,6 +120,8 @@ var DTableBodyRow = /** @class */ (function (_super) {
103
120
  return new DTableBodyCellIndex(columnIndex, column, onChange, options);
104
121
  case DTableColumnType.TEXT:
105
122
  return new DTableBodyCellText(columnIndex, column, onChange, options);
123
+ case DTableColumnType.TEXT_AREA:
124
+ return new DTableBodyCellTextArea(columnIndex, column, onChange, options);
106
125
  case DTableColumnType.TREE:
107
126
  return new DTableBodyCellTree(columnIndex, column, onChange, options);
108
127
  case DTableColumnType.INTEGER:
@@ -252,8 +271,12 @@ var DTableBodyRow = /** @class */ (function (_super) {
252
271
  return target != null && "set" in target;
253
272
  };
254
273
  DTableBodyRow.prototype.set = function (value, supplimental, rowIndex, forcibly) {
255
- if (forcibly || this._value !== value || this._index !== rowIndex) {
274
+ if (forcibly ||
275
+ this._value !== value ||
276
+ this._supplimental !== supplimental ||
277
+ this._index !== rowIndex) {
256
278
  this._value = value;
279
+ this._supplimental = supplimental;
257
280
  this._index = rowIndex;
258
281
  var cells = this.children;
259
282
  var cellsLength = cells.length;
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-row.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-row.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBase } from \"./d-base\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCellActionDialog } from \"./d-table-body-cell-action-dialog\";\nimport { DTableBodyCellActionMenu } from \"./d-table-body-cell-action-menu\";\nimport { DTableBodyCellActionPromise } from \"./d-table-body-cell-action-promise\";\nimport { DTableBodyCellButton } from \"./d-table-body-cell-button\";\nimport { DTableBodyCellCheck } from \"./d-table-body-cell-check\";\nimport { DTableBodyCellColor } from \"./d-table-body-cell-color\";\nimport { DTableBodyCellDate } from \"./d-table-body-cell-date\";\nimport { DTableBodyCellDatetime } from \"./d-table-body-cell-datetime\";\nimport { DTableBodyCellIndex } from \"./d-table-body-cell-index\";\nimport { DTableBodyCellInputInteger } from \"./d-table-body-cell-input-integer\";\nimport { DTableBodyCellInputReal } from \"./d-table-body-cell-input-real\";\nimport { DTableBodyCellInputText } from \"./d-table-body-cell-input-text\";\nimport { DTableBodyCellInputTree } from \"./d-table-body-cell-input-tree\";\nimport { DTableBodyCellLink } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DTableBodyCellSelectDialog } from \"./d-table-body-cell-select-dialog\";\nimport { DTableBodyCellSelectMenu } from \"./d-table-body-cell-select-menu\";\nimport { DTableBodyCellSelectMultiple } from \"./d-table-body-cell-select-multiple\";\nimport { DTableBodyCellSelectPromise } from \"./d-table-body-cell-select-promise\";\nimport { DTableBodyCellText } from \"./d-table-body-cell-text\";\nimport { DTableBodyCellTime } from \"./d-table-body-cell-time\";\nimport { DTableBodyCellTree } from \"./d-table-body-cell-tree\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableRow, DTableRowOptions, DThemeTableRow } from \"./d-table-row\";\nimport { DTableState } from \"./d-table-state\";\nimport { toMerged } from \"./util/to-merged\";\n\nexport interface DTableBodyRowSelectionOptions {\n\ttype?: DTableDataSelectionType;\n}\n\nexport interface DTableBodyRowOptions<ROW, THEME extends DThemeTableBodyRow = DThemeTableBodyRow>\n\textends DTableRowOptions<ROW, DTableColumn<ROW, unknown>, THEME> {\n\theight?: number;\n\tcell?: DTableBodyCellOptions<ROW>;\n\tselection?: DTableBodyRowSelectionOptions;\n}\n\nexport interface DThemeTableBodyRow extends DThemeTableRow {}\n\nexport type DTableBodyRowOnChange<ROW, VALUE, EMITTER = any> = (\n\tnewValue: VALUE,\n\toldValue: VALUE,\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\temitter: EMITTER\n) => void;\n\nexport class DTableBodyRow<\n\tROW,\n\tTHEME extends DThemeTableBodyRow = DThemeTableBodyRow,\n\tOPTIONS extends DTableBodyRowOptions<ROW, THEME> = DTableBodyRowOptions<ROW, THEME>\n> extends DTableRow<ROW, DTableColumn<ROW, unknown>, THEME, OPTIONS> {\n\tprotected _value?: ROW;\n\tprotected _index: number;\n\tprotected _onCellChangeBound: DTableBodyCellOnChange<ROW, unknown>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\n\tconstructor(\n\t\tonChange: DTableBodyRowOnChange<ROW, unknown>,\n\t\tisEven: boolean,\n\t\tcolumnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>,\n\t\toptions: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._index = -1;\n\t\tthis._onCellChangeBound = (newValue, oldValue, row, rowIndex, columnIndex): void => {\n\t\t\tthis.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, this);\n\t\t\tonChange(newValue, oldValue, row, rowIndex, columnIndex, this);\n\t\t};\n\t\tthis._columnIndexToCellOptions = columnIndexToCellOptions;\n\t\tthis.state.isAlternated = !isEven;\n\t\tthis.initCells(options, this._columns, this._frozen);\n\t}\n\n\tprotected newCell(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\toptions: OPTIONS\n\t): DBase {\n\t\tconst onChange = this._onCellChangeBound;\n\t\tconst columnIndexToCellOptions = this._columnIndexToCellOptions;\n\t\tlet cellOptions = columnIndexToCellOptions.get(columnIndex);\n\t\tif (cellOptions == null) {\n\t\t\tcellOptions = this.toCellOptions(columnIndex, column, options);\n\t\t\tcolumnIndexToCellOptions.set(columnIndex, cellOptions);\n\t\t}\n\t\tif (column.editing.enable !== false) {\n\t\t\treturn this.newCellEditable(columnIndex, column, onChange, cellOptions);\n\t\t} else {\n\t\t\tconst cell = this.newCellUnediable(columnIndex, column, onChange, cellOptions);\n\t\t\tif (column.type !== DTableColumnType.TREE) {\n\t\t\t\tcell.state.isReadOnly = true;\n\t\t\t}\n\t\t\treturn cell;\n\t\t}\n\t}\n\n\tprotected newCellEditable(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, unknown>,\n\t\toptions: any\n\t): DBase {\n\t\tswitch (column.type) {\n\t\t\tcase DTableColumnType.INDEX:\n\t\t\t\treturn new DTableBodyCellIndex(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT:\n\t\t\t\treturn new DTableBodyCellInputText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TREE:\n\t\t\t\treturn new DTableBodyCellInputTree(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.INTEGER:\n\t\t\t\treturn new DTableBodyCellInputInteger(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.REAL:\n\t\t\t\treturn new DTableBodyCellInputReal(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.CHECK:\n\t\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\t\t\treturn new DTableBodyCellCheck(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.COLOR:\n\t\t\t\treturn new DTableBodyCellColor(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.BUTTON:\n\t\t\t\treturn new DTableBodyCellButton(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.LINK:\n\t\t\t\treturn new DTableBodyCellLink(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.SELECT:\n\t\t\t\treturn this.newCellSelect(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.ACTION:\n\t\t\t\treturn this.newCellAction(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATE:\n\t\t\t\treturn new DTableBodyCellDate(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATETIME:\n\t\t\t\treturn new DTableBodyCellDatetime(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TIME:\n\t\t\t\treturn new DTableBodyCellTime(columnIndex, column, onChange, options);\n\t\t\tdefault:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellUnediable(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, unknown>,\n\t\toptions: any\n\t): DBase {\n\t\tswitch (column.type) {\n\t\t\tcase DTableColumnType.INDEX:\n\t\t\t\treturn new DTableBodyCellIndex(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TREE:\n\t\t\t\treturn new DTableBodyCellTree(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.INTEGER:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.REAL:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.CHECK:\n\t\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\t\t\treturn new DTableBodyCellCheck(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.COLOR:\n\t\t\t\treturn new DTableBodyCellColor(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.BUTTON:\n\t\t\t\treturn new DTableBodyCellButton(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.LINK:\n\t\t\t\treturn new DTableBodyCellLink(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.SELECT:\n\t\t\t\treturn this.newCellSelect(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.ACTION:\n\t\t\t\treturn this.newCellAction(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATE:\n\t\t\t\treturn new DTableBodyCellDate(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATETIME:\n\t\t\t\treturn new DTableBodyCellDatetime(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TIME:\n\t\t\t\treturn new DTableBodyCellTime(columnIndex, column, onChange, options);\n\t\t\tdefault:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellSelect(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, unknown>,\n\t\toptions: any\n\t): DBase {\n\t\tconst selecting = column.selecting;\n\t\tif (selecting.menu != null) {\n\t\t\treturn new DTableBodyCellSelectMenu(columnIndex, column, onChange, options);\n\t\t} else if (selecting.multiple != null) {\n\t\t\treturn new DTableBodyCellSelectMultiple(columnIndex, column, onChange, options);\n\t\t} else if (selecting.dialog != null) {\n\t\t\treturn new DTableBodyCellSelectDialog(columnIndex, column, onChange, options);\n\t\t} else if (selecting.promise != null) {\n\t\t\treturn new DTableBodyCellSelectPromise(columnIndex, column, onChange, options);\n\t\t} else {\n\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellAction(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, unknown>,\n\t\toptions: any\n\t): DBase {\n\t\tconst selecting = column.selecting;\n\t\tif (selecting.menu != null) {\n\t\t\treturn new DTableBodyCellActionMenu(columnIndex, column, onChange, options);\n\t\t} else if (selecting.dialog != null) {\n\t\t\treturn new DTableBodyCellActionDialog(columnIndex, column, onChange, options);\n\t\t} else if (selecting.promise != null) {\n\t\t\treturn new DTableBodyCellActionPromise(columnIndex, column, onChange, options);\n\t\t} else {\n\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected toCellOptions(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>,\n\t\toptions: OPTIONS\n\t): DTableBodyCellOptions<ROW> {\n\t\tconst result = toMerged(column.body, options.cell);\n\n\t\t// Weight\n\t\tresult.weight = column.weight;\n\n\t\t// Width\n\t\tresult.width = column.width;\n\n\t\t// State\n\t\tresult.state ??= column.state.initial;\n\n\t\t// Text formatter\n\t\tconst columnFormatter = column.formatter;\n\t\tif (columnFormatter != null) {\n\t\t\tconst text = (result.text ??= {});\n\t\t\ttext.formatter ??= columnFormatter;\n\t\t}\n\n\t\t// Text align horizontal\n\t\tconst columnAlign = column.align;\n\t\tif (columnAlign != null) {\n\t\t\tconst text = (result.text ??= {});\n\t\t\tconst textAlign = (text.align ??= {});\n\t\t\ttextAlign.horizontal ??= columnAlign;\n\t\t}\n\n\t\t// Editing\n\t\tconst columnEditing = column.editing;\n\t\tif (columnEditing.enable !== false) {\n\t\t\tconst editing = ((result as any).editing ??= {});\n\t\t\tediting.formatter ??= columnEditing.formatter;\n\t\t\tediting.unformatter ??= columnEditing.unformatter;\n\t\t\tediting.validator ??= columnEditing.validator;\n\t\t}\n\n\t\t// Link\n\t\tconst columnLink = column.link;\n\t\tif (columnLink !== undefined) {\n\t\t\t(result as any).link = columnLink;\n\t\t}\n\n\t\t// Selecting\n\t\tconst columnSelecting = column.selecting;\n\t\tconst columnSelectingMenu = columnSelecting.menu ?? columnSelecting.multiple;\n\t\tif (columnSelectingMenu !== undefined) {\n\t\t\t(result as any).menu = columnSelectingMenu;\n\t\t}\n\n\t\tconst selectionType = options?.selection?.type ?? DTableDataSelectionType.NONE;\n\t\tif (selectionType !== DTableDataSelectionType.NONE) {\n\t\t\t(result as any).when = \"DOUBLE_CLICKED\";\n\t\t\tresult.cursor = (state: DBaseStateSet): string | undefined => {\n\t\t\t\tif (state.in(DTableState.SELECTABLE)) {\n\t\t\t\t\treturn \"pointer\";\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t};\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyRow\";\n\t}\n\n\t/**\n\t * Returns a row data if exists.\n\t * Returns undefined if a row data does not exit.\n\t *\n\t * @returns a row data or undefined.\n\t */\n\tget value(): ROW | undefined {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Returns a row index if a row data exists.\n\t * Returns -1 if a row data does not exit.\n\t *\n\t * @returns a row index or -1.\n\t */\n\tget index(): number {\n\t\treturn this._index;\n\t}\n\n\tprotected isCell(target: any): target is DTableBodyCell<unknown, unknown> {\n\t\treturn target != null && \"set\" in target;\n\t}\n\n\tset(value: ROW, supplimental: unknown, rowIndex: number, forcibly?: boolean): void {\n\t\tif (forcibly || this._value !== value || this._index !== rowIndex) {\n\t\t\tthis._value = value;\n\t\t\tthis._index = rowIndex;\n\n\t\t\tconst cells = this.children;\n\t\t\tconst cellsLength = cells.length;\n\t\t\tconst columns = this._columns;\n\t\t\tconst columnsLength = columns.length;\n\t\t\tfor (let i = 0; i < cellsLength; ++i) {\n\t\t\t\tconst cell = cells[i];\n\t\t\t\tconst columnIndex = columnsLength - 1 - i;\n\t\t\t\tconst column = columns[columnIndex];\n\t\t\t\tif (this.isCell(cell)) {\n\t\t\t\t\tcell.set(\n\t\t\t\t\t\tcolumn.getter(value, columnIndex),\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tsupplimental,\n\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\tforcibly\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.onSet(value, rowIndex);\n\t\t}\n\t}\n\n\tprotected onSet(value: ROW, rowIndex: number): void {\n\t\tthis.emit(\"set\", value, rowIndex, this);\n\t}\n\n\tunset(): void {\n\t\tif (this._value !== undefined) {\n\t\t\tthis._value = undefined;\n\t\t\tthis._index = -1;\n\n\t\t\tconst cells = this.children;\n\t\t\tconst cellsLength = cells.length;\n\t\t\tfor (let i = 0; i < cellsLength; ++i) {\n\t\t\t\tconst cell = cells[i];\n\t\t\t\tif (this.isCell(cell)) {\n\t\t\t\t\tcell.unset();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.onUnset();\n\t\t}\n\t}\n\n\tprotected onUnset(): void {\n\t\tthis.emit(\"unset\", this);\n\t}\n\n\tprotected getContentPositionX(): number {\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst content = parent.parent;\n\t\t\tif (content) {\n\t\t\t\treturn content.position.x;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-row.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-row.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBase } from \"./d-base\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCellActionDialog } from \"./d-table-body-cell-action-dialog\";\nimport { DTableBodyCellActionMenu } from \"./d-table-body-cell-action-menu\";\nimport { DTableBodyCellActionPromise } from \"./d-table-body-cell-action-promise\";\nimport { DTableBodyCellButton } from \"./d-table-body-cell-button\";\nimport { DTableBodyCellCheck } from \"./d-table-body-cell-check\";\nimport { DTableBodyCellColor } from \"./d-table-body-cell-color\";\nimport { DTableBodyCellDate } from \"./d-table-body-cell-date\";\nimport { DTableBodyCellDatetime } from \"./d-table-body-cell-datetime\";\nimport { DTableBodyCellIndex } from \"./d-table-body-cell-index\";\nimport { DTableBodyCellInputInteger } from \"./d-table-body-cell-input-integer\";\nimport { DTableBodyCellInputReal } from \"./d-table-body-cell-input-real\";\nimport { DTableBodyCellInputText } from \"./d-table-body-cell-input-text\";\nimport { DTableBodyCellInputTextArea } from \"./d-table-body-cell-input-text-area\";\nimport { DTableBodyCellInputTree } from \"./d-table-body-cell-input-tree\";\nimport { DTableBodyCellLink } from \"./d-table-body-cell-link\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DTableBodyCellSelectDialog } from \"./d-table-body-cell-select-dialog\";\nimport { DTableBodyCellSelectMenu } from \"./d-table-body-cell-select-menu\";\nimport { DTableBodyCellSelectMultiple } from \"./d-table-body-cell-select-multiple\";\nimport { DTableBodyCellSelectPromise } from \"./d-table-body-cell-select-promise\";\nimport { DTableBodyCellText } from \"./d-table-body-cell-text\";\nimport { DTableBodyCellTextArea } from \"./d-table-body-cell-text-area\";\nimport { DTableBodyCellTime } from \"./d-table-body-cell-time\";\nimport { DTableBodyCellTree } from \"./d-table-body-cell-tree\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableColumnType } from \"./d-table-column-type\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableRow, DTableRowOptions, DThemeTableRow } from \"./d-table-row\";\nimport { DTableState } from \"./d-table-state\";\nimport { toMerged } from \"./util/to-merged\";\n\nexport interface DTableBodyRowSelectionOptions {\n\ttype?: DTableDataSelectionType;\n}\n\nexport interface DTableBodyRowOptions<ROW, THEME extends DThemeTableBodyRow = DThemeTableBodyRow>\n\textends DTableRowOptions<ROW, DTableColumn<ROW, unknown>, THEME> {\n\theight?: number;\n\tcell?: DTableBodyCellOptions<ROW>;\n\tselection?: DTableBodyRowSelectionOptions;\n}\n\nexport interface DThemeTableBodyRow extends DThemeTableRow {}\n\nexport type DTableBodyRowOnChange<ROW, VALUE, EMITTER = any> = (\n\tnewValue: VALUE,\n\toldValue: VALUE,\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\tcolumn: DTableColumn<ROW, VALUE>,\n\temitter: EMITTER\n) => void;\n\nexport class DTableBodyRow<\n\tROW,\n\tTHEME extends DThemeTableBodyRow = DThemeTableBodyRow,\n\tOPTIONS extends DTableBodyRowOptions<ROW, THEME> = DTableBodyRowOptions<ROW, THEME>\n> extends DTableRow<ROW, DTableColumn<ROW, unknown>, THEME, OPTIONS> {\n\tprotected _value?: ROW;\n\tprotected _supplimental?: DTableDataSupplimental | null;\n\tprotected _index: number;\n\tprotected _onChange: DTableBodyRowOnChange<ROW, unknown>;\n\tprotected _onCellChangeBound: DTableBodyCellOnChange<ROW, any>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\n\tconstructor(\n\t\tonChange: DTableBodyRowOnChange<ROW, unknown>,\n\t\tisEven: boolean,\n\t\tcolumnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>,\n\t\toptions: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._index = -1;\n\t\tthis._onChange = onChange;\n\t\tthis._onCellChangeBound = (\n\t\t\tnewValue,\n\t\t\toldValue,\n\t\t\trow,\n\t\t\trowIndex,\n\t\t\tcolumnIndex,\n\t\t\tcolumn\n\t\t): void => {\n\t\t\tthis.onCellChange(newValue, oldValue, row, rowIndex, columnIndex, column);\n\t\t};\n\t\tthis._columnIndexToCellOptions = columnIndexToCellOptions;\n\t\tthis.state.isAlternated = !isEven;\n\t\tthis.initCells(options, this._columns, this._frozen);\n\t}\n\n\tprotected onCellChange(\n\t\tnewValue: unknown,\n\t\toldValue: unknown,\n\t\trow: ROW,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>\n\t): void {\n\t\tthis.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, this);\n\t\tif (column.update === DTableColumnUpdate.ROW) {\n\t\t\tconst value = this._value;\n\t\t\tconst supplimental = this._supplimental;\n\t\t\tconst index = this._index;\n\t\t\tif (value !== undefined && supplimental !== undefined) {\n\t\t\t\tthis.set(value, supplimental, index, true);\n\t\t\t}\n\t\t}\n\t\tthis._onChange(newValue, oldValue, row, rowIndex, columnIndex, column, this);\n\t}\n\n\tprotected newCell(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>,\n\t\tcolumns: Array<DTableColumn<ROW, unknown>>,\n\t\toptions: OPTIONS\n\t): DBase {\n\t\tconst onChange = this._onCellChangeBound;\n\t\tconst columnIndexToCellOptions = this._columnIndexToCellOptions;\n\t\tlet cellOptions = columnIndexToCellOptions.get(columnIndex);\n\t\tif (cellOptions == null) {\n\t\t\tcellOptions = this.toCellOptions(columnIndex, column, options);\n\t\t\tcolumnIndexToCellOptions.set(columnIndex, cellOptions);\n\t\t}\n\t\tif (column.editing.enable !== false) {\n\t\t\treturn this.newCellEditable(columnIndex, column, onChange, cellOptions);\n\t\t} else {\n\t\t\tconst cell = this.newCellUnediable(columnIndex, column, onChange, cellOptions);\n\t\t\tif (column.type !== DTableColumnType.TREE) {\n\t\t\t\tcell.state.isReadOnly = true;\n\t\t\t}\n\t\t\treturn cell;\n\t\t}\n\t}\n\n\tprotected newCellEditable(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, any>,\n\t\toptions: any\n\t): DBase {\n\t\tswitch (column.type) {\n\t\t\tcase DTableColumnType.INDEX:\n\t\t\t\treturn new DTableBodyCellIndex(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT:\n\t\t\t\treturn new DTableBodyCellInputText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT_AREA:\n\t\t\t\treturn new DTableBodyCellInputTextArea(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TREE:\n\t\t\t\treturn new DTableBodyCellInputTree(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.INTEGER:\n\t\t\t\treturn new DTableBodyCellInputInteger(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.REAL:\n\t\t\t\treturn new DTableBodyCellInputReal(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.CHECK:\n\t\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\t\t\treturn new DTableBodyCellCheck(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.COLOR:\n\t\t\t\treturn new DTableBodyCellColor(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.BUTTON:\n\t\t\t\treturn new DTableBodyCellButton(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.LINK:\n\t\t\t\treturn new DTableBodyCellLink(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.SELECT:\n\t\t\t\treturn this.newCellSelect(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.ACTION:\n\t\t\t\treturn this.newCellAction(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATE:\n\t\t\t\treturn new DTableBodyCellDate(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATETIME:\n\t\t\t\treturn new DTableBodyCellDatetime(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TIME:\n\t\t\t\treturn new DTableBodyCellTime(columnIndex, column, onChange, options);\n\t\t\tdefault:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellUnediable(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, any>,\n\t\toptions: any\n\t): DBase {\n\t\tswitch (column.type) {\n\t\t\tcase DTableColumnType.INDEX:\n\t\t\t\treturn new DTableBodyCellIndex(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TEXT_AREA:\n\t\t\t\treturn new DTableBodyCellTextArea(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TREE:\n\t\t\t\treturn new DTableBodyCellTree(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.INTEGER:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.REAL:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.CHECK:\n\t\t\tcase DTableColumnType.CHECK_SINGLE:\n\t\t\t\treturn new DTableBodyCellCheck(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.COLOR:\n\t\t\t\treturn new DTableBodyCellColor(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.BUTTON:\n\t\t\t\treturn new DTableBodyCellButton(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.LINK:\n\t\t\t\treturn new DTableBodyCellLink(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.SELECT:\n\t\t\t\treturn this.newCellSelect(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.ACTION:\n\t\t\t\treturn this.newCellAction(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATE:\n\t\t\t\treturn new DTableBodyCellDate(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.DATETIME:\n\t\t\t\treturn new DTableBodyCellDatetime(columnIndex, column, onChange, options);\n\t\t\tcase DTableColumnType.TIME:\n\t\t\t\treturn new DTableBodyCellTime(columnIndex, column, onChange, options);\n\t\t\tdefault:\n\t\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellSelect(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, any>,\n\t\toptions: any\n\t): DBase {\n\t\tconst selecting = column.selecting;\n\t\tif (selecting.menu != null) {\n\t\t\treturn new DTableBodyCellSelectMenu(columnIndex, column, onChange, options);\n\t\t} else if (selecting.multiple != null) {\n\t\t\treturn new DTableBodyCellSelectMultiple(columnIndex, column, onChange, options);\n\t\t} else if (selecting.dialog != null) {\n\t\t\treturn new DTableBodyCellSelectDialog(columnIndex, column, onChange, options);\n\t\t} else if (selecting.promise != null) {\n\t\t\treturn new DTableBodyCellSelectPromise(columnIndex, column, onChange, options);\n\t\t} else {\n\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected newCellAction(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, any>,\n\t\tonChange: DTableBodyCellOnChange<ROW, any>,\n\t\toptions: any\n\t): DBase {\n\t\tconst selecting = column.selecting;\n\t\tif (selecting.menu != null) {\n\t\t\treturn new DTableBodyCellActionMenu(columnIndex, column, onChange, options);\n\t\t} else if (selecting.dialog != null) {\n\t\t\treturn new DTableBodyCellActionDialog(columnIndex, column, onChange, options);\n\t\t} else if (selecting.promise != null) {\n\t\t\treturn new DTableBodyCellActionPromise(columnIndex, column, onChange, options);\n\t\t} else {\n\t\t\treturn new DTableBodyCellText(columnIndex, column, onChange, options);\n\t\t}\n\t}\n\n\tprotected toCellOptions(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>,\n\t\toptions: OPTIONS\n\t): DTableBodyCellOptions<ROW> {\n\t\tconst result = toMerged(column.body, options.cell);\n\n\t\t// Weight\n\t\tresult.weight = column.weight;\n\n\t\t// Width\n\t\tresult.width = column.width;\n\n\t\t// State\n\t\tresult.state ??= column.state.initial;\n\n\t\t// Text formatter\n\t\tconst columnFormatter = column.formatter;\n\t\tif (columnFormatter != null) {\n\t\t\tconst text = (result.text ??= {});\n\t\t\ttext.formatter ??= columnFormatter;\n\t\t}\n\n\t\t// Text align horizontal\n\t\tconst columnAlign = column.align;\n\t\tif (columnAlign != null) {\n\t\t\tconst text = (result.text ??= {});\n\t\t\tconst textAlign = (text.align ??= {});\n\t\t\ttextAlign.horizontal ??= columnAlign;\n\t\t}\n\n\t\t// Editing\n\t\tconst columnEditing = column.editing;\n\t\tif (columnEditing.enable !== false) {\n\t\t\tconst editing = ((result as any).editing ??= {});\n\t\t\tediting.formatter ??= columnEditing.formatter;\n\t\t\tediting.unformatter ??= columnEditing.unformatter;\n\t\t\tediting.validator ??= columnEditing.validator;\n\t\t}\n\n\t\t// Link\n\t\tconst columnLink = column.link;\n\t\tif (columnLink !== undefined) {\n\t\t\t(result as any).link = columnLink;\n\t\t}\n\n\t\t// Selecting\n\t\tconst columnSelecting = column.selecting;\n\t\tconst columnSelectingMenu = columnSelecting.menu ?? columnSelecting.multiple;\n\t\tif (columnSelectingMenu !== undefined) {\n\t\t\t(result as any).menu = columnSelectingMenu;\n\t\t}\n\n\t\tconst selectionType = options?.selection?.type ?? DTableDataSelectionType.NONE;\n\t\tif (selectionType !== DTableDataSelectionType.NONE) {\n\t\t\t(result as any).when = \"DOUBLE_CLICKED\";\n\t\t\tresult.cursor = (state: DBaseStateSet): string | undefined => {\n\t\t\t\tif (state.in(DTableState.SELECTABLE)) {\n\t\t\t\t\treturn \"pointer\";\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t};\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyRow\";\n\t}\n\n\t/**\n\t * Returns a row data if exists.\n\t * Returns undefined if a row data does not exit.\n\t *\n\t * @returns a row data or undefined.\n\t */\n\tget value(): ROW | undefined {\n\t\treturn this._value;\n\t}\n\n\t/**\n\t * Returns a row index if a row data exists.\n\t * Returns -1 if a row data does not exit.\n\t *\n\t * @returns a row index or -1.\n\t */\n\tget index(): number {\n\t\treturn this._index;\n\t}\n\n\tprotected isCell(target: any): target is DTableBodyCell<unknown, unknown> {\n\t\treturn target != null && \"set\" in target;\n\t}\n\n\tset(\n\t\tvalue: ROW,\n\t\tsupplimental: DTableDataSupplimental | null,\n\t\trowIndex: number,\n\t\tforcibly?: boolean\n\t): void {\n\t\tif (\n\t\t\tforcibly ||\n\t\t\tthis._value !== value ||\n\t\t\tthis._supplimental !== supplimental ||\n\t\t\tthis._index !== rowIndex\n\t\t) {\n\t\t\tthis._value = value;\n\t\t\tthis._supplimental = supplimental;\n\t\t\tthis._index = rowIndex;\n\n\t\t\tconst cells = this.children;\n\t\t\tconst cellsLength = cells.length;\n\t\t\tconst columns = this._columns;\n\t\t\tconst columnsLength = columns.length;\n\t\t\tfor (let i = 0; i < cellsLength; ++i) {\n\t\t\t\tconst cell = cells[i];\n\t\t\t\tconst columnIndex = columnsLength - 1 - i;\n\t\t\t\tconst column = columns[columnIndex];\n\t\t\t\tif (this.isCell(cell)) {\n\t\t\t\t\tcell.set(\n\t\t\t\t\t\tcolumn.getter(value, columnIndex),\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tsupplimental,\n\t\t\t\t\t\trowIndex,\n\t\t\t\t\t\tcolumnIndex,\n\t\t\t\t\t\tforcibly\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.onSet(value, rowIndex);\n\t\t}\n\t}\n\n\tprotected onSet(value: ROW, rowIndex: number): void {\n\t\tthis.emit(\"set\", value, rowIndex, this);\n\t}\n\n\tunset(): void {\n\t\tif (this._value !== undefined) {\n\t\t\tthis._value = undefined;\n\t\t\tthis._index = -1;\n\n\t\t\tconst cells = this.children;\n\t\t\tconst cellsLength = cells.length;\n\t\t\tfor (let i = 0; i < cellsLength; ++i) {\n\t\t\t\tconst cell = cells[i];\n\t\t\t\tif (this.isCell(cell)) {\n\t\t\t\t\tcell.unset();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.onUnset();\n\t\t}\n\t}\n\n\tprotected onUnset(): void {\n\t\tthis.emit(\"unset\", this);\n\t}\n\n\tprotected getContentPositionX(): number {\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst content = parent.parent;\n\t\t\tif (content) {\n\t\t\t\treturn content.position.x;\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n}\n"]}
@@ -12,6 +12,7 @@ import { DTableDataSelectionType } from "./d-table-data-selection";
12
12
  import { DTableState } from "./d-table-state";
13
13
  import { DApplications } from "./d-applications";
14
14
  import { isNumber } from "./util/is-number";
15
+ import { DTableColumnUpdate } from "./d-table-column-update";
15
16
  var toRowOptions = function (theme, options, selectionType) {
16
17
  var columns = options.columns || [];
17
18
  var result = options.row;
@@ -67,13 +68,20 @@ var DTableBody = /** @class */ (function (_super) {
67
68
  _this._isUpdateRowsCalled = false;
68
69
  _this._isUpdateRowsCalledForcibly = false;
69
70
  _this._workRows = [];
70
- _this._onRowChangeBound = function (newValue, oldValue, row, rowIndex, columnIndex) {
71
- data.emit("change", newValue, oldValue, row, rowIndex, columnIndex, data);
71
+ _this._onRowChangeBound = function (newValue, oldValue, row, rowIndex, columnIndex, column) {
72
+ _this.onRowChange(newValue, oldValue, row, rowIndex, columnIndex, column);
72
73
  };
73
74
  _this._columnIndexToCellOptions = new Map();
74
75
  _this._data.emit("init", _this._data);
75
76
  return _this;
76
77
  }
78
+ DTableBody.prototype.onRowChange = function (newValue, oldValue, row, rowIndex, columnIndex, column) {
79
+ var data = this._data;
80
+ data.emit("change", newValue, oldValue, row, rowIndex, columnIndex, data);
81
+ if (column.update === DTableColumnUpdate.ALL) {
82
+ this.update(true);
83
+ }
84
+ };
77
85
  DTableBody.prototype.toData = function (options) {
78
86
  if (this.isData(options)) {
79
87
  return options;
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point, Rectangle } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DApplications } from \"./d-applications\";\nimport { isNumber } from \"./util/is-number\";\n\n/**\n * {@link DTableBody} events.\n */\nexport interface DTableBodyEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when rows are updated.\n\t * The first and second parameters are an mapped index range of visible data.\n\t * Please note that these parameters are real numbers.\n\t * For instance, An index range of [0.5, 2.5] means:\n\t *\n\t * * The row at index 0 is partially visible.\n\t * * The row at index 1 is fully visible.\n\t * * The row at index 2 is partially visible.\n\t *\n\t * @param from a lowest mapped index of visible data\n\t * @param to a highest mapped index of vislble data\n\t * @param emitter an emitter\n\t */\n\tupdate(from: number, to: number, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableBody} \"on\" options.\n */\nexport interface DTableBodyOnOptions<EMITTER>\n\textends Partial<DTableBodyEvents<EMITTER>>,\n\t\tDOnOptions {}\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\tcolumns?: Array<DTableColumn<ROW, unknown>>;\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\toffset?: number;\n\tfrozen?: number;\n\ton?: DTableBodyOnOptions<EMITTER>;\n}\n\nexport interface DThemeTableBody extends DThemeBase {\n\tgetRowHeight(): number;\n}\n\nconst toRowOptions = <ROW, DATA extends DTableData<ROW>>(\n\ttheme: DThemeTableBody,\n\toptions: DTableBodyOptions<ROW, DATA>,\n\tselectionType: DTableDataSelectionType\n): DTableBodyRowOptions<ROW> => {\n\tconst columns = options.columns || [];\n\tlet result = options.row;\n\tif (result != null) {\n\t\tif (result.height == null) {\n\t\t\tresult.height = theme.getRowHeight();\n\t\t}\n\t\tif (result.columns === undefined) {\n\t\t\tresult.columns = columns;\n\t\t}\n\t\tif (result.frozen == null) {\n\t\t\tresult.frozen = options.frozen;\n\t\t}\n\t\tif (result.selection === undefined) {\n\t\t\tresult.selection = {\n\t\t\t\ttype: selectionType\n\t\t\t};\n\t\t} else if (result.selection.type === undefined) {\n\t\t\tresult.selection.type = selectionType;\n\t\t}\n\t} else {\n\t\tresult = {\n\t\t\tcolumns,\n\t\t\theight: theme.getRowHeight(),\n\t\t\tfrozen: options.frozen,\n\t\t\tselection: {\n\t\t\t\ttype: selectionType\n\t\t\t}\n\t\t};\n\t}\n\treturn result as DTableBodyRowOptions<ROW>;\n};\n\nexport class DTableBody<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tOPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_ON_CLICK = new Point();\n\n\tprotected _columns: Array<DTableColumn<ROW, unknown>>;\n\tprotected _rowHeight: number;\n\tprotected _rowIndexMappedStart: number;\n\tprotected _rowIndexMappedEnd: number;\n\tprotected _rowOptions: DTableBodyRowOptions<ROW>;\n\tprotected _updateRowsCount: number;\n\tprotected _isUpdateRowsCalled: boolean;\n\tprotected _isUpdateRowsCalledForcibly: boolean;\n\tprotected _workRows: Array<DTableBodyRow<ROW>>;\n\tprotected _onRowChangeBound: DTableBodyRowOnChange<ROW, unknown>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = options.offset ?? 0;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._columns = rowOptions.columns || [];\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex): void => {\n\t\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\t};\n\t\tthis._columnIndexToCellOptions = new Map<number, DTableBodyCellOptions<ROW>>();\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = -newContentY / rowHeight;\n\t\tconst newRowIndexMappedUpperBound = (height - (newContentY + y)) / rowHeight;\n\t\tlet newRowIndexMappedStart = Math.floor(newRowIndexMappedLowerBound);\n\t\tnewRowIndexMappedStart -= newRowIndexMappedStart % 2 === 0 ? 2 : 1;\n\t\tlet newRowIndexMappedEnd = Math.floor(newRowIndexMappedUpperBound);\n\t\tnewRowIndexMappedEnd += (newRowIndexMappedEnd - newRowIndexMappedStart) % 2 === 1 ? 3 : 2;\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount && oldRowCount - 2 <= newRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: unknown,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t\tthis.emit(\"update\", newRowIndexMappedLowerBound, newRowIndexMappedUpperBound, this);\n\t}\n\n\tprotected resetRow(row: DTableBodyRow<ROW>): DTableBodyRow<ROW> {\n\t\trow.blur(true);\n\t\tconst cells = row.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tcell.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t\treturn row;\n\t}\n\n\tprotected newRow(isEven: boolean): DTableBodyRow<ROW> {\n\t\treturn new DTableBodyRow<ROW>(\n\t\t\tthis._onRowChangeBound,\n\t\t\tisEven,\n\t\t\tthis._columnIndexToCellOptions,\n\t\t\tthis._rowOptions\n\t\t);\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected updateFrozenCellPosition(x: number): void {\n\t\tconst frozen = this._rowOptions.frozen;\n\t\tif (frozen != null && 0 < frozen) {\n\t\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\trows[i].updateFrozenCellPosition(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst dy = -parent.transform.position.y;\n\t\t\tresult.y += dy;\n\t\t\tresult.height -= dy;\n\t\t}\n\t}\n\n\t/**\n\t * Scroll to the given row or row index.\n\t *\n\t * @param target a row or an row index to which the body scrolls to.\n\t * @returns true if succeeded\n\t */\n\tscrollTo(target: ROW | number): boolean {\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tlet rowIndexMapped = -1;\n\t\tif (isNumber(target)) {\n\t\t\tif (0 <= target && target < this.data.mapped.size()) {\n\t\t\t\trowIndexMapped = target;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.data.mapped.each((row: ROW, _: unknown, index: number): boolean => {\n\t\t\t\tif (row === target) {\n\t\t\t\t\trowIndexMapped = index;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t}\n\t\tif (rowIndexMapped < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tparent.position.y = Math.max(\n\t\t\tMath.min(0, parentParent.height - parent.height),\n\t\t\t-rowIndexMapped * this._rowHeight\n\t\t);\n\t\tDApplications.update(this);\n\t\treturn true;\n\t}\n\n\tprotected toRowIndexMapped(local: Point): number {\n\t\tif (0 <= this.parent.position.y + local.y) {\n\t\t\treturn Math.floor(local.y / this._rowHeight);\n\t\t}\n\t\treturn -1;\n\t}\n\n\tprotected toRow(rowIndexMapped: number): DTableBodyRow<ROW> | null {\n\t\tconst index = rowIndexMapped - this._rowIndexMappedStart;\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\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\tprotected toCell(row: DTableBodyRow<ROW>, local: Point): DTableBodyCell<ROW, unknown> | null {\n\t\tconst cells = row.children as Array<DTableBodyCell<ROW, unknown>>;\n\t\tconst cellsLength = cells.length;\n\t\tconst columns = this._columns;\n\t\tconst columnsLength = columns.length;\n\t\tfor (let i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {\n\t\t\tconst cell = cells[cellsLength - i - 1];\n\t\t\tconst x = local.x - cell.position.x;\n\t\t\tif (0 <= x && x <= cell.width) {\n\t\t\t\treturn cell;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonRowClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tconst local = DTableBody.WORK_ON_CLICK;\n\t\t\tlocal.copyFrom(e.data.global);\n\t\t\tthis.toLocal(local, undefined, local, false);\n\t\t\tconst rowIndexMapped = this.toRowIndexMapped(local);\n\t\t\tif (0 <= rowIndexMapped && rowIndexMapped < this._data.mapped.size()) {\n\t\t\t\t// Delegate to the cell at first\n\t\t\t\tconst row = this.toRow(rowIndexMapped);\n\t\t\t\tif (row) {\n\t\t\t\t\tconst cell = this.toCell(row, local);\n\t\t\t\t\tif (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fallback to the default\n\t\t\t\tthis.onRowSelect(e, rowIndexMapped);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tconst isSingle = selection.type === DTableDataSelectionType.SINGLE;\n\t\tconst isNotSingle = !isSingle;\n\t\tconst rowIndex = data.mapped.unmap(rowIndexMapped);\n\t\tconst originalEvent = e.data.originalEvent;\n\t\tconst ctrlKey = originalEvent.ctrlKey;\n\t\tconst shiftKey = originalEvent.shiftKey;\n\t\tif (isSingle || selection.isEmpty() || !(isNotSingle && (ctrlKey || shiftKey))) {\n\t\t\tselection.clearAndAdd(rowIndex);\n\t\t} else if (ctrlKey) {\n\t\t\tselection.toggle(rowIndex);\n\t\t} else if (shiftKey) {\n\t\t\tconst lastRowIndex = selection.last;\n\t\t\tif (lastRowIndex != null) {\n\t\t\t\tconst sorter = data.sorter;\n\t\t\t\tconst filter = data.filter;\n\t\t\t\tconst rowIndexSorted = sorter.map(rowIndex);\n\t\t\t\tconst lastRowIndexSorted = sorter.map(lastRowIndex);\n\t\t\t\tif (rowIndexSorted != null && lastRowIndexSorted != null) {\n\t\t\t\t\tlet istart = lastRowIndexSorted + 1;\n\t\t\t\t\tlet iend = rowIndexSorted + 1;\n\t\t\t\t\tif (rowIndexSorted < lastRowIndexSorted) {\n\t\t\t\t\t\tistart = rowIndexSorted;\n\t\t\t\t\t\tiend = lastRowIndexSorted;\n\t\t\t\t\t}\n\t\t\t\t\tif (istart < iend) {\n\t\t\t\t\t\tconst rowIndices: number[] = [];\n\t\t\t\t\t\tconst indicesFiltered = filter.indices;\n\t\t\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\t\t\tif (indicesFiltered) {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[indexFiltered]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indexFiltered);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(i);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselection.addAll(rowIndices);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point, Rectangle } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions, DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DApplications } from \"./d-applications\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\n\n/**\n * {@link DTableBody} events.\n */\nexport interface DTableBodyEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when rows are updated.\n\t * The first and second parameters are an mapped index range of visible data.\n\t * Please note that these parameters are real numbers.\n\t * For instance, An index range of [0.5, 2.5] means:\n\t *\n\t * * The row at index 0 is partially visible.\n\t * * The row at index 1 is fully visible.\n\t * * The row at index 2 is partially visible.\n\t *\n\t * @param from a lowest mapped index of visible data\n\t * @param to a highest mapped index of vislble data\n\t * @param emitter an emitter\n\t */\n\tupdate(from: number, to: number, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableBody} \"on\" options.\n */\nexport interface DTableBodyOnOptions<EMITTER>\n\textends Partial<DTableBodyEvents<EMITTER>>,\n\t\tDOnOptions {}\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\tcolumns?: Array<DTableColumn<ROW, unknown>>;\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\toffset?: number;\n\tfrozen?: number;\n\ton?: DTableBodyOnOptions<EMITTER>;\n}\n\nexport interface DThemeTableBody extends DThemeBase {\n\tgetRowHeight(): number;\n}\n\nconst toRowOptions = <ROW, DATA extends DTableData<ROW>>(\n\ttheme: DThemeTableBody,\n\toptions: DTableBodyOptions<ROW, DATA>,\n\tselectionType: DTableDataSelectionType\n): DTableBodyRowOptions<ROW> => {\n\tconst columns = options.columns || [];\n\tlet result = options.row;\n\tif (result != null) {\n\t\tif (result.height == null) {\n\t\t\tresult.height = theme.getRowHeight();\n\t\t}\n\t\tif (result.columns === undefined) {\n\t\t\tresult.columns = columns;\n\t\t}\n\t\tif (result.frozen == null) {\n\t\t\tresult.frozen = options.frozen;\n\t\t}\n\t\tif (result.selection === undefined) {\n\t\t\tresult.selection = {\n\t\t\t\ttype: selectionType\n\t\t\t};\n\t\t} else if (result.selection.type === undefined) {\n\t\t\tresult.selection.type = selectionType;\n\t\t}\n\t} else {\n\t\tresult = {\n\t\t\tcolumns,\n\t\t\theight: theme.getRowHeight(),\n\t\t\tfrozen: options.frozen,\n\t\t\tselection: {\n\t\t\t\ttype: selectionType\n\t\t\t}\n\t\t};\n\t}\n\treturn result as DTableBodyRowOptions<ROW>;\n};\n\nexport class DTableBody<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tOPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_ON_CLICK = new Point();\n\n\tprotected _columns: Array<DTableColumn<ROW, unknown>>;\n\tprotected _rowHeight: number;\n\tprotected _rowIndexMappedStart: number;\n\tprotected _rowIndexMappedEnd: number;\n\tprotected _rowOptions: DTableBodyRowOptions<ROW>;\n\tprotected _updateRowsCount: number;\n\tprotected _isUpdateRowsCalled: boolean;\n\tprotected _isUpdateRowsCalledForcibly: boolean;\n\tprotected _workRows: Array<DTableBodyRow<ROW>>;\n\tprotected _onRowChangeBound: DTableBodyRowOnChange<ROW, unknown>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = options.offset ?? 0;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._columns = rowOptions.columns || [];\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex, column): void => {\n\t\t\tthis.onRowChange(newValue, oldValue, row, rowIndex, columnIndex, column);\n\t\t};\n\t\tthis._columnIndexToCellOptions = new Map<number, DTableBodyCellOptions<ROW>>();\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected onRowChange(\n\t\tnewValue: unknown,\n\t\toldValue: unknown,\n\t\trow: ROW,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>\n\t): void {\n\t\tconst data = this._data;\n\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\tif (column.update === DTableColumnUpdate.ALL) {\n\t\t\tthis.update(true);\n\t\t}\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = -newContentY / rowHeight;\n\t\tconst newRowIndexMappedUpperBound = (height - (newContentY + y)) / rowHeight;\n\t\tlet newRowIndexMappedStart = Math.floor(newRowIndexMappedLowerBound);\n\t\tnewRowIndexMappedStart -= newRowIndexMappedStart % 2 === 0 ? 2 : 1;\n\t\tlet newRowIndexMappedEnd = Math.floor(newRowIndexMappedUpperBound);\n\t\tnewRowIndexMappedEnd += (newRowIndexMappedEnd - newRowIndexMappedStart) % 2 === 1 ? 3 : 2;\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount && oldRowCount - 2 <= newRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t\tthis.emit(\"update\", newRowIndexMappedLowerBound, newRowIndexMappedUpperBound, this);\n\t}\n\n\tprotected resetRow(row: DTableBodyRow<ROW>): DTableBodyRow<ROW> {\n\t\trow.blur(true);\n\t\tconst cells = row.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tcell.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t\treturn row;\n\t}\n\n\tprotected newRow(isEven: boolean): DTableBodyRow<ROW> {\n\t\treturn new DTableBodyRow<ROW>(\n\t\t\tthis._onRowChangeBound,\n\t\t\tisEven,\n\t\t\tthis._columnIndexToCellOptions,\n\t\t\tthis._rowOptions\n\t\t);\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected updateFrozenCellPosition(x: number): void {\n\t\tconst frozen = this._rowOptions.frozen;\n\t\tif (frozen != null && 0 < frozen) {\n\t\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\trows[i].updateFrozenCellPosition(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst dy = -parent.transform.position.y;\n\t\t\tresult.y += dy;\n\t\t\tresult.height -= dy;\n\t\t}\n\t}\n\n\t/**\n\t * Scroll to the given row or row index.\n\t *\n\t * @param target a row or an row index to which the body scrolls to.\n\t * @returns true if succeeded\n\t */\n\tscrollTo(target: ROW | number): boolean {\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tlet rowIndexMapped = -1;\n\t\tif (isNumber(target)) {\n\t\t\tif (0 <= target && target < this.data.mapped.size()) {\n\t\t\t\trowIndexMapped = target;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.data.mapped.each((row: ROW, _: unknown, index: number): boolean => {\n\t\t\t\tif (row === target) {\n\t\t\t\t\trowIndexMapped = index;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t}\n\t\tif (rowIndexMapped < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tparent.position.y = Math.max(\n\t\t\tMath.min(0, parentParent.height - parent.height),\n\t\t\t-rowIndexMapped * this._rowHeight\n\t\t);\n\t\tDApplications.update(this);\n\t\treturn true;\n\t}\n\n\tprotected toRowIndexMapped(local: Point): number {\n\t\tif (0 <= this.parent.position.y + local.y) {\n\t\t\treturn Math.floor(local.y / this._rowHeight);\n\t\t}\n\t\treturn -1;\n\t}\n\n\tprotected toRow(rowIndexMapped: number): DTableBodyRow<ROW> | null {\n\t\tconst index = rowIndexMapped - this._rowIndexMappedStart;\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\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\tprotected toCell(row: DTableBodyRow<ROW>, local: Point): DTableBodyCell<ROW, unknown> | null {\n\t\tconst cells = row.children as Array<DTableBodyCell<ROW, unknown>>;\n\t\tconst cellsLength = cells.length;\n\t\tconst columns = this._columns;\n\t\tconst columnsLength = columns.length;\n\t\tfor (let i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {\n\t\t\tconst cell = cells[cellsLength - i - 1];\n\t\t\tconst x = local.x - cell.position.x;\n\t\t\tif (0 <= x && x <= cell.width) {\n\t\t\t\treturn cell;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonRowClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tconst local = DTableBody.WORK_ON_CLICK;\n\t\t\tlocal.copyFrom(e.data.global);\n\t\t\tthis.toLocal(local, undefined, local, false);\n\t\t\tconst rowIndexMapped = this.toRowIndexMapped(local);\n\t\t\tif (0 <= rowIndexMapped && rowIndexMapped < this._data.mapped.size()) {\n\t\t\t\t// Delegate to the cell at first\n\t\t\t\tconst row = this.toRow(rowIndexMapped);\n\t\t\t\tif (row) {\n\t\t\t\t\tconst cell = this.toCell(row, local);\n\t\t\t\t\tif (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fallback to the default\n\t\t\t\tthis.onRowSelect(e, rowIndexMapped);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tconst isSingle = selection.type === DTableDataSelectionType.SINGLE;\n\t\tconst isNotSingle = !isSingle;\n\t\tconst rowIndex = data.mapped.unmap(rowIndexMapped);\n\t\tconst originalEvent = e.data.originalEvent;\n\t\tconst ctrlKey = originalEvent.ctrlKey;\n\t\tconst shiftKey = originalEvent.shiftKey;\n\t\tif (isSingle || selection.isEmpty() || !(isNotSingle && (ctrlKey || shiftKey))) {\n\t\t\tselection.clearAndAdd(rowIndex);\n\t\t} else if (ctrlKey) {\n\t\t\tselection.toggle(rowIndex);\n\t\t} else if (shiftKey) {\n\t\t\tconst lastRowIndex = selection.last;\n\t\t\tif (lastRowIndex != null) {\n\t\t\t\tconst sorter = data.sorter;\n\t\t\t\tconst filter = data.filter;\n\t\t\t\tconst rowIndexSorted = sorter.map(rowIndex);\n\t\t\t\tconst lastRowIndexSorted = sorter.map(lastRowIndex);\n\t\t\t\tif (rowIndexSorted != null && lastRowIndexSorted != null) {\n\t\t\t\t\tlet istart = lastRowIndexSorted + 1;\n\t\t\t\t\tlet iend = rowIndexSorted + 1;\n\t\t\t\t\tif (rowIndexSorted < lastRowIndexSorted) {\n\t\t\t\t\t\tistart = rowIndexSorted;\n\t\t\t\t\t\tiend = lastRowIndexSorted;\n\t\t\t\t\t}\n\t\t\t\t\tif (istart < iend) {\n\t\t\t\t\t\tconst rowIndices: number[] = [];\n\t\t\t\t\t\tconst indicesFiltered = filter.indices;\n\t\t\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\t\t\tif (indicesFiltered) {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[indexFiltered]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indexFiltered);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(i);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselection.addAll(rowIndices);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonDblClick(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
@@ -17,6 +17,7 @@ export var DTableColumnType = {
17
17
  TIME: 11,
18
18
  ACTION: 12,
19
19
  LINK: 13,
20
- TREE: 14
20
+ TREE: 14,
21
+ TEXT_AREA: 15
21
22
  };
22
23
  //# sourceMappingURL=d-table-column-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-column-type.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-type.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,IAAM,gBAAgB,GAAG;IAC/B,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;CACC,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const DTableColumnType = {\n\tINDEX: 0,\n\tTEXT: 1,\n\tINTEGER: 2,\n\tREAL: 3,\n\tCHECK: 4,\n\tCHECK_SINGLE: 5,\n\tCOLOR: 6,\n\tBUTTON: 7,\n\tSELECT: 8,\n\tDATE: 9,\n\tDATETIME: 10,\n\tTIME: 11,\n\tACTION: 12,\n\tLINK: 13,\n\tTREE: 14\n} as const;\n\nexport type DTableColumnType = typeof DTableColumnType[keyof typeof DTableColumnType];\n"]}
1
+ {"version":3,"file":"d-table-column-type.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-type.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,IAAM,gBAAgB,GAAG;IAC/B,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,CAAC;IACf,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,EAAE;CACJ,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport const DTableColumnType = {\n\tINDEX: 0,\n\tTEXT: 1,\n\tINTEGER: 2,\n\tREAL: 3,\n\tCHECK: 4,\n\tCHECK_SINGLE: 5,\n\tCOLOR: 6,\n\tBUTTON: 7,\n\tSELECT: 8,\n\tDATE: 9,\n\tDATETIME: 10,\n\tTIME: 11,\n\tACTION: 12,\n\tLINK: 13,\n\tTREE: 14,\n\tTEXT_AREA: 15\n} as const;\n\nexport type DTableColumnType = typeof DTableColumnType[keyof typeof DTableColumnType];\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * An update region when table cells get edited.
3
+ *
4
+ * * CELL: Edited cells (Default).
5
+ * * ROW: Rows that edited cells belongs to.
6
+ * * ALL: All the rows.
7
+ */
8
+ export var DTableColumnUpdate = {
9
+ CELL: 0,
10
+ ROW: 1,
11
+ ALL: 2
12
+ };
13
+ //# sourceMappingURL=d-table-column-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d-table-column-update.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-update.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,kBAAkB,GAAG;IACjC,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;CACG,CAAC","sourcesContent":["/**\n * An update region when table cells get edited.\n *\n * * CELL: Edited cells (Default).\n * * ROW: Rows that edited cells belongs to.\n * * ALL: All the rows.\n */\nexport const DTableColumnUpdate = {\n\tCELL: 0,\n\tROW: 1,\n\tALL: 2\n} as const;\n\nexport type DTableColumnUpdate = typeof DTableColumnUpdate[keyof typeof DTableColumnUpdate];\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 { 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\nexport interface DTableColumn<\n\tROW_VALUE,\n\tCELL_VALUE,\n\tDIALOG_VALUE = CELL_VALUE,\n\tDIALOG extends DTableColumnSelectingDialog<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"]}
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 DTableColumnSelectingDialog<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 +1 @@
1
- {"version":3,"file":"d-table-data-list-mapped.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-mapped.ts"],"names":[],"mappings":"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","sourcesContent":["import { DTableData, DTableDataMapped, DTableDataMappedEachIteratee } from \"./d-table-data\";\n\nexport interface DTableDataListMappedParent<ROW> extends DTableData<ROW> {\n\treadonly rows: ROW[];\n\treadonly supplimentals?: unknown[];\n}\n\nexport class DTableDataListMapped<ROW> implements DTableDataMapped<ROW> {\n\tprotected _parent: DTableDataListMappedParent<ROW>;\n\n\tconstructor(parent: DTableDataListMappedParent<ROW>) {\n\t\tthis._parent = parent;\n\t}\n\n\tget rows(): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tthis.each((row: ROW): void => {\n\t\t\tresult.push(row);\n\t\t});\n\t\treturn result;\n\t}\n\n\tmap(unmappedIndex: number): number | null {\n\t\tconst parent = this._parent;\n\t\tconst sortedIndex = parent.sorter.map(unmappedIndex);\n\t\tif (sortedIndex != null) {\n\t\t\treturn parent.filter.map(sortedIndex);\n\t\t}\n\t\treturn null;\n\t}\n\n\tunmap(index: number): number {\n\t\tconst parent = this._parent;\n\t\treturn parent.sorter.unmap(parent.filter.unmap(index));\n\t}\n\n\tsize(): number {\n\t\tconst parent = this._parent;\n\t\tconst indicesFiltered = parent.filter.indices;\n\t\treturn indicesFiltered != null ? indicesFiltered.length : parent.size();\n\t}\n\n\tget(index: number): ROW | null {\n\t\tconst parent = this._parent;\n\t\treturn parent.get(this.unmap(index));\n\t}\n\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, ito?: number): void {\n\t\tconst parent = this._parent;\n\t\tconst rows = parent.rows;\n\t\tconst supplimentals = parent.supplimentals;\n\t\tconst indicesFiltered = parent.filter.indices;\n\t\tconst indicesSorted = parent.sorter.indices;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tif (indicesFiltered) {\n\t\t\tconst size = indicesFiltered.length;\n\t\t\tito = ito != null ? Math.min(size, ito) : size;\n\t\t\tif (indicesSorted) {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesSorted[indicesFiltered[i]];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesFiltered[i];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst size = rows.length;\n\t\t\tito = ito != null ? Math.min(size, ito) : size;\n\t\t\tif (indicesSorted) {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesSorted[i];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst row = rows[i];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[i] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, i) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-data-list-mapped.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-mapped.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tDTableData,\n\tDTableDataMapped,\n\tDTableDataMappedEachIteratee,\n\tDTableDataSupplimental\n} from \"./d-table-data\";\n\nexport interface DTableDataListMappedParent<ROW> extends DTableData<ROW> {\n\treadonly rows: ROW[];\n\treadonly supplimentals?: DTableDataSupplimental[];\n}\n\nexport class DTableDataListMapped<ROW> implements DTableDataMapped<ROW> {\n\tprotected _parent: DTableDataListMappedParent<ROW>;\n\n\tconstructor(parent: DTableDataListMappedParent<ROW>) {\n\t\tthis._parent = parent;\n\t}\n\n\tget rows(): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tthis.each((row: ROW): void => {\n\t\t\tresult.push(row);\n\t\t});\n\t\treturn result;\n\t}\n\n\tmap(unmappedIndex: number): number | null {\n\t\tconst parent = this._parent;\n\t\tconst sortedIndex = parent.sorter.map(unmappedIndex);\n\t\tif (sortedIndex != null) {\n\t\t\treturn parent.filter.map(sortedIndex);\n\t\t}\n\t\treturn null;\n\t}\n\n\tunmap(index: number): number {\n\t\tconst parent = this._parent;\n\t\treturn parent.sorter.unmap(parent.filter.unmap(index));\n\t}\n\n\tsize(): number {\n\t\tconst parent = this._parent;\n\t\tconst indicesFiltered = parent.filter.indices;\n\t\treturn indicesFiltered != null ? indicesFiltered.length : parent.size();\n\t}\n\n\tget(index: number): ROW | null {\n\t\tconst parent = this._parent;\n\t\treturn parent.get(this.unmap(index));\n\t}\n\n\teach(iteratee: DTableDataMappedEachIteratee<ROW>, ifrom?: number, ito?: number): void {\n\t\tconst parent = this._parent;\n\t\tconst rows = parent.rows;\n\t\tconst supplimentals = parent.supplimentals;\n\t\tconst indicesFiltered = parent.filter.indices;\n\t\tconst indicesSorted = parent.sorter.indices;\n\t\tifrom = ifrom != null ? Math.max(0, ifrom) : 0;\n\t\tif (indicesFiltered) {\n\t\t\tconst size = indicesFiltered.length;\n\t\t\tito = ito != null ? Math.min(size, ito) : size;\n\t\t\tif (indicesSorted) {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesSorted[indicesFiltered[i]];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesFiltered[i];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst size = rows.length;\n\t\t\tito = ito != null ? Math.min(size, ito) : size;\n\t\t\tif (indicesSorted) {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst unmappedIndex = indicesSorted[i];\n\t\t\t\t\tconst row = rows[unmappedIndex];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[unmappedIndex] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, unmappedIndex) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\t\tconst row = rows[i];\n\t\t\t\t\tconst supplimental = supplimentals ? supplimentals[i] : null;\n\t\t\t\t\tif (iteratee(row, supplimental, i, i) === false) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"]}