@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
@@ -12,34 +12,21 @@ var DButtonColor = /** @class */ (function (_super) {
12
12
  function DButtonColor() {
13
13
  return _super !== null && _super.apply(this, arguments) || this;
14
14
  }
15
- DButtonColor.prototype.init = function (options) {
16
- var _this = this;
17
- _super.prototype.init.call(this, options);
18
- var value = this._textValueComputed;
19
- this._value = new DPickerColorAndAlpha(value, function (color) {
20
- value.color = color;
21
- _this.onColorChange();
22
- }, function (alpha) {
23
- value.alpha = alpha;
24
- _this.updateTextForcibly();
25
- });
26
- };
27
15
  DButtonColor.prototype.onActivate = function (e) {
28
16
  var _this = this;
29
17
  _super.prototype.onActivate.call(this, e);
30
- var value = this._textValueComputed;
31
18
  var dialog = this.dialog;
32
- var dialogCurrent = dialog.current;
33
- var dialogNew = dialog.new;
34
- dialogCurrent.color = value.color;
35
- dialogCurrent.alpha = value.alpha;
36
- dialogNew.color = value.color;
37
- dialogNew.alpha = value.alpha;
38
- dialog.open().then(function () {
39
- value.color = dialogNew.color;
40
- value.alpha = dialogNew.alpha;
41
- _this.onColorChange();
42
- _this.onValueChange(_this.toClone(dialogNew), _this.toClone(dialogCurrent));
19
+ var value = this._textValueComputed;
20
+ if (value != null) {
21
+ var dialogCurrent = dialog.current;
22
+ dialogCurrent.color = value.color;
23
+ dialogCurrent.alpha = value.alpha;
24
+ var dialogNew = dialog.new;
25
+ dialogNew.color = value.color;
26
+ dialogNew.alpha = value.alpha;
27
+ }
28
+ dialog.open(this).then(function () {
29
+ _this.onValueChange(_this.toClone(dialog.new), _this.toClone(dialog.current));
43
30
  });
44
31
  };
45
32
  DButtonColor.prototype.toClone = function (value) {
@@ -49,6 +36,12 @@ var DButtonColor = /** @class */ (function (_super) {
49
36
  };
50
37
  };
51
38
  DButtonColor.prototype.onValueChange = function (newValue, oldValue) {
39
+ var value = this._textValueComputed;
40
+ if (value != null) {
41
+ value.color = newValue.color;
42
+ value.alpha = newValue.alpha;
43
+ }
44
+ this.onColorChange();
52
45
  this.emit("change", newValue, oldValue, this);
53
46
  };
54
47
  DButtonColor.prototype.toImageTintOptions = function (tint) {
@@ -94,11 +87,14 @@ var DButtonColor = /** @class */ (function (_super) {
94
87
  if (dialog == null) {
95
88
  var options = (_a = this._options) === null || _a === void 0 ? void 0 : _a.dialog;
96
89
  if (options) {
97
- dialog = new DDialogColor(options);
90
+ dialog = this.newDialog(options);
98
91
  }
99
92
  else {
100
93
  if (DButtonColor.DIALOG == null) {
101
- DButtonColor.DIALOG = new DDialogColor();
94
+ DButtonColor.DIALOG = this.newDialog({
95
+ mode: "MENU",
96
+ sticky: true
97
+ });
102
98
  }
103
99
  dialog = DButtonColor.DIALOG;
104
100
  }
@@ -109,13 +105,32 @@ var DButtonColor = /** @class */ (function (_super) {
109
105
  enumerable: false,
110
106
  configurable: true
111
107
  });
108
+ DButtonColor.prototype.newDialog = function (options) {
109
+ return new DDialogColor(options);
110
+ };
112
111
  Object.defineProperty(DButtonColor.prototype, "value", {
113
112
  get: function () {
114
- return this._value;
113
+ var result = this._value;
114
+ if (result == null) {
115
+ result = this.newValue();
116
+ this._value = result;
117
+ }
118
+ return result;
115
119
  },
116
120
  enumerable: false,
117
121
  configurable: true
118
122
  });
123
+ DButtonColor.prototype.newValue = function () {
124
+ var _this = this;
125
+ var value = this._textValueComputed;
126
+ return new DPickerColorAndAlpha(value, function (color) {
127
+ value.color = color;
128
+ _this.onColorChange();
129
+ }, function (alpha) {
130
+ value.alpha = alpha;
131
+ _this.updateTextForcibly();
132
+ });
133
+ };
119
134
  DButtonColor.prototype.getType = function () {
120
135
  return "DButtonColor";
121
136
  };
@@ -1 +1 @@
1
- {"version":3,"file":"d-button-color.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-color.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAA+C,MAAM,YAAY,CAAC;AAElF,OAAO,EAAE,YAAY,EAAuB,MAAM,kBAAkB,CAAC;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AA2ClE;IAGU,gCAAuC;IAHjD;;IA0HA,CAAC;IAlHU,2BAAI,GAAd,UAAe,OAAiB;QAAhC,iBAeC;QAdA,iBAAM,IAAI,YAAC,OAAO,CAAC,CAAC;QAEpB,IAAM,KAAK,GAAG,IAAI,CAAC,kBAAmB,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CACrC,KAAK,EACL,UAAC,KAAa;YACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,KAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC,EACD,UAAC,KAAa;YACb,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,KAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3B,CAAC,CACD,CAAC;IACH,CAAC;IAES,iCAAU,GAApB,UACC,CAA0E;QAD3E,iBAkBC;QAfA,iBAAM,UAAU,YAAC,CAAC,CAAC,CAAC;QACpB,IAAM,KAAK,GAAG,IAAI,CAAC,kBAAmB,CAAC;QACvC,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QACrC,IAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;QAC7B,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAClC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAClC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC9B,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;YAClB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC9B,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC9B,KAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACJ,CAAC;IAES,8BAAO,GAAjB,UAAkB,KAAqB;QACtC,OAAO;YACN,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;SAClB,CAAC;IACH,CAAC;IAES,oCAAa,GAAvB,UAAwB,QAAwB,EAAE,QAAwB;QACzE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAES,yCAAkB,GAA5B,UAA6B,IAA6B;QAA1D,iBAWC;QAVA,IAAM,KAAK,GAAG,cAAM,OAAA,KAAI,CAAC,kBAAmB,CAAC,KAAK,EAA9B,CAA8B,CAAC;QACnD,IAAI,IAAI,EAAE;YACT,OAAO;gBACN,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;gBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;aACjB,CAAC;SACF;QACD,OAAO;YACN,KAAK,OAAA;SACL,CAAC;IACH,CAAC;IAES,qCAAc,GAAxB,UACC,KAAY,EACZ,OAA4B;QAE5B,IAAI,OAAO,EAAE;YACZ,OAAO;gBACN,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3C,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC;SACF;QACD,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE;SAC/B,CAAC;IACH,CAAC;IAES,oCAAa,GAAvB;QACC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE;YACjC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAES,yCAAkB,GAA5B;QACC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAED,sBAAI,gCAAM;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,YAAY,CAAC,OAAO,CAAC,CAAC;iBACnC;qBAAM;oBACN,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,EAAE;wBAChC,YAAY,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;qBACzC;oBACD,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;iBAC7B;gBACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED,sBAAI,+BAAK;aAAT;YACC,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;;;OAAA;IAES,8BAAO,GAAjB;QACC,OAAO,cAAc,CAAC;IACvB,CAAC;IACF,mBAAC;AAAD,CAAC,AA1HD,CAGU,OAAO,GAuHhB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DColorAndAlpha } from \"./d-color-and-alpha\";\nimport { DDialogColor, DDialogColorOptions } from \"./d-dialog-color\";\nimport { DImagePieceOptions, DImagePieceTintOptions } from \"./d-image-piece\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerColorAndAlpha } from \"./d-picker-color-and-alpha\";\n\n/**\n * {@link DButtonColor} events.\n */\nexport interface DButtonColorEvents<EMITTER> extends DButtonEvents<DColorAndAlpha, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: DColorAndAlpha, oldValue: DColorAndAlpha, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonColor} \"on\" options.\n */\nexport interface DButtonColorOnOptions<EMITTER>\n\textends Partial<DButtonColorEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonColor} options.\n */\nexport interface DButtonColorOptions<\n\tTHEME extends DThemeButtonColor = DThemeButtonColor,\n\tEMITTER = any\n> extends DButtonOptions<DColorAndAlpha, THEME, EMITTER> {\n\t/**\n\t * A dialog to pick a color.\n\t */\n\tdialog?: DDialogColorOptions;\n\n\ton?: DButtonColorOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonColor} theme.\n */\nexport interface DThemeButtonColor extends DThemeButton<DColorAndAlpha> {}\n\nexport class DButtonColor<\n\tTHEME extends DThemeButtonColor = DThemeButtonColor,\n\tOPTIONS extends DButtonColorOptions<THEME> = DButtonColorOptions<THEME>\n> extends DButton<DColorAndAlpha, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogColor;\n\tprotected _dialog?: DDialogColor;\n\tprotected _value!: DPickerColorAndAlpha;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tconst value = this._textValueComputed!;\n\t\tthis._value = new DPickerColorAndAlpha(\n\t\t\tvalue,\n\t\t\t(color: number): void => {\n\t\t\t\tvalue.color = color;\n\t\t\t\tthis.onColorChange();\n\t\t\t},\n\t\t\t(alpha: number): void => {\n\t\t\t\tvalue.alpha = alpha;\n\t\t\t\tthis.updateTextForcibly();\n\t\t\t}\n\t\t);\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!;\n\t\tconst dialog = this.dialog;\n\t\tconst dialogCurrent = dialog.current;\n\t\tconst dialogNew = dialog.new;\n\t\tdialogCurrent.color = value.color;\n\t\tdialogCurrent.alpha = value.alpha;\n\t\tdialogNew.color = value.color;\n\t\tdialogNew.alpha = value.alpha;\n\t\tdialog.open().then((): void => {\n\t\t\tvalue.color = dialogNew.color;\n\t\t\tvalue.alpha = dialogNew.alpha;\n\t\t\tthis.onColorChange();\n\t\t\tthis.onValueChange(this.toClone(dialogNew), this.toClone(dialogCurrent));\n\t\t});\n\t}\n\n\tprotected toClone(value: DColorAndAlpha): DColorAndAlpha {\n\t\treturn {\n\t\t\tcolor: value.color,\n\t\t\talpha: value.alpha\n\t\t};\n\t}\n\n\tprotected onValueChange(newValue: DColorAndAlpha, oldValue: DColorAndAlpha): void {\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tprotected toImageTintOptions(tint?: DImagePieceTintOptions): DImagePieceTintOptions {\n\t\tconst color = () => this._textValueComputed!.color;\n\t\tif (tint) {\n\t\t\treturn {\n\t\t\t\tcolor: tint.color || color,\n\t\t\t\talpha: tint.alpha\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tcolor\n\t\t};\n\t}\n\n\tprotected toImageOptions(\n\t\ttheme: THEME,\n\t\toptions?: DImagePieceOptions\n\t): DImagePieceOptions | undefined {\n\t\tif (options) {\n\t\t\treturn {\n\t\t\t\tsource: options.source,\n\t\t\t\ttint: this.toImageTintOptions(options.tint),\n\t\t\t\talign: options.align,\n\t\t\t\tmargin: options.margin\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttint: this.toImageTintOptions()\n\t\t};\n\t}\n\n\tprotected onColorChange(): void {\n\t\tif (this._images[0].updateTint()) {\n\t\t\tDApplications.update(this);\n\t\t}\n\t\tthis.updateTextForcibly();\n\t}\n\n\tprotected updateTextForcibly(): void {\n\t\tthis.onTextChange();\n\t\tthis.createOrUpdateText();\n\t}\n\n\tget dialog(): DDialogColor {\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 DDialogColor(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonColor.DIALOG == null) {\n\t\t\t\t\tDButtonColor.DIALOG = new DDialogColor();\n\t\t\t\t}\n\t\t\t\tdialog = DButtonColor.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tget value(): DColorAndAlpha {\n\t\treturn this._value;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonColor\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-button-color.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-color.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DColorAndAlpha } from \"./d-color-and-alpha\";\nimport { DDialogColor, DDialogColorOptions } from \"./d-dialog-color\";\nimport { DImagePieceOptions, DImagePieceTintOptions } from \"./d-image-piece\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerColorAndAlpha } from \"./d-picker-color-and-alpha\";\n\n/**\n * {@link DButtonColor} events.\n */\nexport interface DButtonColorEvents<EMITTER> extends DButtonEvents<DColorAndAlpha, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: DColorAndAlpha, oldValue: DColorAndAlpha, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonColor} \"on\" options.\n */\nexport interface DButtonColorOnOptions<EMITTER>\n\textends Partial<DButtonColorEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonColor} options.\n */\nexport interface DButtonColorOptions<\n\tTHEME extends DThemeButtonColor = DThemeButtonColor,\n\tEMITTER = any\n> extends DButtonOptions<DColorAndAlpha, THEME, EMITTER> {\n\t/**\n\t * A dialog to pick a color.\n\t */\n\tdialog?: DDialogColorOptions;\n\n\ton?: DButtonColorOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonColor} theme.\n */\nexport interface DThemeButtonColor extends DThemeButton<DColorAndAlpha> {}\n\nexport class DButtonColor<\n\tTHEME extends DThemeButtonColor = DThemeButtonColor,\n\tOPTIONS extends DButtonColorOptions<THEME> = DButtonColorOptions<THEME>\n> extends DButton<DColorAndAlpha, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogColor;\n\tprotected _dialog?: DDialogColor;\n\tprotected _value?: DPickerColorAndAlpha;\n\n\tprotected onActivate(\n\t\te?: interaction.InteractionEvent | KeyboardEvent | MouseEvent | TouchEvent\n\t): void {\n\t\tsuper.onActivate(e);\n\t\tconst dialog = this.dialog;\n\t\tconst value = this._textValueComputed;\n\t\tif (value != null) {\n\t\t\tconst dialogCurrent = dialog.current;\n\t\t\tdialogCurrent.color = value.color;\n\t\t\tdialogCurrent.alpha = value.alpha;\n\t\t\tconst dialogNew = dialog.new;\n\t\t\tdialogNew.color = value.color;\n\t\t\tdialogNew.alpha = value.alpha;\n\t\t}\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(this.toClone(dialog.new), this.toClone(dialog.current));\n\t\t});\n\t}\n\n\tprotected toClone(value: DColorAndAlpha): DColorAndAlpha {\n\t\treturn {\n\t\t\tcolor: value.color,\n\t\t\talpha: value.alpha\n\t\t};\n\t}\n\n\tprotected onValueChange(newValue: DColorAndAlpha, oldValue: DColorAndAlpha): void {\n\t\tconst value = this._textValueComputed;\n\t\tif (value != null) {\n\t\t\tvalue.color = newValue.color;\n\t\t\tvalue.alpha = newValue.alpha;\n\t\t}\n\t\tthis.onColorChange();\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tprotected toImageTintOptions(tint?: DImagePieceTintOptions): DImagePieceTintOptions {\n\t\tconst color = () => this._textValueComputed!.color;\n\t\tif (tint) {\n\t\t\treturn {\n\t\t\t\tcolor: tint.color || color,\n\t\t\t\talpha: tint.alpha\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tcolor\n\t\t};\n\t}\n\n\tprotected toImageOptions(\n\t\ttheme: THEME,\n\t\toptions?: DImagePieceOptions\n\t): DImagePieceOptions | undefined {\n\t\tif (options) {\n\t\t\treturn {\n\t\t\t\tsource: options.source,\n\t\t\t\ttint: this.toImageTintOptions(options.tint),\n\t\t\t\talign: options.align,\n\t\t\t\tmargin: options.margin\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttint: this.toImageTintOptions()\n\t\t};\n\t}\n\n\tprotected onColorChange(): void {\n\t\tif (this._images[0].updateTint()) {\n\t\t\tDApplications.update(this);\n\t\t}\n\t\tthis.updateTextForcibly();\n\t}\n\n\tprotected updateTextForcibly(): void {\n\t\tthis.onTextChange();\n\t\tthis.createOrUpdateText();\n\t}\n\n\tget dialog(): DDialogColor {\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 = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonColor.DIALOG == null) {\n\t\t\t\t\tDButtonColor.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonColor.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogColorOptions): DDialogColor {\n\t\treturn new DDialogColor(options);\n\t}\n\n\tget value(): DColorAndAlpha {\n\t\tlet result = this._value;\n\t\tif (result == null) {\n\t\t\tresult = this.newValue();\n\t\t\tthis._value = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tprotected newValue(): DPickerColorAndAlpha {\n\t\tconst value = this._textValueComputed!;\n\t\treturn new DPickerColorAndAlpha(\n\t\t\tvalue,\n\t\t\t(color: number): void => {\n\t\t\t\tvalue.color = color;\n\t\t\t\tthis.onColorChange();\n\t\t\t},\n\t\t\t(alpha: number): void => {\n\t\t\t\tvalue.alpha = alpha;\n\t\t\t\tthis.updateTextForcibly();\n\t\t\t}\n\t\t);\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonColor\";\n\t}\n}\n"]}
@@ -5,7 +5,6 @@
5
5
  import { __extends } from "tslib";
6
6
  import { DButton } from "./d-button";
7
7
  import { DDialogDate } from "./d-dialog-date";
8
- import { DDialogDates } from "./d-dialog-dates";
9
8
  var DButtonDate = /** @class */ (function (_super) {
10
9
  __extends(DButtonDate, _super);
11
10
  function DButtonDate() {
@@ -20,13 +19,14 @@ var DButtonDate = /** @class */ (function (_super) {
20
19
  dialog.current = new Date(value);
21
20
  dialog.new = new Date(value);
22
21
  dialog.page = new Date(value);
23
- dialog.open().then(function () {
24
- var newValue = dialog.new;
25
- var oldValue = dialog.current;
26
- _this.text = new Date(newValue.getTime());
27
- _this.emit("change", newValue, oldValue, _this);
22
+ dialog.open(this).then(function () {
23
+ _this.onValueChange(dialog.new, dialog.current);
28
24
  });
29
25
  };
26
+ DButtonDate.prototype.onValueChange = function (newValue, oldValue) {
27
+ this.text = new Date(newValue.getTime());
28
+ this.emit("change", newValue, oldValue, this);
29
+ };
30
30
  Object.defineProperty(DButtonDate.prototype, "dialog", {
31
31
  get: function () {
32
32
  var _a;
@@ -34,10 +34,16 @@ var DButtonDate = /** @class */ (function (_super) {
34
34
  if (dialog == null) {
35
35
  var options = (_a = this._options) === null || _a === void 0 ? void 0 : _a.dialog;
36
36
  if (options) {
37
- dialog = new DDialogDate(options);
37
+ dialog = this.newDialog(options);
38
38
  }
39
39
  else {
40
- dialog = DDialogDates.getInstance();
40
+ if (DButtonDate.DIALOG == null) {
41
+ DButtonDate.DIALOG = this.newDialog({
42
+ mode: "MENU",
43
+ sticky: true
44
+ });
45
+ }
46
+ dialog = DButtonDate.DIALOG;
41
47
  }
42
48
  this._dialog = dialog;
43
49
  }
@@ -46,6 +52,9 @@ var DButtonDate = /** @class */ (function (_super) {
46
52
  enumerable: false,
47
53
  configurable: true
48
54
  });
55
+ DButtonDate.prototype.newDialog = function (options) {
56
+ return new DDialogDate(options);
57
+ };
49
58
  Object.defineProperty(DButtonDate.prototype, "value", {
50
59
  get: function () {
51
60
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"d-button-date.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-date.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,OAAO,EAA+C,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAwChD;IAGU,+BAA6B;IAHvC;;IAmDA,CAAC;IA7CU,gCAAU,GAApB,UACC,CAA0E;QAD3E,iBAeC;;QAZA,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,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,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,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,sBAAI,+BAAM;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,8BAAK;aAAT;;YACC,OAAO,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,IAAI,EAAE,CAAC;QAC9C,CAAC;aAED,UAAU,KAAW;YACpB,IAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAClD,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;gBACvF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aAClB;QACF,CAAC;;;OAPA;IASS,6BAAO,GAAjB;QACC,OAAO,aAAa,CAAC;IACtB,CAAC;IACF,kBAAC;AAAD,CAAC,AAnDD,CAGU,OAAO,GAgDhB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogDate, DDialogDateOptions } from \"./d-dialog-date\";\nimport { DDialogDates } from \"./d-dialog-dates\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DButtonDate} events.\n */\nexport interface DButtonDateEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonDate} \"on\" options.\n */\nexport interface DButtonDateOnOptions<EMITTER>\n\textends Partial<DButtonDateEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonDate} options.\n */\nexport interface DButtonDateOptions<\n\tTHEME extends DThemeButtonDate = DThemeButtonDate,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogDateOptions;\n\ton?: DButtonDateOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonDate} theme.\n */\nexport interface DThemeButtonDate extends DThemeButton<Date> {}\n\nexport class DButtonDate<\n\tTHEME extends DThemeButtonDate = DThemeButtonDate,\n\tOPTIONS extends DButtonDateOptions<THEME> = DButtonDateOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected _dialog?: DDialogDate;\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.page = 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\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t});\n\t}\n\n\tget dialog(): DDialogDate {\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 DDialogDate(options);\n\t\t\t} else {\n\t\t\t\tdialog = DDialogDates.getInstance();\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tget value(): Date {\n\t\treturn this._textValueComputed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonDate\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-button-date.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-date.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,OAAO,EAA+C,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAC;AAwClE;IAGU,+BAA6B;IAHvC;;IAgEA,CAAC;IAzDU,gCAAU,GAApB,UACC,CAA0E;QAD3E,iBAYC;;QATA,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,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACtB,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACJ,CAAC;IAES,mCAAa,GAAvB,UAAwB,QAAc,EAAE,QAAc;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,sBAAI,+BAAM;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,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;iBACjC;qBAAM;oBACN,IAAI,WAAW,CAAC,MAAM,IAAI,IAAI,EAAE;wBAC/B,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;4BACnC,IAAI,EAAE,MAAM;4BACZ,MAAM,EAAE,IAAI;yBACZ,CAAC,CAAC;qBACH;oBACD,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;iBAC5B;gBACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAES,+BAAS,GAAnB,UAAoB,OAA4B;QAC/C,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,sBAAI,8BAAK;aAAT;;YACC,OAAO,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,IAAI,EAAE,CAAC;QAC9C,CAAC;aAED,UAAU,KAAW;YACpB,IAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAClD,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;gBACvF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aAClB;QACF,CAAC;;;OAPA;IASS,6BAAO,GAAjB;QACC,OAAO,aAAa,CAAC;IACtB,CAAC;IACF,kBAAC;AAAD,CAAC,AAhED,CAGU,OAAO,GA6DhB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogDate, DDialogDateOptions } from \"./d-dialog-date\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * {@link DButtonDate} events.\n */\nexport interface DButtonDateEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonDate} \"on\" options.\n */\nexport interface DButtonDateOnOptions<EMITTER>\n\textends Partial<DButtonDateEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonDate} options.\n */\nexport interface DButtonDateOptions<\n\tTHEME extends DThemeButtonDate = DThemeButtonDate,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogDateOptions;\n\ton?: DButtonDateOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonDate} theme.\n */\nexport interface DThemeButtonDate extends DThemeButton<Date> {}\n\nexport class DButtonDate<\n\tTHEME extends DThemeButtonDate = DThemeButtonDate,\n\tOPTIONS extends DButtonDateOptions<THEME> = DButtonDateOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogDate;\n\tprotected _dialog?: DDialogDate;\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.page = new Date(value);\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(dialog.new, dialog.current);\n\t\t});\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tthis.text = new Date(newValue.getTime());\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tget dialog(): DDialogDate {\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 = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonDate.DIALOG == null) {\n\t\t\t\t\tDButtonDate.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonDate.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogDateOptions): DDialogDate {\n\t\treturn new DDialogDate(options);\n\t}\n\n\tget value(): Date {\n\t\treturn this._textValueComputed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonDate\";\n\t}\n}\n"]}
@@ -5,7 +5,6 @@
5
5
  import { __extends } from "tslib";
6
6
  import { DButton } from "./d-button";
7
7
  import { DDialogDatetime } from "./d-dialog-datetime";
8
- import { DDialogDatetimes } from "./d-dialog-datetimes";
9
8
  import { DPickerDatetimes } from "./d-picker-datetimes";
10
9
  var DButtonDatetime = /** @class */ (function (_super) {
11
10
  __extends(DButtonDatetime, _super);
@@ -21,13 +20,14 @@ var DButtonDatetime = /** @class */ (function (_super) {
21
20
  dialog.current = new Date(value);
22
21
  dialog.new = new Date(value);
23
22
  dialog.page = new Date(value);
24
- dialog.open().then(function () {
25
- var newValue = dialog.new;
26
- var oldValue = dialog.current;
27
- _this.text = new Date(newValue.getTime());
28
- _this.emit("change", newValue, oldValue, _this);
23
+ dialog.open(this).then(function () {
24
+ _this.onValueChange(dialog.new, dialog.current);
29
25
  });
30
26
  };
27
+ DButtonDatetime.prototype.onValueChange = function (newValue, oldValue) {
28
+ this.text = new Date(newValue.getTime());
29
+ this.emit("change", newValue, oldValue, this);
30
+ };
31
31
  DButtonDatetime.prototype.getDatetimeMask = function () {
32
32
  var _a, _b;
33
33
  var result = this._datetimeMask;
@@ -44,10 +44,16 @@ var DButtonDatetime = /** @class */ (function (_super) {
44
44
  if (dialog == null) {
45
45
  var options = (_a = this._options) === null || _a === void 0 ? void 0 : _a.dialog;
46
46
  if (options) {
47
- dialog = new DDialogDatetime(options);
47
+ dialog = this.newDialog(options);
48
48
  }
49
49
  else {
50
- dialog = DDialogDatetimes.getInstance();
50
+ if (DButtonDatetime.DIALOG == null) {
51
+ DButtonDatetime.DIALOG = this.newDialog({
52
+ mode: "MENU",
53
+ sticky: true
54
+ });
55
+ }
56
+ dialog = DButtonDatetime.DIALOG;
51
57
  }
52
58
  this._dialog = dialog;
53
59
  }
@@ -56,6 +62,9 @@ var DButtonDatetime = /** @class */ (function (_super) {
56
62
  enumerable: false,
57
63
  configurable: true
58
64
  });
65
+ DButtonDatetime.prototype.newDialog = function (options) {
66
+ return new DDialogDatetime(options);
67
+ };
59
68
  Object.defineProperty(DButtonDatetime.prototype, "value", {
60
69
  get: function () {
61
70
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"d-button-datetime.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-datetime.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,OAAO,EAA+C,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,eAAe,EAA0B,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAqCxD;IAGU,mCAA6B;IAHvC;;IA6DA,CAAC;IAtDU,oCAAU,GAApB,UACC,CAA0E;QAD3E,iBAeC;;QAZA,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,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,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,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,yCAAe,GAAf;;QACC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAChC,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,0CAAE,MAAM,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;SAC5B;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,sBAAI,mCAAM;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,eAAe,CAAC,OAAO,CAAC,CAAC;iBACtC;qBAAM;oBACN,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAC;iBACxC;gBACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;aACtB;YACD,OAAO,MAAM,CAAC;QACf,CAAC;;;OAAA;IAED,sBAAI,kCAAK;aAAT;;YACC,OAAO,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,IAAI,EAAE,CAAC;QAC9C,CAAC;aAED,UAAU,KAAW;YACpB,IAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAClD,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;gBACvF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aAClB;QACF,CAAC;;;OAPA;IASS,iCAAO,GAAjB;QACC,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IACF,sBAAC;AAAD,CAAC,AA7DD,CAGU,OAAO,GA0DhB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogDatetime, DDialogDatetimeOptions } from \"./d-dialog-datetime\";\nimport { DDialogDatetimes } from \"./d-dialog-datetimes\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerDatetimeMask } from \"./d-picker-datetime-mask\";\nimport { DPickerDatetimes } from \"./d-picker-datetimes\";\n\n/**\n * {@link DButtonDatetime} events.\n */\nexport interface DButtonDatetimeEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonDatetime} \"on\" options.\n */\nexport interface DButtonDatetimeOnOptions<EMITTER>\n\textends Partial<DButtonDatetimeEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonDatetime} options.\n */\nexport interface DButtonDatetimeOptions<\n\tTHEME extends DThemeButtonDatetime = DThemeButtonDatetime,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogDatetimeOptions;\n\ton?: DButtonDatetimeOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonDatetime} theme.\n */\nexport interface DThemeButtonDatetime extends DThemeButton<Date> {}\n\nexport class DButtonDatetime<\n\tTHEME extends DThemeButtonDatetime = DThemeButtonDatetime,\n\tOPTIONS extends DButtonDatetimeOptions<THEME> = DButtonDatetimeOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected _dialog?: DDialogDatetime;\n\tprotected _datetimeMask?: DPickerDatetimeMask;\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.page = 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\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t});\n\t}\n\n\tgetDatetimeMask(): DPickerDatetimeMask {\n\t\tlet result = this._datetimeMask;\n\t\tif (result == null) {\n\t\t\tresult = DPickerDatetimes.toMask(this._options?.dialog?.picker);\n\t\t\tthis._datetimeMask = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget dialog(): DDialogDatetime {\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 DDialogDatetime(options);\n\t\t\t} else {\n\t\t\t\tdialog = DDialogDatetimes.getInstance();\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tget value(): Date {\n\t\treturn this._textValueComputed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonDatetime\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-button-datetime.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-datetime.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogDatetime, DDialogDatetimeOptions } from \"./d-dialog-datetime\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerDatetimeMask } from \"./d-picker-datetime-mask\";\nimport { DPickerDatetimes } from \"./d-picker-datetimes\";\n\n/**\n * {@link DButtonDatetime} events.\n */\nexport interface DButtonDatetimeEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonDatetime} \"on\" options.\n */\nexport interface DButtonDatetimeOnOptions<EMITTER>\n\textends Partial<DButtonDatetimeEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonDatetime} options.\n */\nexport interface DButtonDatetimeOptions<\n\tTHEME extends DThemeButtonDatetime = DThemeButtonDatetime,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogDatetimeOptions;\n\ton?: DButtonDatetimeOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonDatetime} theme.\n */\nexport interface DThemeButtonDatetime extends DThemeButton<Date> {}\n\nexport class DButtonDatetime<\n\tTHEME extends DThemeButtonDatetime = DThemeButtonDatetime,\n\tOPTIONS extends DButtonDatetimeOptions<THEME> = DButtonDatetimeOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogDatetime;\n\tprotected _dialog?: DDialogDatetime;\n\tprotected _datetimeMask?: DPickerDatetimeMask;\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.page = new Date(value);\n\t\tdialog.open(this).then((): void => {\n\t\t\tthis.onValueChange(dialog.new, dialog.current);\n\t\t});\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tthis.text = new Date(newValue.getTime());\n\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t}\n\n\tgetDatetimeMask(): DPickerDatetimeMask {\n\t\tlet result = this._datetimeMask;\n\t\tif (result == null) {\n\t\t\tresult = DPickerDatetimes.toMask(this._options?.dialog?.picker);\n\t\t\tthis._datetimeMask = result;\n\t\t}\n\t\treturn result;\n\t}\n\n\tget dialog(): DDialogDatetime {\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 = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonDatetime.DIALOG == null) {\n\t\t\t\t\tDButtonDatetime.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonDatetime.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogDatetimeOptions): DDialogDatetime {\n\t\treturn new DDialogDatetime(options);\n\t}\n\n\tget value(): Date {\n\t\treturn this._textValueComputed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonDatetime\";\n\t}\n}\n"]}
@@ -50,8 +50,9 @@ var toOptions = function (options) {
50
50
  var DButtonSelect = /** @class */ (function (_super) {
51
51
  __extends(DButtonSelect, _super);
52
52
  function DButtonSelect(options) {
53
+ var _this = this;
53
54
  var _a, _b;
54
- var _this = _super.call(this, toOptions(options)) || this;
55
+ _this = _super.call(this, toOptions(options)) || this;
55
56
  _this._dialogGetter = (_a = options === null || options === void 0 ? void 0 : options.getter) !== null && _a !== void 0 ? _a : defaultGetter;
56
57
  _this._dialogSetter = (_b = options === null || options === void 0 ? void 0 : options.setter) !== null && _b !== void 0 ? _b : defaultSetter;
57
58
  return _this;
@@ -1 +1 @@
1
- {"version":3,"file":"d-button-select.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-select.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogSelect, DDialogSelectOptions } from \"./d-dialog-select\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * A dialog to select values.\n */\nexport interface DButtonSelectDialog<VALUE> {\n\treadonly value: VALUE | null;\n\topen(): Promise<unknown>;\n}\n\n/**\n * A function to retrieve a selected value from a dialog.\n */\nexport type DButtonSelectGetter<VALUE, DIALOG> = (dialog: DIALOG) => VALUE | null;\n\n/**\n * A function to set a selecte value to a dialog.\n * Called before opening a dialog.\n */\nexport type DButtonSelectSetter<VALUE, DIALOG> = (dialog: DIALOG, value: VALUE | null) => void;\n\n/**\n * {@link DButtonSelect} events.\n */\nexport interface DButtonSelectEvents<VALUE, EMITTER> extends DButtonEvents<VALUE, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: VALUE | null, oldValue: VALUE | null, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonSelect} \"on\" options.\n */\nexport interface DButtonSelectOnOptions<VALUE, EMITTER>\n\textends Partial<DButtonSelectEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonSelect} options.\n */\nexport interface DButtonSelectOptions<\n\tVALUE extends unknown = unknown,\n\tDIALOG_VALUE extends unknown = unknown,\n\tDIALOG extends DButtonSelectDialog<DIALOG_VALUE> = DButtonSelectDialog<DIALOG_VALUE>,\n\tTHEME extends DThemeButtonSelect<VALUE> = DThemeButtonSelect<VALUE>,\n\tEMITTER = any\n> extends DButtonOptions<VALUE | null, THEME, EMITTER> {\n\t/**\n\t * A function to retrieve a selected value from a dialog.\n\t */\n\tgetter?: DButtonSelectGetter<VALUE, DIALOG>;\n\n\t/**\n\t * A function to set a selected value to a dialog.\n\t * Called before opening a dialog.\n\t */\n\tsetter?: DButtonSelectSetter<VALUE, DIALOG>;\n\n\t/**\n\t * A dialog to select values.\n\t */\n\tdialog?: DDialogSelectOptions<DIALOG_VALUE> | DIALOG;\n\n\ton?: DButtonSelectOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DButtonSelect} theme.\n */\nexport interface DThemeButtonSelect<VALUE = unknown> extends DThemeButton<VALUE | null> {}\n\nconst defaultGetter = (dialog: DButtonSelectDialog<any>): any => {\n\t// Assumes the dialog.value is VALUE.\n\treturn dialog.value;\n};\n\nconst defaultSetter = (): void => {\n\t// DO NOTHING\n};\n\nconst toOptions = <OPTIONS extends DButtonSelectOptions<any, any, any, any>>(\n\toptions?: OPTIONS\n): OPTIONS | undefined => {\n\tif (options) {\n\t\t// Try to copy text.formatter to dialog.item.text.formatter at first\n\t\tconst formatter = options.text?.formatter;\n\t\tif (formatter !== undefined) {\n\t\t\tlet dialog = options.dialog;\n\t\t\tif (!(dialog && \"open\" in dialog)) {\n\t\t\t\tdialog = dialog || {};\n\t\t\t\tconst item = (dialog.item = dialog.item || {});\n\t\t\t\tconst text = (item.text = item.text || {});\n\t\t\t\tif (text.formatter === undefined) {\n\t\t\t\t\t// Assumes formatter is ( value: DIALOG_VALUE | null, caller: any ) => string.\n\t\t\t\t\ttext.formatter = formatter as any;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Try to copy dialog.item.text.formatter to text.formatter\n\t\t\tconst dialog = options.dialog;\n\t\t\tif (!(dialog && \"open\" in dialog)) {\n\t\t\t\tconst dialogFormatter = dialog?.item?.text?.formatter;\n\t\t\t\tif (dialogFormatter !== undefined) {\n\t\t\t\t\tconst text = options.text || {};\n\t\t\t\t\toptions.text = text;\n\t\t\t\t\tif (text.formatter === undefined) {\n\t\t\t\t\t\t// Assumes dialogFormatter is ( value: VALUE | null, caller: any ) => string.\n\t\t\t\t\t\ttext.formatter = dialogFormatter as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn options;\n};\n\nexport class DButtonSelect<\n\tVALUE extends unknown = unknown,\n\tDIALOG_VALUE extends unknown = unknown,\n\tDIALOG extends DButtonSelectDialog<DIALOG_VALUE> = DButtonSelectDialog<DIALOG_VALUE>,\n\tTHEME extends DThemeButtonSelect<VALUE> = DThemeButtonSelect<VALUE>,\n\tOPTIONS extends DButtonSelectOptions<VALUE, DIALOG_VALUE, DIALOG, THEME> = DButtonSelectOptions<\n\t\tVALUE,\n\t\tDIALOG_VALUE,\n\t\tDIALOG,\n\t\tTHEME\n\t>\n> extends DButton<VALUE | null, THEME, OPTIONS> {\n\tprotected _dialog?: DIALOG;\n\tprotected _dialogGetter: DButtonSelectGetter<VALUE, DIALOG>;\n\tprotected _dialogSetter: DButtonSelectSetter<VALUE, DIALOG>;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(toOptions(options));\n\t\tthis._dialogGetter = options?.getter ?? defaultGetter;\n\t\tthis._dialogSetter = options?.setter ?? defaultSetter;\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 dialog = this.dialog;\n\t\tconst oldValue = this._textValueComputed ?? null;\n\t\tthis._dialogSetter(dialog, oldValue);\n\t\tdialog.open().then((): void => {\n\t\t\tconst newValue = this._dialogGetter(dialog);\n\t\t\tif (newValue !== oldValue) {\n\t\t\t\tthis.text = newValue;\n\t\t\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t\t}\n\t\t});\n\t}\n\n\tget dialog(): DIALOG {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options && \"open\" in options) {\n\t\t\t\tdialog = options;\n\t\t\t} else {\n\t\t\t\t// Assumes DIALOG === DDialogSelect<DIALOG_VALUE>.\n\t\t\t\tdialog = new DDialogSelect<DIALOG_VALUE>(options) as any as DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this._textValueComputed ?? null;\n\t}\n\n\tset value(value: VALUE | null) {\n\t\tthis.text = value;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonSelect\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-button-select.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-select.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogSelect, DDialogSelectOptions } from \"./d-dialog-select\";\nimport { DOnOptions } from \"./d-on-options\";\n\n/**\n * A dialog to select values.\n */\nexport interface DButtonSelectDialog<VALUE> {\n\treadonly value: VALUE | null;\n\topen(): Promise<unknown>;\n}\n\n/**\n * A function to retrieve a selected value from a dialog.\n */\nexport type DButtonSelectGetter<VALUE, DIALOG> = (dialog: DIALOG) => VALUE | null;\n\n/**\n * A function to set a selecte value to a dialog.\n * Called before opening a dialog.\n */\nexport type DButtonSelectSetter<VALUE, DIALOG> = (dialog: DIALOG, value: VALUE | null) => void;\n\n/**\n * {@link DButtonSelect} events.\n */\nexport interface DButtonSelectEvents<VALUE, EMITTER> extends DButtonEvents<VALUE, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param newValue a newly selected value\n\t * @param oldValue a previously selected value\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: VALUE | null, oldValue: VALUE | null, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonSelect} \"on\" options.\n */\nexport interface DButtonSelectOnOptions<VALUE, EMITTER>\n\textends Partial<DButtonSelectEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonSelect} options.\n */\nexport interface DButtonSelectOptions<\n\tVALUE extends unknown = unknown,\n\tDIALOG_VALUE extends unknown = unknown,\n\tDIALOG extends DButtonSelectDialog<DIALOG_VALUE> = DButtonSelectDialog<DIALOG_VALUE>,\n\tTHEME extends DThemeButtonSelect<VALUE> = DThemeButtonSelect<VALUE>,\n\tEMITTER = any\n> extends DButtonOptions<VALUE | null, THEME, EMITTER> {\n\t/**\n\t * A function to retrieve a selected value from a dialog.\n\t */\n\tgetter?: DButtonSelectGetter<VALUE, DIALOG>;\n\n\t/**\n\t * A function to set a selected value to a dialog.\n\t * Called before opening a dialog.\n\t */\n\tsetter?: DButtonSelectSetter<VALUE, DIALOG>;\n\n\t/**\n\t * A dialog to select values.\n\t */\n\tdialog?: DDialogSelectOptions<DIALOG_VALUE> | DIALOG;\n\n\ton?: DButtonSelectOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DButtonSelect} theme.\n */\nexport interface DThemeButtonSelect<VALUE = unknown> extends DThemeButton<VALUE | null> {}\n\nconst defaultGetter = (dialog: DButtonSelectDialog<any>): any => {\n\t// Assumes the dialog.value is VALUE.\n\treturn dialog.value;\n};\n\nconst defaultSetter = (): void => {\n\t// DO NOTHING\n};\n\nconst toOptions = <OPTIONS extends DButtonSelectOptions<any, any, any, any>>(\n\toptions?: OPTIONS\n): OPTIONS | undefined => {\n\tif (options) {\n\t\t// Try to copy text.formatter to dialog.item.text.formatter at first\n\t\tconst formatter = options.text?.formatter;\n\t\tif (formatter !== undefined) {\n\t\t\tlet dialog = options.dialog;\n\t\t\tif (!(dialog && \"open\" in dialog)) {\n\t\t\t\tdialog = dialog || {};\n\t\t\t\tconst item = (dialog.item = dialog.item || {});\n\t\t\t\tconst text = (item.text = item.text || {});\n\t\t\t\tif (text.formatter === undefined) {\n\t\t\t\t\t// Assumes formatter is ( value: DIALOG_VALUE | null, caller: any ) => string.\n\t\t\t\t\ttext.formatter = formatter as any;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Try to copy dialog.item.text.formatter to text.formatter\n\t\t\tconst dialog = options.dialog;\n\t\t\tif (!(dialog && \"open\" in dialog)) {\n\t\t\t\tconst dialogFormatter = dialog?.item?.text?.formatter;\n\t\t\t\tif (dialogFormatter !== undefined) {\n\t\t\t\t\tconst text = options.text || {};\n\t\t\t\t\toptions.text = text;\n\t\t\t\t\tif (text.formatter === undefined) {\n\t\t\t\t\t\t// Assumes dialogFormatter is ( value: VALUE | null, caller: any ) => string.\n\t\t\t\t\t\ttext.formatter = dialogFormatter as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn options;\n};\n\nexport class DButtonSelect<\n\tVALUE extends unknown = unknown,\n\tDIALOG_VALUE extends unknown = unknown,\n\tDIALOG extends DButtonSelectDialog<DIALOG_VALUE> = DButtonSelectDialog<DIALOG_VALUE>,\n\tTHEME extends DThemeButtonSelect<VALUE> = DThemeButtonSelect<VALUE>,\n\tOPTIONS extends DButtonSelectOptions<VALUE, DIALOG_VALUE, DIALOG, THEME> = DButtonSelectOptions<\n\t\tVALUE,\n\t\tDIALOG_VALUE,\n\t\tDIALOG,\n\t\tTHEME\n\t>\n> extends DButton<VALUE | null, THEME, OPTIONS> {\n\tprotected _dialog?: DIALOG;\n\tprotected _dialogGetter: DButtonSelectGetter<VALUE, DIALOG>;\n\tprotected _dialogSetter: DButtonSelectSetter<VALUE, DIALOG>;\n\n\tconstructor(options?: OPTIONS) {\n\t\tsuper(toOptions(options));\n\t\tthis._dialogGetter = options?.getter ?? defaultGetter;\n\t\tthis._dialogSetter = options?.setter ?? defaultSetter;\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 dialog = this.dialog;\n\t\tconst oldValue = this._textValueComputed ?? null;\n\t\tthis._dialogSetter(dialog, oldValue);\n\t\tdialog.open().then((): void => {\n\t\t\tconst newValue = this._dialogGetter(dialog);\n\t\t\tif (newValue !== oldValue) {\n\t\t\t\tthis.text = newValue;\n\t\t\t\tthis.emit(\"change\", newValue, oldValue, this);\n\t\t\t}\n\t\t});\n\t}\n\n\tget dialog(): DIALOG {\n\t\tlet dialog = this._dialog;\n\t\tif (dialog == null) {\n\t\t\tconst options = this._options?.dialog;\n\t\t\tif (options && \"open\" in options) {\n\t\t\t\tdialog = options;\n\t\t\t} else {\n\t\t\t\t// Assumes DIALOG === DDialogSelect<DIALOG_VALUE>.\n\t\t\t\tdialog = new DDialogSelect<DIALOG_VALUE>(options) as any as DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tget value(): VALUE | null {\n\t\treturn this._textValueComputed ?? null;\n\t}\n\n\tset value(value: VALUE | null) {\n\t\tthis.text = value;\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonSelect\";\n\t}\n}\n"]}
@@ -5,7 +5,6 @@
5
5
  import { __extends } from "tslib";
6
6
  import { DButton } from "./d-button";
7
7
  import { DDialogTime } from "./d-dialog-time";
8
- import { DDialogTimes } from "./d-dialog-times";
9
8
  import { DPickerTimes } from "./d-picker-times";
10
9
  var DButtonTime = /** @class */ (function (_super) {
11
10
  __extends(DButtonTime, _super);
@@ -20,13 +19,14 @@ var DButtonTime = /** @class */ (function (_super) {
20
19
  var dialog = this.dialog;
21
20
  dialog.current = new Date(value);
22
21
  dialog.new = new Date(value);
23
- dialog.open().then(function () {
24
- var newValue = dialog.new;
25
- var oldValue = dialog.current;
26
- _this.text = new Date(newValue.getTime());
27
- _this.emit("change", newValue, oldValue, _this);
22
+ dialog.open(this).then(function () {
23
+ _this.onValueChange(dialog.new, dialog.current);
28
24
  });
29
25
  };
26
+ DButtonTime.prototype.onValueChange = function (newValue, oldValue) {
27
+ this.text = new Date(newValue.getTime());
28
+ this.emit("change", newValue, oldValue, this);
29
+ };
30
30
  DButtonTime.prototype.getDatetimeMask = function () {
31
31
  var _a, _b;
32
32
  var result = this._datetimeMask;
@@ -43,10 +43,16 @@ var DButtonTime = /** @class */ (function (_super) {
43
43
  if (dialog == null) {
44
44
  var options = (_a = this._options) === null || _a === void 0 ? void 0 : _a.dialog;
45
45
  if (options) {
46
- dialog = new DDialogTime(options);
46
+ dialog = this.newDialog(options);
47
47
  }
48
48
  else {
49
- dialog = DDialogTimes.getInstance();
49
+ if (DButtonTime.DIALOG == null) {
50
+ DButtonTime.DIALOG = this.newDialog({
51
+ mode: "MENU",
52
+ sticky: true
53
+ });
54
+ }
55
+ dialog = DButtonTime.DIALOG;
50
56
  }
51
57
  this._dialog = dialog;
52
58
  }
@@ -55,6 +61,9 @@ var DButtonTime = /** @class */ (function (_super) {
55
61
  enumerable: false,
56
62
  configurable: true
57
63
  });
64
+ DButtonTime.prototype.newDialog = function (options) {
65
+ return new DDialogTime(options);
66
+ };
58
67
  Object.defineProperty(DButtonTime.prototype, "value", {
59
68
  get: function () {
60
69
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"d-button-time.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-time.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,OAAO,EAA+C,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,WAAW,EAAsB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAqChD;IAGU,+BAA6B;IAHvC;;IA4DA,CAAC;IArDU,gCAAU,GAApB,UACC,CAA0E;QAD3E,iBAcC;;QAXA,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,KAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,qCAAe,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,+BAAM;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,8BAAK;aAAT;;YACC,OAAO,MAAA,IAAI,CAAC,kBAAkB,mCAAI,IAAI,IAAI,EAAE,CAAC;QAC9C,CAAC;aAED,UAAU,KAAW;YACpB,IAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAClD,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE;gBACvF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aAClB;QACF,CAAC;;;OAPA;IASS,6BAAO,GAAjB;QACC,OAAO,aAAa,CAAC;IACtB,CAAC;IACF,kBAAC;AAAD,CAAC,AA5DD,CAGU,OAAO,GAyDhB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogTime, DDialogTimeOptions } from \"./d-dialog-time\";\nimport { DDialogTimes } from \"./d-dialog-times\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerDatetimeMask } from \"./d-picker-datetime-mask\";\nimport { DPickerTimes } from \"./d-picker-times\";\n\n/**\n * {@link DButtonTime} events.\n */\nexport interface DButtonTimeEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonTime} \"on\" options.\n */\nexport interface DButtonTimeOnOptions<EMITTER>\n\textends Partial<DButtonTimeEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonTime} options.\n */\nexport interface DButtonTimeOptions<\n\tTHEME extends DThemeButtonTime = DThemeButtonTime,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogTimeOptions;\n\ton?: DButtonTimeOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonTime} theme.\n */\nexport interface DThemeButtonTime extends DThemeButton<Date> {}\n\nexport class DButtonTime<\n\tTHEME extends DThemeButtonTime = DThemeButtonTime,\n\tOPTIONS extends DButtonTimeOptions<THEME> = DButtonTimeOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected _dialog?: DDialogTime;\n\tprotected _datetimeMask?: DPickerDatetimeMask;\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\tthis.emit(\"change\", newValue, oldValue, this);\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 value(): Date {\n\t\treturn this._textValueComputed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonTime\";\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-button-time.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-button-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 { interaction } from \"pixi.js\";\nimport { DButton, DButtonEvents, DButtonOptions, DThemeButton } from \"./d-button\";\nimport { DDialogTime, DDialogTimeOptions } from \"./d-dialog-time\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DPickerDatetimeMask } from \"./d-picker-datetime-mask\";\nimport { DPickerTimes } from \"./d-picker-times\";\n\n/**\n * {@link DButtonTime} events.\n */\nexport interface DButtonTimeEvents<EMITTER> extends DButtonEvents<Date, EMITTER> {\n\t/**\n\t * Triggered when a selection is changed.\n\t *\n\t * @param emitter an emitter\n\t */\n\tchange(newValue: Date, oldValue: Date, emitter: EMITTER): void;\n}\n\n/**\n * {@link DButtonTime} \"on\" options.\n */\nexport interface DButtonTimeOnOptions<EMITTER>\n\textends Partial<DButtonTimeEvents<EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DButtonTime} options.\n */\nexport interface DButtonTimeOptions<\n\tTHEME extends DThemeButtonTime = DThemeButtonTime,\n\tEMITTER = any\n> extends DButtonOptions<Date, THEME, EMITTER> {\n\tdialog?: DDialogTimeOptions;\n\ton?: DButtonTimeOnOptions<EMITTER>;\n}\n\n/**\n * {@link DButtonTime} theme.\n */\nexport interface DThemeButtonTime extends DThemeButton<Date> {}\n\nexport class DButtonTime<\n\tTHEME extends DThemeButtonTime = DThemeButtonTime,\n\tOPTIONS extends DButtonTimeOptions<THEME> = DButtonTimeOptions<THEME>\n> extends DButton<Date, THEME, OPTIONS> {\n\tprotected static DIALOG?: DDialogTime;\n\tprotected _dialog?: DDialogTime;\n\tprotected _datetimeMask?: DPickerDatetimeMask;\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(this).then((): void => {\n\t\t\tthis.onValueChange(dialog.new, dialog.current);\n\t\t});\n\t}\n\n\tprotected onValueChange(newValue: Date, oldValue: Date): void {\n\t\tthis.text = new Date(newValue.getTime());\n\t\tthis.emit(\"change\", newValue, oldValue, this);\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 = this.newDialog(options);\n\t\t\t} else {\n\t\t\t\tif (DButtonTime.DIALOG == null) {\n\t\t\t\t\tDButtonTime.DIALOG = this.newDialog({\n\t\t\t\t\t\tmode: \"MENU\",\n\t\t\t\t\t\tsticky: true\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdialog = DButtonTime.DIALOG;\n\t\t\t}\n\t\t\tthis._dialog = dialog;\n\t\t}\n\t\treturn dialog;\n\t}\n\n\tprotected newDialog(options?: DDialogTimeOptions): DDialogTime {\n\t\treturn new DDialogTime(options);\n\t}\n\n\tget value(): Date {\n\t\treturn this._textValueComputed ?? new Date();\n\t}\n\n\tset value(value: Date) {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed === undefined || textValueComputed.getTime() !== value.getTime()) {\n\t\t\tthis.text = value;\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DButtonTime\";\n\t}\n}\n"]}
@@ -13,8 +13,9 @@ import { UtilPointerEvent } from "./util/util-pointer-event";
13
13
  var DChartSelectionSimple = /** @class */ (function (_super) {
14
14
  __extends(DChartSelectionSimple, _super);
15
15
  function DChartSelectionSimple(options) {
16
+ var _this = this;
16
17
  var _a;
17
- var _this = _super.call(this) || this;
18
+ _this = _super.call(this) || this;
18
19
  _this._container = null;
19
20
  var point = toEnum((_a = options === null || options === void 0 ? void 0 : options.point) !== null && _a !== void 0 ? _a : DChartSelectionPoint.CLOSER, DChartSelectionPoint);
20
21
  _this._selected = _this.newSelected(point, options === null || options === void 0 ? void 0 : options.selected);
@@ -1 +1 @@
1
- {"version":3,"file":"d-chart-selection-simple.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-simple.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, utils } from \"pixi.js\";\nimport { DBase, DBaseOnOptions } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DChartSelection, DChartSelectionPoint } from \"./d-chart-selection\";\nimport { DChartSelectionSub, DChartSelectionSubOptions } from \"./d-chart-selection-sub\";\nimport { DChartSelectionSubImpl } from \"./d-chart-selection-sub-impl\";\nimport { DChartSeriesHitResult } from \"./d-chart-series\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DChartSelectionSimpleOptions<CHART extends DBase = DBase, EMITTER = any> {\n\tselected?: DChartSelectionSubOptions<CHART>;\n\thovered?: DChartSelectionSubOptions<CHART>;\n\tpoint?: DChartSelectionPoint | keyof typeof DChartSelectionPoint;\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport class DChartSelectionSimple<CHART extends DBase = DBase>\n\textends utils.EventEmitter\n\timplements DChartSelection<CHART>\n{\n\tprotected static WORK_SELECT: DChartSeriesHitResult = new DChartSeriesHitResult();\n\n\tprotected _container: DChartSeriesContainer<CHART> | null;\n\tprotected _selected: DChartSelectionSub<CHART>;\n\tprotected _hovered: DChartSelectionSub<CHART>;\n\n\tprotected _onClickBound!: (e: interaction.InteractionEvent) => void;\n\tprotected _onMoveBound!: (e: interaction.InteractionEvent) => void;\n\n\tconstructor(options?: DChartSelectionSimpleOptions<CHART>) {\n\t\tsuper();\n\n\t\tthis._container = null;\n\t\tconst point = toEnum(options?.point ?? DChartSelectionPoint.CLOSER, DChartSelectionPoint);\n\t\tthis._selected = this.newSelected(point, options?.selected);\n\t\tthis._hovered = this.newHovered(point, options?.hovered);\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on != null) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tthis._onMoveBound = (e: interaction.InteractionEvent): void => {\n\t\t\tthis.onMove(e);\n\t\t};\n\n\t\tthis._onClickBound = (e: interaction.InteractionEvent): void => {\n\t\t\tthis.onClick(e);\n\t\t};\n\t}\n\n\tprotected newSelected(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSub<CHART> {\n\t\treturn new DChartSelectionSubImpl(this.toSubOptions(point, options, DBaseState.ACTIVE));\n\t}\n\n\tprotected newHovered(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSub<CHART> {\n\t\treturn new DChartSelectionSubImpl(this.toSubOptions(point, options, DBaseState.HOVERED));\n\t}\n\n\tprotected toSubOptions(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions: DChartSelectionSubOptions<CHART> | undefined,\n\t\tstate: string\n\t): DChartSelectionSubOptions<CHART> {\n\t\toptions = options || {};\n\n\t\tif (options.point == null) {\n\t\t\toptions.point = point;\n\t\t}\n\n\t\tif (options.state == null) {\n\t\t\toptions.state = state;\n\t\t}\n\n\t\tconst gridline = options.gridline || {};\n\t\tconst gridlineX = gridline.x || {};\n\t\tif (gridlineX.state == null) {\n\t\t\tgridlineX.state = state;\n\t\t}\n\n\t\tconst gridlineY = gridline.y || {};\n\t\tif (gridlineY.state == null) {\n\t\t\tgridlineY.state = state;\n\t\t}\n\n\t\tconst marker = options.marker || {};\n\t\tif (marker.state == null) {\n\t\t\tmarker.state = state;\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tconst container = this._container;\n\t\tif (container && e.target === container.plotArea) {\n\t\t\tconst hovered = this._hovered;\n\t\t\tconst series = hovered.series;\n\t\t\tconst selected = this._selected;\n\t\t\tif (series) {\n\t\t\t\tselected.set(series, hovered);\n\t\t\t} else {\n\t\t\t\tselected.unset();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onMove(e: interaction.InteractionEvent): void {\n\t\tconst container = this._container;\n\t\tif (container) {\n\t\t\tconst hovered = this._hovered;\n\t\t\tif (e.target === container.plotArea) {\n\t\t\t\tconst result = DChartSelectionSimple.WORK_SELECT;\n\t\t\t\tconst global = e.data.global;\n\t\t\t\tconst series = container.calcHitPoint(global.x, global.y, result);\n\t\t\t\tif (series) {\n\t\t\t\t\thovered.set(series, result);\n\t\t\t\t} else {\n\t\t\t\t\thovered.unset();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thovered.unset();\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(container: DChartSeriesContainer<CHART>): void {\n\t\tthis._container = container;\n\t\tthis._selected.bind(container);\n\t\tthis._hovered.bind(container);\n\t\tconst plotArea = container.plotArea;\n\t\tplotArea.on(UtilPointerEvent.move, this._onMoveBound);\n\t\tUtilPointerEvent.onClick(plotArea, this._onClickBound);\n\t}\n\n\tunbind(): void {\n\t\tconst container = this._container;\n\t\tthis._container = null;\n\t\tif (container) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tplotArea.off(UtilPointerEvent.move, this._onMoveBound);\n\t\t}\n\n\t\tthis._selected.unbind();\n\t\tthis._hovered.unbind();\n\t}\n\n\tget selected(): DChartSelectionSub<CHART> {\n\t\treturn this._selected;\n\t}\n\n\tget hovered(): DChartSelectionSub<CHART> {\n\t\treturn this._hovered;\n\t}\n\n\tupdate(): void {\n\t\tthis._selected.update();\n\t\tthis._hovered.update();\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-chart-selection-simple.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-simple.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, utils } from \"pixi.js\";\nimport { DBase, DBaseOnOptions } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DChartSelection, DChartSelectionPoint } from \"./d-chart-selection\";\nimport { DChartSelectionSub, DChartSelectionSubOptions } from \"./d-chart-selection-sub\";\nimport { DChartSelectionSubImpl } from \"./d-chart-selection-sub-impl\";\nimport { DChartSeriesHitResult } from \"./d-chart-series\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { toEnum } from \"./util/to-enum\";\nimport { UtilPointerEvent } from \"./util/util-pointer-event\";\n\nexport interface DChartSelectionSimpleOptions<CHART extends DBase = DBase, EMITTER = any> {\n\tselected?: DChartSelectionSubOptions<CHART>;\n\thovered?: DChartSelectionSubOptions<CHART>;\n\tpoint?: DChartSelectionPoint | keyof typeof DChartSelectionPoint;\n\ton?: DBaseOnOptions<EMITTER>;\n}\n\nexport class DChartSelectionSimple<CHART extends DBase = DBase>\n\textends utils.EventEmitter\n\timplements DChartSelection<CHART>\n{\n\tprotected static WORK_SELECT: DChartSeriesHitResult = new DChartSeriesHitResult();\n\n\tprotected _container: DChartSeriesContainer<CHART> | null;\n\tprotected _selected: DChartSelectionSub<CHART>;\n\tprotected _hovered: DChartSelectionSub<CHART>;\n\n\tprotected _onClickBound!: (e: interaction.InteractionEvent) => void;\n\tprotected _onMoveBound!: (e: interaction.InteractionEvent) => void;\n\n\tconstructor(options?: DChartSelectionSimpleOptions<CHART>) {\n\t\tsuper();\n\n\t\tthis._container = null;\n\t\tconst point = toEnum(options?.point ?? DChartSelectionPoint.CLOSER, DChartSelectionPoint);\n\t\tthis._selected = this.newSelected(point, options?.selected);\n\t\tthis._hovered = this.newHovered(point, options?.hovered);\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on != null) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tthis._onMoveBound = (e: interaction.InteractionEvent): void => {\n\t\t\tthis.onMove(e);\n\t\t};\n\n\t\tthis._onClickBound = (e: interaction.InteractionEvent): void => {\n\t\t\tthis.onClick(e);\n\t\t};\n\t}\n\n\tprotected newSelected(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSub<CHART> {\n\t\treturn new DChartSelectionSubImpl(this.toSubOptions(point, options, DBaseState.ACTIVE));\n\t}\n\n\tprotected newHovered(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions?: DChartSelectionSubOptions<CHART>\n\t): DChartSelectionSub<CHART> {\n\t\treturn new DChartSelectionSubImpl(this.toSubOptions(point, options, DBaseState.HOVERED));\n\t}\n\n\tprotected toSubOptions(\n\t\tpoint: DChartSelectionPoint,\n\t\toptions: DChartSelectionSubOptions<CHART> | undefined,\n\t\tstate: string\n\t): DChartSelectionSubOptions<CHART> {\n\t\toptions = options || {};\n\n\t\tif (options.point == null) {\n\t\t\toptions.point = point;\n\t\t}\n\n\t\tif (options.state == null) {\n\t\t\toptions.state = state;\n\t\t}\n\n\t\tconst gridline = options.gridline || {};\n\t\tconst gridlineX = gridline.x || {};\n\t\tif (gridlineX.state == null) {\n\t\t\tgridlineX.state = state;\n\t\t}\n\n\t\tconst gridlineY = gridline.y || {};\n\t\tif (gridlineY.state == null) {\n\t\t\tgridlineY.state = state;\n\t\t}\n\n\t\tconst marker = options.marker || {};\n\t\tif (marker.state == null) {\n\t\t\tmarker.state = state;\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tprotected onClick(e: interaction.InteractionEvent): void {\n\t\tconst container = this._container;\n\t\tif (container && e.target === container.plotArea) {\n\t\t\tconst hovered = this._hovered;\n\t\t\tconst series = hovered.series;\n\t\t\tconst selected = this._selected;\n\t\t\tif (series) {\n\t\t\t\tselected.set(series, hovered);\n\t\t\t} else {\n\t\t\t\tselected.unset();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected onMove(e: interaction.InteractionEvent): void {\n\t\tconst container = this._container;\n\t\tif (container) {\n\t\t\tconst hovered = this._hovered;\n\t\t\tif (e.target === container.plotArea) {\n\t\t\t\tconst result = DChartSelectionSimple.WORK_SELECT;\n\t\t\t\tconst global = e.data.global;\n\t\t\t\tconst series = container.calcHitPoint(global.x, global.y, result);\n\t\t\t\tif (series) {\n\t\t\t\t\thovered.set(series, result);\n\t\t\t\t} else {\n\t\t\t\t\thovered.unset();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thovered.unset();\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(container: DChartSeriesContainer<CHART>): void {\n\t\tthis._container = container;\n\t\tthis._selected.bind(container);\n\t\tthis._hovered.bind(container);\n\t\tconst plotArea = container.plotArea;\n\t\tplotArea.on(UtilPointerEvent.move, this._onMoveBound);\n\t\tUtilPointerEvent.onClick(plotArea, this._onClickBound);\n\t}\n\n\tunbind(): void {\n\t\tconst container = this._container;\n\t\tthis._container = null;\n\t\tif (container) {\n\t\t\tconst plotArea = container.plotArea;\n\t\t\tplotArea.off(UtilPointerEvent.move, this._onMoveBound);\n\t\t}\n\n\t\tthis._selected.unbind();\n\t\tthis._hovered.unbind();\n\t}\n\n\tget selected(): DChartSelectionSub<CHART> {\n\t\treturn this._selected;\n\t}\n\n\tget hovered(): DChartSelectionSub<CHART> {\n\t\treturn this._hovered;\n\t}\n\n\tupdate(): void {\n\t\tthis._selected.update();\n\t\tthis._hovered.update();\n\t}\n}\n"]}
@@ -13,8 +13,9 @@ import { DChartSeriesHitResult } from "./d-chart-series";
13
13
  var DChartSelectionSubImpl = /** @class */ (function (_super) {
14
14
  __extends(DChartSelectionSubImpl, _super);
15
15
  function DChartSelectionSubImpl(options) {
16
+ var _this = this;
16
17
  var _a, _b, _c;
17
- var _this = _super.call(this) || this;
18
+ _this = _super.call(this) || this;
18
19
  _this._container = null;
19
20
  _this._series = null;
20
21
  _this._isEnabled = (_a = options.enable) !== null && _a !== void 0 ? _a : true;
@@ -1 +1 @@
1
- {"version":3,"file":"d-chart-selection-sub-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-sub-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Point, utils } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DChartCoordinate } from \"./d-chart-coordinate\";\nimport { DChartSelectionPoint } from \"./d-chart-selection\";\nimport { DChartSelectionGridlineContainer } from \"./d-chart-selection-gridline-container\";\nimport { DChartSelectionGridlineContainerImpl } from \"./d-chart-selection-gridline-container-impl\";\nimport { DChartSelectionMarker } from \"./d-chart-selection-marker\";\nimport { DChartSelectionSub, DChartSelectionSubOptions } from \"./d-chart-selection-sub\";\nimport { DChartSeries, DChartSeriesHitResult } from \"./d-chart-series\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { EShape } from \"./shape/e-shape\";\n\nexport class DChartSelectionSubImpl<CHART extends DBase = DBase>\n\textends utils.EventEmitter\n\timplements DChartSelectionSub<CHART>\n{\n\tprotected _container: DChartSeriesContainer<CHART> | null;\n\tprotected _isEnabled: boolean;\n\tprotected _series: DChartSeries<CHART> | null;\n\tprotected _coordinateX: DChartCoordinate<CHART> | null;\n\tprotected _coordinateY: DChartCoordinate<CHART> | null;\n\tprotected _position: Point;\n\tprotected _point: DChartSelectionPoint;\n\tprotected _work: Point;\n\tprotected _gridline: DChartSelectionGridlineContainer<CHART>;\n\tprotected _marker: DChartSelectionMarker<CHART>;\n\tprotected _state: string;\n\n\tconstructor(options: DChartSelectionSubOptions<CHART>) {\n\t\tsuper();\n\n\t\tthis._container = null;\n\t\tthis._series = null;\n\t\tthis._isEnabled = options.enable ?? true;\n\t\tthis._gridline = new DChartSelectionGridlineContainerImpl(options.gridline);\n\t\tthis._marker = new DChartSelectionMarker(options.marker);\n\t\tthis._state = options.state ?? DBaseState.HOVERED;\n\t\tthis._coordinateX = null;\n\t\tthis._coordinateY = null;\n\t\tthis._position = new Point();\n\t\tthis._point = options.point ?? DChartSelectionPoint.CLOSER;\n\t\tthis._work = new Point();\n\n\t\t// Events\n\t\tconst on = options.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(container: DChartSeriesContainer<CHART>): void {\n\t\tif (this._isEnabled) {\n\t\t\tthis._container = container;\n\t\t\tthis._gridline.bind(container);\n\t\t\tthis._marker.bind(container);\n\t\t}\n\t}\n\n\tunbind(): void {\n\t\tthis._marker.unbind();\n\t\tthis._gridline.unbind();\n\t\tthis._container = null;\n\t\tthis._coordinateX = null;\n\t\tthis._coordinateY = null;\n\t}\n\n\tget series(): DChartSeries<CHART> | null {\n\t\treturn this._series;\n\t}\n\n\tget position(): Point {\n\t\treturn this._position;\n\t}\n\n\tget gridline(): DChartSelectionGridlineContainer<CHART> {\n\t\treturn this._gridline;\n\t}\n\n\tget marker(): DChartSelectionMarker<CHART> {\n\t\treturn this._marker;\n\t}\n\n\tset(\n\t\tseries: DChartSeries<CHART>,\n\t\tresult: DChartSeriesHitResult | DChartSelectionSub<CHART>\n\t): void {\n\t\tconst container = this._container;\n\t\tconst coordinateX = (this._coordinateX = series.coordinate.x);\n\t\tconst coordinateY = (this._coordinateY = series.coordinate.y);\n\t\tif (container && coordinateX && coordinateY) {\n\t\t\tconst transform = container.plotArea.container.localTransform;\n\t\t\tconst position = this._position;\n\t\t\tconst work = this._work;\n\t\t\tif (result instanceof DChartSeriesHitResult) {\n\t\t\t\tlet x = result.x;\n\t\t\t\tlet y = result.y;\n\t\t\t\tswitch (this._point) {\n\t\t\t\t\tcase DChartSelectionPoint.PREVIOUS:\n\t\t\t\t\t\tx = result.p0x;\n\t\t\t\t\t\ty = result.p0y;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase DChartSelectionPoint.NEXT:\n\t\t\t\t\t\tx = result.p1x;\n\t\t\t\t\t\ty = result.p1y;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase DChartSelectionPoint.CLOSER:\n\t\t\t\t\t\tif (Math.abs(result.p0x - result.x) < Math.abs(result.p1x - result.x)) {\n\t\t\t\t\t\t\tx = result.p0x;\n\t\t\t\t\t\t\ty = result.p0y;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tx = result.p1x;\n\t\t\t\t\t\t\ty = result.p1y;\n\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\twork.set(x, y);\n\t\t\t\ttransform.apply(work, work);\n\t\t\t\tposition.set(\n\t\t\t\t\tcoordinateX.unmap(coordinateX.transform.unmap(x)),\n\t\t\t\t\tcoordinateY.unmap(coordinateY.transform.unmap(y))\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tposition.copyFrom(result.position);\n\t\t\t\twork.set(\n\t\t\t\t\tcoordinateX.transform.map(coordinateX.map(position.x)),\n\t\t\t\t\tcoordinateY.transform.map(coordinateY.map(position.y))\n\t\t\t\t);\n\t\t\t\ttransform.apply(work, work);\n\t\t\t}\n\n\t\t\tthis._gridline.set(container, work, series);\n\t\t\tthis._marker.set(container, work, series);\n\n\t\t\tDApplications.update(container.plotArea);\n\t\t}\n\n\t\tconst oldSeries = this._series;\n\t\tif (oldSeries !== series) {\n\t\t\tconst state = this._state;\n\t\t\tif (oldSeries) {\n\t\t\t\toldSeries.state.remove(state);\n\t\t\t}\n\n\t\t\tthis._series = series;\n\t\t\tseries.state.add(state);\n\t\t}\n\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tprotected setStyle(this: unknown, shape: EShape, series: DChartSeries<CHART>): void {\n\t\tconst seriesShape = series.shape;\n\t\tif (seriesShape) {\n\t\t\tshape.stroke.color = seriesShape.stroke.color;\n\t\t}\n\t}\n\n\tunset(): void {\n\t\tconst series = this._series;\n\t\tif (series) {\n\t\t\tthis._series = null;\n\t\t\tthis._coordinateX = null;\n\t\t\tthis._coordinateY = null;\n\n\t\t\tseries.state.remove(this._state);\n\n\t\t\tthis._gridline.unset();\n\t\t\tthis._marker.unset();\n\n\t\t\tthis.emit(\"change\", this);\n\t\t}\n\t}\n\n\tupdate(): void {\n\t\tconst container = this._container;\n\t\tconst coordinateX = this._coordinateX;\n\t\tconst coordinateY = this._coordinateY;\n\t\tif (container && coordinateX && coordinateY) {\n\t\t\tconst position = this._position;\n\t\t\tconst work = this._work;\n\t\t\twork.set(\n\t\t\t\tcoordinateX.transform.map(coordinateX.map(position.x)),\n\t\t\t\tcoordinateY.transform.map(coordinateY.map(position.y))\n\t\t\t);\n\t\t\tcontainer.plotArea.container.localTransform.apply(work, work);\n\n\t\t\tthis._gridline.update(container, work);\n\t\t\tthis._marker.update(container, work);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"d-chart-selection-sub-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-chart-selection-sub-impl.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,oCAAoC,EAAE,MAAM,6CAA6C,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAgB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAIvE;IACS,0CAAkB;IAe1B,gCAAY,OAAyC;QAArD,iBAyBC;;gBAxBA,iBAAO;QAEP,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAI,CAAC,UAAU,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAI,CAAC;QACzC,KAAI,CAAC,SAAS,GAAG,IAAI,oCAAoC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5E,KAAI,CAAC,OAAO,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,KAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,UAAU,CAAC,OAAO,CAAC;QAClD,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,KAAI,CAAC,SAAS,GAAG,IAAI,KAAK,EAAE,CAAC;QAC7B,KAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,oBAAoB,CAAC,MAAM,CAAC;QAC3D,KAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAEzB,SAAS;QACT,IAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,EAAE,EAAE;YACP,KAAK,IAAM,MAAI,IAAI,EAAE,EAAE;gBACtB,IAAM,OAAO,GAAG,EAAE,CAAC,MAAI,CAAC,CAAC;gBACzB,IAAI,OAAO,EAAE;oBACZ,KAAI,CAAC,EAAE,CAAC,MAAI,EAAE,OAAO,CAAC,CAAC;iBACvB;aACD;SACD;;IACF,CAAC;IAED,qCAAI,GAAJ,UAAK,SAAuC;QAC3C,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7B;IACF,CAAC;IAED,uCAAM,GAAN;QACC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,sBAAI,0CAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,sBAAI,4CAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,4CAAQ;aAAZ;YACC,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;;;OAAA;IAED,sBAAI,0CAAM;aAAV;YACC,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;;;OAAA;IAED,oCAAG,GAAH,UACC,MAA2B,EAC3B,MAAyD;QAEzD,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAM,WAAW,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAM,WAAW,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,SAAS,IAAI,WAAW,IAAI,WAAW,EAAE;YAC5C,IAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC;YAC9D,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,MAAM,YAAY,qBAAqB,EAAE;gBAC5C,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACjB,QAAQ,IAAI,CAAC,MAAM,EAAE;oBACpB,KAAK,oBAAoB,CAAC,QAAQ;wBACjC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;wBACf,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;wBACf,MAAM;oBACP,KAAK,oBAAoB,CAAC,IAAI;wBAC7B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;wBACf,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;wBACf,MAAM;oBACP,KAAK,oBAAoB,CAAC,MAAM;wBAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE;4BACtE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;4BACf,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;yBACf;6BAAM;4BACN,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;4BACf,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;yBACf;iBACF;gBAED,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACf,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5B,QAAQ,CAAC,GAAG,CACX,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACjD,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;aACF;iBAAM;gBACN,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,GAAG,CACP,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACtD,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;gBACF,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC5B;YAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAE1C,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACzC;QAED,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,SAAS,KAAK,MAAM,EAAE;YACzB,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,SAAS,EAAE;gBACd,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC9B;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACxB;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAES,yCAAQ,GAAlB,UAAkC,KAAa,EAAE,MAA2B;QAC3E,IAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,IAAI,WAAW,EAAE;YAChB,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9C;IACF,CAAC;IAED,sCAAK,GAAL;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,EAAE;YACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEjC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAErB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SAC1B;IACF,CAAC;IAED,uCAAM,GAAN;QACC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,SAAS,IAAI,WAAW,IAAI,WAAW,EAAE;YAC5C,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,GAAG,CACP,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACtD,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;YACF,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE9D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACrC;IACF,CAAC;IACF,6BAAC;AAAD,CAAC,AAvLD,CACS,KAAK,CAAC,YAAY,GAsL1B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Point, utils } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DChartCoordinate } from \"./d-chart-coordinate\";\nimport { DChartSelectionPoint } from \"./d-chart-selection\";\nimport { DChartSelectionGridlineContainer } from \"./d-chart-selection-gridline-container\";\nimport { DChartSelectionGridlineContainerImpl } from \"./d-chart-selection-gridline-container-impl\";\nimport { DChartSelectionMarker } from \"./d-chart-selection-marker\";\nimport { DChartSelectionSub, DChartSelectionSubOptions } from \"./d-chart-selection-sub\";\nimport { DChartSeries, DChartSeriesHitResult } from \"./d-chart-series\";\nimport { DChartSeriesContainer } from \"./d-chart-series-container\";\nimport { EShape } from \"./shape/e-shape\";\n\nexport class DChartSelectionSubImpl<CHART extends DBase = DBase>\n\textends utils.EventEmitter\n\timplements DChartSelectionSub<CHART>\n{\n\tprotected _container: DChartSeriesContainer<CHART> | null;\n\tprotected _isEnabled: boolean;\n\tprotected _series: DChartSeries<CHART> | null;\n\tprotected _coordinateX: DChartCoordinate<CHART> | null;\n\tprotected _coordinateY: DChartCoordinate<CHART> | null;\n\tprotected _position: Point;\n\tprotected _point: DChartSelectionPoint;\n\tprotected _work: Point;\n\tprotected _gridline: DChartSelectionGridlineContainer<CHART>;\n\tprotected _marker: DChartSelectionMarker<CHART>;\n\tprotected _state: string;\n\n\tconstructor(options: DChartSelectionSubOptions<CHART>) {\n\t\tsuper();\n\n\t\tthis._container = null;\n\t\tthis._series = null;\n\t\tthis._isEnabled = options.enable ?? true;\n\t\tthis._gridline = new DChartSelectionGridlineContainerImpl(options.gridline);\n\t\tthis._marker = new DChartSelectionMarker(options.marker);\n\t\tthis._state = options.state ?? DBaseState.HOVERED;\n\t\tthis._coordinateX = null;\n\t\tthis._coordinateY = null;\n\t\tthis._position = new Point();\n\t\tthis._point = options.point ?? DChartSelectionPoint.CLOSER;\n\t\tthis._work = new Point();\n\n\t\t// Events\n\t\tconst on = options.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tbind(container: DChartSeriesContainer<CHART>): void {\n\t\tif (this._isEnabled) {\n\t\t\tthis._container = container;\n\t\t\tthis._gridline.bind(container);\n\t\t\tthis._marker.bind(container);\n\t\t}\n\t}\n\n\tunbind(): void {\n\t\tthis._marker.unbind();\n\t\tthis._gridline.unbind();\n\t\tthis._container = null;\n\t\tthis._coordinateX = null;\n\t\tthis._coordinateY = null;\n\t}\n\n\tget series(): DChartSeries<CHART> | null {\n\t\treturn this._series;\n\t}\n\n\tget position(): Point {\n\t\treturn this._position;\n\t}\n\n\tget gridline(): DChartSelectionGridlineContainer<CHART> {\n\t\treturn this._gridline;\n\t}\n\n\tget marker(): DChartSelectionMarker<CHART> {\n\t\treturn this._marker;\n\t}\n\n\tset(\n\t\tseries: DChartSeries<CHART>,\n\t\tresult: DChartSeriesHitResult | DChartSelectionSub<CHART>\n\t): void {\n\t\tconst container = this._container;\n\t\tconst coordinateX = (this._coordinateX = series.coordinate.x);\n\t\tconst coordinateY = (this._coordinateY = series.coordinate.y);\n\t\tif (container && coordinateX && coordinateY) {\n\t\t\tconst transform = container.plotArea.container.localTransform;\n\t\t\tconst position = this._position;\n\t\t\tconst work = this._work;\n\t\t\tif (result instanceof DChartSeriesHitResult) {\n\t\t\t\tlet x = result.x;\n\t\t\t\tlet y = result.y;\n\t\t\t\tswitch (this._point) {\n\t\t\t\t\tcase DChartSelectionPoint.PREVIOUS:\n\t\t\t\t\t\tx = result.p0x;\n\t\t\t\t\t\ty = result.p0y;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase DChartSelectionPoint.NEXT:\n\t\t\t\t\t\tx = result.p1x;\n\t\t\t\t\t\ty = result.p1y;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase DChartSelectionPoint.CLOSER:\n\t\t\t\t\t\tif (Math.abs(result.p0x - result.x) < Math.abs(result.p1x - result.x)) {\n\t\t\t\t\t\t\tx = result.p0x;\n\t\t\t\t\t\t\ty = result.p0y;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tx = result.p1x;\n\t\t\t\t\t\t\ty = result.p1y;\n\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\twork.set(x, y);\n\t\t\t\ttransform.apply(work, work);\n\t\t\t\tposition.set(\n\t\t\t\t\tcoordinateX.unmap(coordinateX.transform.unmap(x)),\n\t\t\t\t\tcoordinateY.unmap(coordinateY.transform.unmap(y))\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tposition.copyFrom(result.position);\n\t\t\t\twork.set(\n\t\t\t\t\tcoordinateX.transform.map(coordinateX.map(position.x)),\n\t\t\t\t\tcoordinateY.transform.map(coordinateY.map(position.y))\n\t\t\t\t);\n\t\t\t\ttransform.apply(work, work);\n\t\t\t}\n\n\t\t\tthis._gridline.set(container, work, series);\n\t\t\tthis._marker.set(container, work, series);\n\n\t\t\tDApplications.update(container.plotArea);\n\t\t}\n\n\t\tconst oldSeries = this._series;\n\t\tif (oldSeries !== series) {\n\t\t\tconst state = this._state;\n\t\t\tif (oldSeries) {\n\t\t\t\toldSeries.state.remove(state);\n\t\t\t}\n\n\t\t\tthis._series = series;\n\t\t\tseries.state.add(state);\n\t\t}\n\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tprotected setStyle(this: unknown, shape: EShape, series: DChartSeries<CHART>): void {\n\t\tconst seriesShape = series.shape;\n\t\tif (seriesShape) {\n\t\t\tshape.stroke.color = seriesShape.stroke.color;\n\t\t}\n\t}\n\n\tunset(): void {\n\t\tconst series = this._series;\n\t\tif (series) {\n\t\t\tthis._series = null;\n\t\t\tthis._coordinateX = null;\n\t\t\tthis._coordinateY = null;\n\n\t\t\tseries.state.remove(this._state);\n\n\t\t\tthis._gridline.unset();\n\t\t\tthis._marker.unset();\n\n\t\t\tthis.emit(\"change\", this);\n\t\t}\n\t}\n\n\tupdate(): void {\n\t\tconst container = this._container;\n\t\tconst coordinateX = this._coordinateX;\n\t\tconst coordinateY = this._coordinateY;\n\t\tif (container && coordinateX && coordinateY) {\n\t\t\tconst position = this._position;\n\t\t\tconst work = this._work;\n\t\t\twork.set(\n\t\t\t\tcoordinateX.transform.map(coordinateX.map(position.x)),\n\t\t\t\tcoordinateY.transform.map(coordinateY.map(position.y))\n\t\t\t);\n\t\t\tcontainer.plotArea.container.localTransform.apply(work, work);\n\n\t\t\tthis._gridline.update(container, work);\n\t\t\tthis._marker.update(container, work);\n\t\t}\n\t}\n}\n"]}