@wcardinal/wcardinal-ui 0.158.0 → 0.161.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 (290) hide show
  1. package/dist/types/wcardinal/ui/d-button-color-gradient.d.ts +4 -0
  2. package/dist/types/wcardinal/ui/d-button-color.d.ts +3 -2
  3. package/dist/types/wcardinal/ui/d-button-date.d.ts +3 -0
  4. package/dist/types/wcardinal/ui/d-button-datetime.d.ts +3 -0
  5. package/dist/types/wcardinal/ui/d-button-time.d.ts +3 -0
  6. package/dist/types/wcardinal/ui/d-image-piece-layouter-part-container.d.ts +2 -2
  7. package/dist/types/wcardinal/ui/d-image-piece-layouter.d.ts +1 -1
  8. package/dist/types/wcardinal/ui/d-table-body-cell-date.d.ts +5 -10
  9. package/dist/types/wcardinal/ui/d-table-body-cell-datetime.d.ts +5 -13
  10. package/dist/types/wcardinal/ui/d-table-body-cell-time.d.ts +5 -13
  11. package/dist/types/wcardinal/ui/index.d.ts +9 -3
  12. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-dialog.d.ts +2 -1
  13. package/dist/types/wcardinal/ui/theme/white/d-theme-white-dialog.d.ts +2 -1
  14. package/dist/wcardinal/ui/d-animation-base.js +2 -1
  15. package/dist/wcardinal/ui/d-animation-base.js.map +1 -1
  16. package/dist/wcardinal/ui/d-animation-empty.js +2 -1
  17. package/dist/wcardinal/ui/d-animation-empty.js.map +1 -1
  18. package/dist/wcardinal/ui/d-animation-fade-in.js +2 -1
  19. package/dist/wcardinal/ui/d-animation-fade-in.js.map +1 -1
  20. package/dist/wcardinal/ui/d-base.js +2 -1
  21. package/dist/wcardinal/ui/d-base.js.map +1 -1
  22. package/dist/wcardinal/ui/d-button-color-gradient.js +34 -15
  23. package/dist/wcardinal/ui/d-button-color-gradient.js.map +1 -1
  24. package/dist/wcardinal/ui/d-button-color.js +42 -27
  25. package/dist/wcardinal/ui/d-button-color.js.map +1 -1
  26. package/dist/wcardinal/ui/d-button-date.js +17 -8
  27. package/dist/wcardinal/ui/d-button-date.js.map +1 -1
  28. package/dist/wcardinal/ui/d-button-datetime.js +17 -8
  29. package/dist/wcardinal/ui/d-button-datetime.js.map +1 -1
  30. package/dist/wcardinal/ui/d-button-select.js +2 -1
  31. package/dist/wcardinal/ui/d-button-select.js.map +1 -1
  32. package/dist/wcardinal/ui/d-button-time.js +17 -8
  33. package/dist/wcardinal/ui/d-button-time.js.map +1 -1
  34. package/dist/wcardinal/ui/d-chart-selection-simple.js +2 -1
  35. package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
  36. package/dist/wcardinal/ui/d-chart-selection-sub-impl.js +2 -1
  37. package/dist/wcardinal/ui/d-chart-selection-sub-impl.js.map +1 -1
  38. package/dist/wcardinal/ui/d-chart-series-line.js +2 -1
  39. package/dist/wcardinal/ui/d-chart-series-line.js.map +1 -1
  40. package/dist/wcardinal/ui/d-diagram-base.js +2 -1
  41. package/dist/wcardinal/ui/d-diagram-base.js.map +1 -1
  42. package/dist/wcardinal/ui/d-diagram.js +3 -3
  43. package/dist/wcardinal/ui/d-diagram.js.map +1 -1
  44. package/dist/wcardinal/ui/d-dialog-processing.js +2 -1
  45. package/dist/wcardinal/ui/d-dialog-processing.js.map +1 -1
  46. package/dist/wcardinal/ui/d-dialog.js +1 -1
  47. package/dist/wcardinal/ui/d-dialog.js.map +1 -1
  48. package/dist/wcardinal/ui/d-dynamic-text-style.js +1 -1
  49. package/dist/wcardinal/ui/d-dynamic-text-style.js.map +1 -1
  50. package/dist/wcardinal/ui/d-image-base.js +3 -0
  51. package/dist/wcardinal/ui/d-image-base.js.map +1 -1
  52. package/dist/wcardinal/ui/d-image-piece-layouter-part-container.js +11 -5
  53. package/dist/wcardinal/ui/d-image-piece-layouter-part-container.js.map +1 -1
  54. package/dist/wcardinal/ui/d-image-piece-layouter.js.map +1 -1
  55. package/dist/wcardinal/ui/d-map-tile-pyramids.js +5 -5
  56. package/dist/wcardinal/ui/d-map-tile-pyramids.js.map +1 -1
  57. package/dist/wcardinal/ui/d-menu-item-base.js +2 -1
  58. package/dist/wcardinal/ui/d-menu-item-base.js.map +1 -1
  59. package/dist/wcardinal/ui/d-menu-sided-selection.js +2 -1
  60. package/dist/wcardinal/ui/d-menu-sided-selection.js.map +1 -1
  61. package/dist/wcardinal/ui/d-menu-sided.js +2 -1
  62. package/dist/wcardinal/ui/d-menu-sided.js.map +1 -1
  63. package/dist/wcardinal/ui/d-menus.js +1 -1
  64. package/dist/wcardinal/ui/d-menus.js.map +1 -1
  65. package/dist/wcardinal/ui/d-pagination.js +2 -1
  66. package/dist/wcardinal/ui/d-pagination.js.map +1 -1
  67. package/dist/wcardinal/ui/d-pane.js +2 -1
  68. package/dist/wcardinal/ui/d-pane.js.map +1 -1
  69. package/dist/wcardinal/ui/d-picker-color-gradient-view.js +3 -0
  70. package/dist/wcardinal/ui/d-picker-color-gradient-view.js.map +1 -1
  71. package/dist/wcardinal/ui/d-picker-dates.js +1 -1
  72. package/dist/wcardinal/ui/d-picker-dates.js.map +1 -1
  73. package/dist/wcardinal/ui/d-picker-datetimes.js +2 -2
  74. package/dist/wcardinal/ui/d-picker-datetimes.js.map +1 -1
  75. package/dist/wcardinal/ui/d-scalar-expression.js +3 -3
  76. package/dist/wcardinal/ui/d-scalar-expression.js.map +1 -1
  77. package/dist/wcardinal/ui/d-scroll-bar.js +2 -1
  78. package/dist/wcardinal/ui/d-scroll-bar.js.map +1 -1
  79. package/dist/wcardinal/ui/d-slider.js +2 -2
  80. package/dist/wcardinal/ui/d-slider.js.map +1 -1
  81. package/dist/wcardinal/ui/d-table-body-cell-button.js +2 -1
  82. package/dist/wcardinal/ui/d-table-body-cell-button.js.map +1 -1
  83. package/dist/wcardinal/ui/d-table-body-cell-color.js +4 -1
  84. package/dist/wcardinal/ui/d-table-body-cell-color.js.map +1 -1
  85. package/dist/wcardinal/ui/d-table-body-cell-date.js +14 -45
  86. package/dist/wcardinal/ui/d-table-body-cell-date.js.map +1 -1
  87. package/dist/wcardinal/ui/d-table-body-cell-datetime.js +13 -54
  88. package/dist/wcardinal/ui/d-table-body-cell-datetime.js.map +1 -1
  89. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js +2 -1
  90. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  91. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js +2 -1
  92. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  93. package/dist/wcardinal/ui/d-table-body-cell-time.js +13 -53
  94. package/dist/wcardinal/ui/d-table-body-cell-time.js.map +1 -1
  95. package/dist/wcardinal/ui/d-table-body-cell-tree.js +2 -1
  96. package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
  97. package/dist/wcardinal/ui/d-table-body.js +2 -1
  98. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  99. package/dist/wcardinal/ui/d-table-category.js +2 -1
  100. package/dist/wcardinal/ui/d-table-category.js.map +1 -1
  101. package/dist/wcardinal/ui/d-table-data-list-selection.js +2 -1
  102. package/dist/wcardinal/ui/d-table-data-list-selection.js.map +1 -1
  103. package/dist/wcardinal/ui/d-table-data-tree-selection-impl.js +2 -1
  104. package/dist/wcardinal/ui/d-table-data-tree-selection-impl.js.map +1 -1
  105. package/dist/wcardinal/ui/d-table-header.js +2 -1
  106. package/dist/wcardinal/ui/d-table-header.js.map +1 -1
  107. package/dist/wcardinal/ui/d-table-row.js +2 -1
  108. package/dist/wcardinal/ui/d-table-row.js.map +1 -1
  109. package/dist/wcardinal/ui/d-tree-item-button.js +2 -1
  110. package/dist/wcardinal/ui/d-tree-item-button.js.map +1 -1
  111. package/dist/wcardinal/ui/index.js +9 -3
  112. package/dist/wcardinal/ui/index.js.map +1 -1
  113. package/dist/wcardinal/ui/shape/action/e-shape-action-expressions.js +4 -4
  114. package/dist/wcardinal/ui/shape/action/e-shape-action-expressions.js.map +1 -1
  115. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-transform-rotate.js +1 -1
  116. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-transform-rotate.js.map +1 -1
  117. package/dist/wcardinal/ui/shape/action/e-shape-action-value-blink.js +1 -1
  118. package/dist/wcardinal/ui/shape/action/e-shape-action-value-blink.js.map +1 -1
  119. package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-color-brightness.js +1 -1
  120. package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-color-brightness.js.map +1 -1
  121. package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-color-code.js +1 -1
  122. package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-color-code.js.map +1 -1
  123. package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-color.js +1 -1
  124. package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-color.js.map +1 -1
  125. package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-cursor.js +1 -1
  126. package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-cursor.js.map +1 -1
  127. package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-text.js +1 -1
  128. package/dist/wcardinal/ui/shape/action/e-shape-action-value-change-text.js.map +1 -1
  129. package/dist/wcardinal/ui/shape/action/e-shape-action-value-emit-event.js +1 -1
  130. package/dist/wcardinal/ui/shape/action/e-shape-action-value-emit-event.js.map +1 -1
  131. package/dist/wcardinal/ui/shape/action/e-shape-action-value-misc-gesture.js +1 -1
  132. package/dist/wcardinal/ui/shape/action/e-shape-action-value-misc-gesture.js.map +1 -1
  133. package/dist/wcardinal/ui/shape/action/e-shape-action-value-misc-layer-gesture.js +1 -1
  134. package/dist/wcardinal/ui/shape/action/e-shape-action-value-misc-layer-gesture.js.map +1 -1
  135. package/dist/wcardinal/ui/shape/action/e-shape-action-value-misc-layer-show-hide.js +1 -1
  136. package/dist/wcardinal/ui/shape/action/e-shape-action-value-misc-layer-show-hide.js.map +1 -1
  137. package/dist/wcardinal/ui/shape/action/e-shape-action-value-misc.js +1 -1
  138. package/dist/wcardinal/ui/shape/action/e-shape-action-value-misc.js.map +1 -1
  139. package/dist/wcardinal/ui/shape/action/e-shape-action-value-open.js +1 -1
  140. package/dist/wcardinal/ui/shape/action/e-shape-action-value-open.js.map +1 -1
  141. package/dist/wcardinal/ui/shape/action/e-shape-action-value-show-hide.js +1 -1
  142. package/dist/wcardinal/ui/shape/action/e-shape-action-value-show-hide.js.map +1 -1
  143. package/dist/wcardinal/ui/shape/action/e-shape-action-value-transform-move.js +1 -1
  144. package/dist/wcardinal/ui/shape/action/e-shape-action-value-transform-move.js.map +1 -1
  145. package/dist/wcardinal/ui/shape/action/e-shape-action-value-transform-resize.js +1 -1
  146. package/dist/wcardinal/ui/shape/action/e-shape-action-value-transform-resize.js.map +1 -1
  147. package/dist/wcardinal/ui/shape/action/e-shape-action-value-transform-rotate.js +1 -1
  148. package/dist/wcardinal/ui/shape/action/e-shape-action-value-transform-rotate.js.map +1 -1
  149. package/dist/wcardinal/ui/shape/e-shape-connector-edge-container-impl.js +1 -1
  150. package/dist/wcardinal/ui/shape/e-shape-connector-edge-container-impl.js.map +1 -1
  151. package/dist/wcardinal/ui/shape/e-shape-connector-edge-impl.js +1 -1
  152. package/dist/wcardinal/ui/shape/e-shape-connector-edge-impl.js.map +1 -1
  153. package/dist/wcardinal/ui/shape/e-shape-points-marker-base.js +1 -1
  154. package/dist/wcardinal/ui/shape/e-shape-points-marker-base.js.map +1 -1
  155. package/dist/wcardinal/ui/shape/e-shape-points-marker-container-impl.js +1 -1
  156. package/dist/wcardinal/ui/shape/e-shape-points-marker-container-impl.js.map +1 -1
  157. package/dist/wcardinal/ui/shape/variant/e-shape-bar-points.js +1 -1
  158. package/dist/wcardinal/ui/shape/variant/e-shape-bar-points.js.map +1 -1
  159. package/dist/wcardinal/ui/shape/variant/e-shape-button.js +1 -1
  160. package/dist/wcardinal/ui/shape/variant/e-shape-button.js.map +1 -1
  161. package/dist/wcardinal/ui/shape/variant/e-shape-connector-line.js +1 -1
  162. package/dist/wcardinal/ui/shape/variant/e-shape-connector-line.js.map +1 -1
  163. package/dist/wcardinal/ui/shape/variant/e-shape-data-impl.js +2 -2
  164. package/dist/wcardinal/ui/shape/variant/e-shape-data-impl.js.map +1 -1
  165. package/dist/wcardinal/ui/shape/variant/e-shape-data-value-impl.js +1 -1
  166. package/dist/wcardinal/ui/shape/variant/e-shape-data-value-impl.js.map +1 -1
  167. package/dist/wcardinal/ui/shape/variant/e-shape-data-value-range-impl.js +1 -1
  168. package/dist/wcardinal/ui/shape/variant/e-shape-data-value-range-impl.js.map +1 -1
  169. package/dist/wcardinal/ui/shape/variant/e-shape-fill-impl.js +1 -1
  170. package/dist/wcardinal/ui/shape/variant/e-shape-fill-impl.js.map +1 -1
  171. package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js +1 -1
  172. package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js.map +1 -1
  173. package/dist/wcardinal/ui/shape/variant/e-shape-stroke-impl.js +1 -1
  174. package/dist/wcardinal/ui/shape/variant/e-shape-stroke-impl.js.map +1 -1
  175. package/dist/wcardinal/ui/shape/variant/e-shape-text-align-impl.js +1 -1
  176. package/dist/wcardinal/ui/shape/variant/e-shape-text-align-impl.js.map +1 -1
  177. package/dist/wcardinal/ui/shape/variant/e-shape-text-impl.js +3 -3
  178. package/dist/wcardinal/ui/shape/variant/e-shape-text-impl.js.map +1 -1
  179. package/dist/wcardinal/ui/shape/variant/e-shape-text-offset-impl.js +1 -1
  180. package/dist/wcardinal/ui/shape/variant/e-shape-text-offset-impl.js.map +1 -1
  181. package/dist/wcardinal/ui/shape/variant/e-shape-text-outline-impl.js +1 -1
  182. package/dist/wcardinal/ui/shape/variant/e-shape-text-outline-impl.js.map +1 -1
  183. package/dist/wcardinal/ui/shape/variant/to-gradient-image-url.js +2 -2
  184. package/dist/wcardinal/ui/shape/variant/to-gradient-image-url.js.map +1 -1
  185. package/dist/wcardinal/ui/shape/variant/to-gradient-serialized.js +2 -2
  186. package/dist/wcardinal/ui/shape/variant/to-gradient-serialized.js.map +1 -1
  187. package/dist/wcardinal/ui/theme/dark/d-theme-dark-base.js +3 -3
  188. package/dist/wcardinal/ui/theme/dark/d-theme-dark-base.js.map +1 -1
  189. package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-color.js +1 -1
  190. package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-color.js.map +1 -1
  191. package/dist/wcardinal/ui/theme/dark/d-theme-dark-dialog.js +17 -3
  192. package/dist/wcardinal/ui/theme/dark/d-theme-dark-dialog.js.map +1 -1
  193. package/dist/wcardinal/ui/theme/dark/d-theme-dark-html-element.js +14 -14
  194. package/dist/wcardinal/ui/theme/dark/d-theme-dark-html-element.js.map +1 -1
  195. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-input.js +4 -4
  196. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-input.js.map +1 -1
  197. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-text-area.js +4 -4
  198. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-text-area.js.map +1 -1
  199. package/dist/wcardinal/ui/theme/dark/d-theme-dark-picker-color.js +1 -1
  200. package/dist/wcardinal/ui/theme/dark/d-theme-dark-picker-color.js.map +1 -1
  201. package/dist/wcardinal/ui/theme/dark/d-theme-dark-picker-datetime.js +1 -1
  202. package/dist/wcardinal/ui/theme/dark/d-theme-dark-picker-datetime.js.map +1 -1
  203. package/dist/wcardinal/ui/theme/dark/d-theme-dark.js +1 -1
  204. package/dist/wcardinal/ui/theme/dark/d-theme-dark.js.map +1 -1
  205. package/dist/wcardinal/ui/theme/dark/e-theme-dark-shape-action-value.js +8 -8
  206. package/dist/wcardinal/ui/theme/dark/e-theme-dark-shape-action-value.js.map +1 -1
  207. package/dist/wcardinal/ui/theme/white/d-theme-white-base.js +3 -3
  208. package/dist/wcardinal/ui/theme/white/d-theme-white-base.js.map +1 -1
  209. package/dist/wcardinal/ui/theme/white/d-theme-white-button-color.js +1 -1
  210. package/dist/wcardinal/ui/theme/white/d-theme-white-button-color.js.map +1 -1
  211. package/dist/wcardinal/ui/theme/white/d-theme-white-dialog.js +17 -3
  212. package/dist/wcardinal/ui/theme/white/d-theme-white-dialog.js.map +1 -1
  213. package/dist/wcardinal/ui/theme/white/d-theme-white-html-element.js +14 -14
  214. package/dist/wcardinal/ui/theme/white/d-theme-white-html-element.js.map +1 -1
  215. package/dist/wcardinal/ui/theme/white/d-theme-white-input-input.js +4 -4
  216. package/dist/wcardinal/ui/theme/white/d-theme-white-input-input.js.map +1 -1
  217. package/dist/wcardinal/ui/theme/white/d-theme-white-input-text-area.js +4 -4
  218. package/dist/wcardinal/ui/theme/white/d-theme-white-input-text-area.js.map +1 -1
  219. package/dist/wcardinal/ui/theme/white/d-theme-white-menu.js +2 -1
  220. package/dist/wcardinal/ui/theme/white/d-theme-white-menu.js.map +1 -1
  221. package/dist/wcardinal/ui/theme/white/d-theme-white-picker-color.js +1 -1
  222. package/dist/wcardinal/ui/theme/white/d-theme-white-picker-color.js.map +1 -1
  223. package/dist/wcardinal/ui/theme/white/d-theme-white-picker-datetime.js +1 -1
  224. package/dist/wcardinal/ui/theme/white/d-theme-white-picker-datetime.js.map +1 -1
  225. package/dist/wcardinal/ui/theme/white/d-theme-white.js +1 -1
  226. package/dist/wcardinal/ui/theme/white/d-theme-white.js.map +1 -1
  227. package/dist/wcardinal/ui/theme/white/e-theme-white-shape-action-value.js +8 -8
  228. package/dist/wcardinal/ui/theme/white/e-theme-white-shape-action-value.js.map +1 -1
  229. package/dist/wcardinal/ui/util/dynamic-sdf-font-atlas.js +1 -1
  230. package/dist/wcardinal/ui/util/dynamic-sdf-font-atlas.js.map +1 -1
  231. package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js +2 -2
  232. package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js.map +1 -1
  233. package/dist/wcardinal/ui/util/format-node/format-node-d-small.js +1 -1
  234. package/dist/wcardinal/ui/util/format-node/format-node-d-small.js.map +1 -1
  235. package/dist/wcardinal/ui/util/format-node/format-node-fsi.js +1 -1
  236. package/dist/wcardinal/ui/util/format-node/format-node-fsi.js.map +1 -1
  237. package/dist/wcardinal/ui/util/format-node/format-node-p-large.js +1 -1
  238. package/dist/wcardinal/ui/util/format-node/format-node-p-large.js.map +1 -1
  239. package/dist/wcardinal/ui/util/format-node/format-node-p-small.js +1 -1
  240. package/dist/wcardinal/ui/util/format-node/format-node-p-small.js.map +1 -1
  241. package/dist/wcardinal/ui/util/format-node/format-node-parenthesis.js +1 -1
  242. package/dist/wcardinal/ui/util/format-node/format-node-parenthesis.js.map +1 -1
  243. package/dist/wcardinal/ui/util/format-node/format-node-plus.js +1 -1
  244. package/dist/wcardinal/ui/util/format-node/format-node-plus.js.map +1 -1
  245. package/dist/wcardinal/ui/util/format-node/format-node-rd.js +1 -1
  246. package/dist/wcardinal/ui/util/format-node/format-node-rd.js.map +1 -1
  247. package/dist/wcardinal/ui/util/format-node/format-node-rp-large.js +1 -1
  248. package/dist/wcardinal/ui/util/format-node/format-node-rp-large.js.map +1 -1
  249. package/dist/wcardinal/ui/util/format-node/format-node-rp-small.js +1 -1
  250. package/dist/wcardinal/ui/util/format-node/format-node-rp-small.js.map +1 -1
  251. package/dist/wcardinal/ui/util/format-node/format-node-sdt.js +6 -6
  252. package/dist/wcardinal/ui/util/format-node/format-node-sdt.js.map +1 -1
  253. package/dist/wcardinal/ui/util/format-node/format-node-space.js +1 -1
  254. package/dist/wcardinal/ui/util/format-node/format-node-space.js.map +1 -1
  255. package/dist/wcardinal/ui/util/format-node/format-node-z.js +1 -1
  256. package/dist/wcardinal/ui/util/format-node/format-node-z.js.map +1 -1
  257. package/dist/wcardinal/ui/util/to-svg-url.js +1 -1
  258. package/dist/wcardinal/ui/util/to-svg-url.js.map +1 -1
  259. package/dist/wcardinal/ui/util/util-input-number.js +5 -4
  260. package/dist/wcardinal/ui/util/util-input-number.js.map +1 -1
  261. package/dist/wcardinal/ui/util/util-input.js +6 -5
  262. package/dist/wcardinal/ui/util/util-input.js.map +1 -1
  263. package/dist/wcardinal/ui/util/util-name.js +2 -2
  264. package/dist/wcardinal/ui/util/util-name.js.map +1 -1
  265. package/dist/wcardinal/ui/util/util-rgb.js +1 -1
  266. package/dist/wcardinal/ui/util/util-rgb.js.map +1 -1
  267. package/dist/wcardinal/ui/util/util-rgba.js +1 -1
  268. package/dist/wcardinal/ui/util/util-rgba.js.map +1 -1
  269. package/dist/wcardinal/ui/util/util-svg-atlas-builder.js +5 -5
  270. package/dist/wcardinal/ui/util/util-svg-atlas-builder.js.map +1 -1
  271. package/dist/wcardinal-ui-theme-dark.js +56 -41
  272. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  273. package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
  274. package/dist/wcardinal-ui-theme-white.js +57 -42
  275. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  276. package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
  277. package/dist/wcardinal-ui.cjs.js +461 -473
  278. package/dist/wcardinal-ui.js +354 -392
  279. package/dist/wcardinal-ui.min.js +2 -2
  280. package/dist/wcardinal-ui.min.js.map +1 -1
  281. package/package.json +14 -14
  282. package/dist/types/wcardinal/ui/d-dialog-dates.d.ts +0 -5
  283. package/dist/types/wcardinal/ui/d-dialog-datetimes.d.ts +0 -5
  284. package/dist/types/wcardinal/ui/d-dialog-times.d.ts +0 -5
  285. package/dist/wcardinal/ui/d-dialog-dates.js +0 -18
  286. package/dist/wcardinal/ui/d-dialog-dates.js.map +0 -1
  287. package/dist/wcardinal/ui/d-dialog-datetimes.js +0 -18
  288. package/dist/wcardinal/ui/d-dialog-datetimes.js.map +0 -1
  289. package/dist/wcardinal/ui/d-dialog-times.js +0 -18
  290. package/dist/wcardinal/ui/d-dialog-times.js.map +0 -1
@@ -3,10 +3,7 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { __extends } from "tslib";
6
- import { DButton } from "./d-button";
7
- import { DDialogTime } from "./d-dialog-time";
8
- import { DDialogTimes } from "./d-dialog-times";
9
- import { DPickerTimes } from "./d-picker-times";
6
+ import { DButtonTime } from "./d-button-time";
10
7
  import { DTableBodyCells } from "./d-table-body-cells";
11
8
  import { isNumber } from "./util/is-number";
12
9
  var DTableBodyCellTime = /** @class */ (function (_super) {
@@ -19,56 +16,19 @@ var DTableBodyCellTime = /** @class */ (function (_super) {
19
16
  _this._onChange = onChange;
20
17
  return _this;
21
18
  }
22
- DTableBodyCellTime.prototype.onActivate = function (e) {
23
- var _this = this;
24
- var _a, _b;
25
- _super.prototype.onActivate.call(this, e);
26
- var value = (_b = (_a = this._textValueComputed) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Date.now();
27
- var dialog = this.dialog;
28
- dialog.current = new Date(value);
29
- dialog.new = new Date(value);
30
- dialog.open().then(function () {
31
- var newValue = dialog.new;
32
- var oldValue = dialog.current;
33
- _this.text = new Date(newValue.getTime());
34
- var row = _this._row;
35
- if (row !== undefined) {
36
- var rowIndex = _this._rowIndex;
37
- var columnIndex = _this._columnIndex;
38
- _this._column.setter(row, columnIndex, newValue);
39
- _this.emit("change", newValue, oldValue, _this);
40
- _this._onChange(newValue, oldValue, row, rowIndex, columnIndex, _this);
41
- }
42
- });
43
- };
44
- DTableBodyCellTime.prototype.getDatetimeMask = function () {
45
- var _a, _b;
46
- var result = this._datetimeMask;
47
- if (result == null) {
48
- result = DPickerTimes.toMask((_b = (_a = this._options) === null || _a === void 0 ? void 0 : _a.dialog) === null || _b === void 0 ? void 0 : _b.picker);
49
- this._datetimeMask = result;
19
+ DTableBodyCellTime.prototype.onValueChange = function (newValue, oldValue) {
20
+ var row = this._row;
21
+ if (row !== undefined) {
22
+ var rowIndex = this._rowIndex;
23
+ var columnIndex = this._columnIndex;
24
+ this._column.setter(row, columnIndex, newValue);
25
+ _super.prototype.onValueChange.call(this, newValue, oldValue);
26
+ this._onChange(newValue, oldValue, row, rowIndex, columnIndex, this);
27
+ }
28
+ else {
29
+ _super.prototype.onValueChange.call(this, newValue, oldValue);
50
30
  }
51
- return result;
52
31
  };
53
- Object.defineProperty(DTableBodyCellTime.prototype, "dialog", {
54
- get: function () {
55
- var _a;
56
- var dialog = this._dialog;
57
- if (dialog == null) {
58
- var options = (_a = this._options) === null || _a === void 0 ? void 0 : _a.dialog;
59
- if (options) {
60
- dialog = new DDialogTime(options);
61
- }
62
- else {
63
- dialog = DDialogTimes.getInstance();
64
- }
65
- this._dialog = dialog;
66
- }
67
- return dialog;
68
- },
69
- enumerable: false,
70
- configurable: true
71
- });
72
32
  Object.defineProperty(DTableBodyCellTime.prototype, "row", {
73
33
  get: function () {
74
34
  return this._row;
@@ -134,6 +94,6 @@ var DTableBodyCellTime = /** @class */ (function (_super) {
134
94
  return "DTableBodyCellTime";
135
95
  };
136
96
  return DTableBodyCellTime;
137
- }(DButton));
97
+ }(DButtonTime));
138
98
  export { DTableBodyCellTime };
139
99
  //# sourceMappingURL=d-table-body-cell-time.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-body-cell-time.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-time.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,OAAO,EAAgC,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAW5C;IAQS,sCAA6B;IAWrC,4BACC,WAAmB,EACnB,MAA+B,EAC/B,QAA2C,EAC3C,OAAiB;QAJlB,YAMC,kBAAM,OAAO,CAAC,SAMd;QAJA,KAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACpB,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;;IAC3B,CAAC;IAES,uCAAU,GAApB,UACC,CAA0E;QAD3E,iBAqBC;;QAlBA,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAM,KAAK,GAAG,MAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,OAAO,EAAE,mCAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/D,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;YAClB,IAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;YAC5B,IAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;YAChC,KAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACzC,IAAM,GAAG,GAAG,KAAI,CAAC,IAAI,CAAC;YACtB,IAAI,GAAG,KAAK,SAAS,EAAE;gBACtB,IAAM,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC;gBAChC,IAAM,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC;gBACtC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAChD,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI,CAAC,CAAC;gBAC9C,KAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAI,CAAC,CAAC;aACrE;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,4CAAe,GAAf;;QACC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAChC,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,0CAAE,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;SAC5B;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,sBAAI,sCAAM;aAAV;;YACC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,MAAM,IAAI,IAAI,EAAE;gBACnB,IAAM,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;gBACtC,IAAI,OAAO,EAAE;oBACZ,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;iBAClC;qBAAM;oBACN,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;iBACpC;gBACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED,sBAAI,mCAAG;aAAP;YACC,OAAO,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;;;OAAA;IAED,sBAAI,wCAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,2CAAW;aAAf;YACC,OAAO,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,sCAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,gCAAG,GAAH,UACC,KAAW,EACX,GAAQ,EACR,YAAqB,EACrB,QAAgB,EAChB,WAAmB,EACnB,QAAkB;QAElB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,KAAK,YAAY,IAAI,EAAE;YAC1B,IAAI,QAAQ,EAAE;gBACb,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;gBAChC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC1B;iBAAM;gBACN,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aAClB;SACD;aAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAClD,IAAI,iBAAiB,IAAI,IAAI,EAAE;gBAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;aAC5B;iBAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,KAAK,EAAE;gBACjD,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC1B;SACD;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,kCAAK,GAAL;QACC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACrB,CAAC;IAES,oCAAO,GAAjB;QACC,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IACF,yBAAC;AAAD,CAAC,AA1ID,CAQS,OAAO,GAkIf","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 { DDialogTime, DDialogTimeOptions } from \"./d-dialog-time\";\nimport { DDialogTimes } from \"./d-dialog-times\";\nimport { DPickerDatetimeMask } from \"./d-picker-datetime-mask\";\nimport { DPickerTimes } from \"./d-picker-times\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { isNumber } from \"./util/is-number\";\n\nexport interface DTableBodyCellTimeOptions<\n\tROW = unknown,\n\tTHEME extends DThemeTableBodyCellTime = DThemeTableBodyCellTime\n> extends DButtonOptions<Date, THEME> {\n\tdialog?: DDialogTimeOptions;\n}\n\nexport interface DThemeTableBodyCellTime extends DThemeButton<Date> {}\n\nexport class DTableBodyCellTime<\n\t\tROW = unknown,\n\t\tTHEME extends DThemeTableBodyCellTime = DThemeTableBodyCellTime,\n\t\tOPTIONS extends DTableBodyCellTimeOptions<ROW, THEME> = DTableBodyCellTimeOptions<\n\t\t\tROW,\n\t\t\tTHEME\n\t\t>\n\t>\n\textends DButton<Date, THEME, OPTIONS>\n\timplements DTableBodyCell<ROW, Date>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, Date>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, Date>;\n\tprotected _dialog?: DDialogTime;\n\tprotected _datetimeMask?: DPickerDatetimeMask;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, Date>,\n\t\tonChange: DTableBodyCellOnChange<ROW, Date>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\t}\n\n\tprotected onActivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onActivate(e);\n\t\tconst value = this._textValueComputed?.getTime() ?? Date.now();\n\t\tconst dialog = this.dialog;\n\t\tdialog.current = new Date(value);\n\t\tdialog.new = new Date(value);\n\t\tdialog.open().then((): void => {\n\t\t\tconst newValue = dialog.new;\n\t\t\tconst oldValue = dialog.current;\n\t\t\tthis.text = new Date(newValue.getTime());\n\t\t\tconst row = this._row;\n\t\t\tif (row !== undefined) {\n\t\t\t\tconst rowIndex = this._rowIndex;\n\t\t\t\tconst columnIndex = this._columnIndex;\n\t\t\t\tthis._column.setter(row, columnIndex, newValue);\n\t\t\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t\t\tthis._onChange(newValue, oldValue, row, rowIndex, columnIndex, this);\n\t\t\t}\n\t\t});\n\t}\n\n\tgetDatetimeMask(): DPickerDatetimeMask {\n\t\tlet result = this._datetimeMask;\n\t\tif (result == null) {\n\t\t\tresult = DPickerTimes.toMask(this._options?.dialog?.picker);\n\t\t\tthis._datetimeMask = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget dialog(): DDialogTime {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options) {\n\t\t\t\tdialog = new DDialogTime(options);\n\t\t\t} else {\n\t\t\t\tdialog = DDialogTimes.getInstance();\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, Date> {\n\t\treturn this._column;\n\t}\n\n\tset(\n\t\tvalue: Date,\n\t\trow: ROW,\n\t\tsupplimental: unknown,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void {\n\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tif (value instanceof Date) {\n\t\t\tif (forcibly) {\n\t\t\t\tthis._textValue = value;\n\t\t\t\tthis._textValueComputed = value;\n\t\t\t\tthis.onTextChange();\n\t\t\t\tthis.createOrUpdateText();\n\t\t\t} else {\n\t\t\t\tthis.text = value;\n\t\t\t}\n\t\t} else if (isNumber(value)) {\n\t\t\tconst textValueComputed = this._textValueComputed;\n\t\t\tif (textValueComputed == null) {\n\t\t\t\tthis.text = new Date(value);\n\t\t\t} else if (textValueComputed.getTime() !== value) {\n\t\t\t\ttextValueComputed.setTime(value);\n\t\t\t\tthis.onTextChange();\n\t\t\t\tthis.createOrUpdateText();\n\t\t\t}\n\t\t}\n\n\t\tconst column = this._column;\n\t\tDTableBodyCells.setReadOnly(this, row, columnIndex, column);\n\t\tDTableBodyCells.setRenderable(this, row, columnIndex, column);\n\t}\n\n\tunset(): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellTime\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body-cell-time.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body-cell-time.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DButtonTime, DButtonTimeOptions, DThemeButtonTime } from \"./d-button-time\";\nimport { DTableBodyCell, DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DTableBodyCells } from \"./d-table-body-cells\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { isNumber } from \"./util/is-number\";\n\nexport interface DTableBodyCellTimeOptions<\n\tROW = unknown,\n\tTHEME extends DThemeTableBodyCellTime = DThemeTableBodyCellTime\n> extends DButtonTimeOptions<THEME> {}\n\nexport interface DThemeTableBodyCellTime extends DThemeButtonTime {}\n\nexport class DTableBodyCellTime<\n\t\tROW = unknown,\n\t\tTHEME extends DThemeTableBodyCellTime = DThemeTableBodyCellTime,\n\t\tOPTIONS extends DTableBodyCellTimeOptions<ROW, THEME> = DTableBodyCellTimeOptions<\n\t\t\tROW,\n\t\t\tTHEME\n\t\t>\n\t>\n\textends DButtonTime<THEME, OPTIONS>\n\timplements DTableBodyCell<ROW, Date>\n{\n\tprotected _row?: ROW;\n\tprotected _rowIndex: number;\n\tprotected _columnIndex: number;\n\tprotected _column: DTableColumn<ROW, Date>;\n\tprotected _onChange: DTableBodyCellOnChange<ROW, Date>;\n\n\tconstructor(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableColumn<ROW, Date>,\n\t\tonChange: DTableBodyCellOnChange<ROW, Date>,\n\t\toptions?: OPTIONS\n\t) {\n\t\tsuper(options);\n\n\t\tthis._rowIndex = -1;\n\t\tthis._columnIndex = columnIndex;\n\t\tthis._column = column;\n\t\tthis._onChange = onChange;\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tconst row = this._row;\n\t\tif (row !== undefined) {\n\t\t\tconst rowIndex = this._rowIndex;\n\t\t\tconst columnIndex = this._columnIndex;\n\t\t\tthis._column.setter(row, columnIndex, newValue);\n\t\t\tsuper.onValueChange(newValue, oldValue);\n\t\t\tthis._onChange(newValue, oldValue, row, rowIndex, columnIndex, this);\n\t\t} else {\n\t\t\tsuper.onValueChange(newValue, oldValue);\n\t\t}\n\t}\n\n\tget row(): ROW | undefined {\n\t\treturn this._row;\n\t}\n\n\tget rowIndex(): number {\n\t\treturn this._rowIndex;\n\t}\n\n\tget columnIndex(): number {\n\t\treturn this._columnIndex;\n\t}\n\n\tget column(): DTableColumn<ROW, Date> {\n\t\treturn this._column;\n\t}\n\n\tset(\n\t\tvalue: Date,\n\t\trow: ROW,\n\t\tsupplimental: unknown,\n\t\trowIndex: number,\n\t\tcolumnIndex: number,\n\t\tforcibly?: boolean\n\t): void {\n\t\tthis._row = row;\n\t\tthis._rowIndex = rowIndex;\n\t\tif (value instanceof Date) {\n\t\t\tif (forcibly) {\n\t\t\t\tthis._textValue = value;\n\t\t\t\tthis._textValueComputed = value;\n\t\t\t\tthis.onTextChange();\n\t\t\t\tthis.createOrUpdateText();\n\t\t\t} else {\n\t\t\t\tthis.text = value;\n\t\t\t}\n\t\t} else if (isNumber(value)) {\n\t\t\tconst textValueComputed = this._textValueComputed;\n\t\t\tif (textValueComputed == null) {\n\t\t\t\tthis.text = new Date(value);\n\t\t\t} else if (textValueComputed.getTime() !== value) {\n\t\t\t\ttextValueComputed.setTime(value);\n\t\t\t\tthis.onTextChange();\n\t\t\t\tthis.createOrUpdateText();\n\t\t\t}\n\t\t}\n\n\t\tconst column = this._column;\n\t\tDTableBodyCells.setReadOnly(this, row, columnIndex, column);\n\t\tDTableBodyCells.setRenderable(this, row, columnIndex, column);\n\t}\n\n\tunset(): void {\n\t\tthis._row = undefined;\n\t\tthis._rowIndex = -1;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBodyCellTime\";\n\t}\n}\n"]}
@@ -15,8 +15,9 @@ import { isNumber } from "./util/is-number";
15
15
  var DTableBodyCellTree = /** @class */ (function (_super) {
16
16
  __extends(DTableBodyCellTree, _super);
17
17
  function DTableBodyCellTree(columnIndex, column, onChange, options) {
18
+ var _this = this;
18
19
  var _a;
19
- var _this = _super.call(this, columnIndex, column, onChange, DLinks.toStateOptions((_a = options === null || options === void 0 ? void 0 : options.link) === null || _a === void 0 ? void 0 : _a.target, options)) || this;
20
+ _this = _super.call(this, columnIndex, column, onChange, DLinks.toStateOptions((_a = options === null || options === void 0 ? void 0 : options.link) === null || _a === void 0 ? void 0 : _a.target, options)) || this;
20
21
  _this._padding = new DBasePaddingAdjustable(_this._padding);
21
22
  return _this;
22
23
  }
@@ -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,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,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;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAgB5C;IASU,sCAAgD;IAIzD,4BACC,WAAmB,EACnB,MAAuC,EACvC,QAAmD,EACnD,OAAiB;;QAJlB,YAMC,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,SAE3F;QADA,KAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;;IAC3D,CAAC;IAES,wCAAW,GAArB,UAAsB,IAAqB,EAAE,KAAY,EAAE,OAAgB;QAA3E,iBAWC;QAVA,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAC,CAA+B;gBAC9C,IAAI,IAAI,KAAK,eAAe,CAAC,OAAO,EAAE;oBACrC,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAChB;YACF,CAAC,CAAC,CAAC;SACH;aAAM;YACN,iBAAM,WAAW,YAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACxC;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,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACjB;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,YAAqB,EACrB,QAAgB,EAChB,WAAmB,EACnB,QAAkB;QAElB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,KAAyC,CAAC;QAEtD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAE9D,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE;YAC3B,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,AArID,CASU,oBAAoB,GA4H7B","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 { DButtonBaseWhen } from \"./d-button-base-when\";\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 { isNumber } from \"./util/is-number\";\nimport { DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DStateAwareOrValue } from \"./d-state-aware\";\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\tthis._padding = new DBasePaddingAdjustable(this._padding);\n\t}\n\n\tprotected initOnClick(when: DButtonBaseWhen, theme: THEME, options: OPTIONS): void {\n\t\tconst link = this.link;\n\t\tif (link) {\n\t\t\tlink.add(this, (e: interaction.InteractionEvent): void => {\n\t\t\t\tif (when === DButtonBaseWhen.CLICKED) {\n\t\t\t\t\tthis.onClick(e);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsuper.initOnClick(when, theme, options);\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\tdata.toggle(row);\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: unknown,\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 DStateAwareOrValue<VALUE | null>;\n\n\t\tconst column = this._column;\n\t\tDTableBodyCells.setRenderable(this, row, columnIndex, column);\n\n\t\tconst link = this.link;\n\t\tconst padding = this._padding;\n\t\tif (isNumber(supplimental)) {\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":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,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;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAgB5C;IASU,sCAAgD;IAIzD,4BACC,WAAmB,EACnB,MAAuC,EACvC,QAAmD,EACnD,OAAiB;QAJlB,iBAQC;;gBAFA,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;QAC3F,KAAI,CAAC,QAAQ,GAAG,IAAI,sBAAsB,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;;IAC3D,CAAC;IAES,wCAAW,GAArB,UAAsB,IAAqB,EAAE,KAAY,EAAE,OAAgB;QAA3E,iBAWC;QAVA,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAC,CAA+B;gBAC9C,IAAI,IAAI,KAAK,eAAe,CAAC,OAAO,EAAE;oBACrC,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAChB;YACF,CAAC,CAAC,CAAC;SACH;aAAM;YACN,iBAAM,WAAW,YAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACxC;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,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACjB;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,YAAqB,EACrB,QAAgB,EAChB,WAAmB,EACnB,QAAkB;QAElB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,KAAyC,CAAC;QAEtD,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAE9D,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE;YAC3B,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,AArID,CASU,oBAAoB,GA4H7B","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 { DButtonBaseWhen } from \"./d-button-base-when\";\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 { isNumber } from \"./util/is-number\";\nimport { DTableBodyCellOnChange } from \"./d-table-body-cell\";\nimport { DStateAwareOrValue } from \"./d-state-aware\";\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\tthis._padding = new DBasePaddingAdjustable(this._padding);\n\t}\n\n\tprotected initOnClick(when: DButtonBaseWhen, theme: THEME, options: OPTIONS): void {\n\t\tconst link = this.link;\n\t\tif (link) {\n\t\t\tlink.add(this, (e: interaction.InteractionEvent): void => {\n\t\t\t\tif (when === DButtonBaseWhen.CLICKED) {\n\t\t\t\t\tthis.onClick(e);\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tsuper.initOnClick(when, theme, options);\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\tdata.toggle(row);\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: unknown,\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 DStateAwareOrValue<VALUE | null>;\n\n\t\tconst column = this._column;\n\t\tDTableBodyCells.setRenderable(this, row, columnIndex, column);\n\n\t\tconst link = this.link;\n\t\tconst padding = this._padding;\n\t\tif (isNumber(supplimental)) {\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"]}
@@ -47,8 +47,9 @@ var toRowOptions = function (theme, options, selectionType) {
47
47
  var DTableBody = /** @class */ (function (_super) {
48
48
  __extends(DTableBody, _super);
49
49
  function DTableBody(options) {
50
+ var _this = this;
50
51
  var _a;
51
- var _this = _super.call(this, options) || this;
52
+ _this = _super.call(this, options) || this;
52
53
  _this.transform.position.y = (_a = options.offset) !== null && _a !== void 0 ? _a : 0;
53
54
  var data = _this.toData(options.data);
54
55
  _this._data = data;
@@ -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, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody\n> extends DBaseOptions<THEME> {\n\tcolumns?: Array<DTableColumn<ROW, unknown>>;\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\toffset?: number;\n\tfrozen?: number;\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 _data: DATA;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = options.offset ?? 0;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._columns = rowOptions.columns || [];\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex): void => {\n\t\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\t};\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = Math.floor((0 - (newContentY + y)) / rowHeight);\n\t\tconst newRowIndexMappedUpperBound = Math.floor((height - (newContentY + y)) / rowHeight);\n\t\tconst newRowIndexMappedStart =\n\t\t\tnewRowIndexMappedLowerBound - (newRowIndexMappedLowerBound % 2 === 0 ? 2 : 1);\n\t\tlet newRowIndexMappedEnd =\n\t\t\tnewRowIndexMappedUpperBound +\n\t\t\t((newRowIndexMappedUpperBound - newRowIndexMappedStart + 1) % 2 === 0 ? 3 : 2);\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount && oldRowCount - 2 <= newRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: unknown,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t}\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>(this._onRowChangeBound, isEven, this._rowOptions);\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\tprotected toRowIndexMapped(local: Point): number {\n\t\tif (0 <= this.parent.position.y + local.y) {\n\t\t\treturn Math.floor(local.y / this._rowHeight);\n\t\t}\n\t\treturn -1;\n\t}\n\n\tprotected toRow(rowIndexMapped: number): DTableBodyRow<ROW> | null {\n\t\tconst index = rowIndexMapped - this._rowIndexMappedStart;\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toCell(row: DTableBodyRow<ROW>, local: Point): DTableBodyCell<ROW, unknown> | null {\n\t\tconst cells = row.children as Array<DTableBodyCell<ROW, unknown>>;\n\t\tconst cellsLength = cells.length;\n\t\tconst columns = this._columns;\n\t\tconst columnsLength = columns.length;\n\t\tfor (let i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {\n\t\t\tconst cell = cells[cellsLength - i - 1];\n\t\t\tconst x = local.x - cell.position.x;\n\t\t\tif (0 <= x && x <= cell.width) {\n\t\t\t\treturn cell;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonRowClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tconst local = DTableBody.WORK_ON_CLICK;\n\t\t\tlocal.copyFrom(e.data.global);\n\t\t\tthis.toLocal(local, undefined, local, false);\n\t\t\tconst rowIndexMapped = this.toRowIndexMapped(local);\n\t\t\tif (0 <= rowIndexMapped && rowIndexMapped < this._data.mapped.size()) {\n\t\t\t\t// Delegate to the cell at first\n\t\t\t\tconst row = this.toRow(rowIndexMapped);\n\t\t\t\tif (row) {\n\t\t\t\t\tconst cell = this.toCell(row, local);\n\t\t\t\t\tif (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fallback to the default\n\t\t\t\tthis.onRowSelect(e, rowIndexMapped);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tconst isSingle = selection.type === DTableDataSelectionType.SINGLE;\n\t\tconst isNotSingle = !isSingle;\n\t\tconst rowIndex = data.mapped.unmap(rowIndexMapped);\n\t\tconst originalEvent = e.data.originalEvent;\n\t\tconst ctrlKey = originalEvent.ctrlKey;\n\t\tconst shiftKey = originalEvent.shiftKey;\n\t\tif (isSingle || selection.isEmpty() || !(isNotSingle && (ctrlKey || shiftKey))) {\n\t\t\tselection.clearAndAdd(rowIndex);\n\t\t} else if (ctrlKey) {\n\t\t\tselection.toggle(rowIndex);\n\t\t} else if (shiftKey) {\n\t\t\tconst lastRowIndex = selection.last;\n\t\t\tif (lastRowIndex != null) {\n\t\t\t\tconst sorter = data.sorter;\n\t\t\t\tconst filter = data.filter;\n\t\t\t\tconst rowIndexSorted = sorter.map(rowIndex);\n\t\t\t\tconst lastRowIndexSorted = sorter.map(lastRowIndex);\n\t\t\t\tif (rowIndexSorted != null && lastRowIndexSorted != null) {\n\t\t\t\t\tlet istart = lastRowIndexSorted + 1;\n\t\t\t\t\tlet iend = rowIndexSorted + 1;\n\t\t\t\t\tif (rowIndexSorted < lastRowIndexSorted) {\n\t\t\t\t\t\tistart = rowIndexSorted;\n\t\t\t\t\t\tiend = lastRowIndexSorted;\n\t\t\t\t\t}\n\t\t\t\t\tif (istart < iend) {\n\t\t\t\t\t\tconst rowIndices: number[] = [];\n\t\t\t\t\t\tconst indicesFiltered = filter.indices;\n\t\t\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\t\t\tif (indicesFiltered) {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[indexFiltered]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indexFiltered);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(i);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselection.addAll(rowIndices);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-body.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-body.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAe,KAAK,EAAa,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,KAAK,EAA4B,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAA+C,MAAM,oBAAoB,CAAC;AAGhG,OAAO,EAAE,cAAc,EAAyB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAuB,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAkB9C,IAAM,YAAY,GAAG,UACpB,KAAsB,EACtB,OAAqC,EACrC,aAAsC;IAEtC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IACzB,IAAI,MAAM,IAAI,IAAI,EAAE;QACnB,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;YAC1B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;SACrC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;YACjC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;SACzB;QACD,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE;YAC1B,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;SAC/B;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;YACnC,MAAM,CAAC,SAAS,GAAG;gBAClB,IAAI,EAAE,aAAa;aACnB,CAAC;SACF;aAAM,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;YAC/C,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC;SACtC;KACD;SAAM;QACN,MAAM,GAAG;YACR,OAAO,SAAA;YACP,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE;gBACV,IAAI,EAAE,aAAa;aACnB;SACD,CAAC;KACF;IACD,OAAO,MAAmC,CAAC;AAC5C,CAAC,CAAC;AAEF;IAKU,8BAAqB;IAe9B,oBAAY,OAAgB;QAA5B,iBAsBC;;gBArBA,kBAAM,OAAO,CAAC;QAEd,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,CAAC,CAAC;QAChD,IAAM,IAAI,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,KAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAChB,IAAM,KAAK,GAAG,KAAI,CAAC,KAAK,CAAC;QACzB,IAAM,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrE,KAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACvF,KAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QACzC,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,KAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,KAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,KAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;QACzC,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,KAAI,CAAC,iBAAiB,GAAG,UAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW;YACvE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC3E,CAAC,CAAC;QACF,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC;;IACrC,CAAC;IAES,2BAAM,GAAhB,UAAiB,OAA2C;QAC3D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACzB,OAAO,OAAO,CAAC;SACf;QACD,OAAO,IAAI,cAAc,CAAM,OAAO,CAAQ,CAAC;IAChD,CAAC;IAES,2BAAM,GAAhB,UACC,MAAyD;QAEzD,OAAO,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,MAAM,CAAC;IAC7C,CAAC;IAED,6BAAQ,GAAR,UAAS,QAAgB,EAAE,SAAiB,EAAE,QAAgB,EAAE,SAAiB;QAChF,iBAAM,QAAQ,YAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED,sBAAI,iCAAS;aAAb;YACC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC7B,CAAC;;;OAAA;IAED,yBAAI,GAAJ;QACC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;SACzC;IACF,CAAC;IAED,2BAAM,GAAN,UAAO,YAAqB;QAC3B,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YAChC,IAAI,YAAY,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;SACzC;IACF,CAAC;IAED;;;;;OAKG;IACH,2BAAM,GAAN,UAAO,QAAkB;QACxB,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,QAAQ,EAAE;gBACb,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;aACxC;YACD,OAAO;SACP;QAED,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,OAAO;SACP;QACD,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,IAAI,aAAa,IAAI,IAAI,EAAE;YAC1B,OAAO;SACP;QAED,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;QACxD,IAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QACpC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAElC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAE1C,IAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAI,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACnD,IAAI,WAAW,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;QAEhE,IAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,IAAM,SAAS,GAAG,CAAC,GAAG,cAAc,GAAG,SAAS,CAAC;QACjD,IAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACrD,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5E,IAAM,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;QACpF,IAAM,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;QACzF,IAAM,sBAAsB,GAC3B,2BAA2B,GAAG,CAAC,2BAA2B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,oBAAoB,GACvB,2BAA2B;YAC3B,CAAC,CAAC,2BAA2B,GAAG,sBAAsB,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,WAAW,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;QAChE,IAAI,WAAW,GAAG,WAAW,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,EAAE;YAChE,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;QAED,IAAI,WAAW,GAAG,WAAW,EAAE;YAC9B,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE;gBAC/C,IAAM,iBAAiB,GAAG,sBAAsB,GAAG,CAAC,CAAC;gBACrD,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACtB;YACD,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;aAAM,IAAI,WAAW,GAAG,WAAW,EAAE;YACrC,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,WAAW,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;gBACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1B;YACD,WAAW,GAAG,WAAW,CAAC;YAC1B,oBAAoB,GAAG,sBAAsB,GAAG,WAAW,CAAC;SAC5D;QAED,IAAI,CAAC,oBAAoB,GAAG,sBAAsB,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;QAE/C,IAAM,wBAAwB,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;QACjF,IAAM,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACvE,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,GAAG,2BAA2B,IAAI,2BAA2B,GAAG,UAAU,EAAE;YAChF,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5B,IAAI,CAAC,GAAG,wBAAwB,EAAE;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClC;gBACD,KAAK,IAAI,CAAC,GAAG,2BAA2B,EAAE,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;oBAC9D,IAAI,CAAC,CAAC,GAAG,2BAA2B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,UAAU,GAAG,2BAA2B,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC7D;aACD;iBAAM;gBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,2BAA2B,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7E;gBACD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,2BAA2B,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;oBACvE,IAAI,CAAC,CAAC,GAAG,2BAA2B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAA2B,EAAE,EAAE,CAAC,EAAE;oBACrD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBAClB;aACD;YACD,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SAChB;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,eAAe,GAAG,SAAS,CAAC,IAAI,KAAK,uBAAuB,CAAC,IAAI,CAAC;QACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,UACC,KAAU,EACV,YAAqB,EACrB,KAAa,EACb,aAAqB;YAErB,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,CAAC;YAEjD,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC;YAEnC,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACtD,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACnE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC,EACD,sBAAsB,EACtB,sBAAsB,GAAG,UAAU,CACnC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,sBAAsB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;YACtE,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAE1D,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9D,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,KAAK,EAAE,CAAC;SACZ;QAED,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,cAAc,IAAI,sBAAsB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YACzF,IAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpB,WAAW;YACX,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;YAE1D,QAAQ;YACR,IAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAC9D,QAAQ,CAAC,MAAM,EAAE,CAAC;YAElB,OAAO;YACP,GAAG,CAAC,KAAK,EAAE,CAAC;SACZ;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC;QACjC,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAES,6BAAQ,GAAlB,UAAmB,GAAuB;QACzC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,IAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACnD,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,YAAY,KAAK,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;aAC7B;SACD;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAES,2BAAM,GAAhB,UAAiB,MAAe;QAC/B,OAAO,IAAI,aAAa,CAAM,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACjF,CAAC;IAES,iCAAY,GAAtB,UAAuB,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAC5E,iBAAM,YAAY,YAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,6CAAwB,GAAlC,UAAmC,CAAS;QAC3C,IAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,MAAM,EAAE;YACjC,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBAClD,IAAI,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAED,oCAAe,GAAf,UAAgB,MAAe,EAAE,MAAiB;QACjD,iBAAM,eAAe,YAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEtC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,MAAM,EAAE;YACX,IAAM,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SACpB;IACF,CAAC;IAES,qCAAgB,GAA1B,UAA2B,KAAY;QACtC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;SAC7C;QACD,OAAO,CAAC,CAAC,CAAC;IACX,CAAC;IAES,0BAAK,GAAf,UAAgB,cAAsB;QACrC,IAAM,KAAK,GAAG,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzD,IAAM,IAAI,GAAG,IAAI,CAAC,QAAqC,CAAC;QACxD,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE;YACtC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAES,2BAAM,GAAhB,UAAiB,GAAuB,EAAE,KAAY;QACrD,IAAM,KAAK,GAAG,GAAG,CAAC,QAA+C,CAAC;QAClE,IAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QACjC,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YAC3E,IAAM,IAAI,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,IAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC9B,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,+BAAU,GAAV,UAAW,CAAmB;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC5B,IAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC;YACvC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,cAAc,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;gBACrE,gCAAgC;gBAChC,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACvC,IAAI,GAAG,EAAE;oBACR,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBACrC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;wBAC3D,OAAO;qBACP;iBACD;gBAED,0BAA0B;gBAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAES,gCAAW,GAArB,UAAsB,CAAmB,EAAE,cAAsB;QAChE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,KAAK,uBAAuB,CAAC,MAAM,CAAC;QACnE,IAAM,WAAW,GAAG,CAAC,QAAQ,CAAC;QAC9B,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,IAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAC3C,IAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,IAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QACxC,IAAI,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE;YAC/E,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAChC;aAAM,IAAI,OAAO,EAAE;YACnB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC3B;aAAM,IAAI,QAAQ,EAAE;YACpB,IAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC;YACpC,IAAI,YAAY,IAAI,IAAI,EAAE;gBACzB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACpD,IAAI,cAAc,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI,EAAE;oBACzD,IAAI,MAAM,GAAG,kBAAkB,GAAG,CAAC,CAAC;oBACpC,IAAI,IAAI,GAAG,cAAc,GAAG,CAAC,CAAC;oBAC9B,IAAI,cAAc,GAAG,kBAAkB,EAAE;wBACxC,MAAM,GAAG,cAAc,CAAC;wBACxB,IAAI,GAAG,kBAAkB,CAAC;qBAC1B;oBACD,IAAI,MAAM,GAAG,IAAI,EAAE;wBAClB,IAAM,UAAU,GAAa,EAAE,CAAC;wBAChC,IAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;wBACvC,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;wBACrC,IAAI,eAAe,EAAE;4BACpB,IAAI,aAAa,EAAE;gCAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCAC7D,IAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oCACzC,IAAI,MAAM,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,EAAE;wCACpD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;qCAC9C;iCACD;6BACD;iCAAM;gCACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCAC7D,IAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oCACzC,IAAI,MAAM,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,EAAE;wCACpD,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qCAC/B;iCACD;6BACD;yBACD;6BAAM;4BACN,IAAI,aAAa,EAAE;gCAClB,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCACnC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;iCAClC;6BACD;iCAAM;gCACN,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;oCACnC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iCACnB;6BACD;yBACD;wBACD,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;qBAC7B;iBACD;aACD;SACD;IACF,CAAC;IAES,4BAAO,GAAjB;QACC,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,sBAAI,4BAAI;aAAR;YACC,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;;;OAAA;IAhagB,wBAAa,GAAG,IAAI,KAAK,EAAE,CAAC;IAia9C,iBAAC;CAAA,AAvaD,CAKU,KAAK,GAkad;SAvaY,UAAU","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, DBaseOptions, DThemeBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DTableBodyRow, DTableBodyRowOnChange, DTableBodyRowOptions } from \"./d-table-body-row\";\nimport { DTableColumn } from \"./d-table-column\";\nimport { DTableData, DTableDataOptions } from \"./d-table-data\";\nimport { DTableDataList, DTableDataListOptions } from \"./d-table-data-list\";\nimport { DTableDataSelection, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport { DTableBodyCell } from \"./d-table-body-cell\";\nimport { DTableState } from \"./d-table-state\";\n\nexport interface DTableBodyOptions<\n\tROW,\n\tDATA extends DTableData<ROW> = DTableDataList<ROW>,\n\tTHEME extends DThemeTableBody = DThemeTableBody\n> extends DBaseOptions<THEME> {\n\tcolumns?: Array<DTableColumn<ROW, unknown>>;\n\trow?: DTableBodyRowOptions<ROW>;\n\tdata?: DTableDataListOptions<ROW> | DATA;\n\toffset?: number;\n\tfrozen?: number;\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 _data: DATA;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tthis.transform.position.y = options.offset ?? 0;\n\t\tconst data = this.toData(options.data);\n\t\tthis._data = data;\n\t\tdata.bind(this);\n\t\tconst theme = this.theme;\n\t\tconst rowOptions = toRowOptions(theme, options, data.selection.type);\n\t\tthis._rowOptions = rowOptions;\n\t\tthis._rowHeight = rowOptions.height != null ? rowOptions.height : theme.getRowHeight();\n\t\tthis._columns = rowOptions.columns || [];\n\t\tthis._rowIndexMappedStart = 0;\n\t\tthis._rowIndexMappedEnd = 0;\n\t\tthis._updateRowsCount = 0;\n\t\tthis._isUpdateRowsCalled = false;\n\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\tthis._workRows = [];\n\t\tthis._onRowChangeBound = (newValue, oldValue, row, rowIndex, columnIndex): void => {\n\t\t\tdata.emit(\"change\", newValue, oldValue, row, rowIndex, columnIndex, data);\n\t\t};\n\t\tthis._data.emit(\"init\", this._data);\n\t}\n\n\tprotected toData(options?: DATA | DTableDataListOptions<ROW>): DATA {\n\t\tif (this.isData(options)) {\n\t\t\treturn options;\n\t\t}\n\t\treturn new DTableDataList<ROW>(options) as any;\n\t}\n\n\tprotected isData(\n\t\ttarget?: ROW[] | DTableDataOptions<ROW> | DTableData<ROW>\n\t): target is DTableData<ROW> {\n\t\treturn target != null && \"mapped\" in target;\n\t}\n\n\tonResize(newWidth: number, newHeight: number, oldWidth: number, oldHeight: number): void {\n\t\tsuper.onResize(newWidth, newHeight, oldWidth, oldHeight);\n\t\tthis.update();\n\t}\n\n\tget selection(): DTableDataSelection<ROW> {\n\t\treturn this._data.selection;\n\t}\n\n\tlock(): void {\n\t\tthis._updateRowsCount += 1;\n\t\tif (this._updateRowsCount === 1) {\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\tunlock(callIfNeeded: boolean): void {\n\t\tthis._updateRowsCount -= 1;\n\t\tif (this._updateRowsCount === 0) {\n\t\t\tif (callIfNeeded && this._isUpdateRowsCalled) {\n\t\t\t\tthis.update(this._isUpdateRowsCalledForcibly);\n\t\t\t}\n\t\t\tthis._isUpdateRowsCalled = false;\n\t\t\tthis._isUpdateRowsCalledForcibly = false;\n\t\t}\n\t}\n\n\t/**\n\t * Updates rows. If the `forcibly` is true, some dirty checkings for\n\t * avoiding unnecessary state changes are skipped.\n\t *\n\t * @param forcibly true to update forcibly\n\t */\n\tupdate(forcibly?: boolean): void {\n\t\tif (0 < this._updateRowsCount) {\n\t\t\tthis._isUpdateRowsCalled = true;\n\t\t\tif (forcibly) {\n\t\t\t\tthis._isUpdateRowsCalledForcibly = true;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tconst content = this.parent;\n\t\tif (content == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst contentParent = content.parent;\n\t\tif (contentParent == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tconst height = contentParent.height;\n\t\tconst rowHeight = this._rowHeight;\n\n\t\tconst data = this._data;\n\t\tconst dataMappedSize = data.mapped.size();\n\n\t\tconst oldRowIndexMappedStart = this._rowIndexMappedStart;\n\t\tlet oldRowIndexMappedEnd = this._rowIndexMappedEnd;\n\t\tlet oldRowCount = oldRowIndexMappedEnd - oldRowIndexMappedStart;\n\n\t\tconst y = this.transform.position.y;\n\t\tconst newHeight = y + dataMappedSize * rowHeight;\n\t\tconst newContentHeight = Math.max(height, newHeight);\n\t\tconst newContentY = Math.max(height - newContentHeight, content.position.y);\n\n\t\tconst newRowIndexMappedLowerBound = Math.floor((0 - (newContentY + y)) / rowHeight);\n\t\tconst newRowIndexMappedUpperBound = Math.floor((height - (newContentY + y)) / rowHeight);\n\t\tconst newRowIndexMappedStart =\n\t\t\tnewRowIndexMappedLowerBound - (newRowIndexMappedLowerBound % 2 === 0 ? 2 : 1);\n\t\tlet newRowIndexMappedEnd =\n\t\t\tnewRowIndexMappedUpperBound +\n\t\t\t((newRowIndexMappedUpperBound - newRowIndexMappedStart + 1) % 2 === 0 ? 3 : 2);\n\t\tlet newRowCount = newRowIndexMappedEnd - newRowIndexMappedStart;\n\t\tif (newRowCount < oldRowCount && oldRowCount - 2 <= newRowCount) {\n\t\t\tnewRowCount = oldRowCount;\n\t\t\tnewRowIndexMappedEnd = newRowIndexMappedStart + newRowCount;\n\t\t}\n\n\t\tif (oldRowCount < newRowCount) {\n\t\t\tfor (let i = oldRowCount; i < newRowCount; ++i) {\n\t\t\t\tconst oldRowIndexMapped = oldRowIndexMappedStart + i;\n\t\t\t\tconst newRow = this.newRow(oldRowIndexMapped % 2 === 0);\n\t\t\t\tthis.addChild(newRow);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t} else if (newRowCount < oldRowCount) {\n\t\t\tfor (let i = oldRowCount - 1; newRowCount <= i; --i) {\n\t\t\t\tthis.removeChild(rows[i]);\n\t\t\t}\n\t\t\toldRowCount = newRowCount;\n\t\t\toldRowIndexMappedEnd = oldRowIndexMappedStart + oldRowCount;\n\t\t}\n\n\t\tthis._rowIndexMappedStart = newRowIndexMappedStart;\n\t\tthis._rowIndexMappedEnd = newRowIndexMappedEnd;\n\n\t\tconst rowIndexMappedStartDelta = newRowIndexMappedStart - oldRowIndexMappedStart;\n\t\tconst rowIndexMappedStartDeltaAbs = Math.abs(rowIndexMappedStartDelta);\n\t\tconst rowsLength = rows.length;\n\t\tif (0 < rowIndexMappedStartDeltaAbs && rowIndexMappedStartDeltaAbs < rowsLength) {\n\t\t\tconst work = this._workRows;\n\t\t\tif (0 < rowIndexMappedStartDelta) {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowIndexMappedStartDeltaAbs; i < rowsLength; ++i) {\n\t\t\t\t\trows[i - rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[rowsLength - rowIndexMappedStartDeltaAbs + i] = work[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\twork.push(this.resetRow(rows[rowsLength - rowIndexMappedStartDeltaAbs + i]));\n\t\t\t\t}\n\t\t\t\tfor (let i = rowsLength - rowIndexMappedStartDeltaAbs - 1; 0 <= i; --i) {\n\t\t\t\t\trows[i + rowIndexMappedStartDeltaAbs] = rows[i];\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < rowIndexMappedStartDeltaAbs; ++i) {\n\t\t\t\t\trows[i] = work[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\twork.length = 0;\n\t\t}\n\n\t\tconst selection = data.selection;\n\t\tconst isRowSelectable = selection.type !== DTableDataSelectionType.NONE;\n\t\tdata.mapped.each(\n\t\t\t(\n\t\t\t\tdatum: ROW,\n\t\t\t\tsupplimental: unknown,\n\t\t\t\tindex: number,\n\t\t\t\tunmappedIndex: number\n\t\t\t): void | boolean => {\n\t\t\t\tconst row = rows[index - newRowIndexMappedStart];\n\n\t\t\t\t// Position\n\t\t\t\trow.position.y = index * rowHeight;\n\n\t\t\t\t// State\n\t\t\t\tconst rowState = row.state;\n\t\t\t\trowState.lock();\n\t\t\t\trowState.set(DTableState.SELECTABLE, isRowSelectable);\n\t\t\t\trowState.set(DBaseState.ACTIVE, selection.contains(unmappedIndex));\n\t\t\t\trowState.remove(DBaseState.DISABLED);\n\t\t\t\trowState.unlock();\n\n\t\t\t\t// Data\n\t\t\t\trow.set(datum, supplimental, unmappedIndex, forcibly);\n\t\t\t},\n\t\t\tnewRowIndexMappedStart,\n\t\t\tnewRowIndexMappedStart + rowsLength\n\t\t);\n\n\t\tfor (let i = 0; newRowIndexMappedStart + i < 0 && i < rowsLength; ++i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tfor (let i = rowsLength - 1; dataMappedSize <= newRowIndexMappedStart + i && 0 <= i; --i) {\n\t\t\tconst row = rows[i];\n\n\t\t\t// Position\n\t\t\trow.position.y = (newRowIndexMappedStart + i) * rowHeight;\n\n\t\t\t// State\n\t\t\tconst rowState = row.state;\n\t\t\trowState.lock();\n\t\t\trowState.add(DBaseState.DISABLED);\n\t\t\trowState.removeAll(DTableState.SELECTABLE, DBaseState.ACTIVE);\n\t\t\trowState.unlock();\n\n\t\t\t// Data\n\t\t\trow.unset();\n\t\t}\n\n\t\tthis.lock();\n\t\tcontent.position.y = newContentY;\n\t\tcontent.height = newContentHeight;\n\t\tthis.height = newHeight;\n\t\tthis.unlock(false);\n\t}\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>(this._onRowChangeBound, isEven, this._rowOptions);\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\tprotected toRowIndexMapped(local: Point): number {\n\t\tif (0 <= this.parent.position.y + local.y) {\n\t\t\treturn Math.floor(local.y / this._rowHeight);\n\t\t}\n\t\treturn -1;\n\t}\n\n\tprotected toRow(rowIndexMapped: number): DTableBodyRow<ROW> | null {\n\t\tconst index = rowIndexMapped - this._rowIndexMappedStart;\n\t\tconst rows = this.children as Array<DTableBodyRow<ROW>>;\n\t\tif (0 <= index && index < rows.length) {\n\t\t\treturn rows[index];\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toCell(row: DTableBodyRow<ROW>, local: Point): DTableBodyCell<ROW, unknown> | null {\n\t\tconst cells = row.children as Array<DTableBodyCell<ROW, unknown>>;\n\t\tconst cellsLength = cells.length;\n\t\tconst columns = this._columns;\n\t\tconst columnsLength = columns.length;\n\t\tfor (let i = 0, imax = Math.min(cellsLength, columnsLength); i < imax; ++i) {\n\t\t\tconst cell = cells[cellsLength - i - 1];\n\t\t\tconst x = local.x - cell.position.x;\n\t\t\tif (0 <= x && x <= cell.width) {\n\t\t\t\treturn cell;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tonRowClick(e: InteractionEvent): void {\n\t\tif (this.state.isActionable) {\n\t\t\tconst local = DTableBody.WORK_ON_CLICK;\n\t\t\tlocal.copyFrom(e.data.global);\n\t\t\tthis.toLocal(local, undefined, local, false);\n\t\t\tconst rowIndexMapped = this.toRowIndexMapped(local);\n\t\t\tif (0 <= rowIndexMapped && rowIndexMapped < this._data.mapped.size()) {\n\t\t\t\t// Delegate to the cell at first\n\t\t\t\tconst row = this.toRow(rowIndexMapped);\n\t\t\t\tif (row) {\n\t\t\t\t\tconst cell = this.toCell(row, local);\n\t\t\t\t\tif (cell && cell.onRowSelect && cell.onRowSelect(e, local)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Fallback to the default\n\t\t\t\tthis.onRowSelect(e, rowIndexMapped);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onRowSelect(e: InteractionEvent, rowIndexMapped: number): void {\n\t\tconst data = this._data;\n\t\tconst selection = data.selection;\n\t\tconst isSingle = selection.type === DTableDataSelectionType.SINGLE;\n\t\tconst isNotSingle = !isSingle;\n\t\tconst rowIndex = data.mapped.unmap(rowIndexMapped);\n\t\tconst originalEvent = e.data.originalEvent;\n\t\tconst ctrlKey = originalEvent.ctrlKey;\n\t\tconst shiftKey = originalEvent.shiftKey;\n\t\tif (isSingle || selection.isEmpty() || !(isNotSingle && (ctrlKey || shiftKey))) {\n\t\t\tselection.clearAndAdd(rowIndex);\n\t\t} else if (ctrlKey) {\n\t\t\tselection.toggle(rowIndex);\n\t\t} else if (shiftKey) {\n\t\t\tconst lastRowIndex = selection.last;\n\t\t\tif (lastRowIndex != null) {\n\t\t\t\tconst sorter = data.sorter;\n\t\t\t\tconst filter = data.filter;\n\t\t\t\tconst rowIndexSorted = sorter.map(rowIndex);\n\t\t\t\tconst lastRowIndexSorted = sorter.map(lastRowIndex);\n\t\t\t\tif (rowIndexSorted != null && lastRowIndexSorted != null) {\n\t\t\t\t\tlet istart = lastRowIndexSorted + 1;\n\t\t\t\t\tlet iend = rowIndexSorted + 1;\n\t\t\t\t\tif (rowIndexSorted < lastRowIndexSorted) {\n\t\t\t\t\t\tistart = rowIndexSorted;\n\t\t\t\t\t\tiend = lastRowIndexSorted;\n\t\t\t\t\t}\n\t\t\t\t\tif (istart < iend) {\n\t\t\t\t\t\tconst rowIndices: number[] = [];\n\t\t\t\t\t\tconst indicesFiltered = filter.indices;\n\t\t\t\t\t\tconst indicesSorted = sorter.indices;\n\t\t\t\t\t\tif (indicesFiltered) {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[indexFiltered]);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = 0, imax = indicesFiltered.length; i < imax; ++i) {\n\t\t\t\t\t\t\t\t\tconst indexFiltered = indicesFiltered[i];\n\t\t\t\t\t\t\t\t\tif (istart <= indexFiltered && indexFiltered < iend) {\n\t\t\t\t\t\t\t\t\t\trowIndices.push(indexFiltered);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (indicesSorted) {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(indicesSorted[i]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor (let i = istart; i < iend; ++i) {\n\t\t\t\t\t\t\t\t\trowIndices.push(i);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselection.addAll(rowIndices);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableBody\";\n\t}\n\n\tget data(): DATA {\n\t\treturn this._data;\n\t}\n}\n"]}
@@ -8,8 +8,9 @@ import { DTableRow } from "./d-table-row";
8
8
  var DTableCategory = /** @class */ (function (_super) {
9
9
  __extends(DTableCategory, _super);
10
10
  function DTableCategory(options) {
11
+ var _this = this;
11
12
  var _a;
12
- var _this = _super.call(this, options) || this;
13
+ _this = _super.call(this, options) || this;
13
14
  var offset = (_a = options.offset) !== null && _a !== void 0 ? _a : 0;
14
15
  _this._offset = offset;
15
16
  _this.transform.position.y = offset;
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-category.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-category.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,kBAAkB,EAA6B,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,SAAS,EAAoC,MAAM,eAAe,CAAC;AAiB5E;IAGU,kCAAwD;IAGjE,wBAAY,OAAgB;;QAA5B,YACC,kBAAM,OAAO,CAAC,SAOd;QALA,IAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,CAAC,CAAC;QACnC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;QAEnC,KAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;;IACtD,CAAC;IAES,qCAAY,GAAtB,UAAuB,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAC5E,iBAAM,YAAY,YAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QACjD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,4CAAmB,GAA7B;QACC,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,OAAO,EAAE;YACZ,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IAES,gCAAO,GAAjB,UACC,WAAmB,EACnB,MAA4B,EAC5B,OAA+B,EAC/B,OAAgB;QAEhB,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;IAES,sCAAa,GAAvB,UACC,WAAmB,EACnB,MAA4B,EAC5B,OAAgB;QAEhB,IAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5B,IAAI,MAAM,EAAE;YACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC5B,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YACxC,OAAO,MAAM,CAAC;SACd;aAAM;YACN,OAAO;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;iBACnB;aACD,CAAC;SACF;IACF,CAAC;IAES,gCAAO,GAAjB;QACC,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACF,qBAAC;AAAD,CAAC,AAlED,CAGU,SAAS,GA+DlB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBase } from \"./d-base\";\nimport { DTableCategoryCell, DTableCategoryCellOptions } from \"./d-table-category-cell\";\nimport { DTableRow, DTableRowOptions, DThemeTableRow } from \"./d-table-row\";\n\nexport interface DTableCategoryColumn {\n\tlabel?: string;\n\tweight?: number;\n\twidth?: number;\n\toffset: number;\n}\n\nexport interface DTableCategoryOptions<THEME extends DThemeTableCategory = DThemeTableCategory>\n\textends DTableRowOptions<unknown, DTableCategoryColumn, THEME> {\n\toffset?: number;\n\tcell?: DTableCategoryCellOptions;\n}\n\nexport interface DThemeTableCategory extends DThemeTableRow {}\n\nexport class DTableCategory<\n\tTHEME extends DThemeTableCategory = DThemeTableCategory,\n\tOPTIONS extends DTableCategoryOptions<THEME> = DTableCategoryOptions<THEME>\n> extends DTableRow<unknown, DTableCategoryColumn, THEME, OPTIONS> {\n\tprotected _offset: number;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tconst offset = options.offset ?? 0;\n\t\tthis._offset = offset;\n\t\tthis.transform.position.y = offset;\n\n\t\tthis.initCells(options, this._columns, this._frozen);\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.transform.position.y = -newY + this._offset;\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected getContentPositionX(): number {\n\t\tconst content = this.parent;\n\t\tif (content) {\n\t\t\treturn content.position.x;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tprotected newCell(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableCategoryColumn,\n\t\tcolumns: DTableCategoryColumn[],\n\t\toptions: OPTIONS\n\t): DBase {\n\t\treturn new DTableCategoryCell(this.toCellOptions(columnIndex, column, options));\n\t}\n\n\tprotected toCellOptions(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableCategoryColumn,\n\t\toptions: OPTIONS\n\t): DTableCategoryCellOptions {\n\t\tconst result = options.cell;\n\t\tif (result) {\n\t\t\tresult.weight = column.weight;\n\t\t\tresult.width = column.width;\n\t\t\tconst text = result.text || {};\n\t\t\tresult.text = text;\n\t\t\ttext.value = text.value || column.label;\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tweight: column.weight,\n\t\t\t\twidth: column.width,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: column.label\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableCategory\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-category.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-category.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,kBAAkB,EAA6B,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,SAAS,EAAoC,MAAM,eAAe,CAAC;AAiB5E;IAGU,kCAAwD;IAGjE,wBAAY,OAAgB;QAA5B,iBAQC;;gBAPA,kBAAM,OAAO,CAAC;QAEd,IAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,CAAC,CAAC;QACnC,KAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;QAEnC,KAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;;IACtD,CAAC;IAES,qCAAY,GAAtB,UAAuB,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAC5E,iBAAM,YAAY,YAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QACjD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,4CAAmB,GAA7B;QACC,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,OAAO,EAAE;YACZ,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC1B;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IAES,gCAAO,GAAjB,UACC,WAAmB,EACnB,MAA4B,EAC5B,OAA+B,EAC/B,OAAgB;QAEhB,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjF,CAAC;IAES,sCAAa,GAAvB,UACC,WAAmB,EACnB,MAA4B,EAC5B,OAAgB;QAEhB,IAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;QAC5B,IAAI,MAAM,EAAE;YACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC5B,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YACxC,OAAO,MAAM,CAAC;SACd;aAAM;YACN,OAAO;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;iBACnB;aACD,CAAC;SACF;IACF,CAAC;IAES,gCAAO,GAAjB;QACC,OAAO,gBAAgB,CAAC;IACzB,CAAC;IACF,qBAAC;AAAD,CAAC,AAlED,CAGU,SAAS,GA+DlB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBase } from \"./d-base\";\nimport { DTableCategoryCell, DTableCategoryCellOptions } from \"./d-table-category-cell\";\nimport { DTableRow, DTableRowOptions, DThemeTableRow } from \"./d-table-row\";\n\nexport interface DTableCategoryColumn {\n\tlabel?: string;\n\tweight?: number;\n\twidth?: number;\n\toffset: number;\n}\n\nexport interface DTableCategoryOptions<THEME extends DThemeTableCategory = DThemeTableCategory>\n\textends DTableRowOptions<unknown, DTableCategoryColumn, THEME> {\n\toffset?: number;\n\tcell?: DTableCategoryCellOptions;\n}\n\nexport interface DThemeTableCategory extends DThemeTableRow {}\n\nexport class DTableCategory<\n\tTHEME extends DThemeTableCategory = DThemeTableCategory,\n\tOPTIONS extends DTableCategoryOptions<THEME> = DTableCategoryOptions<THEME>\n> extends DTableRow<unknown, DTableCategoryColumn, THEME, OPTIONS> {\n\tprotected _offset: number;\n\n\tconstructor(options: OPTIONS) {\n\t\tsuper(options);\n\n\t\tconst offset = options.offset ?? 0;\n\t\tthis._offset = offset;\n\t\tthis.transform.position.y = offset;\n\n\t\tthis.initCells(options, this._columns, this._frozen);\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.transform.position.y = -newY + this._offset;\n\t\tthis.updateFrozenCellPosition(newX);\n\t}\n\n\tprotected getContentPositionX(): number {\n\t\tconst content = this.parent;\n\t\tif (content) {\n\t\t\treturn content.position.x;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tprotected newCell(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableCategoryColumn,\n\t\tcolumns: DTableCategoryColumn[],\n\t\toptions: OPTIONS\n\t): DBase {\n\t\treturn new DTableCategoryCell(this.toCellOptions(columnIndex, column, options));\n\t}\n\n\tprotected toCellOptions(\n\t\tcolumnIndex: number,\n\t\tcolumn: DTableCategoryColumn,\n\t\toptions: OPTIONS\n\t): DTableCategoryCellOptions {\n\t\tconst result = options.cell;\n\t\tif (result) {\n\t\t\tresult.weight = column.weight;\n\t\t\tresult.width = column.width;\n\t\t\tconst text = result.text || {};\n\t\t\tresult.text = text;\n\t\t\ttext.value = text.value || column.label;\n\t\t\treturn result;\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tweight: column.weight,\n\t\t\t\twidth: column.width,\n\t\t\t\ttext: {\n\t\t\t\t\tvalue: column.label\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTableCategory\";\n\t}\n}\n"]}
@@ -12,8 +12,9 @@ var COMPARATOR = function (a, b) {
12
12
  var DTableDataListSelection = /** @class */ (function (_super) {
13
13
  __extends(DTableDataListSelection, _super);
14
14
  function DTableDataListSelection(parent, options) {
15
+ var _this = this;
15
16
  var _a;
16
- var _this = _super.call(this) || this;
17
+ _this = _super.call(this) || this;
17
18
  _this._parent = parent;
18
19
  _this._type = toEnum((_a = options === null || options === void 0 ? void 0 : options.type) !== null && _a !== void 0 ? _a : DTableDataSelectionType.NONE, DTableDataSelectionType);
19
20
  _this._indices = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data-list-selection.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-selection.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionOptions,\n\tDTableDataSelectionParent,\n\tDTableDataSelectionType\n} from \"./d-table-data-selection\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst COMPARATOR = (a: [number, unknown], b: [number, unknown]): number => {\n\treturn a[0] - b[0];\n};\n\nexport class DTableDataListSelection<ROW>\n\textends utils.EventEmitter\n\timplements DTableDataSelection<ROW>\n{\n\tprotected _parent: DTableDataSelectionParent<ROW>;\n\tprotected _type: DTableDataSelectionType;\n\tprotected _indices: Set<number>;\n\n\tconstructor(parent: DTableDataSelectionParent<ROW>, options?: DTableDataSelectionOptions) {\n\t\tsuper();\n\n\t\tthis._parent = parent;\n\t\tthis._type = toEnum(options?.type ?? DTableDataSelectionType.NONE, DTableDataSelectionType);\n\t\tthis._indices = new Set<number>();\n\t}\n\n\tget type(): DTableDataSelectionType {\n\t\treturn this._type;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\ttoggle(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (indices.has(rowIndex)) {\n\t\t\tindices.delete(rowIndex);\n\t\t} else {\n\t\t\tindices.add(rowIndex);\n\t\t}\n\t\tthis.onChange();\n\t}\n\n\tadd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tindices.add(rowIndex);\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tget first(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result: number = NaN;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tif (result !== result) {\n\t\t\t\t\tresult = index;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result: number = 0;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tresult = index;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\taddTo(rowIndex: number): void {\n\t\tconst lastRowIndex = this.last;\n\t\tif (lastRowIndex != null) {\n\t\t\tthis.addRange(lastRowIndex, false, rowIndex, true);\n\t\t}\n\t}\n\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tif (from < to) {\n\t\t\tconst ifrom = from + (includeFrom ? 0 : 1);\n\t\t\tconst ito = to + (includeTo ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t} else {\n\t\t\tconst ifrom = to + (includeTo ? 0 : 1);\n\t\t\tconst ito = from + (includeFrom ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\taddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\tindices.add(rowIndices[i]);\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tcontains(rowIndex: number): boolean {\n\t\treturn this._indices.has(rowIndex);\n\t}\n\n\tremove(rowIndex: number): void {\n\t\tif (this._indices.delete(rowIndex)) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tindices.clear();\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAdd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (!indices.has(rowIndex) || indices.size !== 1) {\n\t\t\tindices.clear();\n\t\t\tindices.add(rowIndex);\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size || 0 < rowIndices.length) {\n\t\t\tindices.clear();\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tindices.add(rowIndices[i]);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tshift(rowIndex: number, amount: number): void {\n\t\tconst shifted: number[] = [];\n\t\tconst indices = this._indices;\n\t\tindices.forEach((index: number): void => {\n\t\t\tif (rowIndex <= index) {\n\t\t\t\tshifted.push(index);\n\t\t\t}\n\t\t});\n\t\tconst shiftedLength = shifted.length;\n\t\tif (0 < shiftedLength) {\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.delete(shifted[i]);\n\t\t\t}\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.add(shifted[i] + amount);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this._indices.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._indices.size === 0;\n\t}\n\n\t/**\n\t * Returns a copy of an index array of selected rows.\n\t * The order of indices is an insertion order.\n\t */\n\tget indices(): number[] {\n\t\tconst result: number[] = [];\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(index);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns a copy of an array of selected row value.\n\t * The order is an insertion order.\n\t */\n\tget rows(): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an array of the (index, row value) pairs of selected rows.\n\t * The order of pairs is an insertion order.\n\t */\n\ttoArray(): Array<[number, ROW]> {\n\t\tconst result: Array<[number, ROW]> = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push([index, parent.get(index)!]);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an sorted array of the (index, row value) pairs of selected rows.\n\t */\n\ttoSortedArray(): Array<[number, ROW]> {\n\t\treturn this.toArray().sort(COMPARATOR);\n\t}\n\n\ttoObject(): Record<number, ROW> {\n\t\tconst result: Record<number, ROW> = {};\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult[index] = parent.get(index)!;\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoMap(): Map<number, ROW> {\n\t\tconst result: Map<number, ROW> = new Map<number, ROW>();\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.set(index, parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-data-list-selection.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-list-selection.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport {\n\tDTableDataSelection,\n\tDTableDataSelectionOptions,\n\tDTableDataSelectionParent,\n\tDTableDataSelectionType\n} from \"./d-table-data-selection\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst COMPARATOR = (a: [number, unknown], b: [number, unknown]): number => {\n\treturn a[0] - b[0];\n};\n\nexport class DTableDataListSelection<ROW>\n\textends utils.EventEmitter\n\timplements DTableDataSelection<ROW>\n{\n\tprotected _parent: DTableDataSelectionParent<ROW>;\n\tprotected _type: DTableDataSelectionType;\n\tprotected _indices: Set<number>;\n\n\tconstructor(parent: DTableDataSelectionParent<ROW>, options?: DTableDataSelectionOptions) {\n\t\tsuper();\n\n\t\tthis._parent = parent;\n\t\tthis._type = toEnum(options?.type ?? DTableDataSelectionType.NONE, DTableDataSelectionType);\n\t\tthis._indices = new Set<number>();\n\t}\n\n\tget type(): DTableDataSelectionType {\n\t\treturn this._type;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\ttoggle(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (indices.has(rowIndex)) {\n\t\t\tindices.delete(rowIndex);\n\t\t} else {\n\t\t\tindices.add(rowIndex);\n\t\t}\n\t\tthis.onChange();\n\t}\n\n\tadd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tindices.add(rowIndex);\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tget first(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result: number = NaN;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tif (result !== result) {\n\t\t\t\t\tresult = index;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): number | null {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tlet result: number = 0;\n\t\t\tindices.forEach((index: number): void => {\n\t\t\t\tresult = index;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\taddTo(rowIndex: number): void {\n\t\tconst lastRowIndex = this.last;\n\t\tif (lastRowIndex != null) {\n\t\t\tthis.addRange(lastRowIndex, false, rowIndex, true);\n\t\t}\n\t}\n\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tif (from < to) {\n\t\t\tconst ifrom = from + (includeFrom ? 0 : 1);\n\t\t\tconst ito = to + (includeTo ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t} else {\n\t\t\tconst ifrom = to + (includeTo ? 0 : 1);\n\t\t\tconst ito = from + (includeFrom ? 1 : 0);\n\t\t\tfor (let i = ifrom; i < ito; ++i) {\n\t\t\t\tindices.add(i);\n\t\t\t}\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\taddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tconst oldSize = indices.size;\n\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\tindices.add(rowIndices[i]);\n\t\t}\n\t\tconst newSize = indices.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tcontains(rowIndex: number): boolean {\n\t\treturn this._indices.has(rowIndex);\n\t}\n\n\tremove(rowIndex: number): void {\n\t\tif (this._indices.delete(rowIndex)) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size) {\n\t\t\tindices.clear();\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAdd(rowIndex: number): void {\n\t\tconst indices = this._indices;\n\t\tif (!indices.has(rowIndex) || indices.size !== 1) {\n\t\t\tindices.clear();\n\t\t\tindices.add(rowIndex);\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAddAll(rowIndices: number[]): void {\n\t\tconst indices = this._indices;\n\t\tif (0 < indices.size || 0 < rowIndices.length) {\n\t\t\tindices.clear();\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tindices.add(rowIndices[i]);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tshift(rowIndex: number, amount: number): void {\n\t\tconst shifted: number[] = [];\n\t\tconst indices = this._indices;\n\t\tindices.forEach((index: number): void => {\n\t\t\tif (rowIndex <= index) {\n\t\t\t\tshifted.push(index);\n\t\t\t}\n\t\t});\n\t\tconst shiftedLength = shifted.length;\n\t\tif (0 < shiftedLength) {\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.delete(shifted[i]);\n\t\t\t}\n\t\t\tfor (let i = 0, imax = shifted.length; i < imax; ++i) {\n\t\t\t\tindices.add(shifted[i] + amount);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tsize(): number {\n\t\treturn this._indices.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._indices.size === 0;\n\t}\n\n\t/**\n\t * Returns a copy of an index array of selected rows.\n\t * The order of indices is an insertion order.\n\t */\n\tget indices(): number[] {\n\t\tconst result: number[] = [];\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(index);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns a copy of an array of selected row value.\n\t * The order is an insertion order.\n\t */\n\tget rows(): ROW[] {\n\t\tconst result: ROW[] = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push(parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an array of the (index, row value) pairs of selected rows.\n\t * The order of pairs is an insertion order.\n\t */\n\ttoArray(): Array<[number, ROW]> {\n\t\tconst result: Array<[number, ROW]> = [];\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.push([index, parent.get(index)!]);\n\t\t});\n\t\treturn result;\n\t}\n\n\t/**\n\t * Returns an sorted array of the (index, row value) pairs of selected rows.\n\t */\n\ttoSortedArray(): Array<[number, ROW]> {\n\t\treturn this.toArray().sort(COMPARATOR);\n\t}\n\n\ttoObject(): Record<number, ROW> {\n\t\tconst result: Record<number, ROW> = {};\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult[index] = parent.get(index)!;\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoMap(): Map<number, ROW> {\n\t\tconst result: Map<number, ROW> = new Map<number, ROW>();\n\t\tconst parent = this._parent;\n\t\tthis._indices.forEach((index: number): void => {\n\t\t\tresult.set(index, parent.get(index)!);\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
@@ -12,8 +12,9 @@ var COMPARATOR = function (a, b) {
12
12
  var DTableDataTreeSelectionImpl = /** @class */ (function (_super) {
13
13
  __extends(DTableDataTreeSelectionImpl, _super);
14
14
  function DTableDataTreeSelectionImpl(parent, options) {
15
+ var _this = this;
15
16
  var _a;
16
- var _this = _super.call(this) || this;
17
+ _this = _super.call(this) || this;
17
18
  _this._parent = parent;
18
19
  _this._type = toEnum((_a = options === null || options === void 0 ? void 0 : options.type) !== null && _a !== void 0 ? _a : DTableDataSelectionType.NONE, DTableDataSelectionType);
19
20
  _this._rows = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"d-table-data-tree-selection-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree-selection-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableDataSelectionOptions, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionParent\n} from \"./d-table-data-tree-selection\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst COMPARATOR = (a: [number, unknown], b: [number, unknown]): number => {\n\treturn a[0] - b[0];\n};\n\nexport class DTableDataTreeSelectionImpl<NODE>\n\textends utils.EventEmitter\n\timplements DTableDataTreeSelection<NODE>\n{\n\tprotected _parent: DTableDataTreeSelectionParent<NODE>;\n\tprotected _type: DTableDataSelectionType;\n\tprotected _rows: Set<NODE>;\n\n\tconstructor(parent: DTableDataTreeSelectionParent<NODE>, options?: DTableDataSelectionOptions) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._type = toEnum(options?.type ?? DTableDataSelectionType.NONE, DTableDataSelectionType);\n\t\tthis._rows = new Set<NODE>();\n\t}\n\n\tonNodeChange(nodes?: NODE[]): void {\n\t\tif (nodes != null) {\n\t\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\t\tconst oldRows = this._rows;\n\t\t\tconst newRows = this.newRows(nodes, toChildren, oldRows, new Set<NODE>());\n\t\t\tif (oldRows.size !== newRows.size) {\n\t\t\t\tthis._rows = newRows;\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t} else {\n\t\t\tconst rows = this._rows;\n\t\t\tif (0 < rows.size) {\n\t\t\t\trows.clear();\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\ttoChildren: (node: NODE) => NODE[] | null | undefined,\n\t\trows: Set<NODE>,\n\t\tresult: Set<NODE>\n\t): Set<NODE> {\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (rows.has(node)) {\n\t\t\t\tresult.add(node);\n\t\t\t}\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children != null) {\n\t\t\t\tthis.newRows(children, toChildren, rows, result);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tget indices(): number[] {\n\t\tconst rows = this._rows;\n\t\tconst result: number[] = [];\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.push(index);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tget rows(): NODE[] {\n\t\tconst result: NODE[] = [];\n\t\tthis._rows.forEach((row: NODE): void => {\n\t\t\tresult.push(row);\n\t\t});\n\t\treturn result;\n\t}\n\n\tget type(): DTableDataSelectionType {\n\t\treturn this._type;\n\t}\n\n\tprotected getFirst(): NODE | null {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\trows.forEach((row: NODE): void => {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = row;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getLast(): NODE | null {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\trows.forEach((row: NODE): void => {\n\t\t\t\tresult = row;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toIndex(target: NODE): number | null {\n\t\tlet result: number | null = null;\n\t\tthis._parent.each((row: NODE, index: number): boolean => {\n\t\t\tif (target === row) {\n\t\t\t\tresult = index;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\treturn result;\n\t}\n\n\tget first(): number | null {\n\t\tconst row = this.getFirst();\n\t\tif (row) {\n\t\t\treturn this.toIndex(row);\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): number | null {\n\t\tconst row = this.getLast();\n\t\tif (row) {\n\t\t\treturn this.toIndex(row);\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\ttoggle(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\trows.delete(row);\n\t\t\t} else {\n\t\t\t\trows.add(row);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tadd(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (!rows.has(row)) {\n\t\t\t\trows.add(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\taddTo(rowIndex: number): void {\n\t\tconst lastRowIndex = this.last;\n\t\tif (lastRowIndex != null) {\n\t\t\tthis.addRange(lastRowIndex, false, rowIndex, true);\n\t\t}\n\t}\n\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void {\n\t\tconst rows = this._rows;\n\t\tconst oldSize = rows.size;\n\t\tconst parent = this._parent;\n\t\tif (from < to) {\n\t\t\tparent.each(\n\t\t\t\t(row: NODE): void => {\n\t\t\t\t\trows.add(row);\n\t\t\t\t},\n\t\t\t\tfrom + (includeFrom ? 0 : 1),\n\t\t\t\tto + (includeTo ? 1 : 0)\n\t\t\t);\n\t\t} else {\n\t\t\tparent.each(\n\t\t\t\t(row: NODE): void => {\n\t\t\t\t\trows.add(row);\n\t\t\t\t},\n\t\t\t\tto + (includeTo ? 0 : 1),\n\t\t\t\tfrom + (includeFrom ? 1 : 0)\n\t\t\t);\n\t\t}\n\t\tconst newSize = rows.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\taddAll(rowIndices: number[]): void {\n\t\tif (0 < rowIndices.length) {\n\t\t\tconst rows = this._rows;\n\t\t\tconst parent = this._parent;\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tconst row = parent.get(rowIndices[i]);\n\t\t\t\tif (row) {\n\t\t\t\t\trows.add(row);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tcontains(rowIndex: number): boolean {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\treturn this._rows.has(row);\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\trows.delete(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\trows.clear();\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAdd(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\tif (1 < rows.size) {\n\t\t\t\t\trows.clear();\n\t\t\t\t\trows.add(row);\n\t\t\t\t\tthis.onChange();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\trows.clear();\n\t\t\t\trows.add(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tclearAndAddAll(rowIndices: number[]): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size || 0 < rowIndices.length) {\n\t\t\trows.clear();\n\t\t\tconst parent = this._parent;\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tconst row = parent.get(rowIndices[i]);\n\t\t\t\tif (row) {\n\t\t\t\t\trows.add(row);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tshift(rowIndex: number, amount: number): void {\n\t\t// DO NOTHING\n\t}\n\n\tsize(): number {\n\t\treturn this._rows.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._rows.size <= 0;\n\t}\n\n\ttoArray(): Array<[number, NODE]> {\n\t\tconst rows = this._rows;\n\t\tconst result: Array<[number, NODE]> = [];\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.push([index, row]);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoSortedArray(): Array<[number, NODE]> {\n\t\treturn this.toArray().sort(COMPARATOR);\n\t}\n\n\ttoObject(): Record<number, NODE> {\n\t\tconst rows = this._rows;\n\t\tconst result: Record<number, NODE> = {};\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult[index] = row;\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoMap(): Map<number, NODE> {\n\t\tconst rows = this._rows;\n\t\tconst result = new Map<number, NODE>();\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.set(index, row);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-table-data-tree-selection-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-table-data-tree-selection-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTableDataSelectionOptions, DTableDataSelectionType } from \"./d-table-data-selection\";\nimport {\n\tDTableDataTreeSelection,\n\tDTableDataTreeSelectionParent\n} from \"./d-table-data-tree-selection\";\nimport { toEnum } from \"./util/to-enum\";\n\nconst COMPARATOR = (a: [number, unknown], b: [number, unknown]): number => {\n\treturn a[0] - b[0];\n};\n\nexport class DTableDataTreeSelectionImpl<NODE>\n\textends utils.EventEmitter\n\timplements DTableDataTreeSelection<NODE>\n{\n\tprotected _parent: DTableDataTreeSelectionParent<NODE>;\n\tprotected _type: DTableDataSelectionType;\n\tprotected _rows: Set<NODE>;\n\n\tconstructor(parent: DTableDataTreeSelectionParent<NODE>, options?: DTableDataSelectionOptions) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._type = toEnum(options?.type ?? DTableDataSelectionType.NONE, DTableDataSelectionType);\n\t\tthis._rows = new Set<NODE>();\n\t}\n\n\tonNodeChange(nodes?: NODE[]): void {\n\t\tif (nodes != null) {\n\t\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\t\tconst oldRows = this._rows;\n\t\t\tconst newRows = this.newRows(nodes, toChildren, oldRows, new Set<NODE>());\n\t\t\tif (oldRows.size !== newRows.size) {\n\t\t\t\tthis._rows = newRows;\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t} else {\n\t\t\tconst rows = this._rows;\n\t\t\tif (0 < rows.size) {\n\t\t\t\trows.clear();\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newRows(\n\t\tnodes: NODE[],\n\t\ttoChildren: (node: NODE) => NODE[] | null | undefined,\n\t\trows: Set<NODE>,\n\t\tresult: Set<NODE>\n\t): Set<NODE> {\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (rows.has(node)) {\n\t\t\t\tresult.add(node);\n\t\t\t}\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children != null) {\n\t\t\t\tthis.newRows(children, toChildren, rows, result);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tget indices(): number[] {\n\t\tconst rows = this._rows;\n\t\tconst result: number[] = [];\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.push(index);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tget rows(): NODE[] {\n\t\tconst result: NODE[] = [];\n\t\tthis._rows.forEach((row: NODE): void => {\n\t\t\tresult.push(row);\n\t\t});\n\t\treturn result;\n\t}\n\n\tget type(): DTableDataSelectionType {\n\t\treturn this._type;\n\t}\n\n\tprotected getFirst(): NODE | null {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\trows.forEach((row: NODE): void => {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = row;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected getLast(): NODE | null {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\trows.forEach((row: NODE): void => {\n\t\t\t\tresult = row;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected toIndex(target: NODE): number | null {\n\t\tlet result: number | null = null;\n\t\tthis._parent.each((row: NODE, index: number): boolean => {\n\t\t\tif (target === row) {\n\t\t\t\tresult = index;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\treturn result;\n\t}\n\n\tget first(): number | null {\n\t\tconst row = this.getFirst();\n\t\tif (row) {\n\t\t\treturn this.toIndex(row);\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): number | null {\n\t\tconst row = this.getLast();\n\t\tif (row) {\n\t\t\treturn this.toIndex(row);\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\ttoggle(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\trows.delete(row);\n\t\t\t} else {\n\t\t\t\trows.add(row);\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tadd(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (!rows.has(row)) {\n\t\t\t\trows.add(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\taddTo(rowIndex: number): void {\n\t\tconst lastRowIndex = this.last;\n\t\tif (lastRowIndex != null) {\n\t\t\tthis.addRange(lastRowIndex, false, rowIndex, true);\n\t\t}\n\t}\n\n\taddRange(from: number, includeFrom: boolean, to: number, includeTo: boolean): void {\n\t\tconst rows = this._rows;\n\t\tconst oldSize = rows.size;\n\t\tconst parent = this._parent;\n\t\tif (from < to) {\n\t\t\tparent.each(\n\t\t\t\t(row: NODE): void => {\n\t\t\t\t\trows.add(row);\n\t\t\t\t},\n\t\t\t\tfrom + (includeFrom ? 0 : 1),\n\t\t\t\tto + (includeTo ? 1 : 0)\n\t\t\t);\n\t\t} else {\n\t\t\tparent.each(\n\t\t\t\t(row: NODE): void => {\n\t\t\t\t\trows.add(row);\n\t\t\t\t},\n\t\t\t\tto + (includeTo ? 0 : 1),\n\t\t\t\tfrom + (includeFrom ? 1 : 0)\n\t\t\t);\n\t\t}\n\t\tconst newSize = rows.size;\n\t\tif (oldSize !== newSize) {\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\taddAll(rowIndices: number[]): void {\n\t\tif (0 < rowIndices.length) {\n\t\t\tconst rows = this._rows;\n\t\t\tconst parent = this._parent;\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tconst row = parent.get(rowIndices[i]);\n\t\t\t\tif (row) {\n\t\t\t\t\trows.add(row);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tcontains(rowIndex: number): boolean {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\treturn this._rows.has(row);\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\trows.delete(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tclear(): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size) {\n\t\t\trows.clear();\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tclearAndAdd(rowIndex: number): void {\n\t\tconst row = this._parent.get(rowIndex);\n\t\tif (row) {\n\t\t\tconst rows = this._rows;\n\t\t\tif (rows.has(row)) {\n\t\t\t\tif (1 < rows.size) {\n\t\t\t\t\trows.clear();\n\t\t\t\t\trows.add(row);\n\t\t\t\t\tthis.onChange();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\trows.clear();\n\t\t\t\trows.add(row);\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tclearAndAddAll(rowIndices: number[]): void {\n\t\tconst rows = this._rows;\n\t\tif (0 < rows.size || 0 < rowIndices.length) {\n\t\t\trows.clear();\n\t\t\tconst parent = this._parent;\n\t\t\tfor (let i = 0, imax = rowIndices.length; i < imax; ++i) {\n\t\t\t\tconst row = parent.get(rowIndices[i]);\n\t\t\t\tif (row) {\n\t\t\t\t\trows.add(row);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tshift(rowIndex: number, amount: number): void {\n\t\t// DO NOTHING\n\t}\n\n\tsize(): number {\n\t\treturn this._rows.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._rows.size <= 0;\n\t}\n\n\ttoArray(): Array<[number, NODE]> {\n\t\tconst rows = this._rows;\n\t\tconst result: Array<[number, NODE]> = [];\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.push([index, row]);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoSortedArray(): Array<[number, NODE]> {\n\t\treturn this.toArray().sort(COMPARATOR);\n\t}\n\n\ttoObject(): Record<number, NODE> {\n\t\tconst rows = this._rows;\n\t\tconst result: Record<number, NODE> = {};\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult[index] = row;\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\ttoMap(): Map<number, NODE> {\n\t\tconst rows = this._rows;\n\t\tconst result = new Map<number, NODE>();\n\t\tthis._parent.each((row: NODE, index: number): void => {\n\t\t\tif (rows.has(row)) {\n\t\t\t\tresult.set(index, row);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
@@ -8,8 +8,9 @@ import { DTableRow } from "./d-table-row";
8
8
  var DTableHeader = /** @class */ (function (_super) {
9
9
  __extends(DTableHeader, _super);
10
10
  function DTableHeader(options) {
11
+ var _this = this;
11
12
  var _a, _b;
12
- var _this = _super.call(this, options) || this;
13
+ _this = _super.call(this, options) || this;
13
14
  _this._table = (_a = options.table) !== null && _a !== void 0 ? _a : null;
14
15
  var offset = (_b = options.offset) !== null && _b !== void 0 ? _b : 0;
15
16
  _this._offset = offset;