@wcardinal/wcardinal-ui 0.450.0 → 0.451.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 (88) hide show
  1. package/dist/types/wcardinal/ui/d-select-multiple.d.ts +4 -2
  2. package/dist/types/wcardinal/ui/d-select.d.ts +2 -0
  3. package/dist/types/wcardinal/ui/d-table-body-cell-action-menu.d.ts +2 -1
  4. package/dist/types/wcardinal/ui/d-table-body-cell-check.d.ts +1 -1
  5. package/dist/types/wcardinal/ui/d-table-body-cell-color.d.ts +1 -1
  6. package/dist/types/wcardinal/ui/d-table-body-cell-date.d.ts +2 -1
  7. package/dist/types/wcardinal/ui/d-table-body-cell-datetime.d.ts +2 -1
  8. package/dist/types/wcardinal/ui/d-table-body-cell-index.d.ts +2 -1
  9. package/dist/types/wcardinal/ui/d-table-body-cell-input-integer.d.ts +2 -1
  10. package/dist/types/wcardinal/ui/d-table-body-cell-input-real.d.ts +2 -1
  11. package/dist/types/wcardinal/ui/d-table-body-cell-input-text-area.d.ts +2 -1
  12. package/dist/types/wcardinal/ui/d-table-body-cell-input-text.d.ts +2 -1
  13. package/dist/types/wcardinal/ui/d-table-body-cell-input-tree.d.ts +2 -1
  14. package/dist/types/wcardinal/ui/d-table-body-cell-select-dialog.d.ts +2 -1
  15. package/dist/types/wcardinal/ui/d-table-body-cell-select-menu.d.ts +2 -1
  16. package/dist/types/wcardinal/ui/d-table-body-cell-select-multiple.d.ts +2 -1
  17. package/dist/types/wcardinal/ui/d-table-body-cell-select-promise.d.ts +2 -1
  18. package/dist/types/wcardinal/ui/d-table-body-cell-text.d.ts +2 -1
  19. package/dist/types/wcardinal/ui/d-table-body-cell-time.d.ts +2 -1
  20. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +1 -1
  21. package/dist/types/wcardinal/ui/d-table-body-row.d.ts +1 -1
  22. package/dist/types/wcardinal/ui/d-table-column-selecting.d.ts +1 -1
  23. package/dist/types/wcardinal/ui/util/dynamic-atlas.d.ts +1 -0
  24. package/dist/wcardinal/ui/d-select-multiple.js +17 -11
  25. package/dist/wcardinal/ui/d-select-multiple.js.map +1 -1
  26. package/dist/wcardinal/ui/d-select.js +18 -12
  27. package/dist/wcardinal/ui/d-select.js.map +1 -1
  28. package/dist/wcardinal/ui/d-table-body-cell-action-menu.js +4 -2
  29. package/dist/wcardinal/ui/d-table-body-cell-action-menu.js.map +1 -1
  30. package/dist/wcardinal/ui/d-table-body-cell-check.js +1 -1
  31. package/dist/wcardinal/ui/d-table-body-cell-check.js.map +1 -1
  32. package/dist/wcardinal/ui/d-table-body-cell-color.js +1 -1
  33. package/dist/wcardinal/ui/d-table-body-cell-color.js.map +1 -1
  34. package/dist/wcardinal/ui/d-table-body-cell-date.js +4 -7
  35. package/dist/wcardinal/ui/d-table-body-cell-date.js.map +1 -1
  36. package/dist/wcardinal/ui/d-table-body-cell-datetime.js +4 -7
  37. package/dist/wcardinal/ui/d-table-body-cell-datetime.js.map +1 -1
  38. package/dist/wcardinal/ui/d-table-body-cell-index.js +4 -2
  39. package/dist/wcardinal/ui/d-table-body-cell-index.js.map +1 -1
  40. package/dist/wcardinal/ui/d-table-body-cell-input-integer.js +4 -2
  41. package/dist/wcardinal/ui/d-table-body-cell-input-integer.js.map +1 -1
  42. package/dist/wcardinal/ui/d-table-body-cell-input-real.js +4 -2
  43. package/dist/wcardinal/ui/d-table-body-cell-input-real.js.map +1 -1
  44. package/dist/wcardinal/ui/d-table-body-cell-input-text-area.js +4 -2
  45. package/dist/wcardinal/ui/d-table-body-cell-input-text-area.js.map +1 -1
  46. package/dist/wcardinal/ui/d-table-body-cell-input-text.js +4 -2
  47. package/dist/wcardinal/ui/d-table-body-cell-input-text.js.map +1 -1
  48. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js +4 -2
  49. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
  50. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js +5 -8
  51. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  52. package/dist/wcardinal/ui/d-table-body-cell-select-menu.js +4 -2
  53. package/dist/wcardinal/ui/d-table-body-cell-select-menu.js.map +1 -1
  54. package/dist/wcardinal/ui/d-table-body-cell-select-multiple.js +4 -2
  55. package/dist/wcardinal/ui/d-table-body-cell-select-multiple.js.map +1 -1
  56. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js +4 -7
  57. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  58. package/dist/wcardinal/ui/d-table-body-cell-text.js +4 -2
  59. package/dist/wcardinal/ui/d-table-body-cell-text.js.map +1 -1
  60. package/dist/wcardinal/ui/d-table-body-cell-time.js +4 -7
  61. package/dist/wcardinal/ui/d-table-body-cell-time.js.map +1 -1
  62. package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
  63. package/dist/wcardinal/ui/d-table-body-row.js +3 -3
  64. package/dist/wcardinal/ui/d-table-body-row.js.map +1 -1
  65. package/dist/wcardinal/ui/d-table-body.js +2 -2
  66. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  67. package/dist/wcardinal/ui/d-table-column-selecting.js.map +1 -1
  68. package/dist/wcardinal/ui/util/dynamic-atlas.js +3 -0
  69. package/dist/wcardinal/ui/util/dynamic-atlas.js.map +1 -1
  70. package/dist/wcardinal/ui/util/dynamic-sdf-font-atlases.js +6 -1
  71. package/dist/wcardinal/ui/util/dynamic-sdf-font-atlases.js.map +1 -1
  72. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  73. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  74. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  75. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  76. package/dist/wcardinal-ui-theme-dark.js +1 -1
  77. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  78. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  79. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  80. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  81. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  82. package/dist/wcardinal-ui-theme-white.js +1 -1
  83. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  84. package/dist/wcardinal-ui.cjs.js +113 -88
  85. package/dist/wcardinal-ui.js +113 -88
  86. package/dist/wcardinal-ui.min.js +2 -2
  87. package/dist/wcardinal-ui.min.js.map +1 -1
  88. package/package.json +1 -1
@@ -60,12 +60,14 @@ var DTableBodyCellSelectMultiple = /** @class */ (function (_super) {
60
60
  DTableBodyCellSelectMultiple.prototype.set = function (value, row, supplimental, rowIndex, columnIndex, forcibly) {
61
61
  this._row = row;
62
62
  this._rowIndex = rowIndex;
63
- this.values = value;
63
+ this.setValues(value, forcibly || this._forcibly);
64
+ this._forcibly = undefined;
64
65
  DTableBodyCells.set(this, row, columnIndex, this._column);
65
66
  };
66
- DTableBodyCellSelectMultiple.prototype.unset = function () {
67
+ DTableBodyCellSelectMultiple.prototype.unset = function (forcibly) {
67
68
  this._row = undefined;
68
69
  this._rowIndex = -1;
70
+ this._forcibly || (this._forcibly = forcibly);
69
71
  };
70
72
  DTableBodyCellSelectMultiple.prototype.getType = function () {
71
73
  return "DTableBodyCellSelectMultiple";
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-cell-select-multiple.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-select-multiple.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,eAAe,EAAgD,MAAM,qBAAqB,CAAC;AAEpG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD;IAWS,gDAAsC;IAS9C,sCACC,WAAmB,EACnB,MAAkC,EAClC,QAA8C,EAC9C,OAAiB;QAJlB,YAMC,kBAAM,OAAO,CAAC,SAMd;QAJA,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpB,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;;IAC3B,CAAC;IAES,oDAAa,GAAvB,UACC,SAAkB,EAClB,SAAkB,EAClB,KAA8B;QAE9B,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,GAAG,KAAK,SAAS,EAAE;YACtB,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAC3C,iBAAM,aAAa,YAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SAC/E;IACF,CAAC;IAES,yDAAkB,GAA5B,UAA6B,CAAgB;QAC5C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,sBAAI,6CAAG;aAAP;YACC,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;;;OAAA;IAED,sBAAI,kDAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,qDAAW;aAAf;YACC,OAAO,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,gDAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,0CAAG,GAAH,UACC,KAAc,EACd,GAAQ,EACR,YAA2C,EAC3C,QAAgB,EAChB,WAAmB,EACnB,QAAkB;QAElB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAgB,CAAC;QAE/B,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,4CAAK,GAAL;QACC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACrB,CAAC;IAES,8CAAO,GAAjB;QACC,OAAO,8BAA8B,CAAC;IACvC,CAAC;IACF,mCAAC;AAAD,CAAC,AA7FD,CAWS,eAAe,GAkFvB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DMenuItem } from \"./d-menu-item\";\nimport { DSelectMultiple, DSelectMultipleOptions, DThemeSelectMultiple } from \"./d-select-multiple\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\n\nexport interface DTableBodyCellSelectMultipleOptions<\n\tROW = unknown,\n\tVALUE = unknown,\n\tTHEME extends\n\t\tDThemeTableBodyCellSelectMultiple<VALUE> = DThemeTableBodyCellSelectMultiple<VALUE>\n> extends DSelectMultipleOptions<VALUE, THEME> {}\n\nexport interface DThemeTableBodyCellSelectMultiple<VALUE = unknown>\n\textends DThemeSelectMultiple<VALUE> {}\n\nexport class DTableBodyCellSelectMultiple<\n\t\tROW = unknown,\n\t\tVALUE = unknown,\n\t\tTHEME extends\n\t\t\tDThemeTableBodyCellSelectMultiple<VALUE> = DThemeTableBodyCellSelectMultiple<VALUE>,\n\t\tOPTIONS extends DTableBodyCellSelectMultipleOptions<\n\t\t\tROW,\n\t\t\tVALUE,\n\t\t\tTHEME\n\t\t> = DTableBodyCellSelectMultipleOptions<ROW, VALUE, THEME>\n\t>\n\textends DSelectMultiple<VALUE, THEME, OPTIONS>\n\timplements DTableBodyCell<ROW, VALUE[]>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, VALUE[]>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, VALUE[]>;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, VALUE[]>,\n\t\tonChange: DTableBodyCellOnChange<ROW, VALUE[]>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\t}\n\n\tprotected onValueChange(\n\t\tnewValues: VALUE[],\n\t\toldValues: VALUE[],\n\t\titems: Array<DMenuItem<VALUE>>\n\t): void {\n\t\tconst row = this._row;\n\t\tif (row !== undefined) {\n\t\t\tconst rowIndex = this._rowIndex;\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tconst column = this._column;\n\t\t\tcolumn.setter(row, columnIndex, newValues);\n\t\t\tsuper.onValueChange(newValues, oldValues, items);\n\t\t\tthis._onChange(newValues, oldValues, row, rowIndex, columnIndex, column, this);\n\t\t}\n\t}\n\n\tprotected onKeyDownArrowDown(e: KeyboardEvent): boolean {\n\t\treturn false;\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, VALUE[]> {\n\t\treturn this._column;\n\t}\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\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tthis.values = value as VALUE[];\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column);\n\t}\n\n\tunset(): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellSelectMultiple\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell-select-multiple.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-select-multiple.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,eAAe,EAAgD,MAAM,qBAAqB,CAAC;AAEpG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD;IAWS,gDAAsC;IAU9C,sCACC,WAAmB,EACnB,MAAkC,EAClC,QAA8C,EAC9C,OAAiB;QAJlB,YAMC,kBAAM,OAAO,CAAC,SAMd;QAJA,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpB,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;;IAC3B,CAAC;IAES,oDAAa,GAAvB,UACC,SAAkB,EAClB,SAAkB,EAClB,KAA8B;QAE9B,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,GAAG,KAAK,SAAS,EAAE;YACtB,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAC3C,iBAAM,aAAa,YAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SAC/E;IACF,CAAC;IAES,yDAAkB,GAA5B,UAA6B,CAAgB;QAC5C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,sBAAI,6CAAG;aAAP;YACC,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;;;OAAA;IAED,sBAAI,kDAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,qDAAW;aAAf;YACC,OAAO,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,gDAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,0CAAG,GAAH,UACC,KAAc,EACd,GAAQ,EACR,YAA2C,EAC3C,QAAgB,EAChB,WAAmB,EACnB,QAAkB;QAElB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,KAAgB,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,4CAAK,GAAL,UAAM,QAAkB;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,KAAd,IAAI,CAAC,SAAS,GAAK,QAAQ,EAAC;IAC7B,CAAC;IAES,8CAAO,GAAjB;QACC,OAAO,8BAA8B,CAAC;IACvC,CAAC;IACF,mCAAC;AAAD,CAAC,AAhGD,CAWS,eAAe,GAqFvB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DMenuItem } from \"./d-menu-item\";\nimport { DSelectMultiple, DSelectMultipleOptions, DThemeSelectMultiple } from \"./d-select-multiple\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\n\nexport interface DTableBodyCellSelectMultipleOptions<\n\tROW = unknown,\n\tVALUE = unknown,\n\tTHEME extends\n\t\tDThemeTableBodyCellSelectMultiple<VALUE> = DThemeTableBodyCellSelectMultiple<VALUE>\n> extends DSelectMultipleOptions<VALUE, THEME> {}\n\nexport interface DThemeTableBodyCellSelectMultiple<VALUE = unknown>\n\textends DThemeSelectMultiple<VALUE> {}\n\nexport class DTableBodyCellSelectMultiple<\n\t\tROW = unknown,\n\t\tVALUE = unknown,\n\t\tTHEME extends\n\t\t\tDThemeTableBodyCellSelectMultiple<VALUE> = DThemeTableBodyCellSelectMultiple<VALUE>,\n\t\tOPTIONS extends DTableBodyCellSelectMultipleOptions<\n\t\t\tROW,\n\t\t\tVALUE,\n\t\t\tTHEME\n\t\t> = DTableBodyCellSelectMultipleOptions<ROW, VALUE, THEME>\n\t>\n\textends DSelectMultiple<VALUE, THEME, OPTIONS>\n\timplements DTableBodyCell<ROW, VALUE[]>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, VALUE[]>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, VALUE[]>;\n\tprotected _forcibly?: boolean;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, VALUE[]>,\n\t\tonChange: DTableBodyCellOnChange<ROW, VALUE[]>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\t}\n\n\tprotected onValueChange(\n\t\tnewValues: VALUE[],\n\t\toldValues: VALUE[],\n\t\titems: Array<DMenuItem<VALUE>>\n\t): void {\n\t\tconst row = this._row;\n\t\tif (row !== undefined) {\n\t\t\tconst rowIndex = this._rowIndex;\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tconst column = this._column;\n\t\t\tcolumn.setter(row, columnIndex, newValues);\n\t\t\tsuper.onValueChange(newValues, oldValues, items);\n\t\t\tthis._onChange(newValues, oldValues, row, rowIndex, columnIndex, column, this);\n\t\t}\n\t}\n\n\tprotected onKeyDownArrowDown(e: KeyboardEvent): boolean {\n\t\treturn false;\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, VALUE[]> {\n\t\treturn this._column;\n\t}\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\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tthis.setValues(value as VALUE[], forcibly || this._forcibly);\n\t\tthis._forcibly = undefined;\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column);\n\t}\n\n\tunset(forcibly?: boolean): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t\tthis._forcibly ||= forcibly;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellSelectMultiple\";\n\t}\n}\n"]}
@@ -91,17 +91,14 @@ var DTableBodyCellSelectPromise = /** @class */ (function (_super) {
91
91
  DTableBodyCellSelectPromise.prototype.set = function (value, row, supplimental, rowIndex, columnIndex, forcibly) {
92
92
  this._row = row;
93
93
  this._rowIndex = rowIndex;
94
- if (forcibly) {
95
- this.text.setValue(value, true);
96
- }
97
- else {
98
- this.text = value;
99
- }
94
+ this.text.setValue(value, forcibly || this._forcibly);
95
+ this._forcibly = undefined;
100
96
  DTableBodyCells.set(this, row, columnIndex, this._column);
101
97
  };
102
- DTableBodyCellSelectPromise.prototype.unset = function () {
98
+ DTableBodyCellSelectPromise.prototype.unset = function (forcibly) {
103
99
  this._row = undefined;
104
100
  this._rowIndex = -1;
101
+ this._forcibly || (this._forcibly = forcibly);
105
102
  };
106
103
  DTableBodyCellSelectPromise.prototype.getType = function () {
107
104
  return "DTableBodyCellSelectPromise";
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-cell-select-promise.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-select-promise.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\n\nexport interface DTableBodyCellSelectPromiseOptions<\n\tROW = unknown,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellSelectPromise<VALUE> = DThemeTableBodyCellSelectPromise<VALUE>\n> extends DButtonOptions<VALUE | null, THEME> {\n\t/**\n\t * False to stop synchronizing the resolved value and the text.\n\t */\n\tsync?: boolean;\n}\n\nexport interface DThemeTableBodyCellSelectPromise<VALUE = unknown>\n\textends DThemeButton<VALUE | null> {\n\tisSyncEnabled(): boolean;\n}\n\nexport class DTableBodyCellSelectPromise<\n\t\tROW = unknown,\n\t\tVALUE = unknown,\n\t\tTHEME extends\n\t\t\tDThemeTableBodyCellSelectPromise<VALUE> = DThemeTableBodyCellSelectPromise<VALUE>,\n\t\tOPTIONS extends DTableBodyCellSelectPromiseOptions<\n\t\t\tROW,\n\t\t\tVALUE,\n\t\t\tTHEME\n\t\t> = DTableBodyCellSelectPromiseOptions<ROW, VALUE, THEME>\n\t>\n\textends DButton<VALUE | null, THEME, OPTIONS>\n\timplements DTableBodyCell<ROW, VALUE | null>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, VALUE | null>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, VALUE | null>;\n\tprotected _isSyncEnabled: boolean;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, VALUE | null>,\n\t\tonChange: DTableBodyCellOnChange<ROW, VALUE | null>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\t\tthis._isSyncEnabled = options?.sync ?? this.theme.isSyncEnabled();\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst selecting = this._column.selecting;\n\t\tconst promise = selecting.promise;\n\t\tif (promise) {\n\t\t\tpromise().then((newValue: VALUE | null): void => {\n\t\t\t\tif (this._isSyncEnabled) {\n\t\t\t\t\tconst oldValue = this.text.computed ?? null;\n\t\t\t\t\tif (newValue !== oldValue) {\n\t\t\t\t\t\tthis.text = newValue;\n\t\t\t\t\t\tthis.onValueChange(newValue, oldValue);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.onValueChange(newValue, null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected onValueChange(newValue: VALUE | null, oldValue: VALUE | null): void {\n\t\tconst row = this._row;\n\t\tif (row !== undefined) {\n\t\t\tconst rowIndex = this._rowIndex;\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tconst column = this._column;\n\t\t\tcolumn.setter(row, columnIndex, newValue);\n\t\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t\tthis._onChange(newValue, oldValue, row, rowIndex, columnIndex, column, this);\n\t\t}\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, VALUE | null> {\n\t\treturn this._column;\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this.text.computed ?? null;\n\t}\n\n\tset value(value: VALUE | null) {\n\t\tthis.text = value;\n\t}\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\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tif (forcibly) {\n\t\t\tthis.text.setValue(value as VALUE | null, true);\n\t\t} else {\n\t\t\tthis.text = value as VALUE | null;\n\t\t}\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column);\n\t}\n\n\tunset(): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellSelectPromise\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell-select-promise.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-select-promise.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent } from \"pixi.js\";\nimport { DButton, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\n\nexport interface DTableBodyCellSelectPromiseOptions<\n\tROW = unknown,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellSelectPromise<VALUE> = DThemeTableBodyCellSelectPromise<VALUE>\n> extends DButtonOptions<VALUE | null, THEME> {\n\t/**\n\t * False to stop synchronizing the resolved value and the text.\n\t */\n\tsync?: boolean;\n}\n\nexport interface DThemeTableBodyCellSelectPromise<VALUE = unknown>\n\textends DThemeButton<VALUE | null> {\n\tisSyncEnabled(): boolean;\n}\n\nexport class DTableBodyCellSelectPromise<\n\t\tROW = unknown,\n\t\tVALUE = unknown,\n\t\tTHEME extends\n\t\t\tDThemeTableBodyCellSelectPromise<VALUE> = DThemeTableBodyCellSelectPromise<VALUE>,\n\t\tOPTIONS extends DTableBodyCellSelectPromiseOptions<\n\t\t\tROW,\n\t\t\tVALUE,\n\t\t\tTHEME\n\t\t> = DTableBodyCellSelectPromiseOptions<ROW, VALUE, THEME>\n\t>\n\textends DButton<VALUE | null, THEME, OPTIONS>\n\timplements DTableBodyCell<ROW, VALUE | null>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, VALUE | null>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, VALUE | null>;\n\tprotected _forcibly?: boolean;\n\tprotected _isSyncEnabled: boolean;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, VALUE | null>,\n\t\tonChange: DTableBodyCellOnChange<ROW, VALUE | null>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\t\tthis._isSyncEnabled = options?.sync ?? this.theme.isSyncEnabled();\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tconst selecting = this._column.selecting;\n\t\tconst promise = selecting.promise;\n\t\tif (promise) {\n\t\t\tpromise().then((newValue: VALUE | null): void => {\n\t\t\t\tif (this._isSyncEnabled) {\n\t\t\t\t\tconst oldValue = this.text.computed ?? null;\n\t\t\t\t\tif (newValue !== oldValue) {\n\t\t\t\t\t\tthis.text = newValue;\n\t\t\t\t\t\tthis.onValueChange(newValue, oldValue);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.onValueChange(newValue, null);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected onValueChange(newValue: VALUE | null, oldValue: VALUE | null): void {\n\t\tconst row = this._row;\n\t\tif (row !== undefined) {\n\t\t\tconst rowIndex = this._rowIndex;\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tconst column = this._column;\n\t\t\tcolumn.setter(row, columnIndex, newValue);\n\t\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t\tthis._onChange(newValue, oldValue, row, rowIndex, columnIndex, column, this);\n\t\t}\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, VALUE | null> {\n\t\treturn this._column;\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this.text.computed ?? null;\n\t}\n\n\tset value(value: VALUE | null) {\n\t\tthis.text = value;\n\t}\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\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tthis.text.setValue(value as VALUE | null, forcibly || this._forcibly);\n\t\tthis._forcibly = undefined;\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column);\n\t}\n\n\tunset(forcibly?: boolean): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t\tthis._forcibly ||= forcibly;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellSelectPromise\";\n\t}\n}\n"]}
@@ -46,12 +46,14 @@ var DTableBodyCellText = /** @class */ (function (_super) {
46
46
  DTableBodyCellText.prototype.set = function (value, row, supplimental, rowIndex, columnIndex, forcibly) {
47
47
  this._row = row;
48
48
  this._rowIndex = rowIndex;
49
- this.text = value;
49
+ this.text.setValue(value, forcibly || this._forcibly);
50
+ this._forcibly = undefined;
50
51
  DTableBodyCells.set(this, row, columnIndex, this._column);
51
52
  };
52
- DTableBodyCellText.prototype.unset = function () {
53
+ DTableBodyCellText.prototype.unset = function (forcibly) {
53
54
  this._row = undefined;
54
55
  this._rowIndex = -1;
56
+ this._forcibly || (this._forcibly = forcibly);
55
57
  };
56
58
  DTableBodyCellText.prototype.getType = function () {
57
59
  return "DTableBodyCellText";
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-cell-text.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-text.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,UAAU,EAAsC,MAAM,gBAAgB,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD;IAUS,sCAAiC;IASzC,4BACC,WAAmB,EACnB,MAAgC,EAChC,QAA4C,EAC5C,OAAiB;QAJlB,YAMC,kBAAM,OAAO,CAAC,SAMd;QAJA,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpB,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;;IAC3B,CAAC;IAED,sBAAI,mCAAG;aAAP;YACC,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;;;OAAA;IAED,sBAAI,wCAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,2CAAW;aAAf;YACC,OAAO,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,sCAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,gCAAG,GAAH,UACC,KAAc,EACd,GAAQ,EACR,YAA2C,EAC3C,QAAgB,EAChB,WAAmB,EACnB,QAAkB;QAElB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,KAAc,CAAC;QAE3B,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,kCAAK,GAAL;QACC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACrB,CAAC;IAES,oCAAO,GAAjB;QACC,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IACF,yBAAC;AAAD,CAAC,AAxED,CAUS,UAAU,GA8DlB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DImageBase, DImageBaseOptions, DThemeImageBase } from \"./d-image-base\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\n\nexport interface DTableBodyCellTextOptions<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellText<VALUE> = DThemeTableBodyCellText<VALUE>\n> extends DImageBaseOptions<VALUE, THEME> {}\n\nexport interface DThemeTableBodyCellText<VALUE = unknown> extends DThemeImageBase<VALUE> {}\n\nexport class DTableBodyCellText<\n\t\tROW,\n\t\tVALUE = unknown,\n\t\tTHEME extends DThemeTableBodyCellText<VALUE> = DThemeTableBodyCellText<VALUE>,\n\t\tOPTIONS extends DTableBodyCellTextOptions<ROW, VALUE, THEME> = DTableBodyCellTextOptions<\n\t\t\tROW,\n\t\t\tVALUE,\n\t\t\tTHEME\n\t\t>\n\t>\n\textends DImageBase<VALUE, THEME, OPTIONS>\n\timplements DTableBodyCell<ROW, VALUE>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, VALUE>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, VALUE>;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, VALUE>,\n\t\tonChange: DTableBodyCellOnChange<ROW, VALUE>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, VALUE> {\n\t\treturn this._column;\n\t}\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\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tthis.text = value as VALUE;\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column);\n\t}\n\n\tunset(): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellText\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell-text.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-text.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,UAAU,EAAsC,MAAM,gBAAgB,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD;IAUS,sCAAiC;IAUzC,4BACC,WAAmB,EACnB,MAAgC,EAChC,QAA4C,EAC5C,OAAiB;QAJlB,YAMC,kBAAM,OAAO,CAAC,SAMd;QAJA,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpB,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;;IAC3B,CAAC;IAED,sBAAI,mCAAG;aAAP;YACC,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;;;OAAA;IAED,sBAAI,wCAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,2CAAW;aAAf;YACC,OAAO,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,sCAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,gCAAG,GAAH,UACC,KAAc,EACd,GAAQ,EACR,YAA2C,EAC3C,QAAgB,EAChB,WAAmB,EACnB,QAAkB;QAElB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAc,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,kCAAK,GAAL,UAAM,QAAkB;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,KAAd,IAAI,CAAC,SAAS,GAAK,QAAQ,EAAC;IAC7B,CAAC;IAES,oCAAO,GAAjB;QACC,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IACF,yBAAC;AAAD,CAAC,AA3ED,CAUS,UAAU,GAiElB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DImageBase, DImageBaseOptions, DThemeImageBase } from \"./d-image-base\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\n\nexport interface DTableBodyCellTextOptions<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellText<VALUE> = DThemeTableBodyCellText<VALUE>\n> extends DImageBaseOptions<VALUE, THEME> {}\n\nexport interface DThemeTableBodyCellText<VALUE = unknown> extends DThemeImageBase<VALUE> {}\n\nexport class DTableBodyCellText<\n\t\tROW,\n\t\tVALUE = unknown,\n\t\tTHEME extends DThemeTableBodyCellText<VALUE> = DThemeTableBodyCellText<VALUE>,\n\t\tOPTIONS extends DTableBodyCellTextOptions<ROW, VALUE, THEME> = DTableBodyCellTextOptions<\n\t\t\tROW,\n\t\t\tVALUE,\n\t\t\tTHEME\n\t\t>\n\t>\n\textends DImageBase<VALUE, THEME, OPTIONS>\n\timplements DTableBodyCell<ROW, VALUE>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, VALUE>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, VALUE>;\n\tprotected _forcibly?: boolean;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, VALUE>,\n\t\tonChange: DTableBodyCellOnChange<ROW, VALUE>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, VALUE> {\n\t\treturn this._column;\n\t}\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\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tthis.text.setValue(value as VALUE, forcibly || this._forcibly);\n\t\tthis._forcibly = undefined;\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column);\n\t}\n\n\tunset(forcibly?: boolean): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t\tthis._forcibly ||= forcibly;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellText\";\n\t}\n}\n"]}
@@ -62,12 +62,7 @@ var DTableBodyCellTime = /** @class */ (function (_super) {
62
62
  this._row = row;
63
63
  this._rowIndex = rowIndex;
64
64
  if (value instanceof Date) {
65
- if (forcibly) {
66
- this.text.setValue(value, true);
67
- }
68
- else {
69
- this.text = value;
70
- }
65
+ this.text.setValue(value, forcibly || this._forcibly);
71
66
  }
72
67
  else if (isNumber(value)) {
73
68
  var text = this.text;
@@ -80,11 +75,13 @@ var DTableBodyCellTime = /** @class */ (function (_super) {
80
75
  text.compute(true);
81
76
  }
82
77
  }
78
+ this._forcibly = undefined;
83
79
  DTableBodyCells.set(this, row, columnIndex, this._column);
84
80
  };
85
- DTableBodyCellTime.prototype.unset = function () {
81
+ DTableBodyCellTime.prototype.unset = function (forcibly) {
86
82
  this._row = undefined;
87
83
  this._rowIndex = -1;
84
+ this._forcibly || (this._forcibly = forcibly);
88
85
  };
89
86
  DTableBodyCellTime.prototype.getType = function () {
90
87
  return "DTableBodyCellTime";
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-cell-time.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-time.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DButtonTime, DButtonTimeOptions, DThemeButtonTime } from \"./d-button-time\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\nimport { isNumber } from \"./util/is-number\";\n\nexport interface DTableBodyCellTimeOptions<\n\tROW = unknown,\n\tTHEME extends DThemeTableBodyCellTime = DThemeTableBodyCellTime\n> extends DButtonTimeOptions<THEME> {}\n\nexport interface DThemeTableBodyCellTime extends DThemeButtonTime {}\n\nexport class DTableBodyCellTime<\n\t\tROW = unknown,\n\t\tTHEME extends DThemeTableBodyCellTime = DThemeTableBodyCellTime,\n\t\tOPTIONS extends DTableBodyCellTimeOptions<ROW, THEME> = DTableBodyCellTimeOptions<\n\t\t\tROW,\n\t\t\tTHEME\n\t\t>\n\t>\n\textends DButtonTime<THEME, OPTIONS>\n\timplements DTableBodyCell<ROW, Date>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, Date>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, Date>;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, Date>,\n\t\tonChange: DTableBodyCellOnChange<ROW, Date>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tconst row = this._row;\n\t\tif (row !== undefined) {\n\t\t\tconst rowIndex = this._rowIndex;\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tconst column = this._column;\n\t\t\tcolumn.setter(row, columnIndex, newValue);\n\t\t\tsuper.onValueChange(newValue, oldValue);\n\t\t\tthis._onChange(newValue, oldValue, row, rowIndex, columnIndex, column, this);\n\t\t} else {\n\t\t\tsuper.onValueChange(newValue, oldValue);\n\t\t}\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, Date> {\n\t\treturn this._column;\n\t}\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\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tif (value instanceof Date) {\n\t\t\tif (forcibly) {\n\t\t\t\tthis.text.setValue(value, true);\n\t\t\t} else {\n\t\t\t\tthis.text = value;\n\t\t\t}\n\t\t} else if (isNumber(value)) {\n\t\t\tconst text = this.text;\n\t\t\tconst computed = text.computed;\n\t\t\tif (computed == null) {\n\t\t\t\tthis.text = new Date(value);\n\t\t\t} else if (computed.getTime() !== value) {\n\t\t\t\tcomputed.setTime(value);\n\t\t\t\ttext.compute(true);\n\t\t\t}\n\t\t}\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column);\n\t}\n\n\tunset(): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellTime\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell-time.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-time.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DButtonTime, DButtonTimeOptions, DThemeButtonTime } from \"./d-button-time\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\nimport { isNumber } from \"./util/is-number\";\n\nexport interface DTableBodyCellTimeOptions<\n\tROW = unknown,\n\tTHEME extends DThemeTableBodyCellTime = DThemeTableBodyCellTime\n> extends DButtonTimeOptions<THEME> {}\n\nexport interface DThemeTableBodyCellTime extends DThemeButtonTime {}\n\nexport class DTableBodyCellTime<\n\t\tROW = unknown,\n\t\tTHEME extends DThemeTableBodyCellTime = DThemeTableBodyCellTime,\n\t\tOPTIONS extends DTableBodyCellTimeOptions<ROW, THEME> = DTableBodyCellTimeOptions<\n\t\t\tROW,\n\t\t\tTHEME\n\t\t>\n\t>\n\textends DButtonTime<THEME, OPTIONS>\n\timplements DTableBodyCell<ROW, Date>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, Date>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, Date>;\n\tprotected _forcibly?: boolean;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, Date>,\n\t\tonChange: DTableBodyCellOnChange<ROW, Date>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tconst row = this._row;\n\t\tif (row !== undefined) {\n\t\t\tconst rowIndex = this._rowIndex;\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tconst column = this._column;\n\t\t\tcolumn.setter(row, columnIndex, newValue);\n\t\t\tsuper.onValueChange(newValue, oldValue);\n\t\t\tthis._onChange(newValue, oldValue, row, rowIndex, columnIndex, column, this);\n\t\t} else {\n\t\t\tsuper.onValueChange(newValue, oldValue);\n\t\t}\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, Date> {\n\t\treturn this._column;\n\t}\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\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tif (value instanceof Date) {\n\t\t\tthis.text.setValue(value, forcibly || this._forcibly);\n\t\t} else if (isNumber(value)) {\n\t\t\tconst text = this.text;\n\t\t\tconst computed = text.computed;\n\t\t\tif (computed == null) {\n\t\t\t\tthis.text = new Date(value);\n\t\t\t} else if (computed.getTime() !== value) {\n\t\t\t\tcomputed.setTime(value);\n\t\t\t\ttext.compute(true);\n\t\t\t}\n\t\t}\n\t\tthis._forcibly = undefined;\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column);\n\t}\n\n\tunset(forcibly?: boolean): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t\tthis._forcibly ||= forcibly;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellTime\";\n\t}\n}\n"]}
@@ -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 { InteractionEvent, 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 = unknown, 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 = unknown> 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: 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 { InteractionEvent, 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 = unknown, 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 = unknown> 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(forcibly?: boolean): 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: InteractionEvent, local: Point): boolean;\n}\n"]}
@@ -296,8 +296,8 @@ var DTableBodyRow = /** @class */ (function (_super) {
296
296
  DTableBodyRow.prototype.onSet = function (value, rowIndex) {
297
297
  this.emit("set", value, rowIndex, this);
298
298
  };
299
- DTableBodyRow.prototype.unset = function () {
300
- if (this._value !== undefined) {
299
+ DTableBodyRow.prototype.unset = function (forcibly) {
300
+ if (forcibly || this._value !== undefined) {
301
301
  this._value = undefined;
302
302
  this._index = -1;
303
303
  var cells = this.children;
@@ -305,7 +305,7 @@ var DTableBodyRow = /** @class */ (function (_super) {
305
305
  for (var i = 0; i < cellsLength; ++i) {
306
306
  var cell = cells[i];
307
307
  if (this.isCell(cell)) {
308
- cell.unset();
308
+ cell.unset(forcibly);
309
309
  }
310
310
  }
311
311
  this.onUnset();
@@ -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 { 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<THEME> {\n\theight?: number;\n\tcell?: DTableBodyCellOptions<ROW>;\n\tselection?: DTableBodyRowSelectionOptions;\n}\n\nexport interface DThemeTableBodyRow extends DThemeTableRow {}\n\nexport type DTableBodyRowOnChange<ROW, VALUE = unknown, 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>, THEME, OPTIONS> {\n\tprotected _value?: ROW;\n\tprotected _supplimental?: DTableDataSupplimental | null;\n\tprotected _index: number;\n\tprotected _onChange: DTableBodyRowOnChange<ROW>;\n\tprotected _onCellChangeBound: DTableBodyCellOnChange<ROW, any>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\n\tconstructor(\n\t\tonChange: DTableBodyRowOnChange<ROW>,\n\t\tisEven: boolean,\n\t\tcolumnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>,\n\t\tcolumns: DTableColumn<ROW>[],\n\t\tfrozen: number,\n\t\toptions: OPTIONS\n\t) {\n\t\tsuper(columns, frozen, 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();\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>\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>,\n\t\tcolumns: DTableColumn<ROW>[],\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>,\n\t\tonChange: DTableBodyCellOnChange<ROW>,\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>,\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"]}
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<THEME> {\n\theight?: number;\n\tcell?: DTableBodyCellOptions<ROW>;\n\tselection?: DTableBodyRowSelectionOptions;\n}\n\nexport interface DThemeTableBodyRow extends DThemeTableRow {}\n\nexport type DTableBodyRowOnChange<ROW, VALUE = unknown, 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>, THEME, OPTIONS> {\n\tprotected _value?: ROW;\n\tprotected _supplimental?: DTableDataSupplimental | null;\n\tprotected _index: number;\n\tprotected _onChange: DTableBodyRowOnChange<ROW>;\n\tprotected _onCellChangeBound: DTableBodyCellOnChange<ROW, any>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\n\tconstructor(\n\t\tonChange: DTableBodyRowOnChange<ROW>,\n\t\tisEven: boolean,\n\t\tcolumnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>,\n\t\tcolumns: DTableColumn<ROW>[],\n\t\tfrozen: number,\n\t\toptions: OPTIONS\n\t) {\n\t\tsuper(columns, frozen, 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();\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>\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>,\n\t\tcolumns: DTableColumn<ROW>[],\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>,\n\t\tonChange: DTableBodyCellOnChange<ROW>,\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>,\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(forcibly?: boolean): void {\n\t\tif (forcibly || 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(forcibly);\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"]}
@@ -229,7 +229,7 @@ var DTableBody = /** @class */ (function (_super) {
229
229
  rowState.removeAll(DTableState.HAS_DATA, DTableState.SELECTABLE, DBaseState.ACTIVE);
230
230
  rowState.unlock();
231
231
  // Data
232
- row.unset();
232
+ row.unset(forcibly);
233
233
  }
234
234
  for (var i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {
235
235
  var row = rows[i];
@@ -242,7 +242,7 @@ var DTableBody = /** @class */ (function (_super) {
242
242
  rowState.removeAll(DTableState.HAS_DATA, DTableState.SELECTABLE, DBaseState.ACTIVE);
243
243
  rowState.unlock();
244
244
  // Data
245
- row.unset();
245
+ row.unset(forcibly);
246
246
  }
247
247
  this.lock();
248
248
  content.position.y = newContentY;
@@ -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 { InteractionEvent, InteractionManager, Point, Rectangle } from \"pixi.js\";\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\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\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\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.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\theight: theme.getRowHeight(),\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: DTableColumn<ROW>[];\n\tprotected _frozen: number;\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>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(columns: DTableColumn<ROW>[], frozen: number, offset: number, options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = offset;\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\tthis._columns = columns;\n\t\tthis._frozen = frozen;\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._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>\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) {\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.add(DTableState.HAS_DATA);\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.HAS_DATA, 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.HAS_DATA, 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._columns,\n\t\t\tthis._frozen,\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._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\t/**\n\t * Returns a mapped row index at the given local Y position or -1.\n\t *\n\t * @param localY a local Y position\n\t * @returns a mapped row index at the given local Y position or -1.\n\t */\n\ttoRowIndexMapped(localY: number): number {\n\t\tif (0 <= this.parent.position.y + localY) {\n\t\t\tconst result = Math.floor(localY / this._rowHeight);\n\t\t\tif (0 <= result && result < this._data.mapped.size()) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n\n\t/**\n\t * Returns a row at the given mapped row index or null if not exits.\n\t *\n\t * @param rowIndexMapped a mapped row index\n\t * @returns a row at the given mapped row index or null if not exists.\n\t */\n\ttoRow(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\t/**\n\t * Returns a cell at the given local X position or null if not exits.\n\t * This method assumes the given local X position is on the given row.\n\t *\n\t * @param row a row\n\t * @param localX a local X position\n\t * @returns a cell at the given local X position or null if not exits\n\t */\n\ttoCell(row: DTableBodyRow<ROW>, localX: number): 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 = localX - 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.y);\n\t\t\tif (0 <= rowIndexMapped) {\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.x);\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(e: MouseEvent | TouchEvent, interactionManager: InteractionManager): 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":"AAAA;;;GAGG;;AAEH,OAAO,EAAwC,KAAK,EAAa,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,KAAK,EAAyC,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAA+C,MAAM,oBAAoB,CAAC;AAGhG,OAAO,EAAE,cAAc,EAAyB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAuB,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA6C7D,IAAM,YAAY,GAAG,UACpB,KAAsB,EACtB,OAAqC,EACrC,aAAsC;IAEtC,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IACzB,IAAI,MAAM,IAAI,IAAI,EAAE;QACnB,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;YAC1B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;SACrC;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,MAAM,CAAC,SAAS,GAAG;gBAClB,IAAI,EAAE,aAAa;aACnB,CAAC;SACF;aAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;YAC/C,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC;SACtC;KACD;SAAM;QACN,MAAM,GAAG;YACR,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE;YAC5B,SAAS,EAAE;gBACV,IAAI,EAAE,aAAa;aACnB;SACD,CAAC;KACF;IACD,OAAO,MAAmC,CAAC;AAC5C,CAAC,CAAC;AAEF;IAKU,8BAAqB;IAiB9B,oBAAY,OAA4B,EAAE,MAAc,EAAE,MAAc,EAAE,OAAgB;QAA1F,YACC,kBAAM,OAAO,CAAC,SAuBd;QArBA,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;QACnC,IAAM,IAAI,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAChB,IAAM,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC;QACzB,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrE,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACvF,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,KAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,KAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,KAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,KAAI,CAAC,iBAAiB,GAAG,UAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM;YAC/E,KAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC,CAAC;QACF,KAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAsC,CAAC;QAC/E,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC;;IACrC,CAAC;IAES,gCAAW,GAArB,UACC,QAAiB,EACjB,QAAiB,EACjB,GAAQ,EACR,QAAgB,EAChB,WAAmB,EACnB,MAAyB;QAEzB,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,kBAAkB,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAClB;IACF,CAAC;IAES,2BAAM,GAAhB,UAAiB,OAA2C;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,OAAO,CAAC;SACf;QACD,OAAO,IAAI,cAAc,CAAM,OAAO,CAAQ,CAAC;IAChD,CAAC;IAES,2BAAM,GAAhB,UACC,MAAyD;QAEzD,OAAO,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,MAAM,CAAC;IAC7C,CAAC;IAED,6BAAQ,GAAR,UAAS,QAAgB,EAAE,SAAiB,EAAE,QAAgB,EAAE,SAAiB;QAChF,iBAAM,QAAQ,YAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,sBAAI,iCAAS;aAAb;YACC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7B,CAAC;;;OAAA;IAED,yBAAI,GAAJ;QACC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;SACzC;IACF,CAAC;IAED,2BAAM,GAAN,UAAO,YAAqB;QAC3B,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAChC,IAAI,YAAY,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;SACzC;IACF,CAAC;IAED;;;;;OAKG;IACH,2BAAM,GAAN,UAAO,QAAkB;QACxB,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,QAAQ,EAAE;gBACb,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;aACxC;YACD,OAAO;SACP;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,OAAO;SACP;QACD,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,IAAI,aAAa,IAAI,IAAI,EAAE;YAC1B,OAAO;SACP;QAED,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;QACxD,IAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QACpC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAE1C,IAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAI,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACnD,IAAI,WAAW,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;QAEhE,IAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,IAAM,SAAS,GAAG,CAAC,GAAG,cAAc,GAAG,SAAS,CAAC;QACjD,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrD,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5E,IAAM,2BAA2B,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7D,IAAM,2BAA2B,GAAG,CAAC,MAAM,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC7E,IAAI,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACrE,sBAAsB,IAAI,sBAAsB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,IAAI,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACnE,oBAAoB,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,WAAW,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;QAChE,IAAI,WAAW,GAAG,WAAW,EAAE;YAC9B,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;QAED,IAAI,WAAW,GAAG,WAAW,EAAE;YAC9B,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;gBAC/C,IAAM,iBAAiB,GAAG,sBAAsB,GAAG,CAAC,CAAC;gBACrD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACtB;YACD,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;aAAM,IAAI,WAAW,GAAG,WAAW,EAAE;YACrC,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;gBACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1B;YACD,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;QAED,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;QAE/C,IAAM,wBAAwB,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;QACjF,IAAM,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACvE,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,GAAG,2BAA2B,IAAI,2BAA2B,GAAG,UAAU,EAAE;YAChF,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5B,IAAI,CAAC,GAAG,wBAAwB,EAAE;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClC;gBACD,KAAK,IAAI,CAAC,GAAG,2BAA2B,EAAE,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;oBAC9D,IAAI,CAAC,CAAC,GAAG,2BAA2B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,UAAU,GAAG,2BAA2B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC7D;aACD;iBAAM;gBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,2BAA2B,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7E;gBACD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,2BAA2B,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;oBACvE,IAAI,CAAC,CAAC,GAAG,2BAA2B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClB;aACD;YACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SAChB;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,eAAe,GAAG,SAAS,CAAC,IAAI,KAAK,uBAAuB,CAAC,IAAI,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,UACC,KAAU,EACV,YAA2C,EAC3C,KAAa,EACb,aAAqB;YAErB,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,CAAC;YAEjD,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC;YAEnC,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACnC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACtD,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACnE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,EACD,sBAAsB,EACtB,sBAAsB,GAAG,UAAU,CACnC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,sBAAsB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;YACtE,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAE1D,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACpF,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACpB;QAED,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,cAAc,IAAI,sBAAsB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YACzF,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAE1D,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACpF,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACpB;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC;QACjC,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IACrF,CAAC;IAES,6BAAQ,GAAlB,UAAmB,GAAuB;QACzC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,IAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACnD,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,YAAY,KAAK,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;aAC7B;SACD;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAES,2BAAM,GAAhB,UAAiB,MAAe;QAC/B,OAAO,IAAI,aAAa,CACvB,IAAI,CAAC,iBAAiB,EACtB,MAAM,EACN,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,CAChB,CAAC;IACH,CAAC;IAES,iCAAY,GAAtB,UAAuB,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAC5E,iBAAM,YAAY,YAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,6CAAwB,GAAlC,UAAmC,CAAS;QAC3C,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,MAAM,EAAE;YACjC,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBAClD,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAED,oCAAe,GAAf,UAAgB,MAAe,EAAE,MAAiB;QACjD,iBAAM,eAAe,YAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SACpB;IACF,CAAC;IAED;;;;;OAKG;IACH,6BAAQ,GAAR,UAAS,MAAoB;QAC5B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,OAAO,KAAK,CAAC;SACb;QACD,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,IAAI,YAAY,IAAI,IAAI,EAAE;YACzB,OAAO,KAAK,CAAC;SACb;QACD,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;YACrB,IAAI,CAAC,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBACpD,cAAc,GAAG,MAAM,CAAC;aACxB;SACD;aAAM;YACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,GAAQ,EAAE,CAAU,EAAE,KAAa;gBACzD,IAAI,GAAG,KAAK,MAAM,EAAE;oBACnB,cAAc,GAAG,KAAK,CAAC;oBACvB,OAAO,KAAK,CAAC;iBACb;gBACD,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,CAAC;SACH;QACD,IAAI,cAAc,GAAG,CAAC,EAAE;YACvB,OAAO,KAAK,CAAC;SACb;QACD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAChD,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CACjC,CAAC;QACF,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,qCAAgB,GAAhB,UAAiB,MAAc;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAAE;YACzC,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBACrD,OAAO,MAAM,CAAC;aACd;SACD;QACD,OAAO,CAAC,CAAC,CAAC;IACX,CAAC;IAED;;;;;OAKG;IACH,0BAAK,GAAL,UAAM,cAAsB;QAC3B,IAAM,KAAK,GAAG,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;QACxD,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;YACtC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACH,2BAAM,GAAN,UAAO,GAAuB,EAAE,MAAc;QAC7C,IAAM,KAAK,GAAG,GAAG,CAAC,QAA+C,CAAC;QAClE,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YAC3E,IAAM,IAAI,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,IAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC9B,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,+BAAU,GAAV,UAAW,CAAmB;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC;YACvC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,cAAc,EAAE;gBACxB,gCAAgC;gBAChC,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACvC,IAAI,GAAG,EAAE;oBACR,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;wBAC3D,OAAO;qBACP;iBACD;gBAED,0BAA0B;gBAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAES,gCAAW,GAArB,UAAsB,CAAmB,EAAE,cAAsB;QAChE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,KAAK,uBAAuB,CAAC,MAAM,CAAC;QACnE,IAAM,WAAW,GAAG,CAAC,QAAQ,CAAC;QAC9B,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,IAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,IAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QACxC,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE;YAC/E,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAChC;aAAM,IAAI,OAAO,EAAE;YACnB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC3B;aAAM,IAAI,QAAQ,EAAE;YACpB,IAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC;YACpC,IAAI,YAAY,IAAI,IAAI,EAAE;gBACzB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACpD,IAAI,cAAc,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE;oBACzD,IAAI,MAAM,GAAG,kBAAkB,GAAG,CAAC,CAAC;oBACpC,IAAI,IAAI,GAAG,cAAc,GAAG,CAAC,CAAC;oBAC9B,IAAI,cAAc,GAAG,kBAAkB,EAAE;wBACxC,MAAM,GAAG,cAAc,CAAC;wBACxB,IAAI,GAAG,kBAAkB,CAAC;qBAC1B;oBACD,IAAI,MAAM,GAAG,IAAI,EAAE;wBAClB,IAAM,UAAU,GAAa,EAAE,CAAC;wBAChC,IAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;wBACvC,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;wBACrC,IAAI,eAAe,EAAE;4BACpB,IAAI,aAAa,EAAE;gCAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCAC7D,IAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oCACzC,IAAI,MAAM,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,EAAE;wCACpD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;qCAC9C;iCACD;6BACD;iCAAM;gCACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCAC7D,IAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oCACzC,IAAI,MAAM,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,EAAE;wCACpD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qCAC/B;iCACD;6BACD;yBACD;6BAAM;4BACN,IAAI,aAAa,EAAE;gCAClB,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCACnC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;iCAClC;6BACD;iCAAM;gCACN,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCACnC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iCACnB;6BACD;yBACD;wBACD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;qBAC7B;iBACD;aACD;SACD;IACF,CAAC;IAED,+BAAU,GAAV,UAAW,CAA0B,EAAE,kBAAsC;QAC5E,OAAO,iBAAM,UAAU,YAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAES,4BAAO,GAAjB;QACC,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,sBAAI,4BAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IA9fgB,wBAAa,GAAG,IAAI,KAAK,EAAE,CAAC;IA+f9C,iBAAC;CAAA,AArgBD,CAKU,KAAK,GAggBd;SArgBY,UAAU","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, InteractionManager, Point, Rectangle } from \"pixi.js\";\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\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\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\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.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\theight: theme.getRowHeight(),\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: DTableColumn<ROW>[];\n\tprotected _frozen: number;\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>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(columns: DTableColumn<ROW>[], frozen: number, offset: number, options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = offset;\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\tthis._columns = columns;\n\t\tthis._frozen = frozen;\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._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>\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) {\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.add(DTableState.HAS_DATA);\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.HAS_DATA, DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset(forcibly);\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.HAS_DATA, DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset(forcibly);\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._columns,\n\t\t\tthis._frozen,\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._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\t/**\n\t * Returns a mapped row index at the given local Y position or -1.\n\t *\n\t * @param localY a local Y position\n\t * @returns a mapped row index at the given local Y position or -1.\n\t */\n\ttoRowIndexMapped(localY: number): number {\n\t\tif (0 <= this.parent.position.y + localY) {\n\t\t\tconst result = Math.floor(localY / this._rowHeight);\n\t\t\tif (0 <= result && result < this._data.mapped.size()) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n\n\t/**\n\t * Returns a row at the given mapped row index or null if not exits.\n\t *\n\t * @param rowIndexMapped a mapped row index\n\t * @returns a row at the given mapped row index or null if not exists.\n\t */\n\ttoRow(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\t/**\n\t * Returns a cell at the given local X position or null if not exits.\n\t * This method assumes the given local X position is on the given row.\n\t *\n\t * @param row a row\n\t * @param localX a local X position\n\t * @returns a cell at the given local X position or null if not exits\n\t */\n\ttoCell(row: DTableBodyRow<ROW>, localX: number): 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 = localX - 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.y);\n\t\t\tif (0 <= rowIndexMapped) {\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.x);\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(e: MouseEvent | TouchEvent, interactionManager: InteractionManager): 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 +1 @@
1
- {"version":3,"file":"d-table-column-selecting.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-selecting.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDialogOpener } from \"./d-dialog\";\nimport { DDialogSelectOptions } from \"./d-dialog-select\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\n\nexport type DTableColumnSelectingGetter<CELL_VALUE, DIALOG> = (dialog: DIALOG) => CELL_VALUE;\nexport type DTableColumnSelectingSetter<CELL_VALUE, DIALOG> = (\n\tdialog: DIALOG,\n\tcell: CELL_VALUE\n) => void;\n\nexport interface DTableColumnSelectingDialog<DIALOG_VALUE> {\n\treadonly value: DIALOG_VALUE;\n\topen(owner?: DDialogOpener): Promise<DIALOG_VALUE>;\n}\n\nexport interface DTableColumnSelectingOptions<\n\tCELL_VALUE,\n\tDIALOG_VALUE,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE>\n> {\n\tgetter?: DTableColumnSelectingGetter<CELL_VALUE, DIALOG>;\n\tsetter?: DTableColumnSelectingSetter<CELL_VALUE, DIALOG>;\n\n\tmenu?: DMenuOptions<CELL_VALUE> | DMenu<CELL_VALUE>;\n\tmultiple?: DMenuOptions<CELL_VALUE> | DMenu<CELL_VALUE>;\n\tdialog?: DDialogSelectOptions<DIALOG_VALUE> | DIALOG;\n\tpromise?: () => Promise<CELL_VALUE>;\n}\n\nexport interface DTableColumnSelecting<\n\tCELL_VALUE,\n\tDIALOG_VALUE,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE>\n> {\n\tgetter: DTableColumnSelectingGetter<CELL_VALUE, DIALOG>;\n\tsetter: DTableColumnSelectingSetter<CELL_VALUE, DIALOG>;\n\n\tmenu?: DMenu<CELL_VALUE>;\n\tmultiple?: DMenu<CELL_VALUE>;\n\tdialog?: DIALOG;\n\tpromise?: () => Promise<CELL_VALUE>;\n}\n"]}
1
+ {"version":3,"file":"d-table-column-selecting.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-column-selecting.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DDialogOpener } from \"./d-dialog\";\nimport { DDialogSelectOptions } from \"./d-dialog-select\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\n\nexport type DTableColumnSelectingGetter<CELL_VALUE, DIALOG> = (\n\tdialog: DIALOG,\n\tcell: CELL_VALUE\n) => CELL_VALUE;\nexport type DTableColumnSelectingSetter<CELL_VALUE, DIALOG> = (\n\tdialog: DIALOG,\n\tcell: CELL_VALUE\n) => void;\n\nexport interface DTableColumnSelectingDialog<DIALOG_VALUE> {\n\treadonly value: DIALOG_VALUE;\n\topen(owner?: DDialogOpener): Promise<DIALOG_VALUE>;\n}\n\nexport interface DTableColumnSelectingOptions<\n\tCELL_VALUE,\n\tDIALOG_VALUE,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE>\n> {\n\tgetter?: DTableColumnSelectingGetter<CELL_VALUE, DIALOG>;\n\tsetter?: DTableColumnSelectingSetter<CELL_VALUE, DIALOG>;\n\n\tmenu?: DMenuOptions<CELL_VALUE> | DMenu<CELL_VALUE>;\n\tmultiple?: DMenuOptions<CELL_VALUE> | DMenu<CELL_VALUE>;\n\tdialog?: DDialogSelectOptions<DIALOG_VALUE> | DIALOG;\n\tpromise?: () => Promise<CELL_VALUE>;\n}\n\nexport interface DTableColumnSelecting<\n\tCELL_VALUE,\n\tDIALOG_VALUE,\n\tDIALOG extends DTableColumnSelectingDialog<DIALOG_VALUE>\n> {\n\tgetter: DTableColumnSelectingGetter<CELL_VALUE, DIALOG>;\n\tsetter: DTableColumnSelectingSetter<CELL_VALUE, DIALOG>;\n\n\tmenu?: DMenu<CELL_VALUE>;\n\tmultiple?: DMenu<CELL_VALUE>;\n\tdialog?: DIALOG;\n\tpromise?: () => Promise<CELL_VALUE>;\n}\n"]}