@wcardinal/wcardinal-ui 0.396.0 → 0.398.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 (159) hide show
  1. package/dist/types/wcardinal/ui/d-base.d.ts +1 -3
  2. package/dist/types/wcardinal/ui/d-button-base.d.ts +8 -8
  3. package/dist/types/wcardinal/ui/d-button-color-gradient.d.ts +2 -2
  4. package/dist/types/wcardinal/ui/d-button-color.d.ts +2 -2
  5. package/dist/types/wcardinal/ui/d-button-date.d.ts +2 -2
  6. package/dist/types/wcardinal/ui/d-button-datetime.d.ts +2 -2
  7. package/dist/types/wcardinal/ui/d-button-file.d.ts +2 -2
  8. package/dist/types/wcardinal/ui/d-button-link.d.ts +3 -3
  9. package/dist/types/wcardinal/ui/d-button-redo.d.ts +2 -2
  10. package/dist/types/wcardinal/ui/d-button-select.d.ts +2 -2
  11. package/dist/types/wcardinal/ui/d-button-time.d.ts +2 -2
  12. package/dist/types/wcardinal/ui/d-button-undo.d.ts +2 -2
  13. package/dist/types/wcardinal/ui/d-canvas-container.d.ts +3 -3
  14. package/dist/types/wcardinal/ui/d-chart-plot-area-impl.d.ts +3 -3
  15. package/dist/types/wcardinal/ui/d-chart-selection-simple.d.ts +5 -5
  16. package/dist/types/wcardinal/ui/d-diagram-canvas-base.d.ts +0 -1
  17. package/dist/types/wcardinal/ui/d-diagram-canvas.d.ts +13 -13
  18. package/dist/types/wcardinal/ui/d-diagram.d.ts +1 -3
  19. package/dist/types/wcardinal/ui/d-dropdown-base.d.ts +2 -2
  20. package/dist/types/wcardinal/ui/d-expandable-header.d.ts +2 -2
  21. package/dist/types/wcardinal/ui/d-html-element.d.ts +3 -3
  22. package/dist/types/wcardinal/ui/d-link.d.ts +1 -2
  23. package/dist/types/wcardinal/ui/d-list-item.d.ts +4 -4
  24. package/dist/types/wcardinal/ui/d-menu-bar-item.d.ts +2 -2
  25. package/dist/types/wcardinal/ui/d-menu-item-base.d.ts +4 -4
  26. package/dist/types/wcardinal/ui/d-menu-item-check.d.ts +2 -2
  27. package/dist/types/wcardinal/ui/d-menu-item-link.d.ts +3 -3
  28. package/dist/types/wcardinal/ui/d-menu-item-menu.d.ts +2 -2
  29. package/dist/types/wcardinal/ui/d-menu-item-text.d.ts +2 -2
  30. package/dist/types/wcardinal/ui/d-pane.d.ts +2 -2
  31. package/dist/types/wcardinal/ui/d-picker-color-gradient-view.d.ts +2 -2
  32. package/dist/types/wcardinal/ui/d-picker-color-gradient.d.ts +1 -2
  33. package/dist/types/wcardinal/ui/d-picker-color.d.ts +1 -2
  34. package/dist/types/wcardinal/ui/d-scroll-bar-horizontal.d.ts +1 -2
  35. package/dist/types/wcardinal/ui/d-scroll-bar-vertical.d.ts +1 -2
  36. package/dist/types/wcardinal/ui/d-shadow.d.ts +2 -1
  37. package/dist/types/wcardinal/ui/d-slider.d.ts +1 -3
  38. package/dist/types/wcardinal/ui/d-table-body-cell-button.d.ts +5 -5
  39. package/dist/types/wcardinal/ui/d-table-body-cell-check.d.ts +3 -3
  40. package/dist/types/wcardinal/ui/d-table-body-cell-input-tree.d.ts +2 -2
  41. package/dist/types/wcardinal/ui/d-table-body-cell-link.d.ts +3 -3
  42. package/dist/types/wcardinal/ui/d-table-body-cell-select-dialog.d.ts +2 -2
  43. package/dist/types/wcardinal/ui/d-table-body-cell-select-promise.d.ts +2 -2
  44. package/dist/types/wcardinal/ui/d-table-body-cell-tree.d.ts +4 -4
  45. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +2 -2
  46. package/dist/types/wcardinal/ui/d-table-body.d.ts +2 -3
  47. package/dist/types/wcardinal/ui/d-table-header-cell.d.ts +1 -2
  48. package/dist/types/wcardinal/ui/d-table.d.ts +1 -2
  49. package/dist/types/wcardinal/ui/d-tree-item-button.d.ts +5 -5
  50. package/dist/types/wcardinal/ui/d-tree-item-non-editable.d.ts +2 -2
  51. package/dist/types/wcardinal/ui/d-tree-item-text.d.ts +2 -2
  52. package/dist/types/wcardinal/ui/d-view-gesture-impl.d.ts +2 -2
  53. package/dist/types/wcardinal/ui/d-view-impl.d.ts +5 -5
  54. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-base.d.ts +1 -3
  55. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.d.ts +1 -2
  56. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.d.ts +1 -2
  57. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime-misc-html-element-base.d.ts +1 -3
  58. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtime.d.ts +1 -3
  59. package/dist/types/wcardinal/ui/shape/e-shape-runtime-impl.d.ts +1 -3
  60. package/dist/types/wcardinal/ui/shape/e-shape-runtime.d.ts +1 -3
  61. package/dist/types/wcardinal/ui/shape/variant/e-shape-button-runtime.d.ts +2 -2
  62. package/dist/types/wcardinal/ui/util/util-click-outside.d.ts +1 -2
  63. package/dist/types/wcardinal/ui/util/util-gesture-data.d.ts +1 -3
  64. package/dist/types/wcardinal/ui/util/util-gesture-modifiers.d.ts +2 -2
  65. package/dist/types/wcardinal/ui/util/util-gesture.d.ts +1 -2
  66. package/dist/types/wcardinal/ui/util/util-html-element.d.ts +4 -4
  67. package/dist/types/wcardinal/ui/util/util-pointer-event.d.ts +2 -3
  68. package/dist/wcardinal/ui/d-application-layer.js.map +1 -1
  69. package/dist/wcardinal/ui/d-base.js.map +1 -1
  70. package/dist/wcardinal/ui/d-button-base.js +5 -3
  71. package/dist/wcardinal/ui/d-button-base.js.map +1 -1
  72. package/dist/wcardinal/ui/d-button-color-gradient.js.map +1 -1
  73. package/dist/wcardinal/ui/d-button-color.js.map +1 -1
  74. package/dist/wcardinal/ui/d-button-date.js.map +1 -1
  75. package/dist/wcardinal/ui/d-button-datetime.js.map +1 -1
  76. package/dist/wcardinal/ui/d-button-file.js.map +1 -1
  77. package/dist/wcardinal/ui/d-button-link.js.map +1 -1
  78. package/dist/wcardinal/ui/d-button-redo.js.map +1 -1
  79. package/dist/wcardinal/ui/d-button-select.js.map +1 -1
  80. package/dist/wcardinal/ui/d-button-time.js.map +1 -1
  81. package/dist/wcardinal/ui/d-button-undo.js.map +1 -1
  82. package/dist/wcardinal/ui/d-canvas-container.js.map +1 -1
  83. package/dist/wcardinal/ui/d-chart-plot-area-impl.js.map +1 -1
  84. package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
  85. package/dist/wcardinal/ui/d-diagram-canvas-base.js +2 -1
  86. package/dist/wcardinal/ui/d-diagram-canvas-base.js.map +1 -1
  87. package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
  88. package/dist/wcardinal/ui/d-diagram.js.map +1 -1
  89. package/dist/wcardinal/ui/d-dropdown-base.js.map +1 -1
  90. package/dist/wcardinal/ui/d-expandable-header.js.map +1 -1
  91. package/dist/wcardinal/ui/d-html-element.js.map +1 -1
  92. package/dist/wcardinal/ui/d-link.js +1 -2
  93. package/dist/wcardinal/ui/d-link.js.map +1 -1
  94. package/dist/wcardinal/ui/d-list-item.js.map +1 -1
  95. package/dist/wcardinal/ui/d-menu-bar-item.js.map +1 -1
  96. package/dist/wcardinal/ui/d-menu-item-base.js.map +1 -1
  97. package/dist/wcardinal/ui/d-menu-item-check.js.map +1 -1
  98. package/dist/wcardinal/ui/d-menu-item-link.js.map +1 -1
  99. package/dist/wcardinal/ui/d-menu-item-menu.js.map +1 -1
  100. package/dist/wcardinal/ui/d-menu-item-text.js.map +1 -1
  101. package/dist/wcardinal/ui/d-pane.js.map +1 -1
  102. package/dist/wcardinal/ui/d-picker-color-gradient-view.js +7 -4
  103. package/dist/wcardinal/ui/d-picker-color-gradient-view.js.map +1 -1
  104. package/dist/wcardinal/ui/d-picker-color-gradient.js.map +1 -1
  105. package/dist/wcardinal/ui/d-picker-color.js.map +1 -1
  106. package/dist/wcardinal/ui/d-scroll-bar-horizontal.js.map +1 -1
  107. package/dist/wcardinal/ui/d-scroll-bar-vertical.js.map +1 -1
  108. package/dist/wcardinal/ui/d-shadow.js.map +1 -1
  109. package/dist/wcardinal/ui/d-slider.js.map +1 -1
  110. package/dist/wcardinal/ui/d-table-body-cell-button.js.map +1 -1
  111. package/dist/wcardinal/ui/d-table-body-cell-check.js.map +1 -1
  112. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
  113. package/dist/wcardinal/ui/d-table-body-cell-link.js.map +1 -1
  114. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  115. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  116. package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
  117. package/dist/wcardinal/ui/d-table-body-cell.js.map +1 -1
  118. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  119. package/dist/wcardinal/ui/d-table-header-cell.js +1 -2
  120. package/dist/wcardinal/ui/d-table-header-cell.js.map +1 -1
  121. package/dist/wcardinal/ui/d-table.js.map +1 -1
  122. package/dist/wcardinal/ui/d-tree-item-button.js.map +1 -1
  123. package/dist/wcardinal/ui/d-tree-item-non-editable.js.map +1 -1
  124. package/dist/wcardinal/ui/d-tree-item-text.js.map +1 -1
  125. package/dist/wcardinal/ui/d-view-gesture-impl.js.map +1 -1
  126. package/dist/wcardinal/ui/d-view-impl.js.map +1 -1
  127. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-base.js.map +1 -1
  128. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.js +1 -2
  129. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-layer.js.map +1 -1
  130. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.js +1 -2
  131. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-gesture-shape.js.map +1 -1
  132. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-html-element-base.js.map +1 -1
  133. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime.js.map +1 -1
  134. package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js.map +1 -1
  135. package/dist/wcardinal/ui/shape/e-shape-runtime.js.map +1 -1
  136. package/dist/wcardinal/ui/shape/variant/e-shape-button-runtime.js.map +1 -1
  137. package/dist/wcardinal/ui/util/util-click-outside.js.map +1 -1
  138. package/dist/wcardinal/ui/util/util-gesture-data.js.map +1 -1
  139. package/dist/wcardinal/ui/util/util-gesture-modifiers.js.map +1 -1
  140. package/dist/wcardinal/ui/util/util-gesture.js.map +1 -1
  141. package/dist/wcardinal/ui/util/util-html-element.js.map +1 -1
  142. package/dist/wcardinal/ui/util/util-pointer-event.js.map +1 -1
  143. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  144. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  145. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  146. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  147. package/dist/wcardinal-ui-theme-dark.js +1 -1
  148. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  149. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  150. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  151. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  152. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  153. package/dist/wcardinal-ui-theme-white.js +1 -1
  154. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  155. package/dist/wcardinal-ui.cjs.js +18 -16
  156. package/dist/wcardinal-ui.js +18 -16
  157. package/dist/wcardinal-ui.min.js +2 -2
  158. package/dist/wcardinal-ui.min.js.map +1 -1
  159. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-cell-link.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-link.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,KAAK,EAA6C,MAAM,UAAU,CAAC;AAG5E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAGnC,OAAO,EACN,oBAAoB,EAGpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAkC5C,MAAM,CAAC,IAAM,aAAa,GAAG,UAC5B,IAAuC,EACvC,OAAmD;IAEnD,IAAI,OAAO,EAAE;QACZ,OAAO;YACN,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;YACzC,IAAI,EAAE,OAAO,CAAC,IAAI;SAClB,CAAC;KACF;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,KAAK,GAAG,UACpB,IAAuC,EACvC,GAAqD;IAErD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;QACjC,OAAO,GAAG,CAAC;KACX;SAAM;QACN,OAAO;YACN,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,IAAI,GAAG,KAAK,SAAS,EAAE;gBACtB,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;aACvD;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;KACF;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,SAAS,GAAG,UACxB,IAAuC,EACvC,OAA+C;IAE/C,IAAI,OAAO,IAAI,IAAI,EAAE;QACpB,OAAO;YACN,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,IAAI,GAAG,KAAK,SAAS,EAAE;gBACtB,OAAO,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;aAC3D;YACD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC;KACF;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF;IASU,sCAAgD;IAGzD,4BACC,WAAmB,EACnB,MAAuC,EACvC,QAAmD,EACnD,OAAgB;;eAEhB,kBAAM,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IAES,oCAAO,GAAjB,UAAkB,CAA+B;QAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YAChC,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAED,sBAAI,oCAAI;aAAR;;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC;gBAC7D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;aACpB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAES,oCAAO,GAAjB;QACC,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IAES,uCAAU,GAApB,UACC,CAA0E;QAE1E,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,iCAAI,GAAJ,UAAK,WAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACF,yBAAC;AAAD,CAAC,AAlDD,CASU,oBAAoB,GAyC7B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DLink, DLinkChecker, DLinkOptions, DLinkUrlMaker } from \"./d-link\";\nimport { DLinkMenuItemId } from \"./d-link-menu-item-id\";\nimport { DLinkTarget } from \"./d-link-target\";\nimport { DLinks } from \"./d-links\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport {\n\tDTableBodyCellButton,\n\tDTableBodyCellButtonOptions,\n\tDThemeTableBodyCellButton\n} from \"./d-table-body-cell-button\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { isString } from \"./util/is-string\";\n\nexport type DTableBodyCellLinkUrlMaker<ROW, VALUE> = (\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\tlink: DTableBodyCell<ROW, VALUE | null>\n) => string | null | Promise<string | null>;\n\nexport type DTableBodyCellLinkChecker<ROW, VALUE> = (\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\tlink: DTableBodyCell<ROW, VALUE | null>\n) => boolean | Promise<boolean>;\n\nexport interface DTableBodyCellLinkLinkOptions<ROW, VALUE> {\n\turl?: string | DTableBodyCellLinkUrlMaker<ROW, VALUE>;\n\ttarget?: DLinkTarget | keyof typeof DLinkTarget;\n\tchecker?: DTableBodyCellLinkChecker<ROW, VALUE>;\n\tmenu?: DMenuOptions<DLinkMenuItemId> | DMenu<DLinkMenuItemId>;\n}\n\nexport interface DTableBodyCellLinkOptions<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellLink<VALUE> = DThemeTableBodyCellLink<VALUE>\n> extends DTableBodyCellButtonOptions<ROW, VALUE, THEME> {\n\tlink?: DTableBodyCellLinkLinkOptions<ROW, VALUE>;\n}\n\nexport interface DThemeTableBodyCellLink<VALUE = unknown>\n\textends DThemeTableBodyCellButton<VALUE> {}\n\nexport const toLinkOptions = <ROW, VALUE>(\n\tcell: DTableBodyCell<ROW, VALUE | null>,\n\toptions?: DTableBodyCellLinkLinkOptions<ROW, VALUE>\n): DLinkOptions | undefined => {\n\tif (options) {\n\t\treturn {\n\t\t\turl: toUrl(cell, options.url),\n\t\t\ttarget: options.target,\n\t\t\tchecker: toChecker(cell, options.checker),\n\t\t\tmenu: options.menu\n\t\t};\n\t}\n\treturn undefined;\n};\n\nexport const toUrl = <ROW, VALUE>(\n\tcell: DTableBodyCell<ROW, VALUE | null>,\n\turl?: string | DTableBodyCellLinkUrlMaker<ROW, VALUE>\n): string | DLinkUrlMaker | undefined => {\n\tif (isString(url) || url == null) {\n\t\treturn url;\n\t} else {\n\t\treturn () => {\n\t\t\tconst row = cell.row;\n\t\t\tif (row !== undefined) {\n\t\t\t\treturn url(row, cell.rowIndex, cell.columnIndex, cell);\n\t\t\t}\n\t\t\treturn null;\n\t\t};\n\t}\n};\n\nexport const toChecker = <ROW, VALUE>(\n\tcell: DTableBodyCell<ROW, VALUE | null>,\n\tchecker?: DTableBodyCellLinkChecker<ROW, VALUE>\n): DLinkChecker | undefined => {\n\tif (checker != null) {\n\t\treturn (): boolean | Promise<boolean> => {\n\t\t\tconst row = cell.row;\n\t\t\tif (row !== undefined) {\n\t\t\t\treturn checker(row, cell.rowIndex, cell.columnIndex, cell);\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n\treturn undefined;\n};\n\nexport class DTableBodyCellLink<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellLink<VALUE> = DThemeTableBodyCellLink<VALUE>,\n\tOPTIONS extends DTableBodyCellLinkOptions<ROW, VALUE, THEME> = DTableBodyCellLinkOptions<\n\t\tROW,\n\t\tVALUE,\n\t\tTHEME\n\t>\n> extends DTableBodyCellButton<ROW, VALUE, THEME, OPTIONS> {\n\tprotected _link?: DLink;\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(columnIndex, column, onChange, DLinks.toStateOptions(options?.link?.target, options));\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tif (!this.link.onClick(this, e)) {\n\t\t\tsuper.onClick(e);\n\t\t}\n\t}\n\n\tget link(): DLink {\n\t\tlet result = this._link;\n\t\tif (result == null) {\n\t\t\tresult = new DLink(toLinkOptions(this, this._options?.link));\n\t\t\tthis._link = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellLink\";\n\t}\n\n\tprotected onActivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onActivate(e);\n\t\tthis.link.open(e);\n\t}\n\n\topen(inNewWindow: boolean): void {\n\t\tthis.link.open(inNewWindow);\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell-link.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-link.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 { DLink, DLinkChecker, DLinkOptions, DLinkUrlMaker } from \"./d-link\";\nimport { DLinkMenuItemId } from \"./d-link-menu-item-id\";\nimport { DLinkTarget } from \"./d-link-target\";\nimport { DLinks } from \"./d-links\";\nimport { DMenu, DMenuOptions } from \"./d-menu\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport {\n\tDTableBodyCellButton,\n\tDTableBodyCellButtonOptions,\n\tDThemeTableBodyCellButton\n} from \"./d-table-body-cell-button\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { isString } from \"./util/is-string\";\n\nexport type DTableBodyCellLinkUrlMaker<ROW, VALUE> = (\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\tlink: DTableBodyCell<ROW, VALUE | null>\n) => string | null | Promise<string | null>;\n\nexport type DTableBodyCellLinkChecker<ROW, VALUE> = (\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\tlink: DTableBodyCell<ROW, VALUE | null>\n) => boolean | Promise<boolean>;\n\nexport interface DTableBodyCellLinkLinkOptions<ROW, VALUE> {\n\turl?: string | DTableBodyCellLinkUrlMaker<ROW, VALUE>;\n\ttarget?: DLinkTarget | keyof typeof DLinkTarget;\n\tchecker?: DTableBodyCellLinkChecker<ROW, VALUE>;\n\tmenu?: DMenuOptions<DLinkMenuItemId> | DMenu<DLinkMenuItemId>;\n}\n\nexport interface DTableBodyCellLinkOptions<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellLink<VALUE> = DThemeTableBodyCellLink<VALUE>\n> extends DTableBodyCellButtonOptions<ROW, VALUE, THEME> {\n\tlink?: DTableBodyCellLinkLinkOptions<ROW, VALUE>;\n}\n\nexport interface DThemeTableBodyCellLink<VALUE = unknown>\n\textends DThemeTableBodyCellButton<VALUE> {}\n\nexport const toLinkOptions = <ROW, VALUE>(\n\tcell: DTableBodyCell<ROW, VALUE | null>,\n\toptions?: DTableBodyCellLinkLinkOptions<ROW, VALUE>\n): DLinkOptions | undefined => {\n\tif (options) {\n\t\treturn {\n\t\t\turl: toUrl(cell, options.url),\n\t\t\ttarget: options.target,\n\t\t\tchecker: toChecker(cell, options.checker),\n\t\t\tmenu: options.menu\n\t\t};\n\t}\n\treturn undefined;\n};\n\nexport const toUrl = <ROW, VALUE>(\n\tcell: DTableBodyCell<ROW, VALUE | null>,\n\turl?: string | DTableBodyCellLinkUrlMaker<ROW, VALUE>\n): string | DLinkUrlMaker | undefined => {\n\tif (isString(url) || url == null) {\n\t\treturn url;\n\t} else {\n\t\treturn () => {\n\t\t\tconst row = cell.row;\n\t\t\tif (row !== undefined) {\n\t\t\t\treturn url(row, cell.rowIndex, cell.columnIndex, cell);\n\t\t\t}\n\t\t\treturn null;\n\t\t};\n\t}\n};\n\nexport const toChecker = <ROW, VALUE>(\n\tcell: DTableBodyCell<ROW, VALUE | null>,\n\tchecker?: DTableBodyCellLinkChecker<ROW, VALUE>\n): DLinkChecker | undefined => {\n\tif (checker != null) {\n\t\treturn (): boolean | Promise<boolean> => {\n\t\t\tconst row = cell.row;\n\t\t\tif (row !== undefined) {\n\t\t\t\treturn checker(row, cell.rowIndex, cell.columnIndex, cell);\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n\treturn undefined;\n};\n\nexport class DTableBodyCellLink<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellLink<VALUE> = DThemeTableBodyCellLink<VALUE>,\n\tOPTIONS extends DTableBodyCellLinkOptions<ROW, VALUE, THEME> = DTableBodyCellLinkOptions<\n\t\tROW,\n\t\tVALUE,\n\t\tTHEME\n\t>\n> extends DTableBodyCellButton<ROW, VALUE, THEME, OPTIONS> {\n\tprotected _link?: DLink;\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(columnIndex, column, onChange, DLinks.toStateOptions(options?.link?.target, options));\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (!this.link.onClick(this, e)) {\n\t\t\tsuper.onClick(e);\n\t\t}\n\t}\n\n\tget link(): DLink {\n\t\tlet result = this._link;\n\t\tif (result == null) {\n\t\t\tresult = new DLink(toLinkOptions(this, this._options?.link));\n\t\t\tthis._link = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellLink\";\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tthis.link.open(e);\n\t}\n\n\topen(inNewWindow: boolean): void {\n\t\tthis.link.open(inNewWindow);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-cell-select-dialog.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-select-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } 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 DTableBodyCellSelectDialogOptions<\n\tROW = unknown,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellSelectDialog<VALUE> = DThemeTableBodyCellSelectDialog<VALUE>\n> extends DButtonOptions<VALUE | null, THEME> {\n\t/**\n\t * False to stop synchronization of the selected value and the text.\n\t */\n\tsync?: boolean;\n}\n\nexport interface DThemeTableBodyCellSelectDialog<VALUE = unknown>\n\textends DThemeButton<VALUE | null> {\n\tisSyncEnabled(): boolean;\n}\n\nexport class DTableBodyCellSelectDialog<\n\t\tROW = unknown,\n\t\tVALUE = unknown,\n\t\tTHEME extends\n\t\t\tDThemeTableBodyCellSelectDialog<VALUE> = DThemeTableBodyCellSelectDialog<VALUE>,\n\t\tOPTIONS extends DTableBodyCellSelectDialogOptions<\n\t\t\tROW,\n\t\t\tVALUE,\n\t\t\tTHEME\n\t\t> = DTableBodyCellSelectDialogOptions<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(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onActivate(e);\n\t\tconst selecting = this._column.selecting;\n\t\tconst dialog = selecting.dialog;\n\t\tif (dialog) {\n\t\t\tconst oldValue = this._textValueComputed ?? null;\n\t\t\tselecting.setter(dialog, oldValue);\n\t\t\tdialog.open(this).then((): void => {\n\t\t\t\tconst newValue = selecting.getter(dialog);\n\t\t\t\tif (this._isSyncEnabled) {\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\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed !== undefined) {\n\t\t\treturn textValueComputed;\n\t\t}\n\t\treturn 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._textValue = value as VALUE | null;\n\t\t\tthis._textValueComputed = value as VALUE | null;\n\t\t\tthis.onTextChange();\n\t\t\tthis.createOrUpdateText();\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 \"DTableBodyCellSelectDialog\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell-select-dialog.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-select-dialog.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 DTableBodyCellSelectDialogOptions<\n\tROW = unknown,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellSelectDialog<VALUE> = DThemeTableBodyCellSelectDialog<VALUE>\n> extends DButtonOptions<VALUE | null, THEME> {\n\t/**\n\t * False to stop synchronization of the selected value and the text.\n\t */\n\tsync?: boolean;\n}\n\nexport interface DThemeTableBodyCellSelectDialog<VALUE = unknown>\n\textends DThemeButton<VALUE | null> {\n\tisSyncEnabled(): boolean;\n}\n\nexport class DTableBodyCellSelectDialog<\n\t\tROW = unknown,\n\t\tVALUE = unknown,\n\t\tTHEME extends\n\t\t\tDThemeTableBodyCellSelectDialog<VALUE> = DThemeTableBodyCellSelectDialog<VALUE>,\n\t\tOPTIONS extends DTableBodyCellSelectDialogOptions<\n\t\t\tROW,\n\t\t\tVALUE,\n\t\t\tTHEME\n\t\t> = DTableBodyCellSelectDialogOptions<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 dialog = selecting.dialog;\n\t\tif (dialog) {\n\t\t\tconst oldValue = this._textValueComputed ?? null;\n\t\t\tselecting.setter(dialog, oldValue);\n\t\t\tdialog.open(this).then((): void => {\n\t\t\t\tconst newValue = selecting.getter(dialog);\n\t\t\t\tif (this._isSyncEnabled) {\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\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed !== undefined) {\n\t\t\treturn textValueComputed;\n\t\t}\n\t\treturn 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._textValue = value as VALUE | null;\n\t\t\tthis._textValueComputed = value as VALUE | null;\n\t\t\tthis.onTextChange();\n\t\t\tthis.createOrUpdateText();\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 \"DTableBodyCellSelectDialog\";\n\t}\n}\n"]}
@@ -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 { interaction } 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(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): 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._textValueComputed ?? 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\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed !== undefined) {\n\t\t\treturn textValueComputed;\n\t\t}\n\t\treturn 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._textValue = value as VALUE | null;\n\t\t\tthis._textValueComputed = value as VALUE | null;\n\t\t\tthis.onTextChange();\n\t\t\tthis.createOrUpdateText();\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 _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._textValueComputed ?? 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\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed !== undefined) {\n\t\t\treturn textValueComputed;\n\t\t}\n\t\treturn 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._textValue = value as VALUE | null;\n\t\t\tthis._textValueComputed = value as VALUE | null;\n\t\t\tthis.onTextChange();\n\t\t\tthis.createOrUpdateText();\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 +1 @@
1
- {"version":3,"file":"d-table-body-cell-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-tree.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EACN,oBAAoB,EAGpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAiC,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAiB9C;IASU,sCAAgD;IAIzD,4BACC,WAAmB,EACnB,MAAuC,EACvC,QAAmD,EACnD,OAAiB;;eAEjB,kBAAM,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IAEkB,uCAAU,GAA7B,UACC,KAAY,EACZ,OAAiB,EACjB,QAAqB;QAErB,OAAO,IAAI,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAES,oCAAO,GAAjB,UAAkB,CAA+B;;QAChD,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAK,IAAI,EAAE;YACzC,iBAAM,OAAO,YAAC,CAAC,CAAC,CAAC;SACjB;IACF,CAAC;IAED,sBAAI,oCAAI;aAAR;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,MAAM,KAAK,SAAS,EAAE;gBACzB,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;aACpB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAES,oCAAO,GAAjB;;QACC,IAAM,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC;QACpC,IAAI,OAAO,EAAE;YACZ,OAAO,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,uCAAU,GAApB,UACC,CAA0E;;QAE1E,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;SACd;aAAM;YACN,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SACnB;IACF,CAAC;IAES,mCAAM,GAAhB;QACC,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,GAAG,KAAK,SAAS,EAAE;YACtB,OAAO;SACP;QACD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,OAAO;SACP;QACD,IAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,IAAI,IAAI,IAAI,EAAE;YACjB,OAAO;SACP;QACD,IAAM,IAAI,GAAI,IAAY,CAAC,IAAI,CAAC;QAChC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBACjC;aACD;iBAAM;gBACN,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;oBACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBAC/B;aACD;SACD;IACF,CAAC;IAED,wCAAW,GAAX,UAAY,CAA+B,EAAE,KAAY;QACxD,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;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,KAAqB,CAAC;QAElC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEjE,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,YAAY,IAAI,IAAI,EAAE;YACzB,IAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;YACxC,IAAM,WAAW,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;YAC3C,IAAM,KAAK,GAAG,YAAY,IAAI,CAAC,CAAC;YAChC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACjD,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxC,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,IAAI,IAAI,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC;aAChC;SACD;aAAM;YACN,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;YACnE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,IAAI,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aACzB;SACD;IACF,CAAC;IAES,oCAAO,GAAjB;QACC,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IACF,yBAAC;AAAD,CAAC,AA9ID,CASU,oBAAoB,GAqI7B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point } from \"pixi.js\";\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DLink } from \"./d-link\";\nimport { DLinks } from \"./d-links\";\nimport {\n\tDTableBodyCellButton,\n\tDTableBodyCellButtonOptions,\n\tDThemeTableBodyCellButton\n} from \"./d-table-body-cell-button\";\nimport { DTableBodyCellLinkLinkOptions, toLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\n\nexport interface DTableBodyCellTreeOptions<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellTree<VALUE> = DThemeTableBodyCellTree<VALUE>\n> extends DTableBodyCellButtonOptions<ROW, VALUE, THEME> {\n\tlink?: DTableBodyCellLinkLinkOptions<ROW, VALUE>;\n}\n\nexport interface DThemeTableBodyCellTree<VALUE = unknown> extends DThemeTableBodyCellButton<VALUE> {\n\tgetLevelPadding(level: number): number;\n}\n\nexport class DTableBodyCellTree<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellTree<VALUE> = DThemeTableBodyCellTree<VALUE>,\n\tOPTIONS extends DTableBodyCellTreeOptions<ROW, VALUE, THEME> = DTableBodyCellTreeOptions<\n\t\tROW,\n\t\tVALUE,\n\t\tTHEME\n\t>\n> extends DTableBodyCellButton<ROW, VALUE, THEME, OPTIONS> {\n\tprotected _padding!: DBasePaddingAdjustable;\n\tprotected _link?: DLink | null;\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(columnIndex, column, onChange, DLinks.toStateOptions(options?.link?.target, options));\n\t}\n\n\tprotected override newPadding(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS,\n\t\tcallback?: () => void\n\t): DBasePaddingAdjustable {\n\t\treturn new DBasePaddingAdjustable(theme, options, callback);\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tif (this.link?.onClick(this, e) !== true) {\n\t\t\tsuper.onClick(e);\n\t\t}\n\t}\n\n\tget link(): DLink | null {\n\t\tlet result = this._link;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newLink();\n\t\t\tthis._link = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newLink(): DLink | null {\n\t\tconst options = this._options?.link;\n\t\tif (options) {\n\t\t\treturn new DLink(toLinkOptions(this, options));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onActivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onActivate(e);\n\t\tif (this.state.is(DTableState.HAS_CHILDREN)) {\n\t\t\tthis.toggle();\n\t\t} else {\n\t\t\tthis.link?.open(e);\n\t\t}\n\t}\n\n\tprotected toggle(): void {\n\t\tconst row = this._row;\n\t\tif (row === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst body = parent.parent;\n\t\tif (body == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = (body as any).data;\n\t\tif (data && data.toggle) {\n\t\t\tif (data.isExpanded(row)) {\n\t\t\t\tif (data.collapse(row)) {\n\t\t\t\t\tthis.emit(\"collapse\", this);\n\t\t\t\t\tdata.emit(\"collapse\", row, this);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (data.expand(row)) {\n\t\t\t\t\tthis.emit(\"expand\", this);\n\t\t\t\t\tdata.emit(\"expand\", row, this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRowSelect(e: interaction.InteractionEvent, local: Point): boolean {\n\t\tif (local.x <= this.position.x + this.padding.getLeft()) {\n\t\t\tthis.toggle();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\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 | null;\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column, false);\n\n\t\tconst link = this.link;\n\t\tconst padding = this._padding;\n\t\tif (supplimental != null) {\n\t\t\tconst isOpened = !!(supplimental & 0x1);\n\t\t\tconst hasChildren = !!(supplimental & 0x2);\n\t\t\tconst level = supplimental >> 2;\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.set(DTableState.HAS_CHILDREN, hasChildren);\n\t\t\tstate.set(DTableState.OPENED, isOpened);\n\t\t\tstate.unlock();\n\t\t\tpadding.adjLeft(this.theme.getLevelPadding(level));\n\t\t\tif (link) {\n\t\t\t\tlink.menu.enable = !hasChildren;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.state.removeAll(DTableState.OPENED, DTableState.HAS_CHILDREN);\n\t\t\tpadding.adjLeft(0);\n\t\t\tif (link) {\n\t\t\t\tlink.menu.enable = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellTree\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell-tree.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-tree.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, Point } from \"pixi.js\";\nimport { DBasePaddingAdjustable } from \"./d-base-padding-adjustable\";\nimport { DLink } from \"./d-link\";\nimport { DLinks } from \"./d-links\";\nimport {\n\tDTableBodyCellButton,\n\tDTableBodyCellButtonOptions,\n\tDThemeTableBodyCellButton\n} from \"./d-table-body-cell-button\";\nimport { DTableBodyCellLinkLinkOptions, toLinkOptions } from \"./d-table-body-cell-link\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\n\nexport interface DTableBodyCellTreeOptions<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellTree<VALUE> = DThemeTableBodyCellTree<VALUE>\n> extends DTableBodyCellButtonOptions<ROW, VALUE, THEME> {\n\tlink?: DTableBodyCellLinkLinkOptions<ROW, VALUE>;\n}\n\nexport interface DThemeTableBodyCellTree<VALUE = unknown> extends DThemeTableBodyCellButton<VALUE> {\n\tgetLevelPadding(level: number): number;\n}\n\nexport class DTableBodyCellTree<\n\tROW,\n\tVALUE = unknown,\n\tTHEME extends DThemeTableBodyCellTree<VALUE> = DThemeTableBodyCellTree<VALUE>,\n\tOPTIONS extends DTableBodyCellTreeOptions<ROW, VALUE, THEME> = DTableBodyCellTreeOptions<\n\t\tROW,\n\t\tVALUE,\n\t\tTHEME\n\t>\n> extends DTableBodyCellButton<ROW, VALUE, THEME, OPTIONS> {\n\tprotected _padding!: DBasePaddingAdjustable;\n\tprotected _link?: DLink | null;\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(columnIndex, column, onChange, DLinks.toStateOptions(options?.link?.target, options));\n\t}\n\n\tprotected override newPadding(\n\t\ttheme: THEME,\n\t\toptions?: OPTIONS,\n\t\tcallback?: () => void\n\t): DBasePaddingAdjustable {\n\t\treturn new DBasePaddingAdjustable(theme, options, callback);\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (this.link?.onClick(this, e) !== true) {\n\t\t\tsuper.onClick(e);\n\t\t}\n\t}\n\n\tget link(): DLink | null {\n\t\tlet result = this._link;\n\t\tif (result === undefined) {\n\t\t\tresult = this.newLink();\n\t\t\tthis._link = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newLink(): DLink | null {\n\t\tconst options = this._options?.link;\n\t\tif (options) {\n\t\t\treturn new DLink(toLinkOptions(this, options));\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tsuper.onActivate(e);\n\t\tif (this.state.is(DTableState.HAS_CHILDREN)) {\n\t\t\tthis.toggle();\n\t\t} else {\n\t\t\tthis.link?.open(e);\n\t\t}\n\t}\n\n\tprotected toggle(): void {\n\t\tconst row = this._row;\n\t\tif (row === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst body = parent.parent;\n\t\tif (body == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst data = (body as any).data;\n\t\tif (data && data.toggle) {\n\t\t\tif (data.isExpanded(row)) {\n\t\t\t\tif (data.collapse(row)) {\n\t\t\t\t\tthis.emit(\"collapse\", this);\n\t\t\t\t\tdata.emit(\"collapse\", row, this);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (data.expand(row)) {\n\t\t\t\t\tthis.emit(\"expand\", this);\n\t\t\t\t\tdata.emit(\"expand\", row, this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRowSelect(e: InteractionEvent, local: Point): boolean {\n\t\tif (local.x <= this.position.x + this.padding.getLeft()) {\n\t\t\tthis.toggle();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\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 | null;\n\n\t\tDTableBodyCells.set(this, row, columnIndex, this._column, false);\n\n\t\tconst link = this.link;\n\t\tconst padding = this._padding;\n\t\tif (supplimental != null) {\n\t\t\tconst isOpened = !!(supplimental & 0x1);\n\t\t\tconst hasChildren = !!(supplimental & 0x2);\n\t\t\tconst level = supplimental >> 2;\n\t\t\tconst state = this.state;\n\t\t\tstate.lock();\n\t\t\tstate.set(DTableState.HAS_CHILDREN, hasChildren);\n\t\t\tstate.set(DTableState.OPENED, isOpened);\n\t\t\tstate.unlock();\n\t\t\tpadding.adjLeft(this.theme.getLevelPadding(level));\n\t\t\tif (link) {\n\t\t\t\tlink.menu.enable = !hasChildren;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.state.removeAll(DTableState.OPENED, DTableState.HAS_CHILDREN);\n\t\t\tpadding.adjLeft(0);\n\t\t\tif (link) {\n\t\t\t\tlink.menu.enable = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellTree\";\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 { interaction, Point } from \"pixi.js\";\nimport { DBase } from \"./d-base\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataSupplimental } from \"./d-table-data\";\n\nexport type DTableBodyCellOnChange<ROW, VALUE, EMITTER = any> = (\n\tnewValue: VALUE,\n\toldValue: VALUE,\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\tcolumn: DTableColumn<ROW, VALUE>,\n\temitter: EMITTER\n) => void;\n\nexport interface DTableBodyCell<ROW, VALUE> extends DBase {\n\t/**\n\t * A row data if exists.\n\t * Otherwise, Undefined.\n\t *\n\t * @returns a row data or undefined.\n\t */\n\treadonly row?: ROW;\n\n\t/**\n\t * A row index if a row data exists.\n\t * Otherise, -1.\n\t *\n\t * @returns a row index or -1.\n\t */\n\treadonly rowIndex: number;\n\n\t/**\n\t * A column index.\n\t */\n\treadonly columnIndex: number;\n\n\t/**\n\t * A column.\n\t */\n\treadonly column: DTableColumn<ROW, VALUE>;\n\n\tset(\n\t\tvalue: unknown,\n\t\trow: ROW,\n\t\tsupplimental: DTableDataSupplimental | null,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void;\n\tunset(): void;\n\n\t/**\n\t * Called when the selection type is not {@link DTableDataSelectionType}'s NONE\n\t * and a cell is clicked. Returning true will prevent the row selection.\n\t * Otherwise, a clicked row will be selected.\n\t *\n\t * @param e\n\t * @param local\n\t * @return true to prevent the row selection\n\t */\n\tonRowSelect?(e: interaction.InteractionEvent, local: Point): boolean;\n}\n"]}
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, EMITTER = any> = (\n\tnewValue: VALUE,\n\toldValue: VALUE,\n\trow: ROW,\n\trowIndex: number,\n\tcolumnIndex: number,\n\tcolumn: DTableColumn<ROW, VALUE>,\n\temitter: EMITTER\n) => void;\n\nexport interface DTableBodyCell<ROW, VALUE> extends DBase {\n\t/**\n\t * A row data if exists.\n\t * Otherwise, Undefined.\n\t *\n\t * @returns a row data or undefined.\n\t */\n\treadonly row?: ROW;\n\n\t/**\n\t * A row index if a row data exists.\n\t * Otherise, -1.\n\t *\n\t * @returns a row index or -1.\n\t */\n\treadonly rowIndex: number;\n\n\t/**\n\t * A column index.\n\t */\n\treadonly columnIndex: number;\n\n\t/**\n\t * A column.\n\t */\n\treadonly column: DTableColumn<ROW, VALUE>;\n\n\tset(\n\t\tvalue: unknown,\n\t\trow: ROW,\n\t\tsupplimental: DTableDataSupplimental | null,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void;\n\tunset(): void;\n\n\t/**\n\t * Called when the selection type is not {@link DTableDataSelectionType}'s NONE\n\t * and a cell is clicked. Returning true will prevent the row selection.\n\t * Otherwise, a clicked row will be selected.\n\t *\n\t * @param e\n\t * @param local\n\t * @return true to prevent the row selection\n\t */\n\tonRowSelect?(e: InteractionEvent, local: Point): boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point, Rectangle } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport { DBase, DBaseEvents, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions, DTableDataSupplimental } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableBodyCellOptions } from \"./d-table-body-cell-options\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DApplications } from \"./d-applications\";\nimport { isNumber } from \"./util/is-number\";\nimport { DTableColumnUpdate } from \"./d-table-column-update\";\n\n/**\n * {@link DTableBody} events.\n */\nexport interface DTableBodyEvents<EMITTER> extends DBaseEvents<EMITTER> {\n\t/**\n\t * Triggered when rows are updated.\n\t * The first and second parameters are an mapped index range of visible data.\n\t * Please note that these parameters are real numbers.\n\t * For instance, An index range of [0.5, 2.5] means:\n\t *\n\t * * The row at index 0 is partially visible.\n\t * * The row at index 1 is fully visible.\n\t * * The row at index 2 is partially visible.\n\t *\n\t * @param from a lowest mapped index of visible data\n\t * @param to a highest mapped index of vislble data\n\t * @param emitter an emitter\n\t */\n\tupdate(from: number, to: number, emitter: EMITTER): void;\n}\n\n/**\n * {@link DTableBody} \"on\" options.\n */\nexport interface DTableBodyOnOptions<EMITTER>\n\textends Partial<DTableBodyEvents<EMITTER>>,\n\t\tDOnOptions {}\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\tcolumns?: Array<DTableColumn<ROW, unknown>>;\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\toffset?: number;\n\tfrozen?: number;\n\ton?: DTableBodyOnOptions<EMITTER>;\n}\n\nexport interface DThemeTableBody extends DThemeBase {\n\tgetRowHeight(): number;\n}\n\nconst toRowOptions = <ROW, DATA extends DTableData<ROW>>(\n\ttheme: DThemeTableBody,\n\toptions: DTableBodyOptions<ROW, DATA>,\n\tselectionType: DTableDataSelectionType\n): DTableBodyRowOptions<ROW> => {\n\tconst columns = options.columns || [];\n\tlet result = options.row;\n\tif (result != null) {\n\t\tif (result.height == null) {\n\t\t\tresult.height = theme.getRowHeight();\n\t\t}\n\t\tif (result.columns === undefined) {\n\t\t\tresult.columns = columns;\n\t\t}\n\t\tif (result.frozen == null) {\n\t\t\tresult.frozen = options.frozen;\n\t\t}\n\t\tif (result.selection === undefined) {\n\t\t\tresult.selection = {\n\t\t\t\ttype: selectionType\n\t\t\t};\n\t\t} else if (result.selection.type === undefined) {\n\t\t\tresult.selection.type = selectionType;\n\t\t}\n\t} else {\n\t\tresult = {\n\t\t\tcolumns,\n\t\t\theight: theme.getRowHeight(),\n\t\t\tfrozen: options.frozen,\n\t\t\tselection: {\n\t\t\t\ttype: selectionType\n\t\t\t}\n\t\t};\n\t}\n\treturn result as DTableBodyRowOptions<ROW>;\n};\n\nexport class DTableBody<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tOPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_ON_CLICK = new Point();\n\n\tprotected _columns: Array<DTableColumn<ROW, unknown>>;\n\tprotected _rowHeight: number;\n\tprotected _rowIndexMappedStart: number;\n\tprotected _rowIndexMappedEnd: number;\n\tprotected _rowOptions: DTableBodyRowOptions<ROW>;\n\tprotected _updateRowsCount: number;\n\tprotected _isUpdateRowsCalled: boolean;\n\tprotected _isUpdateRowsCalledForcibly: boolean;\n\tprotected _workRows: Array<DTableBodyRow<ROW>>;\n\tprotected _onRowChangeBound: DTableBodyRowOnChange<ROW, unknown>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = options.offset ?? 0;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._columns = rowOptions.columns || [];\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex, column): void => {\n\t\t\tthis.onRowChange(newValue, oldValue, row, rowIndex, columnIndex, column);\n\t\t};\n\t\tthis._columnIndexToCellOptions = new Map<number, DTableBodyCellOptions<ROW>>();\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected onRowChange(\n\t\tnewValue: unknown,\n\t\toldValue: unknown,\n\t\trow: ROW,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>\n\t): void {\n\t\tconst data = this._data;\n\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\tif (column.update === DTableColumnUpdate.ALL) {\n\t\t\tthis.update(true);\n\t\t}\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = -newContentY / rowHeight;\n\t\tconst newRowIndexMappedUpperBound = (height - (newContentY + y)) / rowHeight;\n\t\tlet newRowIndexMappedStart = Math.floor(newRowIndexMappedLowerBound);\n\t\tnewRowIndexMappedStart -= newRowIndexMappedStart % 2 === 0 ? 2 : 1;\n\t\tlet newRowIndexMappedEnd = Math.floor(newRowIndexMappedUpperBound);\n\t\tnewRowIndexMappedEnd += (newRowIndexMappedEnd - newRowIndexMappedStart) % 2 === 1 ? 3 : 2;\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t\tthis.emit(\"update\", newRowIndexMappedLowerBound, newRowIndexMappedUpperBound, this);\n\t}\n\n\tprotected resetRow(row: DTableBodyRow<ROW>): DTableBodyRow<ROW> {\n\t\trow.blur(true);\n\t\tconst cells = row.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tcell.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t\treturn row;\n\t}\n\n\tprotected newRow(isEven: boolean): DTableBodyRow<ROW> {\n\t\treturn new DTableBodyRow<ROW>(\n\t\t\tthis._onRowChangeBound,\n\t\t\tisEven,\n\t\t\tthis._columnIndexToCellOptions,\n\t\t\tthis._rowOptions\n\t\t);\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected updateFrozenCellPosition(x: number): void {\n\t\tconst frozen = this._rowOptions.frozen;\n\t\tif (frozen != null && 0 < frozen) {\n\t\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\trows[i].updateFrozenCellPosition(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst dy = -parent.transform.position.y;\n\t\t\tresult.y += dy;\n\t\t\tresult.height -= dy;\n\t\t}\n\t}\n\n\t/**\n\t * Scroll to the given row or row index.\n\t *\n\t * @param target a row or an row index to which the body scrolls to.\n\t * @returns true if succeeded\n\t */\n\tscrollTo(target: ROW | number): boolean {\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tlet rowIndexMapped = -1;\n\t\tif (isNumber(target)) {\n\t\t\tif (0 <= target && target < this.data.mapped.size()) {\n\t\t\t\trowIndexMapped = target;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.data.mapped.each((row: ROW, _: unknown, index: number): boolean => {\n\t\t\t\tif (row === target) {\n\t\t\t\t\trowIndexMapped = index;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t}\n\t\tif (rowIndexMapped < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tparent.position.y = Math.max(\n\t\t\tMath.min(0, parentParent.height - parent.height),\n\t\t\t-rowIndexMapped * this._rowHeight\n\t\t);\n\t\tDApplications.update(this);\n\t\treturn true;\n\t}\n\n\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(\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: interaction.InteractionManager\n\t): boolean {\n\t\treturn super.onDblClick(e, interactionManager);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { 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\tcolumns?: Array<DTableColumn<ROW, unknown>>;\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\toffset?: number;\n\tfrozen?: number;\n\ton?: DTableBodyOnOptions<EMITTER>;\n}\n\nexport interface DThemeTableBody extends DThemeBase {\n\tgetRowHeight(): number;\n}\n\nconst toRowOptions = <ROW, DATA extends DTableData<ROW>>(\n\ttheme: DThemeTableBody,\n\toptions: DTableBodyOptions<ROW, DATA>,\n\tselectionType: DTableDataSelectionType\n): DTableBodyRowOptions<ROW> => {\n\tconst columns = options.columns || [];\n\tlet result = options.row;\n\tif (result != null) {\n\t\tif (result.height == null) {\n\t\t\tresult.height = theme.getRowHeight();\n\t\t}\n\t\tif (result.columns === undefined) {\n\t\t\tresult.columns = columns;\n\t\t}\n\t\tif (result.frozen == null) {\n\t\t\tresult.frozen = options.frozen;\n\t\t}\n\t\tif (result.selection === undefined) {\n\t\t\tresult.selection = {\n\t\t\t\ttype: selectionType\n\t\t\t};\n\t\t} else if (result.selection.type === undefined) {\n\t\t\tresult.selection.type = selectionType;\n\t\t}\n\t} else {\n\t\tresult = {\n\t\t\tcolumns,\n\t\t\theight: theme.getRowHeight(),\n\t\t\tfrozen: options.frozen,\n\t\t\tselection: {\n\t\t\t\ttype: selectionType\n\t\t\t}\n\t\t};\n\t}\n\treturn result as DTableBodyRowOptions<ROW>;\n};\n\nexport class DTableBody<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody,\n\tOPTIONS extends DTableBodyOptions<ROW, DATA, THEME> = DTableBodyOptions<ROW, DATA, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected static WORK_ON_CLICK = new Point();\n\n\tprotected _columns: Array<DTableColumn<ROW, unknown>>;\n\tprotected _rowHeight: number;\n\tprotected _rowIndexMappedStart: number;\n\tprotected _rowIndexMappedEnd: number;\n\tprotected _rowOptions: DTableBodyRowOptions<ROW>;\n\tprotected _updateRowsCount: number;\n\tprotected _isUpdateRowsCalled: boolean;\n\tprotected _isUpdateRowsCalledForcibly: boolean;\n\tprotected _workRows: Array<DTableBodyRow<ROW>>;\n\tprotected _onRowChangeBound: DTableBodyRowOnChange<ROW, unknown>;\n\tprotected _columnIndexToCellOptions: Map<number, DTableBodyCellOptions<ROW>>;\n\tprotected _data: DATA;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = options.offset ?? 0;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._columns = rowOptions.columns || [];\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex, column): void => {\n\t\t\tthis.onRowChange(newValue, oldValue, row, rowIndex, columnIndex, column);\n\t\t};\n\t\tthis._columnIndexToCellOptions = new Map<number, DTableBodyCellOptions<ROW>>();\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected onRowChange(\n\t\tnewValue: unknown,\n\t\toldValue: unknown,\n\t\trow: ROW,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, unknown>\n\t): void {\n\t\tconst data = this._data;\n\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\tif (column.update === DTableColumnUpdate.ALL) {\n\t\t\tthis.update(true);\n\t\t}\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = -newContentY / rowHeight;\n\t\tconst newRowIndexMappedUpperBound = (height - (newContentY + y)) / rowHeight;\n\t\tlet newRowIndexMappedStart = Math.floor(newRowIndexMappedLowerBound);\n\t\tnewRowIndexMappedStart -= newRowIndexMappedStart % 2 === 0 ? 2 : 1;\n\t\tlet newRowIndexMappedEnd = Math.floor(newRowIndexMappedUpperBound);\n\t\tnewRowIndexMappedEnd += (newRowIndexMappedEnd - newRowIndexMappedStart) % 2 === 1 ? 3 : 2;\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: DTableDataSupplimental | null,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t\tthis.emit(\"update\", newRowIndexMappedLowerBound, newRowIndexMappedUpperBound, this);\n\t}\n\n\tprotected resetRow(row: DTableBodyRow<ROW>): DTableBodyRow<ROW> {\n\t\trow.blur(true);\n\t\tconst cells = row.children;\n\t\tfor (let i = 0, imax = cells.length; i < imax; ++i) {\n\t\t\tconst cell = cells[i];\n\t\t\tif (cell instanceof DBase) {\n\t\t\t\tcell.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t\treturn row;\n\t}\n\n\tprotected newRow(isEven: boolean): DTableBodyRow<ROW> {\n\t\treturn new DTableBodyRow<ROW>(\n\t\t\tthis._onRowChangeBound,\n\t\t\tisEven,\n\t\t\tthis._columnIndexToCellOptions,\n\t\t\tthis._rowOptions\n\t\t);\n\t}\n\n\tprotected onParentMove(newX: number, newY: number, oldX: number, oldY: number): void {\n\t\tsuper.onParentMove(newX, newY, oldX, oldY);\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected updateFrozenCellPosition(x: number): void {\n\t\tconst frozen = this._rowOptions.frozen;\n\t\tif (frozen != null && 0 < frozen) {\n\t\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\t\tfor (let i = 0, imax = rows.length; i < imax; ++i) {\n\t\t\t\trows[i].updateFrozenCellPosition(x);\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClippingRect(target: unknown, result: Rectangle): void {\n\t\tsuper.getClippingRect(target, result);\n\n\t\tconst parent = this.parent;\n\t\tif (parent) {\n\t\t\tconst dy = -parent.transform.position.y;\n\t\t\tresult.y += dy;\n\t\t\tresult.height -= dy;\n\t\t}\n\t}\n\n\t/**\n\t * Scroll to the given row or row index.\n\t *\n\t * @param target a row or an row index to which the body scrolls to.\n\t * @returns true if succeeded\n\t */\n\tscrollTo(target: ROW | number): boolean {\n\t\tconst parent = this.parent;\n\t\tif (parent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent == null) {\n\t\t\treturn false;\n\t\t}\n\t\tlet rowIndexMapped = -1;\n\t\tif (isNumber(target)) {\n\t\t\tif (0 <= target && target < this.data.mapped.size()) {\n\t\t\t\trowIndexMapped = target;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.data.mapped.each((row: ROW, _: unknown, index: number): boolean => {\n\t\t\t\tif (row === target) {\n\t\t\t\t\trowIndexMapped = index;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t}\n\t\tif (rowIndexMapped < 0) {\n\t\t\treturn false;\n\t\t}\n\t\tparent.position.y = Math.max(\n\t\t\tMath.min(0, parentParent.height - parent.height),\n\t\t\t-rowIndexMapped * this._rowHeight\n\t\t);\n\t\tDApplications.update(this);\n\t\treturn true;\n\t}\n\n\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"]}
@@ -3,8 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { __extends } from "tslib";
6
- import { interaction, Point } from "pixi.js";
7
- var InteractionEvent = interaction.InteractionEvent;
6
+ import { InteractionEvent, Point } from "pixi.js";
8
7
  import { DImage } from "./d-image";
9
8
  import { DTableState } from "./d-table-state";
10
9
  import { DTableDataOrder } from "./d-table-data-sorter";
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-header-cell.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header-cell.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport { DImage, DImageOptions, DThemeImage } from \"./d-image\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataComparator, DTableDataOrder, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableHeaderTable } from \"./d-table-header\";\nimport { DTableHeaderCellCheck, DTableHeaderCellCheckOptions } from \"./d-table-header-cell-check\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DTableHeaderCellHeader<ROW> {\n\treadonly table: DTableHeaderTable<ROW> | null;\n}\n\nexport interface DTableHeaderCellOptions<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell\n> extends DImageOptions<string | null, THEME> {\n\theader?: DTableHeaderCellHeader<ROW>;\n\tcolumn?: DTableColumn<ROW, unknown>;\n\tcolumnIndex?: number;\n\tcheck?: DTableHeaderCellCheckOptions;\n}\n\nexport interface DThemeTableHeaderCell extends DThemeImage<string | null> {}\n\nexport class DTableHeaderCell<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell,\n\tOPTIONS extends DTableHeaderCellOptions<ROW, THEME> = DTableHeaderCellOptions<ROW, THEME>\n> extends DImage<string | null, THEME, OPTIONS> {\n\tprotected _sorter?: DTableDataSorter<ROW>;\n\tprotected _onSorterChangeBound?: () => void;\n\tprotected _header?: DTableHeaderCellHeader<ROW>;\n\tprotected _column?: DTableColumn<ROW, unknown>;\n\tprotected _columnIndex?: number;\n\tprotected _check!: DTableHeaderCellCheck<ROW>;\n\tprotected _checkWork?: Point;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tif (options != null) {\n\t\t\tthis._header = options.header;\n\t\t\tthis._column = options.column;\n\t\t\tthis._columnIndex = options.columnIndex;\n\t\t\tthis._check = new DTableHeaderCellCheck<ROW>(this, options.check);\n\t\t} else {\n\t\t\tthis._check = new DTableHeaderCellCheck<ROW>(this);\n\t\t}\n\t\tsuper.init(options);\n\t\tthis.initOnClick(options);\n\t}\n\n\tget column(): DTableColumn<ROW, unknown> | undefined {\n\t\treturn this._column;\n\t}\n\n\tget columnIndex(): number | undefined {\n\t\treturn this._columnIndex;\n\t}\n\n\tget header(): DTableHeaderCellHeader<ROW> | undefined {\n\t\treturn this._header;\n\t}\n\n\tget check(): DTableHeaderCellCheck<ROW> {\n\t\treturn this._check;\n\t}\n\n\tprotected initOnClick(options?: OPTIONS): void {\n\t\tconst column = this._column;\n\t\tif (column) {\n\t\t\tconst sortable = column.sorting.enable;\n\t\t\tconst checkable = this._check.isEnabled;\n\t\t\tif (checkable || sortable) {\n\t\t\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\t\t\tthis.onClick(e);\n\t\t\t\t});\n\t\t\t\tconst state = this.state;\n\t\t\t\tstate.lock();\n\t\t\t\tstate.set(DTableState.SORTABLE, sortable);\n\t\t\t\tstate.set(DTableState.CHECKABLE, checkable);\n\t\t\t\tstate.unlock();\n\t\t\t}\n\t\t}\n\t}\n\n\tget sorter(): DTableDataSorter<ROW> | null {\n\t\tlet sorter = this._sorter;\n\t\tif (sorter == null) {\n\t\t\tconst header = this._header;\n\t\t\tif (header) {\n\t\t\t\tconst table = header.table;\n\t\t\t\tif (table) {\n\t\t\t\t\tsorter = table.data.sorter;\n\t\t\t\t\tthis._sorter = sorter;\n\t\t\t\t\tthis._onSorterChangeBound =\n\t\t\t\t\t\tthis._onSorterChangeBound ||\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tthis.onSorterChange();\n\t\t\t\t\t\t});\n\t\t\t\t\tsorter.on(\"change\", this._onSorterChangeBound);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\treturn sorter;\n\t}\n\n\tget comparator(): DTableDataComparator<ROW> | null {\n\t\tconst column = this._column;\n\t\tif (column) {\n\t\t\treturn column.sorting.comparator || null;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onSorterChange(): void {\n\t\tconst comparator = this.comparator;\n\t\tif (comparator) {\n\t\t\tconst sorter = this._sorter;\n\t\t\tif (sorter) {\n\t\t\t\tconst SORTED_ASCENDING = DTableState.SORTED_ASCENDING;\n\t\t\t\tconst SORTED_DESCENDING = DTableState.SORTED_DESCENDING;\n\t\t\t\tif (sorter.isApplied() && sorter.get() === comparator) {\n\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\tthis.state.set(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.state.set(SORTED_DESCENDING, SORTED_ASCENDING);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.state.removeAll(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toClickPosition(e: InteractionEvent): number {\n\t\tconst checkWork = this._checkWork || new Point();\n\t\tthis._checkWork = checkWork;\n\t\treturn e.data.getLocalPosition(this, checkWork).x;\n\t}\n\n\tprotected isCheckClicked(\n\t\te?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): boolean {\n\t\tif (e instanceof InteractionEvent && this._check.isEnabled) {\n\t\t\tif (this.isSortable) {\n\t\t\t\tconst image = this._images[1];\n\t\t\t\tif (image && image.image != null) {\n\t\t\t\t\tconst position = this.toClickPosition(e);\n\t\t\t\t\tconst bound = image.bound;\n\t\t\t\t\tconst margin = image.margin.horizontal;\n\t\t\t\t\treturn bound.left - margin <= position && position <= bound.right + margin;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tactivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.onActivate(e);\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this.isCheckClicked(e)) {\n\t\t\tthis.onToggleStart();\n\t\t\tthis.onToggleEnd();\n\t\t} else {\n\t\t\tthis.doSort(e);\n\t\t\tthis.emit(\"active\", this);\n\t\t}\n\t}\n\n\tprotected doSort(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this.isSortable) {\n\t\t\tconst comparator = this.comparator;\n\t\t\tif (comparator) {\n\t\t\t\tconst sorter = this.sorter;\n\t\t\t\tif (sorter) {\n\t\t\t\t\tif (sorter.get() === comparator) {\n\t\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\t\tsorter.order = DTableDataOrder.DESCENDING;\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsorter.set(null);\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsorter.set(comparator);\n\t\t\t\t\t\tsorter.order = DTableDataOrder.ASCENDING;\n\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget isSortable(): boolean {\n\t\tconst column = this._column;\n\t\tif (column) {\n\t\t\treturn column.sorting.enable;\n\t\t}\n\t\treturn false;\n\t}\n\n\tget isToggle(): boolean {\n\t\treturn this._check.isEnabled;\n\t}\n\n\ttoggle(): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onToggleStart(): void {\n\t\tthis.state.isActive = !this.state.isActive;\n\t}\n\n\tprotected onToggleEnd(): void {\n\t\tif (this.state.isActive) {\n\t\t\tthis._check.execute(true);\n\t\t\tthis.emit(\"active\", this);\n\t\t} else {\n\t\t\tthis._check.execute(false);\n\t\t\tthis.emit(\"inactive\", this);\n\t\t}\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t} else {\n\t\t\t\tthis.state.isPressed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleEnd();\n\t\t\t} else {\n\t\t\t\tif (this.state.isPressed) {\n\t\t\t\t\tthis.activate(e);\n\t\t\t\t}\n\t\t\t\tthis.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyDown(e);\n\t\t}\n\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyUp(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyUp(e);\n\t\t}\n\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableHeaderCell\";\n\t}\n\n\tdestroy(): void {\n\t\tconst sorter = this._sorter;\n\t\tconst onSorterChangeBound = this._onSorterChangeBound;\n\t\tif (sorter && onSorterChangeBound) {\n\t\t\tsorter.off(\"change\", onSorterChangeBound);\n\t\t}\n\t\tthis._sorter = undefined;\n\t\tthis._onSorterChangeBound = undefined;\n\n\t\tsuper.destroy();\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-header-cell.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-header-cell.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { InteractionEvent, Point } from \"pixi.js\";\nimport { DImage, DImageOptions, DThemeImage } from \"./d-image\";\nimport { DTableState } from \"./d-table-state\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableDataComparator, DTableDataOrder, DTableDataSorter } from \"./d-table-data-sorter\";\nimport { DTableHeaderTable } from \"./d-table-header\";\nimport { DTableHeaderCellCheck, DTableHeaderCellCheckOptions } from \"./d-table-header-cell-check\";\nimport { UtilKeyboardEvent } from \"./util/util-keyboard-event\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DTableHeaderCellHeader<ROW> {\n\treadonly table: DTableHeaderTable<ROW> | null;\n}\n\nexport interface DTableHeaderCellOptions<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell\n> extends DImageOptions<string | null, THEME> {\n\theader?: DTableHeaderCellHeader<ROW>;\n\tcolumn?: DTableColumn<ROW, unknown>;\n\tcolumnIndex?: number;\n\tcheck?: DTableHeaderCellCheckOptions;\n}\n\nexport interface DThemeTableHeaderCell extends DThemeImage<string | null> {}\n\nexport class DTableHeaderCell<\n\tROW,\n\tTHEME extends DThemeTableHeaderCell = DThemeTableHeaderCell,\n\tOPTIONS extends DTableHeaderCellOptions<ROW, THEME> = DTableHeaderCellOptions<ROW, THEME>\n> extends DImage<string | null, THEME, OPTIONS> {\n\tprotected _sorter?: DTableDataSorter<ROW>;\n\tprotected _onSorterChangeBound?: () => void;\n\tprotected _header?: DTableHeaderCellHeader<ROW>;\n\tprotected _column?: DTableColumn<ROW, unknown>;\n\tprotected _columnIndex?: number;\n\tprotected _check!: DTableHeaderCellCheck<ROW>;\n\tprotected _checkWork?: Point;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tif (options != null) {\n\t\t\tthis._header = options.header;\n\t\t\tthis._column = options.column;\n\t\t\tthis._columnIndex = options.columnIndex;\n\t\t\tthis._check = new DTableHeaderCellCheck<ROW>(this, options.check);\n\t\t} else {\n\t\t\tthis._check = new DTableHeaderCellCheck<ROW>(this);\n\t\t}\n\t\tsuper.init(options);\n\t\tthis.initOnClick(options);\n\t}\n\n\tget column(): DTableColumn<ROW, unknown> | undefined {\n\t\treturn this._column;\n\t}\n\n\tget columnIndex(): number | undefined {\n\t\treturn this._columnIndex;\n\t}\n\n\tget header(): DTableHeaderCellHeader<ROW> | undefined {\n\t\treturn this._header;\n\t}\n\n\tget check(): DTableHeaderCellCheck<ROW> {\n\t\treturn this._check;\n\t}\n\n\tprotected initOnClick(options?: OPTIONS): void {\n\t\tconst column = this._column;\n\t\tif (column) {\n\t\t\tconst sortable = column.sorting.enable;\n\t\t\tconst checkable = this._check.isEnabled;\n\t\t\tif (checkable || sortable) {\n\t\t\t\tthis.on(UtilPointerEvent.tap, (e: InteractionEvent): void => {\n\t\t\t\t\tthis.onClick(e);\n\t\t\t\t});\n\t\t\t\tconst state = this.state;\n\t\t\t\tstate.lock();\n\t\t\t\tstate.set(DTableState.SORTABLE, sortable);\n\t\t\t\tstate.set(DTableState.CHECKABLE, checkable);\n\t\t\t\tstate.unlock();\n\t\t\t}\n\t\t}\n\t}\n\n\tget sorter(): DTableDataSorter<ROW> | null {\n\t\tlet sorter = this._sorter;\n\t\tif (sorter == null) {\n\t\t\tconst header = this._header;\n\t\t\tif (header) {\n\t\t\t\tconst table = header.table;\n\t\t\t\tif (table) {\n\t\t\t\t\tsorter = table.data.sorter;\n\t\t\t\t\tthis._sorter = sorter;\n\t\t\t\t\tthis._onSorterChangeBound =\n\t\t\t\t\t\tthis._onSorterChangeBound ||\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tthis.onSorterChange();\n\t\t\t\t\t\t});\n\t\t\t\t\tsorter.on(\"change\", this._onSorterChangeBound);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\treturn sorter;\n\t}\n\n\tget comparator(): DTableDataComparator<ROW> | null {\n\t\tconst column = this._column;\n\t\tif (column) {\n\t\t\treturn column.sorting.comparator || null;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onSorterChange(): void {\n\t\tconst comparator = this.comparator;\n\t\tif (comparator) {\n\t\t\tconst sorter = this._sorter;\n\t\t\tif (sorter) {\n\t\t\t\tconst SORTED_ASCENDING = DTableState.SORTED_ASCENDING;\n\t\t\t\tconst SORTED_DESCENDING = DTableState.SORTED_DESCENDING;\n\t\t\t\tif (sorter.isApplied() && sorter.get() === comparator) {\n\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\tthis.state.set(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.state.set(SORTED_DESCENDING, SORTED_ASCENDING);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.state.removeAll(SORTED_ASCENDING, SORTED_DESCENDING);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected toClickPosition(e: InteractionEvent): number {\n\t\tconst checkWork = this._checkWork || new Point();\n\t\tthis._checkWork = checkWork;\n\t\treturn e.data.getLocalPosition(this, checkWork).x;\n\t}\n\n\tprotected isCheckClicked(\n\t\te?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): boolean {\n\t\tif (e instanceof InteractionEvent && this._check.isEnabled) {\n\t\t\tif (this.isSortable) {\n\t\t\t\tconst image = this._images[1];\n\t\t\t\tif (image && image.image != null) {\n\t\t\t\t\tconst position = this.toClickPosition(e);\n\t\t\t\t\tconst bound = image.bound;\n\t\t\t\t\tconst margin = image.margin.horizontal;\n\t\t\t\t\treturn bound.left - margin <= position && position <= bound.right + margin;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected onClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tthis.activate(e);\n\t\t}\n\t}\n\n\tactivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tthis.onActivate(e);\n\t}\n\n\tprotected onActivate(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this.isCheckClicked(e)) {\n\t\t\tthis.onToggleStart();\n\t\t\tthis.onToggleEnd();\n\t\t} else {\n\t\t\tthis.doSort(e);\n\t\t\tthis.emit(\"active\", this);\n\t\t}\n\t}\n\n\tprotected doSort(e?: InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent): void {\n\t\tif (this.isSortable) {\n\t\t\tconst comparator = this.comparator;\n\t\t\tif (comparator) {\n\t\t\t\tconst sorter = this.sorter;\n\t\t\t\tif (sorter) {\n\t\t\t\t\tif (sorter.get() === comparator) {\n\t\t\t\t\t\tif (sorter.order === DTableDataOrder.ASCENDING) {\n\t\t\t\t\t\t\tsorter.order = DTableDataOrder.DESCENDING;\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsorter.set(null);\n\t\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsorter.set(comparator);\n\t\t\t\t\t\tsorter.order = DTableDataOrder.ASCENDING;\n\t\t\t\t\t\tsorter.apply();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget isSortable(): boolean {\n\t\tconst column = this._column;\n\t\tif (column) {\n\t\t\treturn column.sorting.enable;\n\t\t}\n\t\treturn false;\n\t}\n\n\tget isToggle(): boolean {\n\t\treturn this._check.isEnabled;\n\t}\n\n\ttoggle(): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t\tthis.onToggleEnd();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onToggleStart(): void {\n\t\tthis.state.isActive = !this.state.isActive;\n\t}\n\n\tprotected onToggleEnd(): void {\n\t\tif (this.state.isActive) {\n\t\t\tthis._check.execute(true);\n\t\t\tthis.emit(\"active\", this);\n\t\t} else {\n\t\t\tthis._check.execute(false);\n\t\t\tthis.emit(\"inactive\", this);\n\t\t}\n\t}\n\n\tprotected onActivateKeyDown(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleStart();\n\t\t\t} else {\n\t\t\t\tthis.state.isPressed = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onActivateKeyUp(e: KeyboardEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tif (this.isToggle) {\n\t\t\t\tthis.onToggleEnd();\n\t\t\t} else {\n\t\t\t\tif (this.state.isPressed) {\n\t\t\t\t\tthis.activate(e);\n\t\t\t\t}\n\t\t\t\tthis.state.isPressed = false;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onKeyDown(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyDown(e);\n\t\t}\n\n\t\treturn super.onKeyDown(e);\n\t}\n\n\tprotected onKeyUp(e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onActivateKeyUp(e);\n\t\t}\n\n\t\treturn super.onKeyUp(e);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableHeaderCell\";\n\t}\n\n\tdestroy(): void {\n\t\tconst sorter = this._sorter;\n\t\tconst onSorterChangeBound = this._onSorterChangeBound;\n\t\tif (sorter && onSorterChangeBound) {\n\t\t\tsorter.off(\"change\", onSorterChangeBound);\n\t\t}\n\t\tthis._sorter = undefined;\n\t\tthis._onSorterChangeBound = undefined;\n\n\t\tsuper.destroy();\n\t}\n}\n"]}