@wavemaker/app-ng-runtime 12.0.0-next.45001 → 12.0.0-next.45005

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 (1480) hide show
  1. app-ng-runtime/build-task/.npmignore +2 -0
  2. app-ng-runtime/build-task/bundles/index.umd.js +341 -344
  3. app-ng-runtime/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +5 -3
  4. app-ng-runtime/build-task/esm2022/advanced/carousel/carousel.build.mjs +1 -1
  5. app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +1 -1
  6. app-ng-runtime/build-task/esm2022/basic/progress/progress-bar/progress-bar.build.mjs +1 -1
  7. app-ng-runtime/build-task/esm2022/containers/accordion/accordion.build.mjs +1 -1
  8. app-ng-runtime/build-task/esm2022/containers/repeat-template.build.mjs +5 -3
  9. app-ng-runtime/build-task/esm2022/containers/tabs/tabs.build.mjs +1 -1
  10. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +1 -1
  11. app-ng-runtime/build-task/esm2022/data/form/form.build.mjs +5 -2
  12. app-ng-runtime/build-task/esm2022/data/list/list.build.mjs +1 -1
  13. app-ng-runtime/build-task/esm2022/data/media-list/media-list.build.mjs +1 -1
  14. app-ng-runtime/build-task/esm2022/data/table/table-column/table-column.build.mjs +1 -1
  15. app-ng-runtime/build-task/esm2022/data/table/table.build.mjs +1 -1
  16. app-ng-runtime/build-task/esm2022/dialogs/partial-dialog/partial-dialog.build.mjs +1 -1
  17. app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +1 -1
  18. app-ng-runtime/build-task/esm2022/navigation/menu/menu.build.mjs +8 -3
  19. app-ng-runtime/build-task/esm2022/navigation/popover/popover.build.mjs +1 -1
  20. app-ng-runtime/build-task/esm2022/page/page-content/page-content.build.mjs +1 -1
  21. app-ng-runtime/build-task/esm2022/page/page.build.mjs +3 -2
  22. app-ng-runtime/build-task/esm2022/public_api.mjs +1 -2
  23. app-ng-runtime/build-task/esm2022/utils/utils.mjs +1 -1
  24. app-ng-runtime/build-task/fesm2022/index.mjs +340 -341
  25. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  26. app-ng-runtime/build-task/public_api.d.ts +0 -1
  27. app-ng-runtime/components/advanced/carousel/.npmignore +2 -0
  28. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +29 -18
  29. app-ng-runtime/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +3 -3
  30. app-ng-runtime/components/advanced/carousel/carousel.directive.d.ts +2 -2
  31. app-ng-runtime/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +15 -9
  32. app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +3 -2
  33. app-ng-runtime/components/advanced/carousel/esm2022/carousel.directive.mjs +12 -7
  34. app-ng-runtime/components/advanced/carousel/esm2022/carousel.module.mjs +2 -2
  35. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +28 -16
  36. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  37. app-ng-runtime/components/advanced/custom/.npmignore +2 -0
  38. app-ng-runtime/components/advanced/custom/bundles/index.umd.js +31 -94
  39. app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +2 -0
  40. app-ng-runtime/components/advanced/custom/custom-widget-container/custom-widget.props.d.ts +1 -0
  41. app-ng-runtime/components/advanced/custom/custom-widget.module.d.ts +4 -5
  42. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +21 -13
  43. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container/custom-widget.props.mjs +5 -2
  44. app-ng-runtime/components/advanced/custom/esm2022/custom-widget.directive.mjs +5 -5
  45. app-ng-runtime/components/advanced/custom/esm2022/custom-widget.module.mjs +2 -9
  46. app-ng-runtime/components/advanced/custom/esm2022/public_api.mjs +1 -2
  47. app-ng-runtime/components/advanced/custom/fesm2022/index.mjs +31 -93
  48. app-ng-runtime/components/advanced/custom/fesm2022/index.mjs.map +1 -1
  49. app-ng-runtime/components/advanced/custom/public_api.d.ts +0 -1
  50. app-ng-runtime/components/advanced/login/.npmignore +2 -0
  51. app-ng-runtime/components/advanced/login/bundles/index.umd.js +19 -13
  52. app-ng-runtime/components/advanced/login/esm2022/login.component.mjs +17 -10
  53. app-ng-runtime/components/advanced/login/esm2022/login.module.mjs +2 -2
  54. app-ng-runtime/components/advanced/login/fesm2022/index.mjs +18 -11
  55. app-ng-runtime/components/advanced/login/fesm2022/index.mjs.map +1 -1
  56. app-ng-runtime/components/advanced/login/login.component.d.ts +2 -2
  57. app-ng-runtime/components/advanced/marquee/.npmignore +2 -0
  58. app-ng-runtime/components/advanced/marquee/bundles/index.umd.js +11 -6
  59. app-ng-runtime/components/advanced/marquee/esm2022/marquee.directive.mjs +12 -7
  60. app-ng-runtime/components/advanced/marquee/esm2022/marquee.module.mjs +2 -2
  61. app-ng-runtime/components/advanced/marquee/fesm2022/index.mjs +13 -8
  62. app-ng-runtime/components/advanced/marquee/fesm2022/index.mjs.map +1 -1
  63. app-ng-runtime/components/advanced/marquee/marquee.directive.d.ts +2 -2
  64. app-ng-runtime/components/base/.npmignore +2 -0
  65. app-ng-runtime/components/base/bundles/index.umd.js +400 -312
  66. app-ng-runtime/components/base/directives/show-in-device.directive.d.ts +3 -6
  67. app-ng-runtime/components/base/esm2022/components.module.mjs +2 -2
  68. app-ng-runtime/components/base/esm2022/directives/show-in-device.directive.mjs +13 -15
  69. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +35 -34
  70. app-ng-runtime/components/base/esm2022/pipes/image.pipe.mjs +2 -2
  71. app-ng-runtime/components/base/esm2022/pipes/sanitize.pipe.mjs +3 -3
  72. app-ng-runtime/components/base/esm2022/pipes/trust-as.pipe.mjs +3 -3
  73. app-ng-runtime/components/base/esm2022/pipes/wm-pipe.mjs +3 -2
  74. app-ng-runtime/components/base/esm2022/public_api.mjs +2 -1
  75. app-ng-runtime/components/base/esm2022/utils/data-utils.mjs +30 -29
  76. app-ng-runtime/components/base/esm2022/utils/form-utils.mjs +48 -42
  77. app-ng-runtime/components/base/esm2022/utils/live-utils.mjs +8 -7
  78. app-ng-runtime/components/base/esm2022/utils/widget-utils.mjs +28 -27
  79. app-ng-runtime/components/base/esm2022/widgets/common/base/base-container.component.mjs +8 -7
  80. app-ng-runtime/components/base/esm2022/widgets/common/base/base-field-validations.mjs +23 -22
  81. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +63 -42
  82. app-ng-runtime/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +4 -4
  83. app-ng-runtime/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +52 -18
  84. app-ng-runtime/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +6 -5
  85. app-ng-runtime/components/base/esm2022/widgets/common/base/stylable.component.mjs +3 -3
  86. app-ng-runtime/components/base/esm2022/widgets/common/base/text-content.directive.mjs +3 -3
  87. app-ng-runtime/components/base/esm2022/widgets/common/container/container.directive.mjs +12 -7
  88. app-ng-runtime/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +5 -4
  89. app-ng-runtime/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +12 -7
  90. app-ng-runtime/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +14 -7
  91. app-ng-runtime/components/base/esm2022/widgets/common/message/message.component.mjs +16 -10
  92. app-ng-runtime/components/base/esm2022/widgets/common/partial/partial.directive.mjs +14 -8
  93. app-ng-runtime/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +9 -8
  94. app-ng-runtime/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +1 -1
  95. app-ng-runtime/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +4 -4
  96. app-ng-runtime/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +15 -9
  97. app-ng-runtime/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +11 -10
  98. app-ng-runtime/components/base/esm2022/widgets/framework/deviceview.mjs +1 -1
  99. app-ng-runtime/components/base/esm2022/widgets/framework/property-change-handler.mjs +3 -2
  100. app-ng-runtime/components/base/esm2022/widgets/framework/styler.mjs +1 -1
  101. app-ng-runtime/components/base/esm2022/widgets/framework/widget-props.mjs +1 -1
  102. app-ng-runtime/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +4 -3
  103. app-ng-runtime/components/base/esm2022/widgets/framework/widget-registry.mjs +1 -1
  104. app-ng-runtime/components/base/fesm2022/index.mjs +405 -315
  105. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  106. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
  107. app-ng-runtime/components/base/public_api.d.ts +1 -0
  108. app-ng-runtime/components/base/utils/data-utils.d.ts +1 -0
  109. app-ng-runtime/components/base/utils/widget-utils.d.ts +2 -2
  110. app-ng-runtime/components/base/widgets/common/base/base-container.component.d.ts +1 -1
  111. app-ng-runtime/components/base/widgets/common/base/base-field-validations.d.ts +1 -1
  112. app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +22 -4
  113. app-ng-runtime/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +1 -1
  114. app-ng-runtime/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
  115. app-ng-runtime/components/base/widgets/common/container/container.directive.d.ts +2 -2
  116. app-ng-runtime/components/base/widgets/common/item-template/item-template.directive.d.ts +2 -2
  117. app-ng-runtime/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +2 -2
  118. app-ng-runtime/components/base/widgets/common/message/message.component.d.ts +2 -2
  119. app-ng-runtime/components/base/widgets/common/partial/partial.directive.d.ts +2 -2
  120. app-ng-runtime/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +3 -3
  121. app-ng-runtime/components/basic/default/.npmignore +2 -0
  122. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +2 -2
  123. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +2 -2
  124. app-ng-runtime/components/basic/default/bundles/index.umd.js +158 -115
  125. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +31 -27
  126. app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +13 -7
  127. app-ng-runtime/components/basic/default/esm2022/basic.module.mjs +2 -2
  128. app-ng-runtime/components/basic/default/esm2022/html/html.directive.mjs +13 -8
  129. app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +19 -14
  130. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +15 -9
  131. app-ng-runtime/components/basic/default/esm2022/label/label.directive.mjs +15 -9
  132. app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +12 -7
  133. app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +1 -1
  134. app-ng-runtime/components/basic/default/esm2022/spinner/spinner.component.mjs +34 -30
  135. app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +21 -17
  136. app-ng-runtime/components/basic/default/fesm2022/index.mjs +157 -113
  137. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  138. app-ng-runtime/components/basic/default/html/html.directive.d.ts +2 -2
  139. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +2 -2
  140. app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +2 -2
  141. app-ng-runtime/components/basic/default/label/label.directive.d.ts +2 -2
  142. app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -2
  143. app-ng-runtime/components/basic/default/spinner/spinner.component.d.ts +2 -2
  144. app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -2
  145. app-ng-runtime/components/basic/progress/.npmignore +2 -0
  146. app-ng-runtime/components/basic/progress/bundles/index.umd.js +40 -28
  147. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +22 -15
  148. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +17 -10
  149. app-ng-runtime/components/basic/progress/esm2022/progress.module.mjs +2 -2
  150. app-ng-runtime/components/basic/progress/esm2022/utils.mjs +3 -3
  151. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +39 -26
  152. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  153. app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -2
  154. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -2
  155. app-ng-runtime/components/basic/rich-text-editor/.npmignore +2 -0
  156. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +19 -13
  157. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +17 -10
  158. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.module.mjs +2 -2
  159. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +18 -11
  160. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  161. app-ng-runtime/components/basic/rich-text-editor/rich-text-editor.component.d.ts +2 -2
  162. app-ng-runtime/components/basic/search/.npmignore +2 -0
  163. app-ng-runtime/components/basic/search/bundles/index.umd.js +186 -175
  164. app-ng-runtime/components/basic/search/esm2022/data-provider/data-provider.mjs +1 -1
  165. app-ng-runtime/components/basic/search/esm2022/data-provider/local-data-provider.mjs +26 -23
  166. app-ng-runtime/components/basic/search/esm2022/data-provider/remote-data-provider.mjs +12 -11
  167. app-ng-runtime/components/basic/search/esm2022/scrollable.directive.mjs +3 -3
  168. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +148 -138
  169. app-ng-runtime/components/basic/search/esm2022/search.module.mjs +2 -2
  170. app-ng-runtime/components/basic/search/fesm2022/index.mjs +186 -174
  171. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  172. app-ng-runtime/components/basic/search/search.component.d.ts +2 -2
  173. app-ng-runtime/components/basic/tree/.npmignore +2 -0
  174. app-ng-runtime/components/basic/tree/bundles/index.umd.js +23 -17
  175. app-ng-runtime/components/basic/tree/esm2022/tree.component.mjs +21 -14
  176. app-ng-runtime/components/basic/tree/esm2022/tree.module.mjs +2 -2
  177. app-ng-runtime/components/basic/tree/fesm2022/index.mjs +22 -15
  178. app-ng-runtime/components/basic/tree/fesm2022/index.mjs.map +1 -1
  179. app-ng-runtime/components/basic/tree/tree.component.d.ts +2 -2
  180. app-ng-runtime/components/chart/.npmignore +2 -0
  181. app-ng-runtime/components/chart/bundles/index.umd.js +97 -84
  182. app-ng-runtime/components/chart/chart.component.d.ts +3 -3
  183. app-ng-runtime/components/chart/chart.utils.d.ts +3 -3
  184. app-ng-runtime/components/chart/esm2022/chart.component.mjs +82 -68
  185. app-ng-runtime/components/chart/esm2022/chart.module.mjs +2 -2
  186. app-ng-runtime/components/chart/esm2022/chart.utils.mjs +14 -13
  187. app-ng-runtime/components/chart/fesm2022/index.mjs +95 -81
  188. app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
  189. app-ng-runtime/components/containers/accordion/.npmignore +2 -0
  190. app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -2
  191. app-ng-runtime/components/containers/accordion/accordion.directive.d.ts +2 -2
  192. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +51 -40
  193. app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +23 -17
  194. app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.props.mjs +4 -4
  195. app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +25 -19
  196. app-ng-runtime/components/containers/accordion/esm2022/accordion.module.mjs +2 -2
  197. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +50 -38
  198. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  199. app-ng-runtime/components/containers/layout-grid/.npmignore +2 -0
  200. app-ng-runtime/components/containers/layout-grid/bundles/index.umd.js +32 -17
  201. app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +13 -8
  202. app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +12 -7
  203. app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +12 -7
  204. app-ng-runtime/components/containers/layout-grid/esm2022/layout-grid.module.mjs +2 -2
  205. app-ng-runtime/components/containers/layout-grid/fesm2022/index.mjs +34 -19
  206. app-ng-runtime/components/containers/layout-grid/fesm2022/index.mjs.map +1 -1
  207. app-ng-runtime/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +2 -2
  208. app-ng-runtime/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +2 -2
  209. app-ng-runtime/components/containers/layout-grid/layout-grid.directive.d.ts +2 -2
  210. app-ng-runtime/components/containers/linear-layout/.npmignore +2 -0
  211. app-ng-runtime/components/containers/linear-layout/bundles/index.umd.js +21 -11
  212. app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +12 -7
  213. app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +12 -7
  214. app-ng-runtime/components/containers/linear-layout/esm2022/linear-layout.module.mjs +2 -2
  215. app-ng-runtime/components/containers/linear-layout/fesm2022/index.mjs +23 -13
  216. app-ng-runtime/components/containers/linear-layout/fesm2022/index.mjs.map +1 -1
  217. app-ng-runtime/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +2 -2
  218. app-ng-runtime/components/containers/linear-layout/linear-layout.directive.d.ts +2 -2
  219. app-ng-runtime/components/containers/panel/.npmignore +2 -0
  220. app-ng-runtime/components/containers/panel/bundles/index.umd.js +85 -85
  221. app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +83 -82
  222. app-ng-runtime/components/containers/panel/esm2022/panel.module.mjs +2 -2
  223. app-ng-runtime/components/containers/panel/fesm2022/index.mjs +84 -83
  224. app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
  225. app-ng-runtime/components/containers/panel/panel.component.d.ts +3 -3
  226. app-ng-runtime/components/containers/tabs/.npmignore +2 -0
  227. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +74 -63
  228. app-ng-runtime/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +14 -8
  229. app-ng-runtime/components/containers/tabs/esm2022/tab-pane/tab-pane.props.mjs +4 -4
  230. app-ng-runtime/components/containers/tabs/esm2022/tabs.animator.mjs +1 -1
  231. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +57 -51
  232. app-ng-runtime/components/containers/tabs/esm2022/tabs.module.mjs +2 -2
  233. app-ng-runtime/components/containers/tabs/esm2022/tabs.props.mjs +1 -1
  234. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +73 -61
  235. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  236. app-ng-runtime/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -2
  237. app-ng-runtime/components/containers/tabs/tabs.component.d.ts +2 -2
  238. app-ng-runtime/components/containers/tile/.npmignore +2 -0
  239. app-ng-runtime/components/containers/tile/bundles/index.umd.js +11 -6
  240. app-ng-runtime/components/containers/tile/esm2022/tile.directive.mjs +12 -7
  241. app-ng-runtime/components/containers/tile/esm2022/tile.module.mjs +2 -2
  242. app-ng-runtime/components/containers/tile/fesm2022/index.mjs +13 -8
  243. app-ng-runtime/components/containers/tile/fesm2022/index.mjs.map +1 -1
  244. app-ng-runtime/components/containers/tile/tile.directive.d.ts +2 -2
  245. app-ng-runtime/components/containers/wizard/.npmignore +2 -0
  246. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +102 -98
  247. app-ng-runtime/components/containers/wizard/esm2022/wizard-step/wizard-step.directive.mjs +13 -8
  248. app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +92 -93
  249. app-ng-runtime/components/containers/wizard/esm2022/wizard.module.mjs +2 -2
  250. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +104 -100
  251. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  252. app-ng-runtime/components/containers/wizard/wizard-step/wizard-step.directive.d.ts +2 -2
  253. app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -2
  254. app-ng-runtime/components/data/card/.npmignore +2 -0
  255. app-ng-runtime/components/data/card/bundles/index.umd.js +70 -50
  256. app-ng-runtime/components/data/card/card-actions/card-actions.directive.d.ts +2 -2
  257. app-ng-runtime/components/data/card/card-content/card-content.component.d.ts +2 -2
  258. app-ng-runtime/components/data/card/card-footer/card-footer.directive.d.ts +2 -2
  259. app-ng-runtime/components/data/card/card.component.d.ts +2 -2
  260. app-ng-runtime/components/data/card/esm2022/card-actions/card-actions.directive.mjs +12 -7
  261. app-ng-runtime/components/data/card/esm2022/card-content/card-content.component.mjs +15 -9
  262. app-ng-runtime/components/data/card/esm2022/card-footer/card-footer.directive.mjs +12 -7
  263. app-ng-runtime/components/data/card/esm2022/card.component.mjs +38 -34
  264. app-ng-runtime/components/data/card/esm2022/card.module.mjs +2 -2
  265. app-ng-runtime/components/data/card/fesm2022/index.mjs +72 -52
  266. app-ng-runtime/components/data/card/fesm2022/index.mjs.map +1 -1
  267. app-ng-runtime/components/data/form/.npmignore +2 -0
  268. app-ng-runtime/components/data/form/bundles/index.umd.js +197 -184
  269. app-ng-runtime/components/data/form/esm2022/form-action/form-action.directive.mjs +15 -9
  270. app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +21 -15
  271. app-ng-runtime/components/data/form/esm2022/form-field/form-field.props.mjs +1 -1
  272. app-ng-runtime/components/data/form/esm2022/form-widget.directive.mjs +4 -4
  273. app-ng-runtime/components/data/form/esm2022/form.component.mjs +138 -134
  274. app-ng-runtime/components/data/form/esm2022/form.module.mjs +2 -2
  275. app-ng-runtime/components/data/form/esm2022/form.props.mjs +1 -1
  276. app-ng-runtime/components/data/form/esm2022/live-actions/dependson.directive.mjs +4 -4
  277. app-ng-runtime/components/data/form/esm2022/live-actions/live-actions.directive.mjs +4 -4
  278. app-ng-runtime/components/data/form/esm2022/live-filter/live-filter.directive.mjs +7 -6
  279. app-ng-runtime/components/data/form/esm2022/live-form/live-form.directive.mjs +14 -13
  280. app-ng-runtime/components/data/form/fesm2022/index.mjs +201 -187
  281. app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
  282. app-ng-runtime/components/data/form/form-action/form-action.directive.d.ts +2 -2
  283. app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +2 -2
  284. app-ng-runtime/components/data/form/form.component.d.ts +4 -4
  285. app-ng-runtime/components/data/form/live-form/live-form.directive.d.ts +1 -1
  286. app-ng-runtime/components/data/list/.npmignore +2 -0
  287. app-ng-runtime/components/data/list/bundles/index.umd.js +829 -818
  288. app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +9 -4
  289. app-ng-runtime/components/data/list/esm2022/list.animator.mjs +5 -3
  290. app-ng-runtime/components/data/list/esm2022/list.component.mjs +817 -810
  291. app-ng-runtime/components/data/list/esm2022/list.module.mjs +2 -2
  292. app-ng-runtime/components/data/list/fesm2022/index.mjs +828 -816
  293. app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
  294. app-ng-runtime/components/data/list/list-item.directive.d.ts +4 -0
  295. app-ng-runtime/components/data/list/list.component.d.ts +55 -54
  296. app-ng-runtime/components/data/live-table/.npmignore +2 -0
  297. app-ng-runtime/components/data/live-table/bundles/index.umd.js +13 -7
  298. app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +14 -8
  299. app-ng-runtime/components/data/live-table/esm2022/live-table.module.mjs +2 -2
  300. app-ng-runtime/components/data/live-table/fesm2022/index.mjs +15 -9
  301. app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
  302. app-ng-runtime/components/data/live-table/live-table.component.d.ts +2 -2
  303. app-ng-runtime/components/data/pagination/.npmignore +2 -0
  304. app-ng-runtime/components/data/pagination/bundles/index.umd.js +113 -110
  305. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +111 -107
  306. app-ng-runtime/components/data/pagination/esm2022/pagination.module.mjs +2 -2
  307. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +112 -108
  308. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  309. app-ng-runtime/components/data/pagination/pagination.component.d.ts +2 -2
  310. app-ng-runtime/components/data/table/.npmignore +2 -0
  311. app-ng-runtime/components/data/table/bundles/index.umd.js +314 -269
  312. app-ng-runtime/components/data/table/esm2022/table-action/table-action.directive.mjs +15 -9
  313. app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +40 -25
  314. app-ng-runtime/components/data/table/esm2022/table-column/table-column.props.mjs +2 -2
  315. app-ng-runtime/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +13 -8
  316. app-ng-runtime/components/data/table/esm2022/table-cud.directive.mjs +10 -9
  317. app-ng-runtime/components/data/table/esm2022/table-filter.directive.mjs +56 -58
  318. app-ng-runtime/components/data/table/esm2022/table-row/table-row.directive.mjs +13 -8
  319. app-ng-runtime/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +14 -8
  320. app-ng-runtime/components/data/table/esm2022/table.component.mjs +165 -150
  321. app-ng-runtime/components/data/table/esm2022/table.module.mjs +2 -2
  322. app-ng-runtime/components/data/table/esm2022/table.props.mjs +2 -2
  323. app-ng-runtime/components/data/table/fesm2022/index.mjs +313 -267
  324. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  325. app-ng-runtime/components/data/table/table-action/table-action.directive.d.ts +2 -2
  326. app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +8 -8
  327. app-ng-runtime/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -2
  328. app-ng-runtime/components/data/table/table-row/table-row.directive.d.ts +2 -2
  329. app-ng-runtime/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -2
  330. app-ng-runtime/components/data/table/table.component.d.ts +4 -4
  331. app-ng-runtime/components/dialogs/alert-dialog/.npmignore +2 -0
  332. app-ng-runtime/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -2
  333. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +15 -9
  334. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +16 -10
  335. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.module.mjs +2 -2
  336. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +17 -11
  337. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  338. app-ng-runtime/components/dialogs/confirm-dialog/.npmignore +2 -0
  339. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +17 -11
  340. app-ng-runtime/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -2
  341. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +18 -12
  342. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.module.mjs +2 -2
  343. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +19 -13
  344. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  345. app-ng-runtime/components/dialogs/default/.npmignore +2 -0
  346. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +2 -2
  347. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +75 -71
  348. app-ng-runtime/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +2 -2
  349. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +14 -9
  350. app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +4 -4
  351. app-ng-runtime/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +12 -7
  352. app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +49 -55
  353. app-ng-runtime/components/dialogs/default/esm2022/dialog.module.mjs +2 -2
  354. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +76 -72
  355. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  356. app-ng-runtime/components/dialogs/design-dialog/.npmignore +2 -0
  357. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +20 -14
  358. app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +2 -2
  359. app-ng-runtime/components/dialogs/design-dialog/esm2022/design-dialog.module.mjs +2 -2
  360. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +21 -15
  361. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +22 -16
  362. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  363. app-ng-runtime/components/dialogs/iframe-dialog/.npmignore +2 -0
  364. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +20 -14
  365. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +21 -15
  366. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.module.mjs +2 -2
  367. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +22 -16
  368. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  369. app-ng-runtime/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -2
  370. app-ng-runtime/components/dialogs/login-dialog/.npmignore +2 -0
  371. app-ng-runtime/components/dialogs/login-dialog/bundles/index.umd.js +4 -4
  372. app-ng-runtime/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +4 -4
  373. app-ng-runtime/components/dialogs/login-dialog/esm2022/login-dialog.module.mjs +2 -2
  374. app-ng-runtime/components/dialogs/login-dialog/fesm2022/index.mjs +4 -4
  375. app-ng-runtime/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -1
  376. app-ng-runtime/components/dialogs/partial-dialog/.npmignore +2 -0
  377. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +16 -10
  378. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +17 -11
  379. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.module.mjs +2 -2
  380. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +18 -12
  381. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  382. app-ng-runtime/components/dialogs/partial-dialog/partial-dialog.component.d.ts +2 -2
  383. app-ng-runtime/components/input/calendar/.npmignore +2 -0
  384. app-ng-runtime/components/input/calendar/bundles/index.umd.js +46 -38
  385. app-ng-runtime/components/input/calendar/calendar.component.d.ts +2 -2
  386. app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +44 -35
  387. app-ng-runtime/components/input/calendar/esm2022/calendar.module.mjs +2 -2
  388. app-ng-runtime/components/input/calendar/fesm2022/index.mjs +45 -36
  389. app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
  390. app-ng-runtime/components/input/chips/.npmignore +2 -0
  391. app-ng-runtime/components/input/chips/bundles/index.umd.js +69 -61
  392. app-ng-runtime/components/input/chips/chips.component.d.ts +3 -3
  393. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +67 -58
  394. app-ng-runtime/components/input/chips/esm2022/chips.module.mjs +2 -2
  395. app-ng-runtime/components/input/chips/fesm2022/index.mjs +67 -58
  396. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  397. app-ng-runtime/components/input/color-picker/.npmignore +2 -0
  398. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +25 -12
  399. app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +2 -2
  400. app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +26 -13
  401. app-ng-runtime/components/input/color-picker/esm2022/color-picker.module.mjs +2 -2
  402. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +26 -13
  403. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  404. app-ng-runtime/components/input/currency/.npmignore +2 -0
  405. app-ng-runtime/components/input/currency/bundles/index.umd.js +18 -11
  406. app-ng-runtime/components/input/currency/currency.component.d.ts +2 -2
  407. app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +19 -12
  408. app-ng-runtime/components/input/currency/esm2022/currency.module.mjs +2 -2
  409. app-ng-runtime/components/input/currency/fesm2022/index.mjs +19 -12
  410. app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
  411. app-ng-runtime/components/input/default/.npmignore +2 -0
  412. app-ng-runtime/components/input/default/base-form.component.d.ts +3 -3
  413. app-ng-runtime/components/input/default/bundles/index.umd.js +583 -450
  414. app-ng-runtime/components/input/default/button/button.component.d.ts +2 -2
  415. app-ng-runtime/components/input/default/button-group/button-group.directive.d.ts +2 -2
  416. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +3 -2
  417. app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +2 -2
  418. app-ng-runtime/components/input/default/composite/composite.directive.d.ts +2 -2
  419. app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +4 -4
  420. app-ng-runtime/components/input/default/esm2022/base-form-custom.component.mjs +3 -3
  421. app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +17 -11
  422. app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +32 -28
  423. app-ng-runtime/components/input/default/esm2022/button-group/button-group.directive.mjs +12 -7
  424. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +5 -4
  425. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +27 -17
  426. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +107 -103
  427. app-ng-runtime/components/input/default/esm2022/composite/composite.directive.mjs +12 -7
  428. app-ng-runtime/components/input/default/esm2022/dataset-aware-form.component.mjs +32 -26
  429. app-ng-runtime/components/input/default/esm2022/input.module.mjs +2 -2
  430. app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +17 -10
  431. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +105 -102
  432. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +43 -32
  433. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +38 -31
  434. app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +18 -11
  435. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +23 -12
  436. app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +23 -12
  437. app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +20 -11
  438. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +35 -24
  439. app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +21 -12
  440. app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +20 -11
  441. app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +21 -12
  442. app-ng-runtime/components/input/default/fesm2022/index.mjs +586 -451
  443. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  444. app-ng-runtime/components/input/default/number/number.component.d.ts +2 -2
  445. app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +2 -2
  446. app-ng-runtime/components/input/default/select/select.component.d.ts +2 -2
  447. app-ng-runtime/components/input/default/switch/switch.component.d.ts +2 -2
  448. app-ng-runtime/components/input/default/text/base/base-input.d.ts +3 -2
  449. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -2
  450. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -2
  451. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -2
  452. app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -1
  453. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -2
  454. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -2
  455. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -2
  456. app-ng-runtime/components/input/epoch/.npmignore +2 -0
  457. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +2 -2
  458. app-ng-runtime/components/input/epoch/bundles/index.umd.js +200 -163
  459. app-ng-runtime/components/input/epoch/date/date.component.d.ts +2 -2
  460. app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -2
  461. app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +44 -36
  462. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +29 -21
  463. app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -2
  464. app-ng-runtime/components/input/epoch/esm2022/date/imaskUtil.mjs +1 -1
  465. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +42 -41
  466. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +49 -37
  467. app-ng-runtime/components/input/epoch/esm2022/epoch.module.mjs +2 -2
  468. app-ng-runtime/components/input/epoch/esm2022/picker/picker.component.mjs +7 -5
  469. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +35 -24
  470. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +197 -159
  471. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  472. app-ng-runtime/components/input/epoch/time/time.component.d.ts +2 -2
  473. app-ng-runtime/components/input/file-upload/.npmignore +2 -0
  474. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +133 -135
  475. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +131 -132
  476. app-ng-runtime/components/input/file-upload/esm2022/file-upload.module.mjs +2 -2
  477. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +132 -133
  478. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  479. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +2 -2
  480. app-ng-runtime/components/input/rating/.npmignore +2 -0
  481. app-ng-runtime/components/input/rating/bundles/index.umd.js +60 -51
  482. app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +58 -48
  483. app-ng-runtime/components/input/rating/esm2022/rating.module.mjs +2 -2
  484. app-ng-runtime/components/input/rating/fesm2022/index.mjs +58 -48
  485. app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
  486. app-ng-runtime/components/input/rating/rating.component.d.ts +2 -2
  487. app-ng-runtime/components/input/slider/.npmignore +2 -0
  488. app-ng-runtime/components/input/slider/bundles/index.umd.js +23 -13
  489. app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +24 -14
  490. app-ng-runtime/components/input/slider/esm2022/slider.module.mjs +2 -2
  491. app-ng-runtime/components/input/slider/fesm2022/index.mjs +24 -14
  492. app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
  493. app-ng-runtime/components/input/slider/slider.component.d.ts +2 -2
  494. app-ng-runtime/components/navigation/breadcrumb/.npmignore +2 -0
  495. app-ng-runtime/components/navigation/breadcrumb/breadcrumb.component.d.ts +2 -2
  496. app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +33 -28
  497. app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +34 -29
  498. app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.module.mjs +2 -2
  499. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +35 -30
  500. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  501. app-ng-runtime/components/navigation/menu/.npmignore +2 -0
  502. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +160 -145
  503. app-ng-runtime/components/navigation/menu/esm2022/menu-adapator.component.mjs +13 -7
  504. app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +5 -4
  505. app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +27 -26
  506. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +44 -40
  507. app-ng-runtime/components/navigation/menu/esm2022/menu.module.mjs +4 -3
  508. app-ng-runtime/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +14 -8
  509. app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +63 -63
  510. app-ng-runtime/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +3 -3
  511. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +160 -144
  512. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  513. app-ng-runtime/components/navigation/menu/menu-adapator.component.d.ts +1 -1
  514. app-ng-runtime/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +12 -1
  515. app-ng-runtime/components/navigation/menu/menu.component.d.ts +2 -2
  516. app-ng-runtime/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +3 -3
  517. app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +3 -4
  518. app-ng-runtime/components/navigation/navbar/.npmignore +2 -0
  519. app-ng-runtime/components/navigation/navbar/bundles/index.umd.js +29 -22
  520. app-ng-runtime/components/navigation/navbar/esm2022/navbar.component.mjs +30 -23
  521. app-ng-runtime/components/navigation/navbar/esm2022/navbar.module.mjs +2 -2
  522. app-ng-runtime/components/navigation/navbar/fesm2022/index.mjs +31 -24
  523. app-ng-runtime/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  524. app-ng-runtime/components/navigation/navbar/navbar.component.d.ts +2 -2
  525. app-ng-runtime/components/navigation/popover/.npmignore +2 -0
  526. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +18 -11
  527. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +19 -12
  528. app-ng-runtime/components/navigation/popover/esm2022/popover.module.mjs +2 -2
  529. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +20 -13
  530. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  531. app-ng-runtime/components/navigation/popover/popover.component.d.ts +2 -2
  532. app-ng-runtime/components/page/default/.npmignore +2 -0
  533. app-ng-runtime/components/page/default/bundles/index.umd.js +63 -31
  534. app-ng-runtime/components/page/default/content/content.component.d.ts +2 -2
  535. app-ng-runtime/components/page/default/esm2022/content/content.component.mjs +13 -7
  536. app-ng-runtime/components/page/default/esm2022/layout.directive.mjs +12 -7
  537. app-ng-runtime/components/page/default/esm2022/page-content/page-content.component.mjs +13 -7
  538. app-ng-runtime/components/page/default/esm2022/page.directive.mjs +12 -7
  539. app-ng-runtime/components/page/default/esm2022/page.module.mjs +2 -2
  540. app-ng-runtime/components/page/default/esm2022/router-outlet.directive.mjs +12 -7
  541. app-ng-runtime/components/page/default/esm2022/spa-page.directive.mjs +12 -7
  542. app-ng-runtime/components/page/default/fesm2022/index.mjs +65 -33
  543. app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
  544. app-ng-runtime/components/page/default/layout.directive.d.ts +2 -2
  545. app-ng-runtime/components/page/default/page-content/page-content.component.d.ts +2 -2
  546. app-ng-runtime/components/page/default/page.directive.d.ts +2 -2
  547. app-ng-runtime/components/page/default/router-outlet.directive.d.ts +2 -2
  548. app-ng-runtime/components/page/default/spa-page.directive.d.ts +2 -2
  549. app-ng-runtime/components/page/footer/.npmignore +2 -0
  550. app-ng-runtime/components/page/footer/bundles/index.umd.js +11 -6
  551. app-ng-runtime/components/page/footer/esm2022/footer.directive.mjs +12 -7
  552. app-ng-runtime/components/page/footer/esm2022/footer.module.mjs +2 -2
  553. app-ng-runtime/components/page/footer/fesm2022/index.mjs +13 -8
  554. app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
  555. app-ng-runtime/components/page/footer/footer.directive.d.ts +2 -2
  556. app-ng-runtime/components/page/header/.npmignore +2 -0
  557. app-ng-runtime/components/page/header/bundles/index.umd.js +12 -6
  558. app-ng-runtime/components/page/header/esm2022/header.component.mjs +13 -7
  559. app-ng-runtime/components/page/header/esm2022/header.module.mjs +2 -2
  560. app-ng-runtime/components/page/header/fesm2022/index.mjs +14 -8
  561. app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
  562. app-ng-runtime/components/page/header/header.component.d.ts +2 -2
  563. app-ng-runtime/components/page/left-panel/.npmignore +2 -0
  564. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +12 -7
  565. app-ng-runtime/components/page/left-panel/esm2022/left-panel.animator.mjs +1 -1
  566. app-ng-runtime/components/page/left-panel/esm2022/left-panel.directive.mjs +13 -8
  567. app-ng-runtime/components/page/left-panel/esm2022/left-panel.module.mjs +2 -2
  568. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +14 -9
  569. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  570. app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +2 -2
  571. app-ng-runtime/components/page/right-panel/.npmignore +2 -0
  572. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +11 -6
  573. app-ng-runtime/components/page/right-panel/esm2022/right-panel.directive.mjs +12 -7
  574. app-ng-runtime/components/page/right-panel/esm2022/right-panel.module.mjs +2 -2
  575. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +13 -8
  576. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  577. app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -2
  578. app-ng-runtime/components/page/top-nav/.npmignore +2 -0
  579. app-ng-runtime/components/page/top-nav/bundles/index.umd.js +11 -6
  580. app-ng-runtime/components/page/top-nav/esm2022/top-nav.directive.mjs +12 -7
  581. app-ng-runtime/components/page/top-nav/esm2022/top-nav.module.mjs +2 -2
  582. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +13 -8
  583. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  584. app-ng-runtime/components/page/top-nav/top-nav.directive.d.ts +2 -2
  585. app-ng-runtime/components/prefab/.npmignore +2 -0
  586. app-ng-runtime/components/prefab/bundles/index.umd.js +28 -18
  587. app-ng-runtime/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +14 -8
  588. app-ng-runtime/components/prefab/esm2022/prefab.directive.mjs +15 -9
  589. app-ng-runtime/components/prefab/esm2022/prefab.module.mjs +2 -2
  590. app-ng-runtime/components/prefab/fesm2022/index.mjs +26 -15
  591. app-ng-runtime/components/prefab/fesm2022/index.mjs.map +1 -1
  592. app-ng-runtime/components/prefab/prefab-container/prefab-container.directive.d.ts +2 -2
  593. app-ng-runtime/components/prefab/prefab.directive.d.ts +2 -2
  594. app-ng-runtime/core/.npmignore +2 -0
  595. app-ng-runtime/core/bundles/index.umd.js +158 -146
  596. app-ng-runtime/core/esm2022/core.module.mjs +2 -2
  597. app-ng-runtime/core/esm2022/public_api.mjs +3 -2
  598. app-ng-runtime/core/esm2022/services/constant.service.mjs +2 -2
  599. app-ng-runtime/core/esm2022/services/custom-icons-loader.service.mjs +26 -0
  600. app-ng-runtime/core/esm2022/services/field-type.service.mjs +5 -4
  601. app-ng-runtime/core/esm2022/services/field-widget.service.mjs +5 -4
  602. app-ng-runtime/core/esm2022/services/pagination.service.mjs +8 -7
  603. app-ng-runtime/core/esm2022/services/script-loader.service.mjs +3 -3
  604. app-ng-runtime/core/esm2022/services/state-persistence.service.mjs +18 -17
  605. app-ng-runtime/core/esm2022/services/user-custom-pipe-manager.service.mjs +2 -2
  606. app-ng-runtime/core/esm2022/services/utils.service.mjs +5 -4
  607. app-ng-runtime/core/esm2022/services/viewport.service.mjs +5 -4
  608. app-ng-runtime/core/esm2022/utils/build-utils.mjs +5 -4
  609. app-ng-runtime/core/esm2022/utils/dom.mjs +1 -1
  610. app-ng-runtime/core/esm2022/utils/event-notifier.mjs +1 -1
  611. app-ng-runtime/core/esm2022/utils/expression-parser.mjs +6 -5
  612. app-ng-runtime/core/esm2022/utils/id-generator.mjs +1 -1
  613. app-ng-runtime/core/esm2022/utils/lru-cache.mjs +3 -2
  614. app-ng-runtime/core/esm2022/utils/utils.mjs +79 -82
  615. app-ng-runtime/core/esm2022/utils/watcher.mjs +9 -7
  616. app-ng-runtime/core/esm2022/utils/wm-project-properties.mjs +1 -1
  617. app-ng-runtime/core/fesm2022/index.mjs +158 -142
  618. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  619. app-ng-runtime/core/public_api.d.ts +2 -1
  620. app-ng-runtime/core/services/custom-icons-loader.service.d.ts +7 -0
  621. app-ng-runtime/core/services/pagination.service.d.ts +1 -1
  622. app-ng-runtime/core/utils/utils.d.ts +5 -9
  623. app-ng-runtime/http/.npmignore +2 -0
  624. app-ng-runtime/http/bundles/index.umd.js +10 -10
  625. app-ng-runtime/http/esm2022/http-service.module.mjs +2 -2
  626. app-ng-runtime/http/esm2022/http.service.mjs +7 -6
  627. app-ng-runtime/http/esm2022/wm-http-request.mjs +1 -1
  628. app-ng-runtime/http/esm2022/wm-http-response.mjs +1 -1
  629. app-ng-runtime/http/fesm2022/index.mjs +7 -6
  630. app-ng-runtime/http/fesm2022/index.mjs.map +1 -1
  631. app-ng-runtime/locales/angular/global/af-na.js +4 -4
  632. app-ng-runtime/locales/angular/global/af.js +4 -4
  633. app-ng-runtime/locales/angular/global/agq.js +4 -4
  634. app-ng-runtime/locales/angular/global/ak.js +4 -4
  635. app-ng-runtime/locales/angular/global/am.js +4 -4
  636. app-ng-runtime/locales/angular/global/ar-ae.js +4 -4
  637. app-ng-runtime/locales/angular/global/ar-bh.js +4 -4
  638. app-ng-runtime/locales/angular/global/ar-dj.js +4 -4
  639. app-ng-runtime/locales/angular/global/ar-dz.js +4 -4
  640. app-ng-runtime/locales/angular/global/ar-eg.js +4 -4
  641. app-ng-runtime/locales/angular/global/ar-eh.js +4 -4
  642. app-ng-runtime/locales/angular/global/ar-er.js +4 -4
  643. app-ng-runtime/locales/angular/global/ar-il.js +4 -4
  644. app-ng-runtime/locales/angular/global/ar-iq.js +4 -4
  645. app-ng-runtime/locales/angular/global/ar-jo.js +4 -4
  646. app-ng-runtime/locales/angular/global/ar-km.js +4 -4
  647. app-ng-runtime/locales/angular/global/ar-kw.js +4 -4
  648. app-ng-runtime/locales/angular/global/ar-lb.js +4 -4
  649. app-ng-runtime/locales/angular/global/ar-ly.js +4 -4
  650. app-ng-runtime/locales/angular/global/ar-ma.js +4 -4
  651. app-ng-runtime/locales/angular/global/ar-mr.js +4 -4
  652. app-ng-runtime/locales/angular/global/ar-om.js +4 -4
  653. app-ng-runtime/locales/angular/global/ar-ps.js +4 -4
  654. app-ng-runtime/locales/angular/global/ar-qa.js +4 -4
  655. app-ng-runtime/locales/angular/global/ar-sa.js +4 -4
  656. app-ng-runtime/locales/angular/global/ar-sd.js +4 -4
  657. app-ng-runtime/locales/angular/global/ar-so.js +4 -4
  658. app-ng-runtime/locales/angular/global/ar-ss.js +4 -4
  659. app-ng-runtime/locales/angular/global/ar-sy.js +4 -4
  660. app-ng-runtime/locales/angular/global/ar-td.js +4 -4
  661. app-ng-runtime/locales/angular/global/ar-tn.js +4 -4
  662. app-ng-runtime/locales/angular/global/ar-ye.js +4 -4
  663. app-ng-runtime/locales/angular/global/ar.js +4 -4
  664. app-ng-runtime/locales/angular/global/as.js +4 -4
  665. app-ng-runtime/locales/angular/global/asa.js +4 -4
  666. app-ng-runtime/locales/angular/global/ast.js +4 -4
  667. app-ng-runtime/locales/angular/global/az-cyrl.js +4 -4
  668. app-ng-runtime/locales/angular/global/az-latn.js +4 -4
  669. app-ng-runtime/locales/angular/global/az.js +4 -4
  670. app-ng-runtime/locales/angular/global/bas.js +4 -4
  671. app-ng-runtime/locales/angular/global/be-tarask.js +4 -4
  672. app-ng-runtime/locales/angular/global/be.js +4 -4
  673. app-ng-runtime/locales/angular/global/bem.js +4 -4
  674. app-ng-runtime/locales/angular/global/bez.js +4 -4
  675. app-ng-runtime/locales/angular/global/bg.js +4 -4
  676. app-ng-runtime/locales/angular/global/bm.js +4 -4
  677. app-ng-runtime/locales/angular/global/bn-in.js +4 -4
  678. app-ng-runtime/locales/angular/global/bn.js +4 -4
  679. app-ng-runtime/locales/angular/global/bo-in.js +4 -4
  680. app-ng-runtime/locales/angular/global/bo.js +4 -4
  681. app-ng-runtime/locales/angular/global/br.js +4 -4
  682. app-ng-runtime/locales/angular/global/brx.js +4 -4
  683. app-ng-runtime/locales/angular/global/bs-cyrl.js +4 -4
  684. app-ng-runtime/locales/angular/global/bs-latn.js +4 -4
  685. app-ng-runtime/locales/angular/global/bs.js +4 -4
  686. app-ng-runtime/locales/angular/global/ca-ad.js +4 -4
  687. app-ng-runtime/locales/angular/global/ca-es-valencia.js +4 -4
  688. app-ng-runtime/locales/angular/global/ca-fr.js +4 -4
  689. app-ng-runtime/locales/angular/global/ca-it.js +4 -4
  690. app-ng-runtime/locales/angular/global/ca.js +4 -4
  691. app-ng-runtime/locales/angular/global/ccp-in.js +4 -4
  692. app-ng-runtime/locales/angular/global/ccp.js +4 -4
  693. app-ng-runtime/locales/angular/global/ce.js +4 -4
  694. app-ng-runtime/locales/angular/global/ceb.js +4 -4
  695. app-ng-runtime/locales/angular/global/cgg.js +4 -4
  696. app-ng-runtime/locales/angular/global/chr.js +4 -4
  697. app-ng-runtime/locales/angular/global/ckb-ir.js +4 -4
  698. app-ng-runtime/locales/angular/global/ckb.js +4 -4
  699. app-ng-runtime/locales/angular/global/cs.js +4 -4
  700. app-ng-runtime/locales/angular/global/cy.js +4 -4
  701. app-ng-runtime/locales/angular/global/da-gl.js +4 -4
  702. app-ng-runtime/locales/angular/global/da.js +4 -4
  703. app-ng-runtime/locales/angular/global/dav.js +4 -4
  704. app-ng-runtime/locales/angular/global/de-at.js +4 -4
  705. app-ng-runtime/locales/angular/global/de-be.js +4 -4
  706. app-ng-runtime/locales/angular/global/de-ch.js +4 -4
  707. app-ng-runtime/locales/angular/global/de-it.js +4 -4
  708. app-ng-runtime/locales/angular/global/de-li.js +4 -4
  709. app-ng-runtime/locales/angular/global/de-lu.js +4 -4
  710. app-ng-runtime/locales/angular/global/de.js +4 -4
  711. app-ng-runtime/locales/angular/global/dje.js +4 -4
  712. app-ng-runtime/locales/angular/global/doi.js +4 -4
  713. app-ng-runtime/locales/angular/global/dsb.js +4 -4
  714. app-ng-runtime/locales/angular/global/dua.js +4 -4
  715. app-ng-runtime/locales/angular/global/dyo.js +4 -4
  716. app-ng-runtime/locales/angular/global/dz.js +4 -4
  717. app-ng-runtime/locales/angular/global/ebu.js +4 -4
  718. app-ng-runtime/locales/angular/global/ee-tg.js +4 -4
  719. app-ng-runtime/locales/angular/global/ee.js +4 -4
  720. app-ng-runtime/locales/angular/global/el-cy.js +4 -4
  721. app-ng-runtime/locales/angular/global/el.js +4 -4
  722. app-ng-runtime/locales/angular/global/en-001.js +4 -4
  723. app-ng-runtime/locales/angular/global/en-150.js +4 -4
  724. app-ng-runtime/locales/angular/global/en-ae.js +4 -4
  725. app-ng-runtime/locales/angular/global/en-ag.js +4 -4
  726. app-ng-runtime/locales/angular/global/en-ai.js +4 -4
  727. app-ng-runtime/locales/angular/global/en-as.js +4 -4
  728. app-ng-runtime/locales/angular/global/en-at.js +4 -4
  729. app-ng-runtime/locales/angular/global/en-au.js +4 -4
  730. app-ng-runtime/locales/angular/global/en-bb.js +4 -4
  731. app-ng-runtime/locales/angular/global/en-be.js +4 -4
  732. app-ng-runtime/locales/angular/global/en-bi.js +4 -4
  733. app-ng-runtime/locales/angular/global/en-bm.js +4 -4
  734. app-ng-runtime/locales/angular/global/en-bs.js +4 -4
  735. app-ng-runtime/locales/angular/global/en-bw.js +4 -4
  736. app-ng-runtime/locales/angular/global/en-bz.js +4 -4
  737. app-ng-runtime/locales/angular/global/en-ca.js +4 -4
  738. app-ng-runtime/locales/angular/global/en-cc.js +4 -4
  739. app-ng-runtime/locales/angular/global/en-ch.js +4 -4
  740. app-ng-runtime/locales/angular/global/en-ck.js +4 -4
  741. app-ng-runtime/locales/angular/global/en-cm.js +4 -4
  742. app-ng-runtime/locales/angular/global/en-cx.js +4 -4
  743. app-ng-runtime/locales/angular/global/en-cy.js +4 -4
  744. app-ng-runtime/locales/angular/global/en-de.js +4 -4
  745. app-ng-runtime/locales/angular/global/en-dg.js +4 -4
  746. app-ng-runtime/locales/angular/global/en-dk.js +4 -4
  747. app-ng-runtime/locales/angular/global/en-dm.js +4 -4
  748. app-ng-runtime/locales/angular/global/en-er.js +4 -4
  749. app-ng-runtime/locales/angular/global/en-fi.js +4 -4
  750. app-ng-runtime/locales/angular/global/en-fj.js +4 -4
  751. app-ng-runtime/locales/angular/global/en-fk.js +4 -4
  752. app-ng-runtime/locales/angular/global/en-fm.js +4 -4
  753. app-ng-runtime/locales/angular/global/en-gb.js +4 -4
  754. app-ng-runtime/locales/angular/global/en-gd.js +4 -4
  755. app-ng-runtime/locales/angular/global/en-gg.js +4 -4
  756. app-ng-runtime/locales/angular/global/en-gh.js +4 -4
  757. app-ng-runtime/locales/angular/global/en-gi.js +4 -4
  758. app-ng-runtime/locales/angular/global/en-gm.js +4 -4
  759. app-ng-runtime/locales/angular/global/en-gu.js +4 -4
  760. app-ng-runtime/locales/angular/global/en-gy.js +4 -4
  761. app-ng-runtime/locales/angular/global/en-hk.js +4 -4
  762. app-ng-runtime/locales/angular/global/en-ie.js +4 -4
  763. app-ng-runtime/locales/angular/global/en-il.js +4 -4
  764. app-ng-runtime/locales/angular/global/en-im.js +4 -4
  765. app-ng-runtime/locales/angular/global/en-in.js +4 -4
  766. app-ng-runtime/locales/angular/global/en-io.js +4 -4
  767. app-ng-runtime/locales/angular/global/en-je.js +4 -4
  768. app-ng-runtime/locales/angular/global/en-jm.js +4 -4
  769. app-ng-runtime/locales/angular/global/en-ke.js +4 -4
  770. app-ng-runtime/locales/angular/global/en-ki.js +4 -4
  771. app-ng-runtime/locales/angular/global/en-kn.js +4 -4
  772. app-ng-runtime/locales/angular/global/en-ky.js +4 -4
  773. app-ng-runtime/locales/angular/global/en-lc.js +4 -4
  774. app-ng-runtime/locales/angular/global/en-lr.js +4 -4
  775. app-ng-runtime/locales/angular/global/en-ls.js +4 -4
  776. app-ng-runtime/locales/angular/global/en-mg.js +4 -4
  777. app-ng-runtime/locales/angular/global/en-mh.js +4 -4
  778. app-ng-runtime/locales/angular/global/en-mo.js +4 -4
  779. app-ng-runtime/locales/angular/global/en-mp.js +4 -4
  780. app-ng-runtime/locales/angular/global/en-ms.js +4 -4
  781. app-ng-runtime/locales/angular/global/en-mt.js +4 -4
  782. app-ng-runtime/locales/angular/global/en-mu.js +4 -4
  783. app-ng-runtime/locales/angular/global/en-mv.js +4 -4
  784. app-ng-runtime/locales/angular/global/en-mw.js +4 -4
  785. app-ng-runtime/locales/angular/global/en-my.js +4 -4
  786. app-ng-runtime/locales/angular/global/en-na.js +4 -4
  787. app-ng-runtime/locales/angular/global/en-nf.js +4 -4
  788. app-ng-runtime/locales/angular/global/en-ng.js +4 -4
  789. app-ng-runtime/locales/angular/global/en-nl.js +4 -4
  790. app-ng-runtime/locales/angular/global/en-nr.js +4 -4
  791. app-ng-runtime/locales/angular/global/en-nu.js +4 -4
  792. app-ng-runtime/locales/angular/global/en-nz.js +4 -4
  793. app-ng-runtime/locales/angular/global/en-pg.js +4 -4
  794. app-ng-runtime/locales/angular/global/en-ph.js +4 -4
  795. app-ng-runtime/locales/angular/global/en-pk.js +4 -4
  796. app-ng-runtime/locales/angular/global/en-pn.js +4 -4
  797. app-ng-runtime/locales/angular/global/en-pr.js +4 -4
  798. app-ng-runtime/locales/angular/global/en-pw.js +4 -4
  799. app-ng-runtime/locales/angular/global/en-rw.js +4 -4
  800. app-ng-runtime/locales/angular/global/en-sb.js +4 -4
  801. app-ng-runtime/locales/angular/global/en-sc.js +4 -4
  802. app-ng-runtime/locales/angular/global/en-sd.js +4 -4
  803. app-ng-runtime/locales/angular/global/en-se.js +4 -4
  804. app-ng-runtime/locales/angular/global/en-sg.js +4 -4
  805. app-ng-runtime/locales/angular/global/en-sh.js +4 -4
  806. app-ng-runtime/locales/angular/global/en-si.js +4 -4
  807. app-ng-runtime/locales/angular/global/en-sl.js +4 -4
  808. app-ng-runtime/locales/angular/global/en-ss.js +4 -4
  809. app-ng-runtime/locales/angular/global/en-sx.js +4 -4
  810. app-ng-runtime/locales/angular/global/en-sz.js +4 -4
  811. app-ng-runtime/locales/angular/global/en-tc.js +4 -4
  812. app-ng-runtime/locales/angular/global/en-tk.js +4 -4
  813. app-ng-runtime/locales/angular/global/en-to.js +4 -4
  814. app-ng-runtime/locales/angular/global/en-tt.js +4 -4
  815. app-ng-runtime/locales/angular/global/en-tv.js +4 -4
  816. app-ng-runtime/locales/angular/global/en-tz.js +4 -4
  817. app-ng-runtime/locales/angular/global/en-ug.js +4 -4
  818. app-ng-runtime/locales/angular/global/en-um.js +4 -4
  819. app-ng-runtime/locales/angular/global/en-vc.js +4 -4
  820. app-ng-runtime/locales/angular/global/en-vg.js +4 -4
  821. app-ng-runtime/locales/angular/global/en-vi.js +4 -4
  822. app-ng-runtime/locales/angular/global/en-vu.js +4 -4
  823. app-ng-runtime/locales/angular/global/en-ws.js +4 -4
  824. app-ng-runtime/locales/angular/global/en-za.js +4 -4
  825. app-ng-runtime/locales/angular/global/en-zm.js +4 -4
  826. app-ng-runtime/locales/angular/global/en-zw.js +4 -4
  827. app-ng-runtime/locales/angular/global/en.js +4 -4
  828. app-ng-runtime/locales/angular/global/eo.js +4 -4
  829. app-ng-runtime/locales/angular/global/es-419.js +4 -4
  830. app-ng-runtime/locales/angular/global/es-ar.js +4 -4
  831. app-ng-runtime/locales/angular/global/es-bo.js +4 -4
  832. app-ng-runtime/locales/angular/global/es-br.js +4 -4
  833. app-ng-runtime/locales/angular/global/es-bz.js +4 -4
  834. app-ng-runtime/locales/angular/global/es-cl.js +4 -4
  835. app-ng-runtime/locales/angular/global/es-co.js +4 -4
  836. app-ng-runtime/locales/angular/global/es-cr.js +4 -4
  837. app-ng-runtime/locales/angular/global/es-cu.js +4 -4
  838. app-ng-runtime/locales/angular/global/es-do.js +4 -4
  839. app-ng-runtime/locales/angular/global/es-ea.js +4 -4
  840. app-ng-runtime/locales/angular/global/es-ec.js +4 -4
  841. app-ng-runtime/locales/angular/global/es-gq.js +4 -4
  842. app-ng-runtime/locales/angular/global/es-gt.js +4 -4
  843. app-ng-runtime/locales/angular/global/es-hn.js +4 -4
  844. app-ng-runtime/locales/angular/global/es-ic.js +4 -4
  845. app-ng-runtime/locales/angular/global/es-mx.js +4 -4
  846. app-ng-runtime/locales/angular/global/es-ni.js +4 -4
  847. app-ng-runtime/locales/angular/global/es-pa.js +4 -4
  848. app-ng-runtime/locales/angular/global/es-pe.js +4 -4
  849. app-ng-runtime/locales/angular/global/es-ph.js +4 -4
  850. app-ng-runtime/locales/angular/global/es-pr.js +4 -4
  851. app-ng-runtime/locales/angular/global/es-py.js +4 -4
  852. app-ng-runtime/locales/angular/global/es-sv.js +4 -4
  853. app-ng-runtime/locales/angular/global/es-us.js +4 -4
  854. app-ng-runtime/locales/angular/global/es-uy.js +4 -4
  855. app-ng-runtime/locales/angular/global/es-ve.js +4 -4
  856. app-ng-runtime/locales/angular/global/es.js +4 -4
  857. app-ng-runtime/locales/angular/global/et.js +4 -4
  858. app-ng-runtime/locales/angular/global/eu.js +4 -4
  859. app-ng-runtime/locales/angular/global/ewo.js +4 -4
  860. app-ng-runtime/locales/angular/global/fa-af.js +4 -4
  861. app-ng-runtime/locales/angular/global/fa.js +4 -4
  862. app-ng-runtime/locales/angular/global/ff-adlm-bf.js +4 -4
  863. app-ng-runtime/locales/angular/global/ff-adlm-cm.js +4 -4
  864. app-ng-runtime/locales/angular/global/ff-adlm-gh.js +4 -4
  865. app-ng-runtime/locales/angular/global/ff-adlm-gm.js +4 -4
  866. app-ng-runtime/locales/angular/global/ff-adlm-gw.js +4 -4
  867. app-ng-runtime/locales/angular/global/ff-adlm-lr.js +4 -4
  868. app-ng-runtime/locales/angular/global/ff-adlm-mr.js +4 -4
  869. app-ng-runtime/locales/angular/global/ff-adlm-ne.js +4 -4
  870. app-ng-runtime/locales/angular/global/ff-adlm-ng.js +4 -4
  871. app-ng-runtime/locales/angular/global/ff-adlm-sl.js +4 -4
  872. app-ng-runtime/locales/angular/global/ff-adlm-sn.js +4 -4
  873. app-ng-runtime/locales/angular/global/ff-adlm.js +4 -4
  874. app-ng-runtime/locales/angular/global/ff-cm.js +58 -44
  875. app-ng-runtime/locales/angular/global/ff-gn.js +58 -44
  876. app-ng-runtime/locales/angular/global/ff-latn-bf.js +4 -4
  877. app-ng-runtime/locales/angular/global/ff-latn-cm.js +4 -4
  878. app-ng-runtime/locales/angular/global/ff-latn-gh.js +4 -4
  879. app-ng-runtime/locales/angular/global/ff-latn-gm.js +4 -4
  880. app-ng-runtime/locales/angular/global/ff-latn-gn.js +4 -4
  881. app-ng-runtime/locales/angular/global/ff-latn-gw.js +4 -4
  882. app-ng-runtime/locales/angular/global/ff-latn-lr.js +4 -4
  883. app-ng-runtime/locales/angular/global/ff-latn-mr.js +4 -4
  884. app-ng-runtime/locales/angular/global/ff-latn-ne.js +4 -4
  885. app-ng-runtime/locales/angular/global/ff-latn-ng.js +4 -4
  886. app-ng-runtime/locales/angular/global/ff-latn-sl.js +4 -4
  887. app-ng-runtime/locales/angular/global/ff-latn.js +4 -4
  888. app-ng-runtime/locales/angular/global/ff-mr.js +58 -44
  889. app-ng-runtime/locales/angular/global/ff.js +4 -4
  890. app-ng-runtime/locales/angular/global/fi.js +4 -4
  891. app-ng-runtime/locales/angular/global/fil.js +4 -4
  892. app-ng-runtime/locales/angular/global/fo-dk.js +4 -4
  893. app-ng-runtime/locales/angular/global/fo.js +4 -4
  894. app-ng-runtime/locales/angular/global/fr-be.js +4 -4
  895. app-ng-runtime/locales/angular/global/fr-bf.js +4 -4
  896. app-ng-runtime/locales/angular/global/fr-bi.js +4 -4
  897. app-ng-runtime/locales/angular/global/fr-bj.js +4 -4
  898. app-ng-runtime/locales/angular/global/fr-bl.js +4 -4
  899. app-ng-runtime/locales/angular/global/fr-ca.js +4 -4
  900. app-ng-runtime/locales/angular/global/fr-cd.js +4 -4
  901. app-ng-runtime/locales/angular/global/fr-cf.js +4 -4
  902. app-ng-runtime/locales/angular/global/fr-cg.js +4 -4
  903. app-ng-runtime/locales/angular/global/fr-ch.js +4 -4
  904. app-ng-runtime/locales/angular/global/fr-ci.js +4 -4
  905. app-ng-runtime/locales/angular/global/fr-cm.js +4 -4
  906. app-ng-runtime/locales/angular/global/fr-dj.js +4 -4
  907. app-ng-runtime/locales/angular/global/fr-dz.js +4 -4
  908. app-ng-runtime/locales/angular/global/fr-ga.js +4 -4
  909. app-ng-runtime/locales/angular/global/fr-gf.js +4 -4
  910. app-ng-runtime/locales/angular/global/fr-gn.js +4 -4
  911. app-ng-runtime/locales/angular/global/fr-gp.js +4 -4
  912. app-ng-runtime/locales/angular/global/fr-gq.js +4 -4
  913. app-ng-runtime/locales/angular/global/fr-ht.js +4 -4
  914. app-ng-runtime/locales/angular/global/fr-km.js +4 -4
  915. app-ng-runtime/locales/angular/global/fr-lu.js +4 -4
  916. app-ng-runtime/locales/angular/global/fr-ma.js +4 -4
  917. app-ng-runtime/locales/angular/global/fr-mc.js +4 -4
  918. app-ng-runtime/locales/angular/global/fr-mf.js +4 -4
  919. app-ng-runtime/locales/angular/global/fr-mg.js +4 -4
  920. app-ng-runtime/locales/angular/global/fr-ml.js +4 -4
  921. app-ng-runtime/locales/angular/global/fr-mq.js +4 -4
  922. app-ng-runtime/locales/angular/global/fr-mr.js +4 -4
  923. app-ng-runtime/locales/angular/global/fr-mu.js +4 -4
  924. app-ng-runtime/locales/angular/global/fr-nc.js +4 -4
  925. app-ng-runtime/locales/angular/global/fr-ne.js +4 -4
  926. app-ng-runtime/locales/angular/global/fr-pf.js +4 -4
  927. app-ng-runtime/locales/angular/global/fr-pm.js +4 -4
  928. app-ng-runtime/locales/angular/global/fr-re.js +4 -4
  929. app-ng-runtime/locales/angular/global/fr-rw.js +4 -4
  930. app-ng-runtime/locales/angular/global/fr-sc.js +4 -4
  931. app-ng-runtime/locales/angular/global/fr-sn.js +4 -4
  932. app-ng-runtime/locales/angular/global/fr-sy.js +4 -4
  933. app-ng-runtime/locales/angular/global/fr-td.js +4 -4
  934. app-ng-runtime/locales/angular/global/fr-tg.js +4 -4
  935. app-ng-runtime/locales/angular/global/fr-tn.js +4 -4
  936. app-ng-runtime/locales/angular/global/fr-vu.js +4 -4
  937. app-ng-runtime/locales/angular/global/fr-wf.js +4 -4
  938. app-ng-runtime/locales/angular/global/fr-yt.js +4 -4
  939. app-ng-runtime/locales/angular/global/fr.js +4 -4
  940. app-ng-runtime/locales/angular/global/fur.js +4 -4
  941. app-ng-runtime/locales/angular/global/fy.js +4 -4
  942. app-ng-runtime/locales/angular/global/ga-gb.js +4 -4
  943. app-ng-runtime/locales/angular/global/ga.js +4 -4
  944. app-ng-runtime/locales/angular/global/gd.js +4 -4
  945. app-ng-runtime/locales/angular/global/gl.js +4 -4
  946. app-ng-runtime/locales/angular/global/gsw-fr.js +4 -4
  947. app-ng-runtime/locales/angular/global/gsw-li.js +4 -4
  948. app-ng-runtime/locales/angular/global/gsw.js +4 -4
  949. app-ng-runtime/locales/angular/global/gu.js +4 -4
  950. app-ng-runtime/locales/angular/global/guz.js +4 -4
  951. app-ng-runtime/locales/angular/global/gv.js +4 -4
  952. app-ng-runtime/locales/angular/global/ha-gh.js +4 -4
  953. app-ng-runtime/locales/angular/global/ha-ne.js +4 -4
  954. app-ng-runtime/locales/angular/global/ha.js +4 -4
  955. app-ng-runtime/locales/angular/global/haw.js +4 -4
  956. app-ng-runtime/locales/angular/global/he.js +4 -4
  957. app-ng-runtime/locales/angular/global/hi-latn.js +4 -4
  958. app-ng-runtime/locales/angular/global/hi.js +4 -4
  959. app-ng-runtime/locales/angular/global/hr-ba.js +4 -4
  960. app-ng-runtime/locales/angular/global/hr.js +4 -4
  961. app-ng-runtime/locales/angular/global/hsb.js +4 -4
  962. app-ng-runtime/locales/angular/global/hu.js +4 -4
  963. app-ng-runtime/locales/angular/global/hy.js +4 -4
  964. app-ng-runtime/locales/angular/global/ia.js +4 -4
  965. app-ng-runtime/locales/angular/global/id.js +4 -4
  966. app-ng-runtime/locales/angular/global/ig.js +4 -4
  967. app-ng-runtime/locales/angular/global/ii.js +4 -4
  968. app-ng-runtime/locales/angular/global/is.js +4 -4
  969. app-ng-runtime/locales/angular/global/it-ch.js +4 -4
  970. app-ng-runtime/locales/angular/global/it-sm.js +4 -4
  971. app-ng-runtime/locales/angular/global/it-va.js +4 -4
  972. app-ng-runtime/locales/angular/global/it.js +4 -4
  973. app-ng-runtime/locales/angular/global/ja.js +4 -4
  974. app-ng-runtime/locales/angular/global/jgo.js +4 -4
  975. app-ng-runtime/locales/angular/global/jmc.js +4 -4
  976. app-ng-runtime/locales/angular/global/jv.js +4 -4
  977. app-ng-runtime/locales/angular/global/ka.js +4 -4
  978. app-ng-runtime/locales/angular/global/kab.js +4 -4
  979. app-ng-runtime/locales/angular/global/kam.js +4 -4
  980. app-ng-runtime/locales/angular/global/kde.js +4 -4
  981. app-ng-runtime/locales/angular/global/kea.js +4 -4
  982. app-ng-runtime/locales/angular/global/kgp.js +4 -4
  983. app-ng-runtime/locales/angular/global/khq.js +4 -4
  984. app-ng-runtime/locales/angular/global/ki.js +4 -4
  985. app-ng-runtime/locales/angular/global/kk.js +4 -4
  986. app-ng-runtime/locales/angular/global/kkj.js +4 -4
  987. app-ng-runtime/locales/angular/global/kl.js +4 -4
  988. app-ng-runtime/locales/angular/global/kln.js +4 -4
  989. app-ng-runtime/locales/angular/global/km.js +4 -4
  990. app-ng-runtime/locales/angular/global/kn.js +4 -4
  991. app-ng-runtime/locales/angular/global/ko-kp.js +4 -4
  992. app-ng-runtime/locales/angular/global/ko.js +4 -4
  993. app-ng-runtime/locales/angular/global/kok.js +4 -4
  994. app-ng-runtime/locales/angular/global/ks-arab.js +4 -4
  995. app-ng-runtime/locales/angular/global/ks-deva.js +4 -4
  996. app-ng-runtime/locales/angular/global/ks.js +4 -4
  997. app-ng-runtime/locales/angular/global/ksb.js +4 -4
  998. app-ng-runtime/locales/angular/global/ksf.js +4 -4
  999. app-ng-runtime/locales/angular/global/ksh.js +4 -4
  1000. app-ng-runtime/locales/angular/global/ku.js +4 -4
  1001. app-ng-runtime/locales/angular/global/kw.js +4 -4
  1002. app-ng-runtime/locales/angular/global/ky.js +4 -4
  1003. app-ng-runtime/locales/angular/global/lag.js +4 -4
  1004. app-ng-runtime/locales/angular/global/lb.js +4 -4
  1005. app-ng-runtime/locales/angular/global/lg.js +4 -4
  1006. app-ng-runtime/locales/angular/global/lkt.js +4 -4
  1007. app-ng-runtime/locales/angular/global/ln-ao.js +4 -4
  1008. app-ng-runtime/locales/angular/global/ln-cf.js +4 -4
  1009. app-ng-runtime/locales/angular/global/ln-cg.js +4 -4
  1010. app-ng-runtime/locales/angular/global/ln.js +4 -4
  1011. app-ng-runtime/locales/angular/global/lo.js +4 -4
  1012. app-ng-runtime/locales/angular/global/lrc-iq.js +4 -4
  1013. app-ng-runtime/locales/angular/global/lrc.js +4 -4
  1014. app-ng-runtime/locales/angular/global/lt.js +4 -4
  1015. app-ng-runtime/locales/angular/global/lu.js +4 -4
  1016. app-ng-runtime/locales/angular/global/luo.js +4 -4
  1017. app-ng-runtime/locales/angular/global/luy.js +4 -4
  1018. app-ng-runtime/locales/angular/global/lv.js +4 -4
  1019. app-ng-runtime/locales/angular/global/mai.js +4 -4
  1020. app-ng-runtime/locales/angular/global/mas-tz.js +4 -4
  1021. app-ng-runtime/locales/angular/global/mas.js +4 -4
  1022. app-ng-runtime/locales/angular/global/mer.js +4 -4
  1023. app-ng-runtime/locales/angular/global/mfe.js +4 -4
  1024. app-ng-runtime/locales/angular/global/mg.js +4 -4
  1025. app-ng-runtime/locales/angular/global/mgh.js +4 -4
  1026. app-ng-runtime/locales/angular/global/mgo.js +4 -4
  1027. app-ng-runtime/locales/angular/global/mi.js +4 -4
  1028. app-ng-runtime/locales/angular/global/mk.js +4 -4
  1029. app-ng-runtime/locales/angular/global/ml.js +4 -4
  1030. app-ng-runtime/locales/angular/global/mn.js +4 -4
  1031. app-ng-runtime/locales/angular/global/mni-beng.js +4 -4
  1032. app-ng-runtime/locales/angular/global/mni.js +4 -4
  1033. app-ng-runtime/locales/angular/global/mr.js +4 -4
  1034. app-ng-runtime/locales/angular/global/ms-bn.js +4 -4
  1035. app-ng-runtime/locales/angular/global/ms-id.js +4 -4
  1036. app-ng-runtime/locales/angular/global/ms-sg.js +4 -4
  1037. app-ng-runtime/locales/angular/global/ms.js +4 -4
  1038. app-ng-runtime/locales/angular/global/mt.js +4 -4
  1039. app-ng-runtime/locales/angular/global/mua.js +4 -4
  1040. app-ng-runtime/locales/angular/global/my.js +4 -4
  1041. app-ng-runtime/locales/angular/global/mzn.js +4 -4
  1042. app-ng-runtime/locales/angular/global/naq.js +4 -4
  1043. app-ng-runtime/locales/angular/global/nb-sj.js +4 -4
  1044. app-ng-runtime/locales/angular/global/nb.js +4 -4
  1045. app-ng-runtime/locales/angular/global/nd.js +4 -4
  1046. app-ng-runtime/locales/angular/global/nds-nl.js +4 -4
  1047. app-ng-runtime/locales/angular/global/nds.js +4 -4
  1048. app-ng-runtime/locales/angular/global/ne-in.js +4 -4
  1049. app-ng-runtime/locales/angular/global/ne.js +4 -4
  1050. app-ng-runtime/locales/angular/global/nl-aw.js +4 -4
  1051. app-ng-runtime/locales/angular/global/nl-be.js +4 -4
  1052. app-ng-runtime/locales/angular/global/nl-bq.js +4 -4
  1053. app-ng-runtime/locales/angular/global/nl-cw.js +4 -4
  1054. app-ng-runtime/locales/angular/global/nl-sr.js +4 -4
  1055. app-ng-runtime/locales/angular/global/nl-sx.js +4 -4
  1056. app-ng-runtime/locales/angular/global/nl.js +4 -4
  1057. app-ng-runtime/locales/angular/global/nmg.js +4 -4
  1058. app-ng-runtime/locales/angular/global/nn.js +4 -4
  1059. app-ng-runtime/locales/angular/global/nnh.js +4 -4
  1060. app-ng-runtime/locales/angular/global/no.js +4 -4
  1061. app-ng-runtime/locales/angular/global/nus.js +4 -4
  1062. app-ng-runtime/locales/angular/global/nyn.js +4 -4
  1063. app-ng-runtime/locales/angular/global/om-ke.js +4 -4
  1064. app-ng-runtime/locales/angular/global/om.js +4 -4
  1065. app-ng-runtime/locales/angular/global/or.js +4 -4
  1066. app-ng-runtime/locales/angular/global/os-ru.js +4 -4
  1067. app-ng-runtime/locales/angular/global/os.js +4 -4
  1068. app-ng-runtime/locales/angular/global/pa-arab.js +4 -4
  1069. app-ng-runtime/locales/angular/global/pa-guru.js +4 -4
  1070. app-ng-runtime/locales/angular/global/pa.js +4 -4
  1071. app-ng-runtime/locales/angular/global/pcm.js +4 -4
  1072. app-ng-runtime/locales/angular/global/pl.js +4 -4
  1073. app-ng-runtime/locales/angular/global/ps-pk.js +4 -4
  1074. app-ng-runtime/locales/angular/global/ps.js +4 -4
  1075. app-ng-runtime/locales/angular/global/pt-ao.js +4 -4
  1076. app-ng-runtime/locales/angular/global/pt-ch.js +4 -4
  1077. app-ng-runtime/locales/angular/global/pt-cv.js +4 -4
  1078. app-ng-runtime/locales/angular/global/pt-gq.js +4 -4
  1079. app-ng-runtime/locales/angular/global/pt-gw.js +4 -4
  1080. app-ng-runtime/locales/angular/global/pt-lu.js +4 -4
  1081. app-ng-runtime/locales/angular/global/pt-mo.js +4 -4
  1082. app-ng-runtime/locales/angular/global/pt-mz.js +4 -4
  1083. app-ng-runtime/locales/angular/global/pt-pt.js +4 -4
  1084. app-ng-runtime/locales/angular/global/pt-st.js +4 -4
  1085. app-ng-runtime/locales/angular/global/pt-tl.js +4 -4
  1086. app-ng-runtime/locales/angular/global/pt.js +4 -4
  1087. app-ng-runtime/locales/angular/global/qu-bo.js +4 -4
  1088. app-ng-runtime/locales/angular/global/qu-ec.js +4 -4
  1089. app-ng-runtime/locales/angular/global/qu.js +4 -4
  1090. app-ng-runtime/locales/angular/global/rm.js +4 -4
  1091. app-ng-runtime/locales/angular/global/rn.js +4 -4
  1092. app-ng-runtime/locales/angular/global/ro-md.js +4 -4
  1093. app-ng-runtime/locales/angular/global/ro.js +4 -4
  1094. app-ng-runtime/locales/angular/global/rof.js +4 -4
  1095. app-ng-runtime/locales/angular/global/ru-by.js +4 -4
  1096. app-ng-runtime/locales/angular/global/ru-kg.js +4 -4
  1097. app-ng-runtime/locales/angular/global/ru-kz.js +4 -4
  1098. app-ng-runtime/locales/angular/global/ru-md.js +4 -4
  1099. app-ng-runtime/locales/angular/global/ru-ua.js +4 -4
  1100. app-ng-runtime/locales/angular/global/ru.js +4 -4
  1101. app-ng-runtime/locales/angular/global/rw.js +4 -4
  1102. app-ng-runtime/locales/angular/global/rwk.js +4 -4
  1103. app-ng-runtime/locales/angular/global/sa.js +4 -4
  1104. app-ng-runtime/locales/angular/global/sah.js +4 -4
  1105. app-ng-runtime/locales/angular/global/saq.js +4 -4
  1106. app-ng-runtime/locales/angular/global/sat-olck.js +4 -4
  1107. app-ng-runtime/locales/angular/global/sat.js +4 -4
  1108. app-ng-runtime/locales/angular/global/sbp.js +4 -4
  1109. app-ng-runtime/locales/angular/global/sc.js +4 -4
  1110. app-ng-runtime/locales/angular/global/sd-arab.js +4 -4
  1111. app-ng-runtime/locales/angular/global/sd-deva.js +4 -4
  1112. app-ng-runtime/locales/angular/global/sd.js +4 -4
  1113. app-ng-runtime/locales/angular/global/se-fi.js +4 -4
  1114. app-ng-runtime/locales/angular/global/se-se.js +4 -4
  1115. app-ng-runtime/locales/angular/global/se.js +4 -4
  1116. app-ng-runtime/locales/angular/global/seh.js +4 -4
  1117. app-ng-runtime/locales/angular/global/ses.js +4 -4
  1118. app-ng-runtime/locales/angular/global/sg.js +4 -4
  1119. app-ng-runtime/locales/angular/global/shi-latn.js +4 -4
  1120. app-ng-runtime/locales/angular/global/shi-tfng.js +4 -4
  1121. app-ng-runtime/locales/angular/global/shi.js +4 -4
  1122. app-ng-runtime/locales/angular/global/si.js +4 -4
  1123. app-ng-runtime/locales/angular/global/sk.js +4 -4
  1124. app-ng-runtime/locales/angular/global/sl.js +4 -4
  1125. app-ng-runtime/locales/angular/global/smn.js +4 -4
  1126. app-ng-runtime/locales/angular/global/sn.js +4 -4
  1127. app-ng-runtime/locales/angular/global/so-dj.js +4 -4
  1128. app-ng-runtime/locales/angular/global/so-et.js +4 -4
  1129. app-ng-runtime/locales/angular/global/so-ke.js +4 -4
  1130. app-ng-runtime/locales/angular/global/so.js +4 -4
  1131. app-ng-runtime/locales/angular/global/sq-mk.js +4 -4
  1132. app-ng-runtime/locales/angular/global/sq-xk.js +4 -4
  1133. app-ng-runtime/locales/angular/global/sq.js +4 -4
  1134. app-ng-runtime/locales/angular/global/sr-cyrl-ba.js +4 -4
  1135. app-ng-runtime/locales/angular/global/sr-cyrl-me.js +4 -4
  1136. app-ng-runtime/locales/angular/global/sr-cyrl-xk.js +4 -4
  1137. app-ng-runtime/locales/angular/global/sr-cyrl.js +4 -4
  1138. app-ng-runtime/locales/angular/global/sr-latn-ba.js +4 -4
  1139. app-ng-runtime/locales/angular/global/sr-latn-me.js +4 -4
  1140. app-ng-runtime/locales/angular/global/sr-latn-xk.js +4 -4
  1141. app-ng-runtime/locales/angular/global/sr-latn.js +4 -4
  1142. app-ng-runtime/locales/angular/global/sr.js +4 -4
  1143. app-ng-runtime/locales/angular/global/su-latn.js +4 -4
  1144. app-ng-runtime/locales/angular/global/su.js +4 -4
  1145. app-ng-runtime/locales/angular/global/sv-ax.js +4 -4
  1146. app-ng-runtime/locales/angular/global/sv-fi.js +4 -4
  1147. app-ng-runtime/locales/angular/global/sv.js +4 -4
  1148. app-ng-runtime/locales/angular/global/sw-cd.js +4 -4
  1149. app-ng-runtime/locales/angular/global/sw-ke.js +4 -4
  1150. app-ng-runtime/locales/angular/global/sw-ug.js +4 -4
  1151. app-ng-runtime/locales/angular/global/sw.js +4 -4
  1152. app-ng-runtime/locales/angular/global/ta-lk.js +4 -4
  1153. app-ng-runtime/locales/angular/global/ta-my.js +4 -4
  1154. app-ng-runtime/locales/angular/global/ta-sg.js +4 -4
  1155. app-ng-runtime/locales/angular/global/ta.js +4 -4
  1156. app-ng-runtime/locales/angular/global/te.js +4 -4
  1157. app-ng-runtime/locales/angular/global/teo-ke.js +4 -4
  1158. app-ng-runtime/locales/angular/global/teo.js +4 -4
  1159. app-ng-runtime/locales/angular/global/tg.js +4 -4
  1160. app-ng-runtime/locales/angular/global/th.js +4 -4
  1161. app-ng-runtime/locales/angular/global/ti-er.js +4 -4
  1162. app-ng-runtime/locales/angular/global/ti.js +4 -4
  1163. app-ng-runtime/locales/angular/global/tk.js +4 -4
  1164. app-ng-runtime/locales/angular/global/to.js +4 -4
  1165. app-ng-runtime/locales/angular/global/tr-cy.js +4 -4
  1166. app-ng-runtime/locales/angular/global/tr.js +4 -4
  1167. app-ng-runtime/locales/angular/global/tt.js +4 -4
  1168. app-ng-runtime/locales/angular/global/twq.js +4 -4
  1169. app-ng-runtime/locales/angular/global/tzm.js +4 -4
  1170. app-ng-runtime/locales/angular/global/ug.js +4 -4
  1171. app-ng-runtime/locales/angular/global/uk.js +4 -4
  1172. app-ng-runtime/locales/angular/global/und.js +4 -4
  1173. app-ng-runtime/locales/angular/global/ur-in.js +4 -4
  1174. app-ng-runtime/locales/angular/global/ur.js +4 -4
  1175. app-ng-runtime/locales/angular/global/uz-arab.js +4 -4
  1176. app-ng-runtime/locales/angular/global/uz-cyrl.js +4 -4
  1177. app-ng-runtime/locales/angular/global/uz-latn.js +4 -4
  1178. app-ng-runtime/locales/angular/global/uz.js +4 -4
  1179. app-ng-runtime/locales/angular/global/vai-latn.js +4 -4
  1180. app-ng-runtime/locales/angular/global/vai-vaii.js +4 -4
  1181. app-ng-runtime/locales/angular/global/vai.js +4 -4
  1182. app-ng-runtime/locales/angular/global/vi.js +4 -4
  1183. app-ng-runtime/locales/angular/global/vun.js +4 -4
  1184. app-ng-runtime/locales/angular/global/wae.js +4 -4
  1185. app-ng-runtime/locales/angular/global/wo.js +4 -4
  1186. app-ng-runtime/locales/angular/global/xh.js +4 -4
  1187. app-ng-runtime/locales/angular/global/xog.js +4 -4
  1188. app-ng-runtime/locales/angular/global/yav.js +4 -4
  1189. app-ng-runtime/locales/angular/global/yi.js +4 -4
  1190. app-ng-runtime/locales/angular/global/yo-bj.js +4 -4
  1191. app-ng-runtime/locales/angular/global/yo.js +4 -4
  1192. app-ng-runtime/locales/angular/global/yrl-co.js +4 -4
  1193. app-ng-runtime/locales/angular/global/yrl-ve.js +4 -4
  1194. app-ng-runtime/locales/angular/global/yrl.js +4 -4
  1195. app-ng-runtime/locales/angular/global/yue-hans.js +4 -4
  1196. app-ng-runtime/locales/angular/global/yue-hant.js +4 -4
  1197. app-ng-runtime/locales/angular/global/yue.js +4 -4
  1198. app-ng-runtime/locales/angular/global/zgh.js +4 -4
  1199. app-ng-runtime/locales/angular/global/zh-hans-hk.js +4 -4
  1200. app-ng-runtime/locales/angular/global/zh-hans-mo.js +4 -4
  1201. app-ng-runtime/locales/angular/global/zh-hans-sg.js +4 -4
  1202. app-ng-runtime/locales/angular/global/zh-hans.js +4 -4
  1203. app-ng-runtime/locales/angular/global/zh-hant-hk.js +4 -4
  1204. app-ng-runtime/locales/angular/global/zh-hant-mo.js +4 -4
  1205. app-ng-runtime/locales/angular/global/zh-hant.js +4 -4
  1206. app-ng-runtime/locales/angular/global/zh.js +4 -4
  1207. app-ng-runtime/locales/angular/global/zu.js +4 -4
  1208. app-ng-runtime/mobile/components/basic/default/.npmignore +2 -0
  1209. app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +148 -143
  1210. app-ng-runtime/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +8 -7
  1211. app-ng-runtime/mobile/components/basic/default/esm2022/app-update/app-update.component.mjs +7 -6
  1212. app-ng-runtime/mobile/components/basic/default/esm2022/basic.module.mjs +2 -2
  1213. app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +47 -43
  1214. app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +7 -5
  1215. app-ng-runtime/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +6 -5
  1216. app-ng-runtime/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +49 -47
  1217. app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-management.service.mjs +2 -2
  1218. app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +31 -32
  1219. app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs +146 -140
  1220. app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
  1221. app-ng-runtime/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +2 -2
  1222. app-ng-runtime/mobile/components/basic/search/.npmignore +2 -0
  1223. app-ng-runtime/mobile/components/basic/search/bundles/index.umd.js +3 -3
  1224. app-ng-runtime/mobile/components/basic/search/esm2022/search.directive.mjs +3 -3
  1225. app-ng-runtime/mobile/components/basic/search/esm2022/search.module.mjs +2 -2
  1226. app-ng-runtime/mobile/components/basic/search/fesm2022/index.mjs +3 -3
  1227. app-ng-runtime/mobile/components/basic/search/fesm2022/index.mjs.map +1 -1
  1228. app-ng-runtime/mobile/components/containers/segmented-control/.npmignore +2 -0
  1229. app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +42 -30
  1230. app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +14 -8
  1231. app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +28 -21
  1232. app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.module.mjs +2 -2
  1233. app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs +41 -28
  1234. app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
  1235. app-ng-runtime/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +2 -2
  1236. app-ng-runtime/mobile/components/containers/segmented-control/segmented-control.component.d.ts +2 -2
  1237. app-ng-runtime/mobile/components/data/media-list/.npmignore +2 -0
  1238. app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +53 -48
  1239. app-ng-runtime/mobile/components/data/media-list/esm2022/media-list-item/media-list-item.directive.mjs +2 -2
  1240. app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.component.mjs +48 -42
  1241. app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.module.mjs +2 -2
  1242. app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs +50 -44
  1243. app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
  1244. app-ng-runtime/mobile/components/data/media-list/media-list.component.d.ts +2 -2
  1245. app-ng-runtime/mobile/components/device/barcode-scanner/.npmignore +2 -0
  1246. app-ng-runtime/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +2 -2
  1247. app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +14 -8
  1248. app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.component.mjs +15 -9
  1249. app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.module.mjs +2 -2
  1250. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +16 -10
  1251. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
  1252. app-ng-runtime/mobile/components/device/camera/.npmignore +2 -0
  1253. app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +15 -9
  1254. app-ng-runtime/mobile/components/device/camera/camera.component.d.ts +2 -2
  1255. app-ng-runtime/mobile/components/device/camera/esm2022/camera.component.mjs +16 -10
  1256. app-ng-runtime/mobile/components/device/camera/esm2022/camera.module.mjs +2 -2
  1257. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +17 -11
  1258. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
  1259. app-ng-runtime/mobile/components/input/file-upload/.npmignore +2 -0
  1260. app-ng-runtime/mobile/components/input/file-upload/bundles/index.umd.js +3 -3
  1261. app-ng-runtime/mobile/components/input/file-upload/esm2022/file-upload.directive.mjs +3 -3
  1262. app-ng-runtime/mobile/components/input/file-upload/esm2022/file-upload.module.mjs +2 -2
  1263. app-ng-runtime/mobile/components/input/file-upload/fesm2022/index.mjs +3 -3
  1264. app-ng-runtime/mobile/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  1265. app-ng-runtime/mobile/components/page/default/.npmignore +2 -0
  1266. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +11 -10
  1267. app-ng-runtime/mobile/components/page/default/esm2022/page-content-loader/page-content-loader.component.mjs +4 -3
  1268. app-ng-runtime/mobile/components/page/default/esm2022/page.directive.mjs +5 -4
  1269. app-ng-runtime/mobile/components/page/default/esm2022/page.module.mjs +2 -2
  1270. app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs +8 -6
  1271. app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs.map +1 -1
  1272. app-ng-runtime/mobile/components/page/left-panel/.npmignore +2 -0
  1273. app-ng-runtime/mobile/components/page/left-panel/bundles/index.umd.js +3 -3
  1274. app-ng-runtime/mobile/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -3
  1275. app-ng-runtime/mobile/components/page/left-panel/esm2022/left-panel.module.mjs +2 -2
  1276. app-ng-runtime/mobile/components/page/left-panel/fesm2022/index.mjs +3 -3
  1277. app-ng-runtime/mobile/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  1278. app-ng-runtime/mobile/components/page/mobile-navbar/.npmignore +2 -0
  1279. app-ng-runtime/mobile/components/page/mobile-navbar/bundles/index.umd.js +40 -35
  1280. app-ng-runtime/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +41 -36
  1281. app-ng-runtime/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.module.mjs +2 -2
  1282. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2022/index.mjs +41 -36
  1283. app-ng-runtime/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +1 -1
  1284. app-ng-runtime/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +2 -2
  1285. app-ng-runtime/mobile/components/page/tab-bar/.npmignore +2 -0
  1286. app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +52 -46
  1287. app-ng-runtime/mobile/components/page/tab-bar/esm2022/tab-bar.module.mjs +2 -2
  1288. app-ng-runtime/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +50 -43
  1289. app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs +51 -44
  1290. app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
  1291. app-ng-runtime/mobile/components/page/tab-bar/tabbar.component.d.ts +2 -2
  1292. app-ng-runtime/mobile/core/.npmignore +2 -0
  1293. app-ng-runtime/mobile/core/bundles/index.umd.js +43 -43
  1294. app-ng-runtime/mobile/core/esm2022/core.module.mjs +3 -3
  1295. app-ng-runtime/mobile/core/esm2022/native.xhr.mjs +1 -1
  1296. app-ng-runtime/mobile/core/esm2022/services/device-file-cache.service.mjs +3 -3
  1297. app-ng-runtime/mobile/core/esm2022/services/device-file-download.service.mjs +7 -6
  1298. app-ng-runtime/mobile/core/esm2022/services/device-file-opener.service.mjs +5 -4
  1299. app-ng-runtime/mobile/core/esm2022/services/device-file-upload.service.mjs +6 -5
  1300. app-ng-runtime/mobile/core/esm2022/services/device-file.service.mjs +8 -7
  1301. app-ng-runtime/mobile/core/esm2022/services/device.service.mjs +5 -4
  1302. app-ng-runtime/mobile/core/esm2022/services/ext-app-message.service.mjs +7 -6
  1303. app-ng-runtime/mobile/core/esm2022/services/network.service.mjs +11 -10
  1304. app-ng-runtime/mobile/core/fesm2022/index.mjs +40 -39
  1305. app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
  1306. app-ng-runtime/mobile/core/services/ext-app-message.service.d.ts +1 -1
  1307. app-ng-runtime/mobile/core/services/network.service.d.ts +7 -1
  1308. app-ng-runtime/mobile/offline/.npmignore +2 -0
  1309. app-ng-runtime/mobile/offline/bundles/index.umd.js +176 -159
  1310. app-ng-runtime/mobile/offline/esm2022/models/local-db-store.mjs +23 -21
  1311. app-ng-runtime/mobile/offline/esm2022/offline.module.mjs +3 -3
  1312. app-ng-runtime/mobile/offline/esm2022/services/change-log.service.mjs +9 -8
  1313. app-ng-runtime/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +39 -37
  1314. app-ng-runtime/mobile/offline/esm2022/services/local-db-management.service.mjs +56 -47
  1315. app-ng-runtime/mobile/offline/esm2022/services/local-db.service.mjs +7 -6
  1316. app-ng-runtime/mobile/offline/esm2022/services/local-key-value.service.mjs +2 -2
  1317. app-ng-runtime/mobile/offline/esm2022/services/push.service.mjs +3 -3
  1318. app-ng-runtime/mobile/offline/esm2022/services/workers/error-blocker.mjs +4 -3
  1319. app-ng-runtime/mobile/offline/esm2022/services/workers/file-handler.mjs +18 -13
  1320. app-ng-runtime/mobile/offline/esm2022/services/workers/id-resolver.mjs +3 -3
  1321. app-ng-runtime/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +9 -5
  1322. app-ng-runtime/mobile/offline/esm2022/utils/file-upload.utils.mjs +1 -1
  1323. app-ng-runtime/mobile/offline/esm2022/utils/live-variable.utils.mjs +12 -11
  1324. app-ng-runtime/mobile/offline/esm2022/utils/query-executor.utils.mjs +5 -4
  1325. app-ng-runtime/mobile/offline/esm2022/utils/security.utils.mjs +3 -2
  1326. app-ng-runtime/mobile/offline/esm2022/utils/utils.mjs +1 -1
  1327. app-ng-runtime/mobile/offline/fesm2022/index.mjs +171 -153
  1328. app-ng-runtime/mobile/offline/fesm2022/index.mjs.map +1 -1
  1329. app-ng-runtime/mobile/placeholder/runtime/.npmignore +2 -0
  1330. app-ng-runtime/mobile/placeholder/runtime/bundles/index.umd.js +3 -2
  1331. app-ng-runtime/mobile/placeholder/runtime/esm2022/components/app-ext.component.mjs +3 -2
  1332. app-ng-runtime/mobile/placeholder/runtime/esm2022/mobile-runtime.module.mjs +2 -2
  1333. app-ng-runtime/mobile/placeholder/runtime/fesm2022/index.mjs +3 -2
  1334. app-ng-runtime/mobile/placeholder/runtime/fesm2022/index.mjs.map +1 -1
  1335. app-ng-runtime/mobile/placeholder/runtime-dynamic/.npmignore +2 -0
  1336. app-ng-runtime/mobile/placeholder/runtime-dynamic/bundles/index.umd.js +1 -1
  1337. app-ng-runtime/mobile/placeholder/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +2 -2
  1338. app-ng-runtime/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs +1 -1
  1339. app-ng-runtime/mobile/placeholder/runtime-dynamic/fesm2022/index.mjs.map +1 -1
  1340. app-ng-runtime/mobile/runtime/.npmignore +2 -0
  1341. app-ng-runtime/mobile/runtime/bundles/index.umd.js +21 -17
  1342. app-ng-runtime/mobile/runtime/esm2022/components/app-ext.component.mjs +4 -3
  1343. app-ng-runtime/mobile/runtime/esm2022/mobile-runtime.module.mjs +5 -4
  1344. app-ng-runtime/mobile/runtime/esm2022/services/cookie.service.mjs +7 -3
  1345. app-ng-runtime/mobile/runtime/esm2022/services/http-interceptor.service.mjs +6 -5
  1346. app-ng-runtime/mobile/runtime/esm2022/services/webprocess.service.mjs +3 -3
  1347. app-ng-runtime/mobile/runtime/fesm2022/index.mjs +18 -13
  1348. app-ng-runtime/mobile/runtime/fesm2022/index.mjs.map +1 -1
  1349. app-ng-runtime/mobile/runtime-dynamic/.npmignore +2 -0
  1350. app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js +5 -5
  1351. app-ng-runtime/mobile/runtime-dynamic/esm2022/mobile-runtime-dynamic.module.mjs +2 -2
  1352. app-ng-runtime/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +5 -5
  1353. app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs +5 -5
  1354. app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs.map +1 -1
  1355. app-ng-runtime/mobile/variables/.npmignore +2 -0
  1356. app-ng-runtime/mobile/variables/bundles/index.umd.js +28 -21
  1357. app-ng-runtime/mobile/variables/esm2022/services/camera-service.mjs +5 -5
  1358. app-ng-runtime/mobile/variables/esm2022/services/contacts-service.mjs +1 -1
  1359. app-ng-runtime/mobile/variables/esm2022/services/datasync-service.mjs +10 -9
  1360. app-ng-runtime/mobile/variables/esm2022/services/device-service/device-service.mjs +1 -1
  1361. app-ng-runtime/mobile/variables/esm2022/services/device-service/location-service.mjs +1 -1
  1362. app-ng-runtime/mobile/variables/esm2022/services/file-service.mjs +11 -3
  1363. app-ng-runtime/mobile/variables/esm2022/services/scan-service.mjs +1 -1
  1364. app-ng-runtime/mobile/variables/esm2022/variables.module.mjs +3 -3
  1365. app-ng-runtime/mobile/variables/fesm2022/index.mjs +24 -16
  1366. app-ng-runtime/mobile/variables/fesm2022/index.mjs.map +1 -1
  1367. app-ng-runtime/oAuth/.npmignore +2 -0
  1368. app-ng-runtime/oAuth/bundles/index.umd.js +15 -15
  1369. app-ng-runtime/oAuth/esm2022/oAuth.module.mjs +2 -2
  1370. app-ng-runtime/oAuth/esm2022/oAuth.service.mjs +6 -5
  1371. app-ng-runtime/oAuth/esm2022/oAuth.utils.mjs +8 -7
  1372. app-ng-runtime/oAuth/fesm2022/index.mjs +12 -11
  1373. app-ng-runtime/oAuth/fesm2022/index.mjs.map +1 -1
  1374. app-ng-runtime/package.json +1 -1
  1375. app-ng-runtime/runtime/base/.npmignore +2 -0
  1376. app-ng-runtime/runtime/base/bundles/index.umd.js +263 -247
  1377. app-ng-runtime/runtime/base/components/app-component/app.component.d.ts +3 -1
  1378. app-ng-runtime/runtime/base/components/base-custom-widget.component.d.ts +1 -1
  1379. app-ng-runtime/runtime/base/directives/accessroles.directive.d.ts +4 -3
  1380. app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +34 -30
  1381. app-ng-runtime/runtime/base/esm2022/components/app-spinner.component.mjs +9 -8
  1382. app-ng-runtime/runtime/base/esm2022/components/base-custom-widget.component.mjs +5 -5
  1383. app-ng-runtime/runtime/base/esm2022/components/base-layout.component.mjs +5 -4
  1384. app-ng-runtime/runtime/base/esm2022/components/base-page.component.mjs +16 -15
  1385. app-ng-runtime/runtime/base/esm2022/components/base-partial.component.mjs +15 -14
  1386. app-ng-runtime/runtime/base/esm2022/components/base-prefab.component.mjs +17 -16
  1387. app-ng-runtime/runtime/base/esm2022/components/base-spa-page.component.mjs +16 -15
  1388. app-ng-runtime/runtime/base/esm2022/components/custom-toaster.component.mjs +17 -15
  1389. app-ng-runtime/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +4 -3
  1390. app-ng-runtime/runtime/base/esm2022/components/prefab-preview.component.mjs +4 -3
  1391. app-ng-runtime/runtime/base/esm2022/directives/accessroles.directive.mjs +24 -16
  1392. app-ng-runtime/runtime/base/esm2022/directives/prefab.directive.mjs +4 -4
  1393. app-ng-runtime/runtime/base/esm2022/guards/auth.guard.mjs +3 -3
  1394. app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +3 -3
  1395. app-ng-runtime/runtime/base/esm2022/guards/page-not-found.guard.mjs +3 -3
  1396. app-ng-runtime/runtime/base/esm2022/guards/role.guard.mjs +5 -4
  1397. app-ng-runtime/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +4 -4
  1398. app-ng-runtime/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +5 -5
  1399. app-ng-runtime/runtime/base/esm2022/resolves/app-extension.resolve.mjs +3 -3
  1400. app-ng-runtime/runtime/base/esm2022/resolves/app-js.resolve.mjs +3 -3
  1401. app-ng-runtime/runtime/base/esm2022/resolves/app-variables.resolve.mjs +3 -3
  1402. app-ng-runtime/runtime/base/esm2022/resolves/i18n.resolve.mjs +3 -3
  1403. app-ng-runtime/runtime/base/esm2022/resolves/metadata.resolve.mjs +3 -3
  1404. app-ng-runtime/runtime/base/esm2022/resolves/security-config.resolve.mjs +3 -3
  1405. app-ng-runtime/runtime/base/esm2022/runtime-base.module.mjs +3 -3
  1406. app-ng-runtime/runtime/base/esm2022/services/app-defaults.service.mjs +3 -3
  1407. app-ng-runtime/runtime/base/esm2022/services/app.manager.service.mjs +19 -16
  1408. app-ng-runtime/runtime/base/esm2022/services/app.service.mjs +9 -8
  1409. app-ng-runtime/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +5 -4
  1410. app-ng-runtime/runtime/base/esm2022/services/http-interceptor.services.mjs +6 -5
  1411. app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +15 -13
  1412. app-ng-runtime/runtime/base/esm2022/services/navigation.service.mjs +10 -9
  1413. app-ng-runtime/runtime/base/esm2022/services/pipe-provider.service.mjs +3 -3
  1414. app-ng-runtime/runtime/base/esm2022/services/pipe.service.mjs +3 -3
  1415. app-ng-runtime/runtime/base/esm2022/services/prefab-manager.service.mjs +5 -4
  1416. app-ng-runtime/runtime/base/esm2022/services/spinner.service.mjs +9 -8
  1417. app-ng-runtime/runtime/base/esm2022/services/toaster.service.mjs +8 -7
  1418. app-ng-runtime/runtime/base/esm2022/util/fragment-monitor.mjs +3 -3
  1419. app-ng-runtime/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +7 -8
  1420. app-ng-runtime/runtime/base/fesm2022/index.mjs +273 -256
  1421. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  1422. app-ng-runtime/runtime/base/overrides/wm_dom_renderer.d.ts +2 -2
  1423. app-ng-runtime/runtime/base/services/i18n.service.d.ts +1 -1
  1424. app-ng-runtime/runtime/dynamic/.npmignore +2 -0
  1425. app-ng-runtime/runtime/dynamic/bundles/index.umd.js +22 -21
  1426. app-ng-runtime/runtime/dynamic/esm2022/app/app.module.mjs +1 -1
  1427. app-ng-runtime/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +4 -3
  1428. app-ng-runtime/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +3 -3
  1429. app-ng-runtime/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +3 -3
  1430. app-ng-runtime/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +3 -3
  1431. app-ng-runtime/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +3 -3
  1432. app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +6 -5
  1433. app-ng-runtime/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +3 -3
  1434. app-ng-runtime/runtime/dynamic/esm2022/main.mjs +3 -2
  1435. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +21 -19
  1436. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  1437. app-ng-runtime/scripts/datatable/datatable.js +2 -2
  1438. app-ng-runtime/scripts/jquery-ui/ui/widgets/droppable.js +7 -7
  1439. app-ng-runtime/scripts/jquery-ui/ui/widgets/resizable.js +13 -10
  1440. app-ng-runtime/scripts/jquery-ui/ui/widgets/sortable.js +7 -7
  1441. app-ng-runtime/security/.npmignore +2 -0
  1442. app-ng-runtime/security/bundles/index.umd.js +17 -17
  1443. app-ng-runtime/security/esm2022/security.module.mjs +2 -2
  1444. app-ng-runtime/security/esm2022/security.service.mjs +14 -13
  1445. app-ng-runtime/security/fesm2022/index.mjs +14 -13
  1446. app-ng-runtime/security/fesm2022/index.mjs.map +1 -1
  1447. app-ng-runtime/security/security.service.d.ts +1 -1
  1448. app-ng-runtime/swipey/.npmignore +2 -0
  1449. app-ng-runtime/swipey/esm2022/swipe.animation.mjs +1 -1
  1450. app-ng-runtime/swipey/fesm2022/index.mjs.map +1 -1
  1451. app-ng-runtime/transpiler/.npmignore +2 -0
  1452. app-ng-runtime/transpiler/bundles/index.umd.js +10 -9
  1453. app-ng-runtime/transpiler/esm2022/build.mjs +8 -6
  1454. app-ng-runtime/transpiler/fesm2022/index.mjs +7 -5
  1455. app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
  1456. app-ng-runtime/variables/.npmignore +2 -0
  1457. app-ng-runtime/variables/bundles/index.umd.js +160 -150
  1458. app-ng-runtime/variables/esm2022/factory/variable.factory.mjs +1 -1
  1459. app-ng-runtime/variables/esm2022/manager/action/login-action.manager.mjs +15 -14
  1460. app-ng-runtime/variables/esm2022/manager/action/logout-action.manager.mjs +1 -1
  1461. app-ng-runtime/variables/esm2022/manager/action/notification-action.manager.mjs +9 -8
  1462. app-ng-runtime/variables/esm2022/manager/variable/base-variable.manager.mjs +3 -2
  1463. app-ng-runtime/variables/esm2022/manager/variable/device-variable-manager.mjs +1 -1
  1464. app-ng-runtime/variables/esm2022/manager/variable/device-variable-service.mjs +1 -1
  1465. app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +11 -10
  1466. app-ng-runtime/variables/esm2022/model/action/notification-action.mjs +1 -1
  1467. app-ng-runtime/variables/esm2022/service/metadata-service/metadata.service.mjs +3 -3
  1468. app-ng-runtime/variables/esm2022/service/variables.service.mjs +9 -8
  1469. app-ng-runtime/variables/esm2022/util/action/navigation-action.utils.mjs +4 -4
  1470. app-ng-runtime/variables/esm2022/util/variable/pagination.utils.mjs +30 -23
  1471. app-ng-runtime/variables/esm2022/util/variable/service-variable.utils.mjs +29 -28
  1472. app-ng-runtime/variables/esm2022/util/variable/variables.utils.mjs +75 -70
  1473. app-ng-runtime/variables/esm2022/variables.module.mjs +2 -2
  1474. app-ng-runtime/variables/fesm2022/index.mjs +174 -163
  1475. app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
  1476. app-ng-runtime/variables/util/variable/service-variable.utils.d.ts +1 -1
  1477. app-ng-runtime/build-task/advanced/custom-widget-prop/custom-widget-prop.build.d.ts +0 -2
  1478. app-ng-runtime/build-task/esm2022/advanced/custom-widget-prop/custom-widget-prop.build.mjs +0 -10
  1479. app-ng-runtime/components/advanced/custom/custom-widget-container-prop/custom-widget-container-prop.directive.d.ts +0 -20
  1480. app-ng-runtime/components/advanced/custom/esm2022/custom-widget-container-prop/custom-widget-container-prop.directive.mjs +0 -70
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../projects/components/widgets/chart/src/chart.props.ts","../../../../projects/components/widgets/chart/src/chart.utils.ts","../../../../projects/components/widgets/chart/src/chart.component.html","../../../../projects/components/widgets/chart/src/chart.component.ts","../../../../projects/components/widgets/chart/src/chart.module.ts","../../../../projects/components/widgets/chart/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-chart',\n new Map(\n [\n ['aggregation', {value: 'none', ...PROP_STRING}],\n ['aggregationcolumn', PROP_STRING],\n ['areaviewtype', {value: 'stack', ...PROP_STRING}],\n ['barspacing', {value: 'medium', ...PROP_STRING}],\n ['bubblesize', PROP_STRING],\n ['centerlabel', PROP_STRING],\n ['class', PROP_STRING],\n ['customcolors', PROP_ANY],\n ['dataset', PROP_ANY],\n ['datasource', PROP_STRING],\n ['donutratio', {value: 'medium', ...PROP_STRING}],\n ['formattype', {value: '', PROP_STRING}],\n ['groupby', PROP_STRING],\n ['height', {value: '210px', PROP_STRING}],\n ['highlightpoints', PROP_BOOLEAN],\n ['iconclass', PROP_STRING],\n ['interpolation', {value: 'linear', ...PROP_STRING}],\n ['labelthreshold', {value: 0.01, ...PROP_NUMBER}],\n ['labeltype', {value: 'percent', ...PROP_STRING}],\n ['legendtype', {value: 'furious', ...PROP_STRING}],\n ['linethickness', PROP_STRING],\n ['loadingdatamsg', {value: 'Loading...', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['nodatamessage', {value: 'No Data Available.', ...PROP_STRING}],\n ['offset', PROP_STRING],\n ['offsetbottom', {value: 55, ...PROP_NUMBER}],\n ['offsetleft', {value: 75, ...PROP_NUMBER}],\n ['offsetright', {value: 25, ...PROP_NUMBER}],\n ['offsettop', {value: 25, ...PROP_NUMBER}],\n ['orderby', PROP_STRING],\n ['reducexticks', {value: true, ...PROP_BOOLEAN}],\n ['shape', {value: 'circle', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showlabels', {value: 'outside', ...PROP_STRING}],\n ['showlabelsoutside', {value: true, ...PROP_BOOLEAN}],\n ['showlegend', {value: 'top', ...PROP_STRING}],\n ['showvalues', {value: false, ...PROP_BOOLEAN}],\n ['showxaxis', {value: true, ...PROP_BOOLEAN}],\n ['showxdistance', {value: false, ...PROP_BOOLEAN}],\n ['showyaxis', {value: true, ...PROP_BOOLEAN}],\n ['showydistance', {value: false, ...PROP_BOOLEAN}],\n ['staggerlabels', {value: false, ...PROP_BOOLEAN}],\n ['subheading', PROP_STRING],\n ['theme', PROP_STRING],\n ['title', PROP_STRING],\n ['tooltips', {value: true, ...PROP_BOOLEAN}],\n ['type', PROP_STRING],\n ['viewtype', {value: 'Grouped', ...PROP_STRING}],\n ['xaxisdatakey', PROP_STRING],\n ['xaxislabel', PROP_STRING],\n ['xaxislabeldistance', {value: 12, ...PROP_NUMBER}],\n ['xdateformat', PROP_STRING],\n ['xdomain', {value: 'Default', ...PROP_STRING}],\n ['xnumberformat', PROP_STRING],\n ['xunits', PROP_STRING],\n ['yaxisdatakey', PROP_STRING],\n ['yaxislabel', PROP_STRING],\n ['yaxislabeldistance', {value: 12, ...PROP_NUMBER}],\n ['ydomain', {value: 'Default', ...PROP_STRING}],\n ['ynumberformat', PROP_STRING],\n ['yunits', PROP_STRING]\n ]\n )\n );\n};\n","import {isEmptyObject, prettifyLabels} from '@wm/core';\n\ndeclare const _, $, d3, nv, moment;\n\nexport const chartTypes = ['Column', 'Line', 'Area', 'Cumulative Line', 'Bar', 'Pie', 'Donut', 'Bubble'],\n allShapes = ['circle', 'square', 'diamond', 'cross', 'triangle-up', 'triangle-down'];\n\nconst dateList = ['01/01/2001', '01/01/2002', '01/01/2003'],\n themes = {\n 'Terrestrial': {\n colors: ['#1f77b4', '#aec7e8', '#ff7f0e', '#ffbb78', '#2ca02c', '#98df8a', '#d62728', '#ff9896', '#9467bd', '#c5b0d5', '#8c564b', '#c49c94', '#e377c2', '#f7b6d2', '#7f7f7f', '#c7c7c7', '#bcbd22', '#dbdb8d', '#17becf', '#9edae5'],\n tooltip: {\n 'backgroundColor': '#de7d28',\n 'textColor': '#FFFFFF'\n }\n },\n 'Annabelle': {\n colors: ['#393b79', '#5254a3', '#6b6ecf', '#9c9ede', '#637939', '#8ca252', '#b5cf6b', '#cedb9c', '#8c6d31', '#bd9e39', '#e7ba52', '#e7cb94', '#843c39', '#ad494a', '#d6616b', '#e7969c', '#7b4173', '#a55194', '#ce6dbd', '#de9ed6'],\n tooltip: {\n 'backgroundColor': '#2e306f',\n 'textColor': '#FFFFFF'\n }\n },\n 'Azure': {\n colors: ['#3182bd', '#6baed6', '#9ecae1', '#c6dbef', '#e6550d', '#fd8d3c', '#fdae6b', '#fdd0a2', '#31a354', '#74c476', '#a1d99b', '#c7e9c0', '#756bb1', '#9e9ac8', '#bcbddc', '#dadaeb', '#636363', '#969696', '#bdbdbd', '#d9d9d9'],\n tooltip: {\n 'backgroundColor': '#3182bd',\n 'textColor': '#FFFFFF'\n }\n },\n 'Retro': {\n colors: ['#0ca7a1', '#ffa615', '#334957', '#acc5c2', '#988f90', '#8accc9', '#515151', '#f27861', '#36c9fd', '#794668', '#0f709d', '#0d2738', '#44be78', '#4a1839', '#6a393f', '#557d8b', '#6c331c', '#1c1c1c', '#861500', '#09562a'],\n tooltip: {\n 'backgroundColor': '#80513a',\n 'textColor': '#FFFFFF'\n }\n },\n 'Mellow': {\n colors: ['#f0dcbf', '#88c877', '#aeb918', '#2e2c23', '#ddddd2', '#dfe956', '#4c963b', '#5d3801', '#e1eec3', '#cd8472', '#fcfab3', '#9a4635', '#9295ad', '#2e3f12', '#565677', '#557d8b', '#4f4d02', '#0c0c1b', '#833324', '#24120e'],\n tooltip: {\n 'backgroundColor': '#7c9e73',\n 'textColor': '#FFFFFF'\n }\n },\n 'Orient': {\n colors: ['#a80000', '#cc6c3c', '#f0e400', '#000084', '#fccc6c', '#009c6c', '#cc309c', '#78cc00', '#fc84e4', '#48e4fc', '#4878d8', '#186c0c', '#606060', '#a8a8a8', '#000000', '#d7d7d7', '#75a06e', '#190d0b', '#888888', '#694b84'],\n tooltip: {\n 'backgroundColor': '#c14242',\n 'textColor': '#FFFFFF'\n }\n },\n 'GrayScale': {\n colors: ['#141414', '#353535', '#5b5b5b', '#848484', '#a8a8a8', '#c3c3c3', '#e0e0e0', '#c8c8c8', '#a5a5a5', '#878787', '#656565', '#4e4e4e', '#303030', '#1c1c1c', '#4f4f4f', '#3b3b3b', '#757575', '#606060', '#868686', '#c1c1c1'],\n tooltip: {\n 'backgroundColor': '#575757',\n 'textColor': '#FFFFFF'\n }\n },\n 'Flyer': {\n colors: ['#3f454c', '#5a646e', '#848778', '#cededf', '#74c4dd', '#0946ed', '#380bb1', '#000ff0', '#f54a23', '#1db262', '#bca3aa', '#ffa500', '#a86b32', '#63a18c', '#56795e', '#934343', '#b75f5f', '#752d2d', '#4e1111', '#920606'],\n tooltip: {\n 'backgroundColor': '#47637c',\n 'textColor': '#FFFFFF'\n }\n },\n 'Luminosity': {\n colors: ['#FFFFFF', '#e4e4e4', '#00bcd4', '#f0dd2f', '#00aabf', '#018376', '#e91e63', '#39e5d4', '#ff6d6d', '#00ff76', '#ff9800', '#969696', '#ff4200', '#e00000', '#95cbe5', '#5331ff', '#fff4a7', '#e7a800', '#0061e4', '#d5e7ff'],\n tooltip: {\n 'backgroundColor': '#47637c',\n 'textColor': '#FFFFFF'\n }\n }\n },\n basicProperties = ['xaxislabel', 'yaxislabel', 'xunits', 'yunits', 'xnumberformat', 'xdateformat', 'ynumberformat',\n 'showvalues', 'showlabels', 'viewtype', 'areaviewtype', 'staggerlabels', 'reducexticks', 'offsettop', 'offsetbottom', 'offsetright', 'offsetleft',\n 'barspacing', 'xaxislabeldistance', 'yaxislabeldistance', 'theme', 'labeltype', 'donutratio', 'showlabelsoutside', 'showxdistance', 'showydistance', 'shape', 'nodatamessage', 'captions', 'showxaxis', 'showyaxis',\n 'centerlabel', 'customcolors', 'showlegend', 'legendtype', 'xdomain', 'ydomain', 'tooltips', 'linethickness', 'highlightpoints', 'interpolation', 'labelthreshold'],\n barSpacingMap = {\n 'small' : 0.3,\n 'medium' : 0.5,\n 'large' : 0.8\n },\n donutRatioMap = {\n 'small' : 0.3,\n 'medium' : 0.6,\n 'large' : 0.7\n },\n barSpacingMapInvert = _.invert(barSpacingMap),\n donutRatioMapInvert = _.invert(donutRatioMap),\n tickformats = {\n 'Thousand': {\n 'prefix': 'K',\n 'divider': 1000\n },\n 'Million' : {\n 'prefix': 'M',\n 'divider': 1000000\n },\n 'Billion' : {\n 'prefix': 'B',\n 'divider': 1000000000\n }\n },\n chartId = '#preview-chart',\n dataTypeJSON = ['Column', 'Line', 'Pie', 'Bar', 'Donut', 'Bubble'], // Charts that supports the data to be JSON;\n lineTypeCharts = ['Line', 'Area', 'Cumulative Line'], // Charts that does not supports the string type of data in the xaxis in the nvd3;\n dataTypeArray = ['Cumulative Line', 'Area'], // Charts that supports the data to be Array\n SAMPLE_DATA = {\n 'group1' : 'Europe',\n 'group2' : 'Asia',\n 'group3' : 'America',\n 'group4' : 'Australia'\n };\n\n// returns true if chart type is pie\nexport const isPieChart = type => type === 'Pie';\n\n// returns true if chart type is line\nexport const isLineChart = type => type === 'Line';\n\n// returns true if chart type is bar\nexport const isBarChart = type => type === 'Bar';\n\n// returns true if chart type is donut\nexport const isDonutChart = type => type === 'Donut';\n\n// returns true if chart type is bubble\nexport const isBubbleChart = type => type === 'Bubble';\n\n// returns true if chart type is column\nexport const isColumnChart = type => type === 'Column';\n\n// returns true if chart type is area\nexport const isAreaChart = type => type === 'Area';\n\n// returns true if chart type is area\nexport const isPieType = type => isPieChart(type) || isDonutChart(type);\n\n// The format of chart data is array of json objects in case of the following types of chart\nexport const isChartDataJSON = type => _.includes(dataTypeJSON, type) || !_.includes(chartTypes, type);\n\n// The format of chart data is array of objects in case of the following types of chart\nexport const isChartDataArray = type => _.includes(dataTypeArray, type);\n\n// returns true is the chart type is 'line', 'area' or 'cumulative line' else false\nexport const isLineTypeChart = type => _.includes(lineTypeCharts, type);\n\n// X/Y Domain properties are supported only for Column and Area charts\nexport const isAxisDomainSupported = type => isColumnChart(type) || isAreaChart(type);\n\n// Returns bar spacing value\nexport const getBarSpacingValue = (value, prop) => {\n if (prop === 'value') {\n return barSpacingMap[value];\n }\n if (prop === 'key') {\n return barSpacingMapInvert[value];\n }\n};\n\n// Returns radius value\nexport const getRadiusValue = (value, prop) => {\n if (prop === 'value') {\n return donutRatioMap[value];\n }\n if (prop === 'key') {\n return donutRatioMapInvert[value];\n }\n};\n\n// Returns labels config\nexport const getLabelValues = (showlabels, showlabelsoutside, prop) => {\n const labelsConfig: any = {};\n switch (showlabels) {\n case 'hide':\n labelsConfig.showlabels = false;\n break;\n case 'inside':\n labelsConfig.showlabels = true;\n labelsConfig.showlabelsoutside = false;\n break;\n case 'outside':\n labelsConfig.showlabels = true;\n labelsConfig.showlabelsoutside = true;\n break;\n }\n return labelsConfig;\n};\n\n// Construct the sample data\nexport const constructSampleData = (dataType, yaxisLength, shape) => {\n let first_series = [],\n second_series = [],\n third_series = [],\n first_series_array = [],\n second_series_array = [],\n third_series_array = [],\n first_series_bubble = [],\n second_series_bubble = [],\n third_series_bubble = [],\n data = [];\n switch (dataType) {\n case 'jsonFormat':\n first_series = [\n {'x': '01/01/2001', 'y': 4000000},\n {'x': '01/01/2002', 'y': 1000000},\n {'x': '01/01/2003', 'y': 5000000}\n ];\n second_series = [\n {'x': '01/01/2001', 'y': 3000000},\n {'x': '01/01/2002', 'y': 4000000},\n {'x': '01/01/2003', 'y': 7000000}\n ];\n third_series = [\n {'x': '01/01/2001', 'y': 2000000},\n {'x': '01/01/2002', 'y': 8000000},\n {'x': '01/01/2003', 'y': 6000000}\n ];\n data[0] = {\n values: first_series,\n key: SAMPLE_DATA.group1\n };\n if (yaxisLength >= 2) {\n data[1] = {\n values: second_series,\n key: SAMPLE_DATA.group2\n };\n }\n if (yaxisLength >= 3) {\n data[2] = {\n values: third_series,\n key: SAMPLE_DATA.group3\n };\n }\n break;\n case 'lineChartFormat':\n first_series = [\n {'x': 1, 'y': 4000000},\n {'x': 2, 'y': 1000000},\n {'x': 3, 'y': 5000000}\n ];\n second_series = [\n {'x': 1, 'y': 3000000},\n {'x': 2, 'y': 4000000},\n {'x': 3, 'y': 7000000}\n ];\n third_series = [\n {'x': 1, 'y': 2000000},\n {'x': 2, 'y': 8000000},\n {'x': 3, 'y': 6000000}\n ];\n data[0] = {\n values: first_series,\n key: SAMPLE_DATA.group1\n };\n if (yaxisLength >= 2) {\n data[1] = {\n values: second_series,\n key: SAMPLE_DATA.group2\n };\n }\n if (yaxisLength >= 3) {\n data[2] = {\n values: third_series,\n key: SAMPLE_DATA.group3\n };\n }\n break;\n case 'arrayFormat':\n first_series_array = [\n [1, 4000000],\n [2, 1000000],\n [3, 5000000]\n ];\n second_series_array = [\n [1, 3000000],\n [2, 4000000],\n [3, 7000000]\n ];\n third_series_array = [\n [1, 2000000],\n [2, 8000000],\n [3, 6000000]\n ];\n data[0] = {\n values: first_series_array,\n key: SAMPLE_DATA.group1\n };\n if (yaxisLength >= 2) {\n data[1] = {\n values: second_series_array,\n key: SAMPLE_DATA.group2\n };\n }\n if (yaxisLength >= 3) {\n data[2] = {\n values: third_series_array,\n key: SAMPLE_DATA.group3\n };\n }\n break;\n case 'bubbleFormat':\n shape = shape === 'random' ? allShapes[Math.floor(Math.random() * allShapes.length)] : shape;\n first_series_bubble = [\n {'x': 80.66, 'y': 33739900, 'size': 78, 'shape': shape},\n {'x': 79.84, 'y': 81902300, 'size': 90, 'shape': shape},\n {'x': 78.6, 'y': 5523100, 'size': 45, 'shape': shape}\n ];\n second_series_bubble = [\n {'x': 72.73, 'y': 79716200, 'size': 98, 'shape': shape},\n {'x': 80.05, 'y': 61801600, 'size': 20, 'shape': shape},\n {'x': 72.49, 'y': 73137200, 'size': 34, 'shape': shape}\n ];\n third_series_bubble = [\n {'x': 68.09, 'y': 33739900, 'size': 45, 'shape': shape},\n {'x': 81.55, 'y': 7485600, 'size': 78, 'shape': shape},\n {'x': 68.60, 'y': 141850000, 'size': 56, 'shape': shape}\n ];\n data[0] = {\n values: first_series_bubble,\n key: SAMPLE_DATA.group1\n };\n if (yaxisLength >= 2) {\n data[1] = {\n values: second_series_bubble,\n key: SAMPLE_DATA.group2\n };\n }\n if (yaxisLength >= 3) {\n data[2] = {\n values: third_series_bubble,\n key: SAMPLE_DATA.group3\n };\n }\n break;\n case 'pieChartFormat':\n data = [\n {'x': SAMPLE_DATA.group1, 'y': 1000000},\n {'x': SAMPLE_DATA.group2, 'y': 2000000},\n {'x': SAMPLE_DATA.group3, 'y': 3000000},\n {'x': SAMPLE_DATA.group4, 'y': 4000000}\n ];\n break;\n }\n return data;\n};\n\nexport const getDataType = widgetContext => {\n const type = widgetContext.type;\n if (isLineChart(type)) {\n return 'lineChartFormat';\n }\n if (isPieType(type)) {\n return 'pieChartFormat';\n }\n if (isBubbleChart(type)) {\n return 'bubbleFormat';\n }\n return isChartDataJSON(type) ? 'jsonFormat' : 'arrayFormat';\n};\n\n// Sample data to populate when no data is bound\nexport const getSampleData = widgetContext => constructSampleData(getDataType(widgetContext), _.split(widgetContext.yaxisdatakey, ',').length, widgetContext.shape);\n\n// Check whether X/Y Domain was set to Min and is supported for the present chart\nexport const isAxisDomainValid = (widgetContext, axis) => {\n if (widgetContext[axis + 'domain'] === 'Min' && (isAxisDomainSupported(widgetContext.type))) {\n return true;\n }\n return false;\n};\n\n// Check whether min and max values are finite or not\nexport const areMinMaxValuesValid = values => {\n if (_.isFinite(values.min) && _.isFinite(values.max)) {\n return true;\n }\n return false;\n};\n\nexport const getYScaleMinValue = value => {\n const _min = Math.floor(value);\n /* If the number has a) decimal part returning floor value - 0.1\n b) no decimal part returning floor value - 1 */\n return Math.abs(value) - _min > 0 ? value - 0.1 : _min - 1;\n};\n\n// Chooses the data points of line/cumulative line/area chart and highlights them\nexport const highlightPoints = (id, highlightpoints) => {\n const chartSvg = id ? d3.select('#wmChart' + id + ' svg') : d3.select(chartId + ' svg');\n if (highlightpoints) {\n chartSvg.selectAll('.nv-point')\n .style('stroke-width', '6px')\n .style('fill-opacity', '0.95')\n .style('stroke-opacity', '0.95');\n } else {\n chartSvg.selectAll('.nv-point')\n .style('stroke-width', '0px')\n .style('fill-opacity', '0');\n }\n};\n\n// Chooses the line of line/cumulative line and increases the thickness of it\nexport const setLineThickness = (id, thickness) => {\n const chartSvg = id ? d3.select('#wmChart' + id + ' svg') : d3.select(chartId + ' svg');\n thickness = thickness || 1.5;\n\n const lines = chartSvg.selectAll('.nv-line');\n\n if (lines.size() !== 0) {\n lines.style('stroke-width', thickness);\n }\n};\n\n// Constructing a common key value map for preview and canvas mode\nexport const initProperties = (widgetContext, propertyValueMap) => {\n if (!propertyValueMap || isEmptyObject(propertyValueMap)) {\n propertyValueMap = {};\n }\n _.forEach(basicProperties, prop => {\n if (_.isUndefined(propertyValueMap[prop])) {\n propertyValueMap[prop] = widgetContext[prop];\n }\n });\n\n return propertyValueMap;\n};\n\nexport const getNumberValue = (value, callback) => {\n return isNaN(parseInt(value, 10)) ? callback(value, 'value') : value;\n};\n\n// Formats the given value according to date format\nexport const getDateFormatedData = (dateFormat, d) => {\n dateFormat = dateFormat || '%x';\n /**\n * if date value is string \"20-05-2019\" then new Date(value) return 20May2019 with current time in India,\n * whereas this will return 19May2019 with time lagging for few hours.\n * This is because it returns UTC time i.e. Coordinated Universal Time (UTC).\n * To create date in local time use moment\n */\n if(dateFormat == '%c') {\n dateFormat = '%a %b %e %X %Y';\n }\n return d3.timeFormat(dateFormat)(new Date(moment(moment(d).format()).valueOf()));\n};\nconst removeTrailingZeros = value => {\n if(!value) {\n return value;\n }\n // Convert value to a string if it's a number\n const stringValue = typeof value === 'number' ? value.toString() : value;\n\n // Remove trailing zeros\n return stringValue.replace(/\\.0+([A-Za-z]*)$/, '$1').replace(/\\.([1-9]+)0+([A-Za-z]*)$/, '.$1$2');\n};\n\n// Formats the given value according to number format\nexport const getNumberFormatedData = (numberFormat, d) => {\n let formattedData,\n divider,\n prefix;\n // formatting the data based on number format selected\n if (numberFormat) {\n let numberFormatter;\n if(numberFormat == 'Thousand' || numberFormat == 'Million' || numberFormat == 'Billion') {\n numberFormatter = d3.format(',.2s');\n } else if(numberFormat == '%') {\n numberFormatter = d3.format('.2%');\n }else if(numberFormat == '.f') {\n numberFormatter = d3.format('.2f');\n } else {\n numberFormatter = d3.format(numberFormat);\n }\n formattedData = numberFormatter(d);\n\n\n // Getting the respective divider[1000,1000000,1000000000] based on the number format choosen\n divider = (tickformats[numberFormat] && tickformats[numberFormat].divider) || 0;\n prefix = tickformats[numberFormat] && tickformats[numberFormat].prefix;\n if (prefix && divider !== 0) {\n formattedData = d3.format('.2f')(d / divider) + prefix;\n }\n } else {\n // Auto formatting the data when no formating option is chosen\n formattedData = d >= 1000 ? d3.format('.1s')(d) : d;\n }\n formattedData = removeTrailingZeros(formattedData);\n return formattedData;\n};\n\n// Set the visibility property of the chart x,y axis due to a bug in the nvd3\nexport const toggleAxisShow = (property, value) => {\n const $xAxis = d3.select(chartId + ' g.nv-axis.nv-x'),\n $yAxis = d3.select(chartId + ' g.nv-axis.nv-y');\n if (property === 'showxaxis') {\n $xAxis.style('visibility', value ? 'visible' : 'hidden');\n } else {\n $yAxis.style('visibility', value ? 'visible' : 'hidden');\n }\n};\n\nexport const modifyLegendPosition = (widgetContext, position, id) => {\n const showLegend = isShowLegend(widgetContext.showlegend),\n chart_Id = id ? '#wmChart' + id : chartId,\n legendWrap = d3.select(chart_Id + ' .nv-legendWrap'),\n legendPadding = 5;\n // Return when showlegend is false\n if (!showLegend || !legendWrap['_groups'][0][0]) {\n return;\n }\n if (position === 'bottom') {\n const legendWrapHeight = legendWrap['_groups'][0][0].getBoundingClientRect().height,\n wrap = d3.select(chart_Id + ' .nv-wrap'),\n wrapTransform = (wrap && wrap.attr('transform')) ? wrap.attr('transform').replace(/, /g, ',') : '',\n coordinates = /translate\\(\\s*([^\\s,)]+)[ ,]([^\\s,)]+)/.exec(wrapTransform),\n getChartHeight = () => {\n let chartHeight = $(chart_Id + ' svg>.nvd3.nv-wrap')[0].getBoundingClientRect().height;\n if (chartHeight === 0) { // fix for IE\n chartHeight = ($(chart_Id + ' svg')[0].getBoundingClientRect().height - (legendWrapHeight + 15));\n }\n return chartHeight;\n };\n legendWrap.attr('transform', 'translate(0 , ' + (getChartHeight() - legendWrapHeight - legendPadding) + ')');\n if (coordinates) {\n wrap.attr('transform', 'translate(' + coordinates[1] + ',' + legendPadding + ')');\n }\n }\n};\n\n// Returns value if legend need to shown or not\nexport const isShowLegend = value => {\n // Old projects will have either true or false\n if (value === 'false' || value === false) {\n return false;\n }\n if (value === 'true' || value === true) {\n return true;\n }\n // New projects will have either 'Hide Legend', 'Show Top', 'Show Bottom'\n return value === 'hide' ? false : true;\n};\n\n/**\n * Customise the tooltip for donut & pie charts and also for charts having only one value attached to yaxis\n * @param key\n * @param label\n */\nexport const customiseTooltip = (chart, propertyValueMap, widgetContext, label?) => {\n chart.tooltip.contentGenerator(key => {\n let xValue = key.data.x, yValue;\n yValue = getNumberFormatedData(propertyValueMap.ynumberformat, key.data.y);\n if (isPieType(widgetContext.type)) {\n label = key.data.x;\n xValue = '';\n }\n return '<table>' +\n '<tbody>' +\n '<tr class=\"value\"><b>' + xValue +\n '</b></tr>' +\n '<tr>' +\n '<td class=\"legend-color-guide\"><div style=\"background-color:' + key.color + ';\"></div></td>' +\n '<td class=\"key\">' + label + '</td>' +\n '<td class=\"value\">' + yValue + '</td>' +\n '</tr>' +\n '</tbody>' +\n '</table>';\n });\n};\n\n// intializes the chart obejct\nexport const initChart = (widgetContext, xDomainValues, yDomainValues, propertyValueMap, isPreview) => {\n propertyValueMap = initProperties(widgetContext, propertyValueMap);\n let chart, colors = [], xaxislabel, yaxislabel, labelConfig, radius, barSpacing,\n showLegend, xAxisValue, hasMultipleYValues;\n const xValue: any = {}, yValue: any = {};\n switch (widgetContext.type) {\n case 'Column':\n barSpacing = getNumberValue(propertyValueMap.barspacing, getBarSpacingValue) || barSpacingMap.medium;\n chart = nv.models.multiBarChart()\n .x(d => d.x)\n .y(d => d.y)\n .reduceXTicks(propertyValueMap.reducexticks)\n .rotateLabels(0)\n .showControls(false)\n .stacked(propertyValueMap.viewtype === 'Stacked' ? true : false)\n .groupSpacing(barSpacing);\n break;\n case 'Cumulative Line':\n chart = nv.models.cumulativeLineChart()\n .x(d => d[0])\n .y(d => d[1])\n .showControls(false)\n .useInteractiveGuideline(propertyValueMap.tooltips)\n .interpolate(propertyValueMap.interpolation);\n break;\n case 'Line':\n chart = nv.models.lineChart()\n .useInteractiveGuideline(propertyValueMap.tooltips)\n .interpolate(propertyValueMap.interpolation);\n break;\n case 'Area':\n chart = nv.models.stackedAreaChart()\n .x(d => d.x)\n .y(d => d.y)\n .clipEdge(true)\n .showControls(false)\n .style(propertyValueMap.areaviewtype)\n .useInteractiveGuideline(propertyValueMap.tooltips)\n .interpolate(propertyValueMap.interpolation);\n break;\n case 'Bar':\n barSpacing = getNumberValue(propertyValueMap.barspacing, getBarSpacingValue) || barSpacingMap.medium;\n chart = nv.models.multiBarHorizontalChart()\n .x(d => d.x)\n .y(d => d.y)\n .showControls(false)\n .stacked(propertyValueMap.viewtype === 'Stacked' ? true : false)\n .showValues(propertyValueMap.showvalues)\n .groupSpacing(barSpacing);\n break;\n case 'Pie':\n case 'Donut':\n labelConfig = getLabelValues(propertyValueMap.showlabels, propertyValueMap.showlabelsoutside, 'value');\n radius = getNumberValue(propertyValueMap.donutratio, getRadiusValue) || donutRatioMap.medium;\n chart = nv.models.pieChart()\n .x(d => d.x)\n .y(d => d.y)\n .showLabels(labelConfig.showlabels)\n .labelType(propertyValueMap.labeltype)\n .valueFormat(d3.format('%'))\n .title(propertyValueMap.centerlabel)\n .labelThreshold(propertyValueMap.labelthreshold || 0.01)\n .labelsOutside(labelConfig.showlabelsoutside);\n if (isDonutChart(widgetContext.type)) {\n chart.donut(true)\n .donutRatio(radius);\n }\n if (propertyValueMap.labeltype === 'key-value') {\n chart.labelType(d => d.data.x + ' ' + d.data.y);\n }\n break;\n case 'Bubble':\n chart = nv.models.scatterChart()\n .x(d => d.x)\n .y(d => d.y)\n .showDistX(propertyValueMap.showxdistance)\n .showDistY(propertyValueMap.showydistance);\n break;\n }\n\n if (xDomainValues) {\n xValue.min = xDomainValues.min.x || xDomainValues.min[0];\n xValue.max = xDomainValues.max.x || xDomainValues.max[0];\n // If the values on the x axis are string then min max values gives Infinity\n if (areMinMaxValuesValid(xValue)) {\n // Reducing the min value to 0.1 so the min value is not missed out\n xValue.min = getYScaleMinValue(xValue.min);\n chart.xDomain([xValue.min, xValue.max]);\n }\n }\n\n if (yDomainValues) {\n // Reducing the min value to 1 so the min value is not missed out\n yValue.min = yDomainValues.min.y || yDomainValues.min[1];\n yValue.max = yDomainValues.max.y || yDomainValues.max[1];\n // If the values on the y axis are string or invalid then min max values gives Infinity\n if (areMinMaxValuesValid(yValue)) {\n // Reducing the min value to 1 so the min value is not missed out\n yValue.min = getYScaleMinValue(yValue.min);\n chart.yDomain([yValue.min, yValue.max]);\n }\n }\n\n // Setting the legend type choosen by user or default it will be furious\n chart.legend.vers((propertyValueMap.legendtype && propertyValueMap.legendtype.toLowerCase()) || 'furious');\n\n if (!_.includes(chartTypes, widgetContext.type)) {\n chart = nv.models.multiBarChart()\n .x(d => d.x)\n .y(d => d.y);\n }\n\n\n if (isPieType(widgetContext.type)) {\n // In case of pie/donut chart formatting the values of it\n if (propertyValueMap.labeltype === 'percent') {\n chart.valueFormat(d3.format('%'));\n } else {\n chart.valueFormat(d => getNumberFormatedData(propertyValueMap.ynumberformat, d));\n }\n // Customizing the tooltips in case of the pie and donut when labelType is value\n customiseTooltip(chart, propertyValueMap, widgetContext);\n }\n else {\n chart.showXAxis(propertyValueMap.showxaxis)\n .showYAxis(propertyValueMap.showyaxis);\n chart.legendPosition(propertyValueMap.showlegend);\n\n // Setting the labels if they are specified explicitly or taking the axiskeys chosen\n xaxislabel = propertyValueMap.xaxislabel || prettifyLabels(widgetContext.xaxisdatakey) || 'x caption';\n yaxislabel = propertyValueMap.yaxislabel || prettifyLabels(widgetContext.yaxisdatakey) || 'y caption';\n\n // Checking if y axis has multiple values\n if (widgetContext.yaxisdatakey && widgetContext.yaxisdatakey.split(',').length > 1) {\n hasMultipleYValues = true;\n }\n // Customizing the tooltip to show yaxislabel, only if the y axis contains one value\n if (!hasMultipleYValues && !isBubbleChart(widgetContext.type)) {\n customiseTooltip(chart, propertyValueMap, widgetContext, yaxislabel);\n }\n\n // Adding the units to the captions if they are specified\n xaxislabel += propertyValueMap.xunits ? '(' + propertyValueMap.xunits + ')' : '';\n yaxislabel += propertyValueMap.yunits ? '(' + propertyValueMap.yunits + ')' : '';\n\n chart.xAxis\n .axisLabel(xaxislabel)\n .axisLabelDistance(propertyValueMap.xaxislabeldistance)\n .staggerLabels(propertyValueMap.staggerlabels);\n\n // If date format set format based date format\n if (propertyValueMap.xdateformat || (isPreview && !isBubbleChart(widgetContext.type))) {\n if (isLineTypeChart(widgetContext.type)) {\n chart.xAxis.tickFormat(d => {\n // get the actual value\n xAxisValue = isPreview ? dateList[d - 1] : widgetContext.xDataKeyArr[d];\n return getDateFormatedData(propertyValueMap.xdateformat, xAxisValue);\n });\n } else {\n chart.xAxis.tickFormat(d => getDateFormatedData(propertyValueMap.xdateformat, d));\n }\n } else if (propertyValueMap.xnumberformat) {\n chart.xAxis.tickFormat(d => getNumberFormatedData(propertyValueMap.xnumberformat, d));\n } else {\n if (isLineTypeChart(widgetContext.type)) {\n // get the actual value\n chart.xAxis.tickFormat(d => widgetContext.xDataKeyArr[d]);\n }\n }\n chart.yAxis\n .axisLabel(yaxislabel)\n .axisLabelDistance(propertyValueMap.yaxislabeldistance)\n .staggerLabels(propertyValueMap.staggerlabels)\n .tickFormat(d => getNumberFormatedData(propertyValueMap.ynumberformat, d));\n if (isBarChart(widgetContext.type)) {\n chart.valueFormat(d => getNumberFormatedData(propertyValueMap.ynumberformat, d));\n }\n }\n\n // Support for custom colors if user gives direct string of colors in text box\n if (_.isString(propertyValueMap.customcolors) && propertyValueMap.customcolors) {\n colors = _.split(propertyValueMap.customcolors, ',');\n }\n if (_.isArray(propertyValueMap.customcolors)) {\n colors = propertyValueMap.customcolors;\n }\n\n showLegend = isShowLegend(propertyValueMap.showlegend);\n chart.showLegend(showLegend)\n .margin({top: propertyValueMap.offsettop, right: propertyValueMap.offsetright, bottom: propertyValueMap.offsetbottom, left: propertyValueMap.offsetleft})\n .color(colors.length ? colors : themes[propertyValueMap.theme].colors);\n\n chart.tooltip.enabled(propertyValueMap.tooltips);\n widgetContext.message = propertyValueMap.nodatamessage || 'No data found';\n // setting the no data message\n chart.noData(widgetContext.message);\n\n if (isLineTypeChart(widgetContext.type) && widgetContext.highlightpoints) {\n chart.dispatch.on('stateChange', () => {\n setTimeout(() => postPlotChartProcess(widgetContext), 100);\n });\n }\n\n if (widgetContext.showlegend && (widgetContext.type === 'Donut' || widgetContext.type === 'Pie')) {\n if(widgetContext.showlegend === 'right') {\n chart.legendPosition('right');\n }\n }\n return chart;\n};\n\n// @ts-ignore\nexport const postPlotChartProcess = (widgetContext, isPreview?) => {\n const id = isPreview ? null : widgetContext.$id;\n // If user sets to highlight the data points and increase the thickness of the line\n if (isLineTypeChart(widgetContext.type)) {\n setLineThickness(id, widgetContext.linethickness);\n highlightPoints(id, widgetContext.highlightpoints);\n }\n // Modifying the legend position only when legend is shown\n // if (widgetContext.showlegend) {\n // modifyLegendPosition(widgetContext, widgetContext.showlegend, id);\n // }\n};\n\n// @ts-ignore\nexport const getDateList = () => dateList;\n\n","<div class=\"panel-heading\" *ngIf=\"title\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\"><i class=\"app-icon panel-icon {{iconclass}}\" [class.ng-hide]=\"!iconclass\"></i></div>\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" *ngIf=\"subheading\" [innerHTML]=\"subheading\"></div>\n </h3>\n</div>\n<div class=\"app-chart-inner\" [ngClass]=\"{'loading':isLoadInProgress, 'panel-body': title}\">\n <svg></svg>\n <div class=\"wm-content-info readonly-wrapper\" *ngIf=\"showContentLoadError && showNoDataMsg\">\n <p class=\"wm-message\" [title]=\"hintMsg\" [ngClass]=\"{'error': invalidConfig}\" [innerText]=\"errMsg\"></p>\n </div>\n <div wmSpinner show.bind=\"isLoadInProgress\" caption.bind=\"loadingdatamsg\"></div>\n</div>\n","import {AfterViewInit, OnDestroy, Component, HostBinding, Injector, ViewEncapsulation, Optional} from '@angular/core';\n\nimport {\n App,\n DataSource,\n getClonedObject,\n isDataSourceEqual,\n isEmptyObject,\n isNumberType,\n prettifyLabels,\n removeAttr,\n triggerFn,\n isMobileApp,\n noop\n} from '@wm/core';\nimport { APPLY_STYLES_TYPE, IRedrawableComponent, provideAsWidgetRef, StylableComponent, styler, } from '@wm/components/base';\n\nimport { registerProps } from './chart.props';\nimport { allShapes, getDateList, getSampleData, initChart, isAreaChart, isAxisDomainValid, isBarChart, isBubbleChart, isChartDataArray, isChartDataJSON, isLineTypeChart, isPieType, postPlotChartProcess } from './chart.utils';\n\ndeclare const $, _, d3, nv;\n\nconst WIDGET_CONFIG = {widgetType: 'wm-chart', hostClass: 'app-chart'};\n\nconst options = {\n 'Bubble' : ['bubblesize', 'shape']\n },\n NONE = 'none',\n advanceDataProps = ['aggregation', 'aggregationcolumn', 'groupby', 'orderby'],\n // XPaths to get actual data of data points in charts\n chartDataPointXpath = {\n 'Column' : 'rect.nv-bar',\n 'Bar' : 'g.nv-bar',\n 'Area' : '.nv-stackedarea .nv-point',\n 'Cumulative Line': '.nv-cumulativeLine .nv-scatterWrap path.nv-point',\n 'Line' : '.nv-lineChart .nv-scatterWrap path.nv-point',\n 'Pie' : '.nv-pieChart .nv-slice path',\n 'Donut' : '.nv-pieChart .nv-slice path',\n 'Bubble' : '.nv-scatterChart .nv-point-paths path'\n },\n // all properties of the chart\n allOptions = ['bubblesize', 'shape'],\n styleProps = {\n 'fontunit' : 'font-size',\n 'fontsize' : 'font-size',\n 'color' : 'fill',\n 'fontfamily' : 'font-family',\n 'fontweight' : 'font-weight',\n 'fontstyle' : 'font-style',\n 'textdecoration': 'text-decoration'\n },\n // Getting the relevant aggregation function based on the selected option\n aggregationFnMap = {\n 'average' : 'AVG',\n 'count' : 'COUNT',\n 'maximum' : 'MAX',\n 'minimum' : 'MIN',\n 'sum' : 'SUM'\n };\n\nconst getBooleanValue = val => {\n if (val === true || val === 'true') {\n return true;\n }\n if (val === false || val === 'false') {\n return false;\n }\n return val;\n};\n\n// returns orderby columns and their orders in two separate arrays\nconst getLodashOrderByFormat = orderby => {\n let columns;\n const orderByColumns = [],\n orders = [];\n\n _.forEach(_.split(orderby, ','), function (col) {\n columns = _.split(col, ':');\n orderByColumns.push(columns[0]);\n orders.push(columns[1]);\n });\n return {\n 'columns' : orderByColumns,\n 'orders' : orders\n };\n};\n\n// Replacing the '.' by the '$' because '.' is not supported in the alias names\nconst getValidAliasName = aliasName => aliasName ? aliasName.replace(/\\./g, '$') : null;\n\n// Applying the font related styles for the chart\nconst setTextStyle = (properties, id) => {\n const charttext = d3.select('#wmChart' + id + ' svg').selectAll('text');\n if (!charttext.empty()) {\n charttext.style(properties);\n }\n};\n\nconst angle = d => {\n const a = (d.startAngle + d.endAngle) * 90 / Math.PI - 90;\n return a > 90 ? a - 180 : a;\n};\n\n@Component({\n selector: 'div[wmChart]',\n templateUrl: './chart.component.html',\n styleUrls: ['../../../../../node_modules/@wavemaker/nvd3/build/nv.d3.min.css'],\n providers: [\n provideAsWidgetRef(ChartComponent)\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class ChartComponent extends StylableComponent implements AfterViewInit, OnDestroy, IRedrawableComponent {\n static initializeProps = registerProps();\n\n xaxisdatakey;\n yaxisdatakey;\n groupby;\n aggregation;\n aggregationcolumn;\n isVisuallyGrouped;\n orderby;\n iconclass = '';\n type: string;\n showContentLoadError;\n invalidConfig;\n errMsg;\n shape: string;\n datasource: any;\n fontsize: string;\n selecteditem: any;\n fontunit: string;\n offsettop: number;\n offsetleft: number;\n offsetright: number;\n offsetbottom: number;\n showlabels: any;\n theme: string;\n\n private $id;\n private scopedataset: any;\n private binddataset: any;\n private showlabelsoutside: any;\n private _resizeFn: any;\n private chart: any;\n private clearCanvas: boolean;\n public isLoadInProgress: boolean;\n private filterFields: boolean | any;\n private dataset: any;\n private axisoptions: any;\n private numericColumns: any;\n private nonPrimaryColumns: any = [];\n private variableInflight: any;\n private chartReady: boolean;\n private xDataKeyArr: any = [];\n private xAxisDataType: string;\n private bubblesize: any;\n public showNoDataMsg: any;\n private sampleData: any[];\n private chartData: any[] = [];\n private _processedData: any[] = [];\n private _subsciptions: any = [];\n\n @HostBinding('class.panel') title;\n\n isGroupByEnabled() {\n return !!(this.groupby && this.groupby !== NONE);\n }\n\n // Check if x and y axis that are chosen are valid to plot chart\n isValidAxis() {\n // Check if x axis and y axis are chosen and are not equal\n return this.binddataset ? (this.xaxisdatakey && this.yaxisdatakey) : true;\n }\n\n // Check if aggregation is chosen\n isAggregationEnabled() {\n return !!((this.isGroupByEnabled() && this.aggregation !== NONE && this.aggregationcolumn));\n }\n\n // Check if either groupby, aggregation or orderby is chosen\n isDataFilteringEnabled() {\n /*Query need to be triggered if any of the following cases satisfy\n * 1. Group By and aggregation both chosen\n * 2. Only Order By is chosen\n * */\n\n return this.isAggregationEnabled() || (!this.isVisuallyGrouped && this.orderby);\n }\n\n /*Charts like Line,Area,Cumulative Line does not support any other datatype\n other than integer unlike the column and bar.It is a nvd3 issue. Inorder to\n support that this is a fix*/\n getxAxisVal(dataObj, xKey, index) {\n const value = _.get(dataObj, xKey);\n // If x axis is other than number type then add indexes\n if (isLineTypeChart(this.type) && !isNumberType(this.xAxisDataType)) {\n // Verification to get the unique data keys\n this.xDataKeyArr.push(value);\n // Check if it is of type Date\n if (value instanceof Date) {\n return value;\n } else {\n return index;\n }\n }\n return value;\n }\n\n // Getting the min and max values among all the x values\n getXMinMaxValues(datum) {\n if (!datum) {\n return;\n }\n const xValues: any = {};\n /*\n compute the min x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n min x: 1\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n min x: 10\n */\n xValues.min = _.minBy(datum.values, dataObject => dataObject.x || dataObject[0]);\n /*\n compute the max x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n max x: 3\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n max x: 30\n */\n xValues.max = _.maxBy(datum.values, dataObject => dataObject.x || dataObject[0]);\n return xValues;\n }\n\n // Getting the min and max values among all the y values\n getYMinMaxValues(datum) {\n const yValues: any = {},\n minValues = [],\n maxValues = [];\n if (!datum) {\n return;\n }\n\n /*\n Getting the min and max y values among all the series of data\n compute the min y value\n eg: When data has objects\n input: [[{x:1, y:2}, {x:2, y:3}, {x:3, y:4}], [{x:2, y:3}, {x:3, y:4}, {x:4, y:5}]]\n min y values : '2'(among first set) & '3'(among second set)\n max y values : '4'(among first set) & '5'(among second set)\n\n eg: When data has arrays\n input: [[[10, 20], [20, 30], [30, 40]], [[20, 30], [30, 40], [40, 50]]]\n min y values : '20'(among first set) & '30'(among second set)\n max y values : '40'(among first set) & '50'(among second set)\n */\n\n _.forEach(datum, data => {\n minValues.push(_.minBy(data.values, function (dataObject) { return dataObject.y || dataObject[1]; }));\n maxValues.push(_.maxBy(data.values, function (dataObject) { return dataObject.y || dataObject[1]; }));\n });\n // Gets the least and highest values among all the min and max values of respective series of data\n yValues.min = _.minBy(minValues, dataObject => dataObject.y || dataObject[1]);\n yValues.max = _.maxBy(maxValues, dataObject => dataObject.y || dataObject[1]);\n return yValues;\n }\n\n // If the x-axis values are undefined, we return empty array else we return the values\n getValidData(values) {\n return (values.length === 1 && values[0] === undefined) ? [] : values;\n }\n\n // Returns the single data point based on the type of the data chart accepts\n valueFinder(dataObj, xKey, yKey, index?, shape?) {\n const xVal = this.getxAxisVal(dataObj, xKey, index),\n value = _.get(dataObj, yKey),\n yVal = parseFloat(value) || value,\n size = parseFloat(dataObj[this.bubblesize]) || 2;\n let dataPoint: any = {};\n\n if (isChartDataJSON(this.type)) {\n dataPoint.x = xVal;\n dataPoint.y = yVal;\n // only Bubble chart has the third dimension\n if (isBubbleChart(this.type)) {\n dataPoint.size = size;\n dataPoint.shape = shape || 'circle';\n }\n } else if (isChartDataArray(this.type)) {\n dataPoint = [xVal, yVal];\n }\n // Adding actual unwrapped data to chart data to use at the time of selected data point of chart event\n dataPoint._dataObj = dataObj;\n return dataPoint;\n }\n\n // Setting appropriate error messages\n setErrMsg(message) {\n if (this.showNoDataMsg) {\n this.showContentLoadError = true;\n this.invalidConfig = true;\n // TODO: Set the locale from the message\n this.errMsg = ''; // $rootScope.locale[message];\n }\n }\n\n processChartData() {\n this.sampleData = getSampleData(this);\n // scope variables used to keep the actual key values for x-axis\n this.xDataKeyArr = [];\n // Plotting the chart with sample data when the chart dataset is not bound\n if (!this.binddataset) {\n this.xDataKeyArr = getDateList();\n return this.sampleData;\n }\n\n if (!this.chartData || !this.chartData.length) {\n return [];\n }\n\n let datum = [],\n yAxisKey,\n shapes: any = [],\n values: any = [];\n const xAxisKey = this.xaxisdatakey,\n yAxisKeys = this.yaxisdatakey ? this.yaxisdatakey.split(',') : [],\n dataSet = this.chartData;\n\n if (_.isArray(dataSet)) {\n if (isPieType(this.type)) {\n yAxisKey = yAxisKeys[0];\n datum = _.map(dataSet, (dataObj, index) => {\n if (!isEmptyObject(dataSet[index])) {\n return this.valueFinder(dataSet[index], xAxisKey, yAxisKey);\n }\n });\n datum = this.getValidData(datum);\n } else {\n if (isBubbleChart(this.type)) {\n shapes = this.shape === 'random' ? allShapes : this.shape;\n }\n yAxisKeys.forEach((yAxisKey, series) => {\n values = _.map(dataSet, (dataObj, index) => {\n if (!isEmptyObject(dataSet[index])) {\n return this.valueFinder(dataSet[index], xAxisKey, yAxisKey, index, (_.isArray(shapes) && shapes[series]) || this.shape);\n }\n });\n values = this.getValidData(values);\n datum.push({\n values: values,\n key: prettifyLabels(yAxisKey)\n });\n });\n }\n }\n return datum;\n }\n\n setChartData(data) {\n if (data) {\n this._processedData = data;\n }\n }\n\n getChartData() {\n return this._processedData;\n }\n\n // constructing the grouped data based on the selection of orderby, x & y axis\n getVisuallyGroupedData(queryResponse, groupingColumn) {\n let groupData: any = {},\n groupValues: any = [],\n orderByDetails,\n maxLength;\n const chartData: any = [],\n _isAreaChart = isAreaChart(this.type),\n yAxisKey = _.first(_.split(this.yaxisdatakey, ','));\n this.xDataKeyArr = [];\n queryResponse = _.orderBy(queryResponse, _.split(this.groupby, ','));\n if (this.orderby) {\n orderByDetails = getLodashOrderByFormat(this.orderby);\n queryResponse = _.orderBy(queryResponse, orderByDetails.columns, orderByDetails.orders);\n }\n queryResponse = _.groupBy(queryResponse, groupingColumn);\n // In case of area chart all the series data should be of same length\n if (_isAreaChart) {\n maxLength = _.max(_.map(queryResponse, obj => obj.length));\n }\n _.forEach(queryResponse, (values, groupKey) => {\n groupValues = isAreaChart ? _.fill(new Array(maxLength), [0, 0]) : [];\n _.forEachRight(values, (value, index) => {\n groupValues[index] = this.valueFinder(value, this.xaxisdatakey, yAxisKey, index);\n });\n groupData = {\n key : groupKey,\n values : groupValues\n };\n chartData.push(groupData);\n });\n return chartData;\n }\n\n /*Decides whether the data should be visually grouped or not\n Visually grouped when a different column is choosen in the group by other than x and y axis and aggregation is not chosen*/\n getGroupingDetails() {\n if (this.isGroupByEnabled() && !this.isAggregationEnabled()) {\n let isVisuallyGrouped = false,\n visualGroupingColumn,\n groupingExpression,\n columns: any = [],\n groupingColumnIndex;\n const groupbyColumns = this.groupby && this.groupby !== NONE ? this.groupby.split(',') : [],\n yAxisKeys = this.yaxisdatakey ? this.yaxisdatakey.split(',') : [];\n\n if (groupbyColumns.length > 1) {\n /*Getting the group by column which is not selected either in x or y axis*/\n groupbyColumns.every((column, index) => {\n if (this.xaxisdatakey !== column && $.inArray(column, yAxisKeys) === -1) {\n isVisuallyGrouped = true;\n visualGroupingColumn = column;\n groupingColumnIndex = index;\n groupbyColumns.splice(groupingColumnIndex, 1);\n return false;\n }\n return true;\n });\n // Constructing the groupby expression\n if (visualGroupingColumn) {\n columns.push(visualGroupingColumn);\n }\n\n if (groupbyColumns.length) {\n columns = _.concat(columns, groupbyColumns);\n }\n }\n // If x and y axis are not included in aggregation need to be included in groupby\n if (this.xaxisdatakey !== this.aggregationcolumn) {\n columns.push(this.xaxisdatakey);\n }\n _.forEach(yAxisKeys, key => {\n if (key !== this.aggregationcolumn) {\n columns.push(key);\n }\n });\n groupingExpression = columns.join(',');\n // set isVisuallyGrouped flag in scope for later use\n this.isVisuallyGrouped = isVisuallyGrouped;\n\n return {\n expression: groupingExpression,\n isVisuallyGrouped: isVisuallyGrouped,\n visualGroupingColumn: visualGroupingColumn\n };\n }\n return {\n expression: '',\n isVisuallyGrouped: false,\n visualGroupingColumn: ''\n };\n }\n\n // Function to get the aggregated data after applying the aggregation & group by or order by operations.\n getAggregatedData(callback) {\n const variable: any = this.datasource,\n yAxisKeys = this.yaxisdatakey ? this.yaxisdatakey.split(',') : [],\n data: any = {};\n let sortExpr,\n columns: any = [],\n colAlias,\n orderByColumns,\n groupByFields: any = [];\n\n if (!variable) {\n return;\n }\n if (this.isGroupByEnabled()) {\n groupByFields = _.split(this.groupby, ',');\n }\n if (this.orderby) {\n sortExpr = _.replace(this.orderby, /:/g, ' ');\n columns = _.uniq(_.concat(columns, groupByFields, [this.aggregationcolumn]));\n orderByColumns = getLodashOrderByFormat(this.orderby).columns;\n // If the orderby column is chosen either in groupby or orderby then replace . with $ for that column\n _.forEach(_.intersection(columns, orderByColumns), col => {\n colAlias = getValidAliasName(col);\n sortExpr = _.replace(sortExpr, col, colAlias);\n });\n }\n if (this.isAggregationEnabled()) {\n // Send the group by in the aggregations api only if aggregation is also chosen\n data.groupByFields = groupByFields;\n data.aggregations = [\n {\n 'field': this.aggregationcolumn,\n 'type': aggregationFnMap[this.aggregation],\n 'alias': getValidAliasName(this.aggregationcolumn)\n }\n ];\n }\n // Execute the query.\n variable.execute('getAggregatedData', {\n 'aggregations' : data,\n 'sort' : sortExpr\n }).then(response => {\n // Transform the result into a format supported by the chart.\n const chartData: any = [],\n aggregationAlias: any = getValidAliasName(this.aggregationcolumn),\n xAxisAliasKey = getValidAliasName(this.xaxisdatakey),\n yAxisAliasKeys = [];\n\n yAxisKeys.forEach(yAxisKey => yAxisAliasKeys.push(getValidAliasName(yAxisKey)));\n\n _.forEach(response.body.content, (responseContent) => {\n const obj = {};\n // Set the response in the chartData based on 'aggregationColumn', 'xAxisDataKey' & 'yAxisDataKey'.\n if (this.isAggregationEnabled()) {\n obj[this.aggregationcolumn] = responseContent[aggregationAlias];\n obj[this.aggregationcolumn] = _.get(responseContent, aggregationAlias) || _.get(responseContent, this.aggregationcolumn);\n }\n\n obj[this.xaxisdatakey] = _.get(responseContent, xAxisAliasKey) || _.get(responseContent, this.xaxisdatakey);\n\n yAxisKeys.forEach((yAxisKey, index) => {\n obj[yAxisKey] = responseContent[yAxisAliasKeys[index]];\n obj[yAxisKey] = _.get(responseContent, yAxisAliasKeys[index]) || _.get(responseContent, yAxisKey);\n });\n\n chartData.push(obj);\n });\n\n this.chartData = chartData;\n\n triggerFn(callback);\n }, () => {\n this.chartData = [];\n this.setErrMsg('MESSAGE_ERROR_FETCH_DATA');\n triggerFn(callback);\n });\n }\n\n // This function sets maximum width for the labels that can be displayed.This will helpful when they are overlapping\n setLabelsMaxWidth() {\n let xTicks,\n tickWidth,\n maxLength,\n xDist,\n yDist,\n totalHeight,\n maxNoLabels,\n nthElement,\n labelsAvailableWidth,\n barWrapper,\n yAxisWrapper,\n svgWrapper;\n const fontsize = parseInt(this.fontsize, 10) || 12,\n isBarchart = isBarChart(this.type);\n // getting the x ticks in the chart\n xTicks = $('#wmChart' + this.$id + ' svg').find('g.nv-x').find('g.tick').find('text');\n\n // getting the distance between the two visible ticks associated with visible text\n xTicks.each(function () {\n const xTick = $(this);\n let xTransform,\n tickDist;\n if (xTick.text() && xTick.css('opacity') === '1') {\n xTransform = xTick.parent().attr('transform').split(',');\n xDist = parseFloat(xTransform[0].substr(10));\n yDist = parseFloat(xTransform[1] || '0');\n if (!isBarchart && xDist > 0) {\n tickDist = xDist;\n } else if (yDist > 0) {\n tickDist = yDist;\n }\n if (tickWidth) {\n tickWidth = tickDist - tickWidth;\n return false;\n }\n tickWidth = tickDist;\n return true;\n }\n });\n\n // In case of bar chart getting the available space for the labels to be displayed\n if (isBarchart) {\n barWrapper = $('#wmChart' + this.$id + ' svg>g.nv-wrap>g>g.nv-barsWrap')[0];\n yAxisWrapper = $('#wmChart' + this.$id + ' svg>g.nv-wrap>g>g.nv-y')[0];\n svgWrapper = $('#wmChart' + this.$id + ' svg')[0];\n // getting the total height of the chart\n totalHeight = barWrapper ? barWrapper.getBoundingClientRect().height : 0;\n // getting the labels available space\n labelsAvailableWidth = yAxisWrapper ? svgWrapper.getBoundingClientRect().width - yAxisWrapper.getBoundingClientRect().width : svgWrapper.getBoundingClientRect().width;\n // Setting the max length for the label\n maxLength = Math.round(labelsAvailableWidth / fontsize);\n // if available space for each label is less than the font-size\n // then limiting the labels to be displayed\n if (tickWidth < fontsize) {\n // calculate the maximum no of labels to be fitted\n maxNoLabels = totalHeight / fontsize;\n // showing only the nth element\n nthElement = Math.ceil(this.chartData.length / maxNoLabels);\n // showing up only some labels\n d3.select('#wmChart' + this.$id + ' svg').select('g.nv-x').selectAll('g.tick').select('text').each(function (text, i) {\n // hiding every non nth element\n if (i % nthElement !== 0) {\n d3.select(this).attr('opacity', 0);\n }\n });\n }\n } else {\n // Setting the max length for the label\n maxLength = Math.round(tickWidth / fontsize);\n }\n\n // maxLength should always be a positive number\n maxLength = Math.abs(maxLength);\n // Validating if every label exceeds the max length and if so limiting the length and adding ellipsis\n xTicks.each(function () {\n if (this.textContent.length > maxLength) {\n this.textContent = this.textContent.substr(0, maxLength) + '...';\n }\n });\n }\n\n // Returns the columns of that can be choosen in the x and y axis\n getDefaultColumns() {\n let type,\n stringColumn,\n i,\n temp;\n const defaultColumns = [],\n columns = this.datasource.execute(DataSource.Operation.GET_PROPERTIES_MAP) || [];\n\n for (i = 0; i < columns.length && defaultColumns.length <= 2; i += 1) {\n type = columns[i].type;\n if (!columns[i].isRelated && (isNumberType(type))) {\n defaultColumns.push(columns[i].fieldName);\n } else if (type === 'string' && !stringColumn) {\n stringColumn = columns[i].fieldName;\n }\n }\n // Other than bubble chart x: string type y: number type\n // Bubble chart x: number type y: number type\n if (stringColumn && defaultColumns.length > 0 && !isBubbleChart(this.type)) {\n temp = defaultColumns[0];\n defaultColumns[0] = stringColumn;\n defaultColumns[1] = temp;\n }\n\n return defaultColumns;\n }\n\n // Call user defined javascript function when user links it to click event of the widget.\n attachClickEvent() {\n let dataObj;\n d3.select('#wmChart' + this.$id + ' svg').selectAll(chartDataPointXpath[this.type]).style('pointer-events', 'all')\n .on('click', (event, data, index) => {\n switch (this.type) {\n case 'Column':\n case 'Bar':\n dataObj = data._dataObj;\n break;\n case 'Pie':\n case 'Donut':\n dataObj = data.data._dataObj;\n break;\n case 'Area':\n case 'Cumulative Line':\n case 'Line':\n dataObj = data[0]._dataObj;\n break;\n case 'Bubble':\n dataObj = data;\n break;\n }\n this.selecteditem = dataObj;\n this.invokeEventCallback('select', {$event: d3.event, selectedChartItem: data, selectedItem: this.selecteditem});\n });\n\n }\n\n /* Returns Y Scale min value\n Ex: Input : 8.97\n Output : 8.87\n\n Input : 8\n Output : 7\n */\n\n postPlotProcess(chart) {\n let chartSvg,\n pieLabels,\n pieGroups,\n angleArray;\n const styleObj = {};\n const element = this.$element;\n\n postPlotChartProcess(this);\n\n if (!isPieType(this.type)) {\n this.setLabelsMaxWidth();\n } else if (!this.showlabelsoutside) {\n /** Nvd3 has a issue in rotating text. So we will use this as a temp fix.\n * If the issue is resolved there, we can remove this.*/\n /* If it is a donut chart, then rotate the text and position them*/\n chartSvg = d3.select('#wmChart' + this.$id + ' svg');\n pieLabels = chartSvg.select('.nv-pieLabels').selectAll('.nv-label');\n pieGroups = chartSvg.select('.nv-pie').selectAll('.nv-slice');\n angleArray = [];\n if (pieGroups && pieGroups.length) {\n pieGroups.each(function () {\n d3.select(this).attr('transform', function (d) {\n angleArray.push(angle(d));\n });\n });\n pieLabels.each(function (d, i) {\n const group = d3.select(this);\n $(group[0][0]).find('text').attr('transform', 'rotate(' + angleArray[i] + ')');\n });\n }\n }\n\n // prepare text style props object and set\n _.forEach(styleProps, (value, key) => {\n if (key === 'fontsize' || key === 'fontunit') {\n styleObj[value] = this.fontsize + this.fontunit;\n } else {\n styleObj[value] = this[key];\n }\n });\n setTextStyle(styleObj, this.$id);\n\n /*\n * allow window-resize functionality, for only-run mode as\n * updating chart is being handled by watchers of height & width in studio-mode\n * */\n triggerFn(this._resizeFn && this._resizeFn.clear);\n this._resizeFn = nv.utils.windowResize(() => {\n if (element[0].getBoundingClientRect().height) {\n chart.update();\n postPlotChartProcess(this);\n if (!isPieType(this.type)) {\n this.setLabelsMaxWidth();\n }\n } else {\n // TODO: get parents of accordion type\n /*let parent = element.closest('.app-accordion-panel, .tab-pane').isolateScope();\n if (parent) {\n parent.initialized = false;\n }*/\n }\n });\n }\n\n // prepares and configures the chart properties\n configureChart() {\n // Copy the data only in case of pie chart with default data\n // Reason : when multiple pie charts are bound to same data, first chart theme will be applied to all charts\n let xDomainValues;\n let yDomainValues;\n let chart;\n let beforeRenderVal;\n const yformatOptions: any = {};\n\n if (this._processedData.length > 0) {\n if (isAxisDomainValid(this, 'x')) {\n xDomainValues = this.binddataset ? this.getXMinMaxValues(this._processedData[0]) : { 'min' : {'x': 1}, 'max' : {'x' : 5}};\n }\n if (isAxisDomainValid(this, 'y')) {\n yDomainValues = this.binddataset ? this.getYMinMaxValues(this._processedData) : { 'min' : {'y' : 1}, 'max' : {'y' : 5}};\n }\n }\n\n if (isPieType(this.type) && (!this.binddataset || !this.scopedataset)) {\n this._processedData = getClonedObject(this.scopedataset || this._processedData);\n }\n\n // get the chart object\n chart = initChart(this, xDomainValues, yDomainValues, null, !this.binddataset);\n\n if (_.isArray(this._processedData)) {\n // WMS-19499: To remove chart X-axis old ticks when chart data loaded dynamically.\n const oldgTicks = $('#wmChart' + this.$id + ' svg').find('g.nv-x').find('g.tick');\n if (oldgTicks && oldgTicks.length) {\n oldgTicks.remove();\n }\n beforeRenderVal = this.invokeEventCallback('beforerender', { 'chartInstance' : chart});\n if (beforeRenderVal) {\n chart = beforeRenderVal;\n }\n this.chart = chart;\n // changing the default no data message\n d3.select('#wmChart' + this.$id + ' svg')\n .datum(this._processedData)\n .call(this.chart);\n this.postPlotProcess(chart);\n return chart;\n }\n }\n\n // Plotting the chart with set of the properties set to it\n plotChart() {\n const element = this.$element;\n // call user-transformed function\n this.chartData = (this.invokeEventCallback('transform')) || this.chartData;\n\n // Getting the order by data only in run mode. The order by applies for all the charts other than pie and donut charts\n if (this.isVisuallyGrouped && !isPieType(this.type)) {\n this._processedData = this.chartData;\n } else {\n this._processedData = this.processChartData();\n }\n // checking the parent container before plotting the chart\n if (!element[0].getBoundingClientRect().height) {\n return;\n }\n if (this.clearCanvas) {\n // empty svg to add-new chart\n element.find('svg').replaceWith('<svg></svg>');\n this.clearCanvas = false;\n }\n\n // In case of invalid axis show no data available message\n if (!this.isValidAxis()) {\n this._processedData = [];\n }\n nv.addGraph(() => this.configureChart(), () => {\n /*Bubble chart has an time out delay of 300ms in their implementation due to which we\n * won't be getting required data points on attaching events\n * hence delaying it 600ms*/\n setTimeout( () => {\n this.attachClickEvent();\n }, 600);\n });\n this.isLoadInProgress = false;\n }\n // TODO: Need way to figure out if the datasource is a live source\n get isLiveVariable() {\n // setting the flag for the live variable in the scope for the checks\n const variableObj = this.datasource;\n return variableObj && variableObj.category === 'wm.LiveVariable';\n }\n\n plotChartProxy() {\n this.showContentLoadError = false;\n this.invalidConfig = false;\n // Checking if x and y axis are chosen\n this.isLoadInProgress = true;\n const groupingDetails = this.getGroupingDetails();\n // If aggregation/group by/order by properties have been set, then get the aggregated data and plot the result in the chart.\n // TODO: datasource for live variable detection\n if (this.binddataset && this.isLiveVariable && (this.filterFields || this.isDataFilteringEnabled())) {\n this.getAggregatedData(() => this.plotChart());\n } else { // Else, simply plot the chart.\n // In case of live variable resetting the aggregated data to the normal dataset when the aggregation has been removed\n if (this.dataset && this.isLiveVariable) {\n this.chartData = this.dataset;\n if (this.isGroupByEnabled() && groupingDetails.isVisuallyGrouped) {\n this.chartData = this.getVisuallyGroupedData(this.chartData, groupingDetails.visualGroupingColumn);\n }\n\n }\n this.plotChart();\n }\n }\n\n // sets the default x and y axis options\n setDefaultAxisOptions() {\n const defaultColumns = this.getDefaultColumns();\n // If we get the valid default columns then assign them as the x and y axis\n // In case of service variable we may not get the valid columns because we cannot know the datatypes\n this.xaxisdatakey = defaultColumns[0] || null;\n this.yaxisdatakey = defaultColumns[1] || null;\n }\n\n getCutomizedOptions(prop, fields) {\n const groupByColumns = _.split(this.groupby, ','),\n aggColumns = _.split(this.aggregationcolumn, ',');\n if (!this.binddataset) {\n return fields;\n }\n if (!this.axisoptions) {\n this.axisoptions = fields;\n }\n let newOptions;\n switch (prop) {\n case 'xaxisdatakey':\n // If group by enabled, columns chosen in groupby will be populated in x axis options\n if (this.isGroupByEnabled()) {\n newOptions = groupByColumns;\n }\n break;\n case 'yaxisdatakey':\n // If aggregation by enabled, columns chosen in aggregation will be populated in y axis options\n if (this.isAggregationEnabled()) {\n newOptions = aggColumns;\n } else if (this.isLiveVariable) {\n // In case of live variable populating only numeric columns\n newOptions = this.numericColumns;\n }\n break;\n case 'groupby':\n // Filtering only non primary key columns\n if (this.isLiveVariable && this.nonPrimaryColumns && this.nonPrimaryColumns.length) {\n newOptions = this.nonPrimaryColumns;\n }\n break;\n case 'aggregationcolumn':\n // Set the 'aggregationColumn' to show all keys in case of aggregation function is count or to numeric keys in all other cases.\n if (this.isLiveVariable && this.isAggregationEnabled() && this.aggregation !== 'count') {\n newOptions = this.numericColumns;\n }\n break;\n case 'orderby':\n // Set the 'aggregationColumn' to show all keys in case of aggregation function is count or to numeric keys in all other cases.\n if (this.isLiveVariable && this.isAggregationEnabled()) {\n newOptions = _.uniq(_.concat(groupByColumns, aggColumns));\n }\n break;\n case 'bubblesize':\n if (this.numericColumns && this.numericColumns.length) {\n newOptions = this.numericColumns;\n }\n break;\n }\n\n return newOptions || fields || this.axisoptions;\n }\n\n // Function that iterates through all the columns and then fetching the numeric and non primary columns among them\n setNumericandNonPrimaryColumns() {\n let columns,\n type;\n const propertiesMap = this.datasource.execute(DataSource.Operation.GET_PROPERTIES_MAP);\n this.numericColumns = [];\n this.nonPrimaryColumns = [];\n // Fetching all the columns\n if (this.dataset && !_.isEmpty(propertiesMap)) {\n columns = []; // TODO: fetchPropertiesMapColumns(propertiesMap);\n }\n\n if (columns) {\n // Iterating through all the columns and fetching the numeric and non primary key columns\n _.forEach(Object.keys(columns), (key) => {\n type = columns[key].type;\n if (isNumberType(type)) {\n this.numericColumns.push(key);\n }\n // Hiding only table's primary key\n if (columns[key].isRelatedPk === 'true' || !columns[key].isPrimaryKey) {\n this.nonPrimaryColumns.push(key);\n }\n });\n this.numericColumns = this.numericColumns.sort();\n this.nonPrimaryColumns = this.nonPrimaryColumns.sort();\n }\n }\n\n // plot the chart\n handleDataSet(newVal) {\n this.errMsg = '';\n // Resetting the flag to false when the binding was removed\n if (!newVal && !this.binddataset) {\n this.isVisuallyGrouped = false;\n this.axisoptions = null;\n }\n\n // liveVariables contain data in 'data' property' of the variable\n this.chartData = this.isLiveVariable ? newVal || '' : (newVal && newVal.dataValue === '' && _.keys(newVal).length === 1) ? '' : newVal;\n\n // if the data returned is an object make it an array of object\n if (!_.isArray(this.chartData) && _.isObject(this.chartData)) {\n this.chartData = [this.chartData];\n }\n\n if (newVal && newVal.filterFields) {\n this.filterFields = newVal.filterFields;\n }\n\n // plotchart for only valid data and only after bound variable returns data\n if (this.chartData) {\n this._plotChartProxy();\n }\n }\n\n _plotChartProxy = _.debounce(this.plotChartProxy.bind(this), 100);\n\n // sets the center label for donut chart type\n setDonutCenterLabel(labelValue) {\n let chartSvg, pieGroups;\n chartSvg = d3.select('#wmChart' + this.$id + ' svg');\n\n pieGroups = chartSvg.select('.nv-wrap.nv-pie').select('.nv-pie');\n pieGroups.text('');\n pieGroups.append('text')\n .attr('dy', '.35em')\n .attr('text-anchor', 'middle')\n .attr('class', 'nv-pie-title')\n .text(labelValue)\n .each(function (d) {\n var d3text = d3.select(this),\n circ = d3.select(this.parentElement),\n totalWidth = Number(circ.node().getBoundingClientRect().width),\n // minus the ring width from total width\n availWidth = totalWidth - 30,\n textWidth = this.getComputedTextLength();\n d3text.attr(\"data-scale\", availWidth / textWidth);\n }).style(\"font-size\", function() {\n // 16 is the default font size to multiply with the scaled value and 24 is the maximum font size that can be applied\n var fontSize = 16 * d3.select(this).attr(\"data-scale\");\n return fontSize > 24 ? 24 : fontSize + \"px\";\n });\n }\n\n onPropertyChange(key, newVal, oldVal?) {\n super.onPropertyChange(key, newVal, oldVal);\n switch (key) {\n case 'dataset':\n this.handleDataSet(newVal);\n break;\n case 'centerlabel':\n if (this.chart) {\n this.chart.title(newVal);\n this.setDonutCenterLabel(newVal);\n }\n break;\n case 'type':\n // Based on the change in type deciding the default margins\n if (isPieType(this.type)) {\n this.offsettop = 20;\n this.offsetright = 0;\n this.offsetbottom = 0;\n this.offsetleft = 0;\n } else if (oldVal === 'Pie' || oldVal === 'Donut') {\n this.offsettop = 25;\n this.offsetright = 25;\n this.offsetbottom = 55;\n this.offsetleft = 75;\n }\n\n if (oldVal !== newVal) {\n this.clearCanvas = true;\n }\n // In studio mode, configure properties dependent on chart type\n this._plotChartProxy();\n break;\n default:\n // In RunMode, the plotchart method will not be called for all property change\n this._plotChartProxy();\n break;\n }\n if (_.includes(advanceDataProps, key)) {\n this._plotChartProxy();\n }\n }\n\n handleLoading(data) {\n const dataSource = this.datasource;\n if (dataSource && dataSource.execute(DataSource.Operation.IS_API_AWARE) && isDataSourceEqual(data.variable, dataSource)) {\n this.variableInflight = data.active;\n this.isLoadInProgress = data.active;\n }\n }\n\n hideTooltip() {\n d3.selectAll('.nvtooltip').style('opacity', 0);\n }\n\n onStyleChange(key, newVal, oldVal) {\n const styleObj = {};\n super.onStyleChange(key, newVal, oldVal);\n switch (key) {\n case 'fontsize':\n case 'fontunit':\n case 'color':\n case 'fontfamily':\n case 'fontweight':\n case 'fontstyle':\n case 'textdecoration':\n styleObj[styleProps[key]] = (key === 'fontsize' || key === 'fontunit') ? this.fontsize + this.fontunit : newVal;\n setTextStyle(styleObj, this.$id);\n break;\n }\n }\n\n constructor(inj: Injector, private app: App) {\n super(inj, WIDGET_CONFIG);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER, ['fontsize', 'fontunit', 'color', 'fontfamily', 'fontweight', 'fontstyle', 'textdecoration']);\n\n // generate unique id for the component\n this.$id = this.widgetId || Math.random();\n // remove title attribute as the element on hover shows you the hint through-out the element\n removeAttr(this.nativeElement, 'title');\n this.chartReady = false;\n this.binddataset = this.nativeElement.getAttribute('dataset.bind');\n // Show loading status based on the variable life cycle\n this._subsciptions.push(this.app.subscribe('toggle-variable-state', this.handleLoading.bind(this)));\n // Will hide tolltip of a chart in mobile when the user scrolls.\n this._subsciptions.push(this.app.subscribe('iscroll-start', () => {this.hideTooltip();}));\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n // For old projects\n if (!_.includes(['outside', 'inside', 'hide'], this.showlabels)) {\n this.showlabels = getBooleanValue(this.showlabels);\n this.showlabelsoutside = getBooleanValue(this.showlabelsoutside);\n this.showlabels = this.showlabels ? (this.showlabelsoutside ? 'outside' : 'inside') : 'hide';\n }\n\n if (!this.theme) {\n // Default theme for pie/donut is Azure and for other it is Terrestrial\n this.theme = isPieType(this.type) ? 'Azure' : 'Terrestrial';\n }\n\n this.nativeElement.setAttribute('id', 'wmChart' + this.$id);\n // When there is not value binding, then plot the chart with sample data\n if (!this.binddataset && !this.nativeElement.getAttribute('scopedataset')) {\n this._plotChartProxy();\n }\n }\n\n ngOnDestroy() {\n // destroy all subscriptions to prevent memory leak.\n this.hideTooltip();\n this._subsciptions.forEach((subscription)=>{\n subscription();\n });\n super.ngOnDestroy();\n }\n redraw = this._plotChartProxy.bind(this);\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\nimport { BasicModule } from '@wm/components/basic';\n\nimport { ChartComponent } from './chart.component';\n\nconst components = [\n ChartComponent\n];\n\n@NgModule({\n imports: [\n BasicModule,\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class ChartModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../projects/components/widgets/chart/src/chart.props.ts","../../../../projects/components/widgets/chart/src/chart.utils.ts","../../../../projects/components/widgets/chart/src/chart.component.html","../../../../projects/components/widgets/chart/src/chart.component.ts","../../../../projects/components/widgets/chart/src/chart.module.ts","../../../../projects/components/widgets/chart/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-chart',\n new Map(\n [\n ['aggregation', {value: 'none', ...PROP_STRING}],\n ['aggregationcolumn', PROP_STRING],\n ['areaviewtype', {value: 'stack', ...PROP_STRING}],\n ['barspacing', {value: 'medium', ...PROP_STRING}],\n ['bubblesize', PROP_STRING],\n ['centerlabel', PROP_STRING],\n ['class', PROP_STRING],\n ['customcolors', PROP_ANY],\n ['dataset', PROP_ANY],\n ['datasource', PROP_STRING],\n ['donutratio', {value: 'medium', ...PROP_STRING}],\n ['formattype', {value: '', PROP_STRING}],\n ['groupby', PROP_STRING],\n ['height', {value: '210px', PROP_STRING}],\n ['highlightpoints', PROP_BOOLEAN],\n ['iconclass', PROP_STRING],\n ['interpolation', {value: 'linear', ...PROP_STRING}],\n ['labelthreshold', {value: 0.01, ...PROP_NUMBER}],\n ['labeltype', {value: 'percent', ...PROP_STRING}],\n ['legendtype', {value: 'furious', ...PROP_STRING}],\n ['linethickness', PROP_STRING],\n ['loadingdatamsg', {value: 'Loading...', ...PROP_STRING}],\n ['name', PROP_STRING],\n ['nodatamessage', {value: 'No Data Available.', ...PROP_STRING}],\n ['offset', PROP_STRING],\n ['offsetbottom', {value: 55, ...PROP_NUMBER}],\n ['offsetleft', {value: 75, ...PROP_NUMBER}],\n ['offsetright', {value: 25, ...PROP_NUMBER}],\n ['offsettop', {value: 25, ...PROP_NUMBER}],\n ['orderby', PROP_STRING],\n ['reducexticks', {value: true, ...PROP_BOOLEAN}],\n ['shape', {value: 'circle', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showlabels', {value: 'outside', ...PROP_STRING}],\n ['showlabelsoutside', {value: true, ...PROP_BOOLEAN}],\n ['showlegend', {value: 'top', ...PROP_STRING}],\n ['showvalues', {value: false, ...PROP_BOOLEAN}],\n ['showxaxis', {value: true, ...PROP_BOOLEAN}],\n ['showxdistance', {value: false, ...PROP_BOOLEAN}],\n ['showyaxis', {value: true, ...PROP_BOOLEAN}],\n ['showydistance', {value: false, ...PROP_BOOLEAN}],\n ['staggerlabels', {value: false, ...PROP_BOOLEAN}],\n ['subheading', PROP_STRING],\n ['theme', PROP_STRING],\n ['title', PROP_STRING],\n ['tooltips', {value: true, ...PROP_BOOLEAN}],\n ['type', PROP_STRING],\n ['viewtype', {value: 'Grouped', ...PROP_STRING}],\n ['xaxisdatakey', PROP_STRING],\n ['xaxislabel', PROP_STRING],\n ['xaxislabeldistance', {value: 12, ...PROP_NUMBER}],\n ['xdateformat', PROP_STRING],\n ['xdomain', {value: 'Default', ...PROP_STRING}],\n ['xnumberformat', PROP_STRING],\n ['xunits', PROP_STRING],\n ['yaxisdatakey', PROP_STRING],\n ['yaxislabel', PROP_STRING],\n ['yaxislabeldistance', {value: 12, ...PROP_NUMBER}],\n ['ydomain', {value: 'Default', ...PROP_STRING}],\n ['ynumberformat', PROP_STRING],\n ['yunits', PROP_STRING]\n ]\n )\n );\n};\n","import {isEmptyObject, prettifyLabels} from '@wm/core';\nimport {forEach, includes, invert, isArray, isFinite, isString, isUndefined, split} from \"lodash-es\";\n\ndeclare const $;\n\ndeclare const moment;\ndeclare const d3, nv;\n\nexport const chartTypes = ['Column', 'Line', 'Area', 'Cumulative Line', 'Bar', 'Pie', 'Donut', 'Bubble'],\n allShapes = ['circle', 'square', 'diamond', 'cross', 'triangle-up', 'triangle-down'];\n\nconst dateList = ['01/01/2001', '01/01/2002', '01/01/2003'],\n themes = {\n 'Terrestrial': {\n colors: ['#1f77b4', '#aec7e8', '#ff7f0e', '#ffbb78', '#2ca02c', '#98df8a', '#d62728', '#ff9896', '#9467bd', '#c5b0d5', '#8c564b', '#c49c94', '#e377c2', '#f7b6d2', '#7f7f7f', '#c7c7c7', '#bcbd22', '#dbdb8d', '#17becf', '#9edae5'],\n tooltip: {\n 'backgroundColor': '#de7d28',\n 'textColor': '#FFFFFF'\n }\n },\n 'Annabelle': {\n colors: ['#393b79', '#5254a3', '#6b6ecf', '#9c9ede', '#637939', '#8ca252', '#b5cf6b', '#cedb9c', '#8c6d31', '#bd9e39', '#e7ba52', '#e7cb94', '#843c39', '#ad494a', '#d6616b', '#e7969c', '#7b4173', '#a55194', '#ce6dbd', '#de9ed6'],\n tooltip: {\n 'backgroundColor': '#2e306f',\n 'textColor': '#FFFFFF'\n }\n },\n 'Azure': {\n colors: ['#3182bd', '#6baed6', '#9ecae1', '#c6dbef', '#e6550d', '#fd8d3c', '#fdae6b', '#fdd0a2', '#31a354', '#74c476', '#a1d99b', '#c7e9c0', '#756bb1', '#9e9ac8', '#bcbddc', '#dadaeb', '#636363', '#969696', '#bdbdbd', '#d9d9d9'],\n tooltip: {\n 'backgroundColor': '#3182bd',\n 'textColor': '#FFFFFF'\n }\n },\n 'Retro': {\n colors: ['#0ca7a1', '#ffa615', '#334957', '#acc5c2', '#988f90', '#8accc9', '#515151', '#f27861', '#36c9fd', '#794668', '#0f709d', '#0d2738', '#44be78', '#4a1839', '#6a393f', '#557d8b', '#6c331c', '#1c1c1c', '#861500', '#09562a'],\n tooltip: {\n 'backgroundColor': '#80513a',\n 'textColor': '#FFFFFF'\n }\n },\n 'Mellow': {\n colors: ['#f0dcbf', '#88c877', '#aeb918', '#2e2c23', '#ddddd2', '#dfe956', '#4c963b', '#5d3801', '#e1eec3', '#cd8472', '#fcfab3', '#9a4635', '#9295ad', '#2e3f12', '#565677', '#557d8b', '#4f4d02', '#0c0c1b', '#833324', '#24120e'],\n tooltip: {\n 'backgroundColor': '#7c9e73',\n 'textColor': '#FFFFFF'\n }\n },\n 'Orient': {\n colors: ['#a80000', '#cc6c3c', '#f0e400', '#000084', '#fccc6c', '#009c6c', '#cc309c', '#78cc00', '#fc84e4', '#48e4fc', '#4878d8', '#186c0c', '#606060', '#a8a8a8', '#000000', '#d7d7d7', '#75a06e', '#190d0b', '#888888', '#694b84'],\n tooltip: {\n 'backgroundColor': '#c14242',\n 'textColor': '#FFFFFF'\n }\n },\n 'GrayScale': {\n colors: ['#141414', '#353535', '#5b5b5b', '#848484', '#a8a8a8', '#c3c3c3', '#e0e0e0', '#c8c8c8', '#a5a5a5', '#878787', '#656565', '#4e4e4e', '#303030', '#1c1c1c', '#4f4f4f', '#3b3b3b', '#757575', '#606060', '#868686', '#c1c1c1'],\n tooltip: {\n 'backgroundColor': '#575757',\n 'textColor': '#FFFFFF'\n }\n },\n 'Flyer': {\n colors: ['#3f454c', '#5a646e', '#848778', '#cededf', '#74c4dd', '#0946ed', '#380bb1', '#000ff0', '#f54a23', '#1db262', '#bca3aa', '#ffa500', '#a86b32', '#63a18c', '#56795e', '#934343', '#b75f5f', '#752d2d', '#4e1111', '#920606'],\n tooltip: {\n 'backgroundColor': '#47637c',\n 'textColor': '#FFFFFF'\n }\n },\n 'Luminosity': {\n colors: ['#FFFFFF', '#e4e4e4', '#00bcd4', '#f0dd2f', '#00aabf', '#018376', '#e91e63', '#39e5d4', '#ff6d6d', '#00ff76', '#ff9800', '#969696', '#ff4200', '#e00000', '#95cbe5', '#5331ff', '#fff4a7', '#e7a800', '#0061e4', '#d5e7ff'],\n tooltip: {\n 'backgroundColor': '#47637c',\n 'textColor': '#FFFFFF'\n }\n }\n },\n basicProperties = ['xaxislabel', 'yaxislabel', 'xunits', 'yunits', 'xnumberformat', 'xdateformat', 'ynumberformat',\n 'showvalues', 'showlabels', 'viewtype', 'areaviewtype', 'staggerlabels', 'reducexticks', 'offsettop', 'offsetbottom', 'offsetright', 'offsetleft',\n 'barspacing', 'xaxislabeldistance', 'yaxislabeldistance', 'theme', 'labeltype', 'donutratio', 'showlabelsoutside', 'showxdistance', 'showydistance', 'shape', 'nodatamessage', 'captions', 'showxaxis', 'showyaxis',\n 'centerlabel', 'customcolors', 'showlegend', 'legendtype', 'xdomain', 'ydomain', 'tooltips', 'linethickness', 'highlightpoints', 'interpolation', 'labelthreshold'],\n barSpacingMap = {\n 'small' : 0.3,\n 'medium' : 0.5,\n 'large' : 0.8\n },\n donutRatioMap = {\n 'small' : 0.3,\n 'medium' : 0.6,\n 'large' : 0.7\n },\n barSpacingMapInvert = invert(barSpacingMap),\n donutRatioMapInvert = invert(donutRatioMap),\n tickformats = {\n 'Thousand': {\n 'prefix': 'K',\n 'divider': 1000\n },\n 'Million' : {\n 'prefix': 'M',\n 'divider': 1000000\n },\n 'Billion' : {\n 'prefix': 'B',\n 'divider': 1000000000\n }\n },\n chartId = '#preview-chart',\n dataTypeJSON = ['Column', 'Line', 'Pie', 'Bar', 'Donut', 'Bubble'], // Charts that supports the data to be JSON;\n lineTypeCharts = ['Line', 'Area', 'Cumulative Line'], // Charts that does not supports the string type of data in the xaxis in the nvd3;\n dataTypeArray = ['Cumulative Line', 'Area'], // Charts that supports the data to be Array\n SAMPLE_DATA = {\n 'group1' : 'Europe',\n 'group2' : 'Asia',\n 'group3' : 'America',\n 'group4' : 'Australia'\n };\n\n// returns true if chart type is pie\nexport const isPieChart = type => type === 'Pie';\n\n// returns true if chart type is line\nexport const isLineChart = type => type === 'Line';\n\n// returns true if chart type is bar\nexport const isBarChart = type => type === 'Bar';\n\n// returns true if chart type is donut\nexport const isDonutChart = type => type === 'Donut';\n\n// returns true if chart type is bubble\nexport const isBubbleChart = type => type === 'Bubble';\n\n// returns true if chart type is column\nexport const isColumnChart = type => type === 'Column';\n\n// returns true if chart type is area\nexport const isAreaChart = type => type === 'Area';\n\n// returns true if chart type is area\nexport const isPieType = type => isPieChart(type) || isDonutChart(type);\n\n// The format of chart data is array of json objects in case of the following types of chart\nexport const isChartDataJSON = type => includes(dataTypeJSON, type) || !includes(chartTypes, type);\n\n// The format of chart data is array of objects in case of the following types of chart\nexport const isChartDataArray = type => includes(dataTypeArray, type);\n\n// returns true is the chart type is 'line', 'area' or 'cumulative line' else false\nexport const isLineTypeChart = type => includes(lineTypeCharts, type);\n\n// X/Y Domain properties are supported only for Column and Area charts\nexport const isAxisDomainSupported = type => isColumnChart(type) || isAreaChart(type);\n\n// Returns bar spacing value\nexport const getBarSpacingValue = (value, prop) => {\n if (prop === 'value') {\n return barSpacingMap[value];\n }\n if (prop === 'key') {\n return barSpacingMapInvert[value];\n }\n};\n\n// Returns radius value\nexport const getRadiusValue = (value, prop) => {\n if (prop === 'value') {\n return donutRatioMap[value];\n }\n if (prop === 'key') {\n return donutRatioMapInvert[value];\n }\n};\n\n// Returns labels config\nexport const getLabelValues = (showlabels, showlabelsoutside, prop) => {\n const labelsConfig: any = {};\n switch (showlabels) {\n case 'hide':\n labelsConfig.showlabels = false;\n break;\n case 'inside':\n labelsConfig.showlabels = true;\n labelsConfig.showlabelsoutside = false;\n break;\n case 'outside':\n labelsConfig.showlabels = true;\n labelsConfig.showlabelsoutside = true;\n break;\n }\n return labelsConfig;\n};\n\n// Construct the sample data\nexport const constructSampleData = (dataType, yaxisLength, shape) => {\n let first_series = [],\n second_series = [],\n third_series = [],\n first_series_array = [],\n second_series_array = [],\n third_series_array = [],\n first_series_bubble = [],\n second_series_bubble = [],\n third_series_bubble = [],\n data = [];\n switch (dataType) {\n case 'jsonFormat':\n first_series = [\n {'x': '01/01/2001', 'y': 4000000},\n {'x': '01/01/2002', 'y': 1000000},\n {'x': '01/01/2003', 'y': 5000000}\n ];\n second_series = [\n {'x': '01/01/2001', 'y': 3000000},\n {'x': '01/01/2002', 'y': 4000000},\n {'x': '01/01/2003', 'y': 7000000}\n ];\n third_series = [\n {'x': '01/01/2001', 'y': 2000000},\n {'x': '01/01/2002', 'y': 8000000},\n {'x': '01/01/2003', 'y': 6000000}\n ];\n data[0] = {\n values: first_series,\n key: SAMPLE_DATA.group1\n };\n if (yaxisLength >= 2) {\n data[1] = {\n values: second_series,\n key: SAMPLE_DATA.group2\n };\n }\n if (yaxisLength >= 3) {\n data[2] = {\n values: third_series,\n key: SAMPLE_DATA.group3\n };\n }\n break;\n case 'lineChartFormat':\n first_series = [\n {'x': 1, 'y': 4000000},\n {'x': 2, 'y': 1000000},\n {'x': 3, 'y': 5000000}\n ];\n second_series = [\n {'x': 1, 'y': 3000000},\n {'x': 2, 'y': 4000000},\n {'x': 3, 'y': 7000000}\n ];\n third_series = [\n {'x': 1, 'y': 2000000},\n {'x': 2, 'y': 8000000},\n {'x': 3, 'y': 6000000}\n ];\n data[0] = {\n values: first_series,\n key: SAMPLE_DATA.group1\n };\n if (yaxisLength >= 2) {\n data[1] = {\n values: second_series,\n key: SAMPLE_DATA.group2\n };\n }\n if (yaxisLength >= 3) {\n data[2] = {\n values: third_series,\n key: SAMPLE_DATA.group3\n };\n }\n break;\n case 'arrayFormat':\n first_series_array = [\n [1, 4000000],\n [2, 1000000],\n [3, 5000000]\n ];\n second_series_array = [\n [1, 3000000],\n [2, 4000000],\n [3, 7000000]\n ];\n third_series_array = [\n [1, 2000000],\n [2, 8000000],\n [3, 6000000]\n ];\n data[0] = {\n values: first_series_array,\n key: SAMPLE_DATA.group1\n };\n if (yaxisLength >= 2) {\n data[1] = {\n values: second_series_array,\n key: SAMPLE_DATA.group2\n };\n }\n if (yaxisLength >= 3) {\n data[2] = {\n values: third_series_array,\n key: SAMPLE_DATA.group3\n };\n }\n break;\n case 'bubbleFormat':\n shape = shape === 'random' ? allShapes[Math.floor(Math.random() * allShapes.length)] : shape;\n first_series_bubble = [\n {'x': 80.66, 'y': 33739900, 'size': 78, 'shape': shape},\n {'x': 79.84, 'y': 81902300, 'size': 90, 'shape': shape},\n {'x': 78.6, 'y': 5523100, 'size': 45, 'shape': shape}\n ];\n second_series_bubble = [\n {'x': 72.73, 'y': 79716200, 'size': 98, 'shape': shape},\n {'x': 80.05, 'y': 61801600, 'size': 20, 'shape': shape},\n {'x': 72.49, 'y': 73137200, 'size': 34, 'shape': shape}\n ];\n third_series_bubble = [\n {'x': 68.09, 'y': 33739900, 'size': 45, 'shape': shape},\n {'x': 81.55, 'y': 7485600, 'size': 78, 'shape': shape},\n {'x': 68.60, 'y': 141850000, 'size': 56, 'shape': shape}\n ];\n data[0] = {\n values: first_series_bubble,\n key: SAMPLE_DATA.group1\n };\n if (yaxisLength >= 2) {\n data[1] = {\n values: second_series_bubble,\n key: SAMPLE_DATA.group2\n };\n }\n if (yaxisLength >= 3) {\n data[2] = {\n values: third_series_bubble,\n key: SAMPLE_DATA.group3\n };\n }\n break;\n case 'pieChartFormat':\n data = [\n {'x': SAMPLE_DATA.group1, 'y': 1000000},\n {'x': SAMPLE_DATA.group2, 'y': 2000000},\n {'x': SAMPLE_DATA.group3, 'y': 3000000},\n {'x': SAMPLE_DATA.group4, 'y': 4000000}\n ];\n break;\n }\n return data;\n};\n\nexport const getDataType = widgetContext => {\n const type = widgetContext.type;\n if (isLineChart(type)) {\n return 'lineChartFormat';\n }\n if (isPieType(type)) {\n return 'pieChartFormat';\n }\n if (isBubbleChart(type)) {\n return 'bubbleFormat';\n }\n return isChartDataJSON(type) ? 'jsonFormat' : 'arrayFormat';\n};\n\n// Sample data to populate when no data is bound\nexport const getSampleData = widgetContext => constructSampleData(getDataType(widgetContext), split(widgetContext.yaxisdatakey, ',').length, widgetContext.shape);\n\n// Check whether X/Y Domain was set to Min and is supported for the present chart\nexport const isAxisDomainValid = (widgetContext, axis) => {\n if (widgetContext[axis + 'domain'] === 'Min' && (isAxisDomainSupported(widgetContext.type))) {\n return true;\n }\n return false;\n};\n\n// Check whether min and max values are finite or not\nexport const areMinMaxValuesValid = values => {\n if (isFinite(values.min) && isFinite(values.max)) {\n return true;\n }\n return false;\n};\n\nexport const getYScaleMinValue = value => {\n const _min = Math.floor(value);\n /* If the number has a) decimal part returning floor value - 0.1\n b) no decimal part returning floor value - 1 */\n return Math.abs(value) - _min > 0 ? value - 0.1 : _min - 1;\n};\n\n// Chooses the data points of line/cumulative line/area chart and highlights them\nexport const highlightPoints = (id, highlightpoints) => {\n const chartSvg = id ? d3.select('#wmChart' + id + ' svg') : d3.select(chartId + ' svg');\n if (highlightpoints) {\n chartSvg.selectAll('.nv-point')\n .style('stroke-width', '6px')\n .style('fill-opacity', '0.95')\n .style('stroke-opacity', '0.95');\n } else {\n chartSvg.selectAll('.nv-point')\n .style('stroke-width', '0px')\n .style('fill-opacity', '0');\n }\n};\n\n// Chooses the line of line/cumulative line and increases the thickness of it\nexport const setLineThickness = (id, thickness) => {\n const chartSvg = id ? d3.select('#wmChart' + id + ' svg') : d3.select(chartId + ' svg');\n thickness = thickness || 1.5;\n\n const lines = chartSvg.selectAll('.nv-line');\n\n if (lines.size() !== 0) {\n lines.style('stroke-width', thickness);\n }\n};\n\n// Constructing a common key value map for preview and canvas mode\nexport const initProperties = (widgetContext, propertyValueMap) => {\n if (!propertyValueMap || isEmptyObject(propertyValueMap)) {\n propertyValueMap = {};\n }\n forEach(basicProperties, prop => {\n if (isUndefined(propertyValueMap[prop])) {\n propertyValueMap[prop] = widgetContext[prop];\n }\n });\n\n return propertyValueMap;\n};\n\nexport const getNumberValue = (value, callback) => {\n return isNaN(parseInt(value, 10)) ? callback(value, 'value') : value;\n};\n\n// Formats the given value according to date format\nexport const getDateFormatedData = (dateFormat, d) => {\n dateFormat = dateFormat || '%x';\n /**\n * if date value is string \"20-05-2019\" then new Date(value) return 20May2019 with current time in India,\n * whereas this will return 19May2019 with time lagging for few hours.\n * This is because it returns UTC time i.e. Coordinated Universal Time (UTC).\n * To create date in local time use moment\n */\n if(dateFormat == '%c') {\n dateFormat = '%a %b %e %X %Y';\n }\n return d3.timeFormat(dateFormat)(new Date(moment(moment(d).format()).valueOf()));\n};\nconst removeTrailingZeros = value => {\n if(!value) {\n return value;\n }\n // Convert value to a string if it's a number\n const stringValue = typeof value === 'number' ? value.toString() : value;\n\n // Remove trailing zeros\n return stringValue.replace(/\\.0+([A-Za-z]*)$/, '$1').replace(/\\.([1-9]+)0+([A-Za-z]*)$/, '.$1$2');\n};\n\n// Formats the given value according to number format\nexport const getNumberFormatedData = (numberFormat, d) => {\n let formattedData,\n divider,\n prefix;\n // formatting the data based on number format selected\n if (numberFormat) {\n let numberFormatter;\n if(numberFormat == 'Thousand' || numberFormat == 'Million' || numberFormat == 'Billion') {\n numberFormatter = d3.format(',.2s');\n } else if(numberFormat == '%') {\n numberFormatter = d3.format('.2%');\n }else if(numberFormat == '.f') {\n numberFormatter = d3.format('.2f');\n } else {\n numberFormatter = d3.format(numberFormat);\n }\n formattedData = numberFormatter(d);\n\n\n // Getting the respective divider[1000,1000000,1000000000] based on the number format choosen\n divider = (tickformats[numberFormat] && tickformats[numberFormat].divider) || 0;\n prefix = tickformats[numberFormat] && tickformats[numberFormat].prefix;\n if (prefix && divider !== 0) {\n formattedData = d3.format('.2f')(d / divider) + prefix;\n }\n } else {\n // Auto formatting the data when no formating option is chosen\n formattedData = d >= 1000 ? d3.format('.1s')(d) : d;\n }\n formattedData = removeTrailingZeros(formattedData);\n return formattedData;\n};\n\n// Set the visibility property of the chart x,y axis due to a bug in the nvd3\nexport const toggleAxisShow = (property, value) => {\n const $xAxis = d3.select(chartId + ' g.nv-axis.nv-x'),\n $yAxis = d3.select(chartId + ' g.nv-axis.nv-y');\n if (property === 'showxaxis') {\n $xAxis.style('visibility', value ? 'visible' : 'hidden');\n } else {\n $yAxis.style('visibility', value ? 'visible' : 'hidden');\n }\n};\n\nexport const modifyLegendPosition = (widgetContext, position, id) => {\n const showLegend = isShowLegend(widgetContext.showlegend),\n chart_Id = id ? '#wmChart' + id : chartId,\n legendWrap = d3.select(chart_Id + ' .nv-legendWrap'),\n legendPadding = 5;\n // Return when showlegend is false\n if (!showLegend || !legendWrap['_groups'][0][0]) {\n return;\n }\n if (position === 'bottom') {\n const legendWrapHeight = legendWrap['_groups'][0][0].getBoundingClientRect().height,\n wrap = d3.select(chart_Id + ' .nv-wrap'),\n wrapTransform = (wrap && wrap.attr('transform')) ? wrap.attr('transform').replace(/, /g, ',') : '',\n coordinates = /translate\\(\\s*([^\\s,)]+)[ ,]([^\\s,)]+)/.exec(wrapTransform),\n getChartHeight = () => {\n let chartHeight = $(chart_Id + ' svg>.nvd3.nv-wrap')[0].getBoundingClientRect().height;\n if (chartHeight === 0) { // fix for IE\n chartHeight = ($(chart_Id + ' svg')[0].getBoundingClientRect().height - (legendWrapHeight + 15));\n }\n return chartHeight;\n };\n legendWrap.attr('transform', 'translate(0 , ' + (getChartHeight() - legendWrapHeight - legendPadding) + ')');\n if (coordinates) {\n wrap.attr('transform', 'translate(' + coordinates[1] + ',' + legendPadding + ')');\n }\n }\n};\n\n// Returns value if legend need to shown or not\nexport const isShowLegend = value => {\n // Old projects will have either true or false\n if (value === 'false' || value === false) {\n return false;\n }\n if (value === 'true' || value === true) {\n return true;\n }\n // New projects will have either 'Hide Legend', 'Show Top', 'Show Bottom'\n return value === 'hide' ? false : true;\n};\n\n/**\n * Customise the tooltip for donut & pie charts and also for charts having only one value attached to yaxis\n * @param key\n * @param label\n */\nexport const customiseTooltip = (chart, propertyValueMap, widgetContext, label?) => {\n chart.tooltip.contentGenerator(key => {\n let xValue = key.data.x, yValue;\n yValue = getNumberFormatedData(propertyValueMap.ynumberformat, key.data.y);\n if (isPieType(widgetContext.type)) {\n label = key.data.x;\n xValue = '';\n }\n return '<table>' +\n '<tbody>' +\n '<tr class=\"value\"><b>' + xValue +\n '</b></tr>' +\n '<tr>' +\n '<td class=\"legend-color-guide\"><div style=\"background-color:' + key.color + ';\"></div></td>' +\n '<td class=\"key\">' + label + '</td>' +\n '<td class=\"value\">' + yValue + '</td>' +\n '</tr>' +\n '</tbody>' +\n '</table>';\n });\n};\n\n// intializes the chart obejct\nexport const initChart = (widgetContext, xDomainValues, yDomainValues, propertyValueMap, isPreview) => {\n propertyValueMap = initProperties(widgetContext, propertyValueMap);\n let chart, colors = [], xaxislabel, yaxislabel, labelConfig, radius, barSpacing,\n showLegend, xAxisValue, hasMultipleYValues;\n const xValue: any = {}, yValue: any = {};\n switch (widgetContext.type) {\n case 'Column':\n barSpacing = getNumberValue(propertyValueMap.barspacing, getBarSpacingValue) || barSpacingMap.medium;\n chart = nv.models.multiBarChart()\n .x(d => d.x)\n .y(d => d.y)\n .reduceXTicks(propertyValueMap.reducexticks)\n .rotateLabels(0)\n .showControls(false)\n .stacked(propertyValueMap.viewtype === 'Stacked' ? true : false)\n .groupSpacing(barSpacing);\n break;\n case 'Cumulative Line':\n chart = nv.models.cumulativeLineChart()\n .x(d => d[0])\n .y(d => d[1])\n .showControls(false)\n .useInteractiveGuideline(propertyValueMap.tooltips)\n .interpolate(propertyValueMap.interpolation);\n break;\n case 'Line':\n chart = nv.models.lineChart()\n .useInteractiveGuideline(propertyValueMap.tooltips)\n .interpolate(propertyValueMap.interpolation);\n break;\n case 'Area':\n chart = nv.models.stackedAreaChart()\n .x(d => d.x)\n .y(d => d.y)\n .clipEdge(true)\n .showControls(false)\n .style(propertyValueMap.areaviewtype)\n .useInteractiveGuideline(propertyValueMap.tooltips)\n .interpolate(propertyValueMap.interpolation);\n break;\n case 'Bar':\n barSpacing = getNumberValue(propertyValueMap.barspacing, getBarSpacingValue) || barSpacingMap.medium;\n chart = nv.models.multiBarHorizontalChart()\n .x(d => d.x)\n .y(d => d.y)\n .showControls(false)\n .stacked(propertyValueMap.viewtype === 'Stacked' ? true : false)\n .showValues(propertyValueMap.showvalues)\n .groupSpacing(barSpacing);\n break;\n case 'Pie':\n case 'Donut':\n labelConfig = getLabelValues(propertyValueMap.showlabels, propertyValueMap.showlabelsoutside, 'value');\n radius = getNumberValue(propertyValueMap.donutratio, getRadiusValue) || donutRatioMap.medium;\n chart = nv.models.pieChart()\n .x(d => d.x)\n .y(d => d.y)\n .showLabels(labelConfig.showlabels)\n .labelType(propertyValueMap.labeltype)\n .valueFormat(d3.format('%'))\n .title(propertyValueMap.centerlabel)\n .labelThreshold(propertyValueMap.labelthreshold || 0.01)\n .labelsOutside(labelConfig.showlabelsoutside);\n if (isDonutChart(widgetContext.type)) {\n chart.donut(true)\n .donutRatio(radius);\n }\n if (propertyValueMap.labeltype === 'key-value') {\n chart.labelType(d => d.data.x + ' ' + d.data.y);\n }\n break;\n case 'Bubble':\n chart = nv.models.scatterChart()\n .x(d => d.x)\n .y(d => d.y)\n .showDistX(propertyValueMap.showxdistance)\n .showDistY(propertyValueMap.showydistance);\n break;\n }\n\n if (xDomainValues) {\n xValue.min = xDomainValues.min.x || xDomainValues.min[0];\n xValue.max = xDomainValues.max.x || xDomainValues.max[0];\n // If the values on the x axis are string then min max values gives Infinity\n if (areMinMaxValuesValid(xValue)) {\n // Reducing the min value to 0.1 so the min value is not missed out\n xValue.min = getYScaleMinValue(xValue.min);\n chart.xDomain([xValue.min, xValue.max]);\n }\n }\n\n if (yDomainValues) {\n // Reducing the min value to 1 so the min value is not missed out\n yValue.min = yDomainValues.min.y || yDomainValues.min[1];\n yValue.max = yDomainValues.max.y || yDomainValues.max[1];\n // If the values on the y axis are string or invalid then min max values gives Infinity\n if (areMinMaxValuesValid(yValue)) {\n // Reducing the min value to 1 so the min value is not missed out\n yValue.min = getYScaleMinValue(yValue.min);\n chart.yDomain([yValue.min, yValue.max]);\n }\n }\n\n // Setting the legend type choosen by user or default it will be furious\n chart.legend.vers((propertyValueMap.legendtype && propertyValueMap.legendtype.toLowerCase()) || 'furious');\n\n if (!includes(chartTypes, widgetContext.type)) {\n chart = nv.models.multiBarChart()\n .x(d => d.x)\n .y(d => d.y);\n }\n\n\n if (isPieType(widgetContext.type)) {\n // In case of pie/donut chart formatting the values of it\n if (propertyValueMap.labeltype === 'percent') {\n chart.valueFormat(d3.format('%'));\n } else {\n chart.valueFormat(d => getNumberFormatedData(propertyValueMap.ynumberformat, d));\n }\n // Customizing the tooltips in case of the pie and donut when labelType is value\n customiseTooltip(chart, propertyValueMap, widgetContext);\n }\n else {\n chart.showXAxis(propertyValueMap.showxaxis)\n .showYAxis(propertyValueMap.showyaxis);\n chart.legendPosition(propertyValueMap.showlegend);\n\n // Setting the labels if they are specified explicitly or taking the axiskeys chosen\n xaxislabel = propertyValueMap.xaxislabel || prettifyLabels(widgetContext.xaxisdatakey) || 'x caption';\n yaxislabel = propertyValueMap.yaxislabel || prettifyLabels(widgetContext.yaxisdatakey) || 'y caption';\n\n // Checking if y axis has multiple values\n if (widgetContext.yaxisdatakey && widgetContext.yaxisdatakey.split(',').length > 1) {\n hasMultipleYValues = true;\n }\n // Customizing the tooltip to show yaxislabel, only if the y axis contains one value\n if (!hasMultipleYValues && !isBubbleChart(widgetContext.type)) {\n customiseTooltip(chart, propertyValueMap, widgetContext, yaxislabel);\n }\n\n // Adding the units to the captions if they are specified\n xaxislabel += propertyValueMap.xunits ? '(' + propertyValueMap.xunits + ')' : '';\n yaxislabel += propertyValueMap.yunits ? '(' + propertyValueMap.yunits + ')' : '';\n\n chart.xAxis\n .axisLabel(xaxislabel)\n .axisLabelDistance(propertyValueMap.xaxislabeldistance)\n .staggerLabels(propertyValueMap.staggerlabels);\n\n // If date format set format based date format\n if (propertyValueMap.xdateformat || (isPreview && !isBubbleChart(widgetContext.type))) {\n if (isLineTypeChart(widgetContext.type)) {\n chart.xAxis.tickFormat(d => {\n // get the actual value\n xAxisValue = isPreview ? dateList[d - 1] : widgetContext.xDataKeyArr[d];\n return getDateFormatedData(propertyValueMap.xdateformat, xAxisValue);\n });\n } else {\n chart.xAxis.tickFormat(d => getDateFormatedData(propertyValueMap.xdateformat, d));\n }\n } else if (propertyValueMap.xnumberformat) {\n chart.xAxis.tickFormat(d => getNumberFormatedData(propertyValueMap.xnumberformat, d));\n } else {\n if (isLineTypeChart(widgetContext.type)) {\n // get the actual value\n chart.xAxis.tickFormat(d => widgetContext.xDataKeyArr[d]);\n }\n }\n chart.yAxis\n .axisLabel(yaxislabel)\n .axisLabelDistance(propertyValueMap.yaxislabeldistance)\n .staggerLabels(propertyValueMap.staggerlabels)\n .tickFormat(d => getNumberFormatedData(propertyValueMap.ynumberformat, d));\n if (isBarChart(widgetContext.type)) {\n chart.valueFormat(d => getNumberFormatedData(propertyValueMap.ynumberformat, d));\n }\n }\n\n // Support for custom colors if user gives direct string of colors in text box\n if (isString(propertyValueMap.customcolors) && propertyValueMap.customcolors) {\n colors = split(propertyValueMap.customcolors, ',');\n }\n if (isArray(propertyValueMap.customcolors)) {\n colors = propertyValueMap.customcolors;\n }\n\n showLegend = isShowLegend(propertyValueMap.showlegend);\n chart.showLegend(showLegend)\n .margin({top: propertyValueMap.offsettop, right: propertyValueMap.offsetright, bottom: propertyValueMap.offsetbottom, left: propertyValueMap.offsetleft})\n .color(colors.length ? colors : themes[propertyValueMap.theme].colors);\n\n chart.tooltip.enabled(propertyValueMap.tooltips);\n widgetContext.message = propertyValueMap.nodatamessage || 'No data found';\n // setting the no data message\n chart.noData(widgetContext.message);\n\n if (isLineTypeChart(widgetContext.type) && widgetContext.highlightpoints) {\n chart.dispatch.on('stateChange', () => {\n setTimeout(() => postPlotChartProcess(widgetContext), 100);\n });\n }\n\n if (widgetContext.showlegend && (widgetContext.type === 'Donut' || widgetContext.type === 'Pie')) {\n if(widgetContext.showlegend === 'right') {\n chart.legendPosition('right');\n }\n }\n return chart;\n};\n\n// @ts-ignore\nexport const postPlotChartProcess = (widgetContext, isPreview?) => {\n const id = isPreview ? null : widgetContext.$id;\n // If user sets to highlight the data points and increase the thickness of the line\n if (isLineTypeChart(widgetContext.type)) {\n setLineThickness(id, widgetContext.linethickness);\n highlightPoints(id, widgetContext.highlightpoints);\n }\n // Modifying the legend position only when legend is shown\n // if (widgetContext.showlegend) {\n // modifyLegendPosition(widgetContext, widgetContext.showlegend, id);\n // }\n};\n\n// @ts-ignore\nexport const getDateList = () => dateList;\n\n","<div class=\"panel-heading\" *ngIf=\"title\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\"><i class=\"app-icon panel-icon {{iconclass}}\" [class.ng-hide]=\"!iconclass\"></i></div>\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" *ngIf=\"subheading\" [innerHTML]=\"subheading\"></div>\n </h3>\n</div>\n<div class=\"app-chart-inner\" [ngClass]=\"{'loading':isLoadInProgress, 'panel-body': title}\">\n <svg></svg>\n <div class=\"wm-content-info readonly-wrapper\" *ngIf=\"showContentLoadError && showNoDataMsg\">\n <p class=\"wm-message\" [title]=\"hintMsg\" [ngClass]=\"{'error': invalidConfig}\" [innerText]=\"errMsg\"></p>\n </div>\n <div wmSpinner show.bind=\"isLoadInProgress\" caption.bind=\"loadingdatamsg\"></div>\n</div>\n","import {\n AfterViewInit,\n OnDestroy,\n Component,\n HostBinding,\n Injector,\n ViewEncapsulation,\n Optional,\n Inject\n} from '@angular/core';\n\nimport {\n App,\n DataSource,\n getClonedObject,\n isDataSourceEqual,\n isEmptyObject,\n isNumberType,\n prettifyLabels,\n removeAttr,\n triggerFn,\n isMobileApp,\n noop\n} from '@wm/core';\nimport { APPLY_STYLES_TYPE, IRedrawableComponent, provideAsWidgetRef, StylableComponent, styler, } from '@wm/components/base';\n\nimport { registerProps } from './chart.props';\nimport { allShapes, getDateList, getSampleData, initChart, isAreaChart, isAxisDomainValid, isBarChart, isBubbleChart, isChartDataArray, isChartDataJSON, isLineTypeChart, isPieType, postPlotChartProcess } from './chart.utils';\nimport {\n concat, debounce, fill,\n first,\n forEach, forEachRight,\n get, groupBy, includes,\n intersection,\n isArray, isEmpty, isObject, keys,\n map, max,\n maxBy,\n minBy,\n orderBy,\n replace,\n split,\n uniq\n} from \"lodash-es\";\n\ndeclare const $;\n\ndeclare const d3, nv;\n\nconst WIDGET_CONFIG = {widgetType: 'wm-chart', hostClass: 'app-chart'};\n\nconst options = {\n 'Bubble' : ['bubblesize', 'shape']\n },\n NONE = 'none',\n advanceDataProps = ['aggregation', 'aggregationcolumn', 'groupby', 'orderby'],\n // XPaths to get actual data of data points in charts\n chartDataPointXpath = {\n 'Column' : 'rect.nv-bar',\n 'Bar' : 'g.nv-bar',\n 'Area' : '.nv-stackedarea .nv-point',\n 'Cumulative Line': '.nv-cumulativeLine .nv-scatterWrap path.nv-point',\n 'Line' : '.nv-lineChart .nv-scatterWrap path.nv-point',\n 'Pie' : '.nv-pieChart .nv-slice path',\n 'Donut' : '.nv-pieChart .nv-slice path',\n 'Bubble' : '.nv-scatterChart .nv-point-paths path'\n },\n // all properties of the chart\n allOptions = ['bubblesize', 'shape'],\n styleProps = {\n 'fontunit' : 'font-size',\n 'fontsize' : 'font-size',\n 'color' : 'fill',\n 'fontfamily' : 'font-family',\n 'fontweight' : 'font-weight',\n 'fontstyle' : 'font-style',\n 'textdecoration': 'text-decoration'\n },\n // Getting the relevant aggregation function based on the selected option\n aggregationFnMap = {\n 'average' : 'AVG',\n 'count' : 'COUNT',\n 'maximum' : 'MAX',\n 'minimum' : 'MIN',\n 'sum' : 'SUM'\n };\n\nconst getBooleanValue = val => {\n if (val === true || val === 'true') {\n return true;\n }\n if (val === false || val === 'false') {\n return false;\n }\n return val;\n};\n\n// returns orderby columns and their orders in two separate arrays\nconst getLodashOrderByFormat = orderby => {\n let columns;\n const orderByColumns = [],\n orders = [];\n\n forEach(split(orderby, ','), function (col) {\n columns = split(col, ':');\n orderByColumns.push(columns[0]);\n orders.push(columns[1]);\n });\n return {\n 'columns' : orderByColumns,\n 'orders' : orders\n };\n};\n\n// Replacing the '.' by the '$' because '.' is not supported in the alias names\nconst getValidAliasName = aliasName => aliasName ? aliasName.replace(/\\./g, '$') : null;\n\n// Applying the font related styles for the chart\nconst setTextStyle = (properties, id) => {\n const charttext = d3.select('#wmChart' + id + ' svg').selectAll('text');\n if (!charttext.empty()) {\n charttext.style(properties);\n }\n};\n\nconst angle = d => {\n const a = (d.startAngle + d.endAngle) * 90 / Math.PI - 90;\n return a > 90 ? a - 180 : a;\n};\n\n@Component({\n selector: 'div[wmChart]',\n templateUrl: './chart.component.html',\n styleUrls: ['../../../../../node_modules/@wavemaker/nvd3/build/nv.d3.min.css'],\n providers: [\n provideAsWidgetRef(ChartComponent)\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class ChartComponent extends StylableComponent implements AfterViewInit, OnDestroy, IRedrawableComponent {\n static initializeProps = registerProps();\n\n xaxisdatakey;\n yaxisdatakey;\n groupby;\n aggregation;\n aggregationcolumn;\n isVisuallyGrouped;\n orderby;\n iconclass = '';\n type: string;\n showContentLoadError;\n invalidConfig;\n errMsg;\n shape: string;\n datasource: any;\n fontsize: string;\n selecteditem: any;\n fontunit: string;\n offsettop: number;\n offsetleft: number;\n offsetright: number;\n offsetbottom: number;\n showlabels: any;\n theme: string;\n\n private $id;\n private scopedataset: any;\n private binddataset: any;\n private showlabelsoutside: any;\n private _resizeFn: any;\n private chart: any;\n private clearCanvas: boolean;\n public isLoadInProgress: boolean;\n private filterFields: boolean | any;\n private dataset: any;\n private axisoptions: any;\n private numericColumns: any;\n private nonPrimaryColumns: any = [];\n private variableInflight: any;\n private chartReady: boolean;\n private xDataKeyArr: any = [];\n private xAxisDataType: string;\n private bubblesize: any;\n public showNoDataMsg: any;\n private sampleData: any[];\n private chartData: any[] = [];\n private _processedData: any[] = [];\n private _subsciptions: any = [];\n\n @HostBinding('class.panel') title;\n\n isGroupByEnabled() {\n return !!(this.groupby && this.groupby !== NONE);\n }\n\n // Check if x and y axis that are chosen are valid to plot chart\n isValidAxis() {\n // Check if x axis and y axis are chosen and are not equal\n return this.binddataset ? (this.xaxisdatakey && this.yaxisdatakey) : true;\n }\n\n // Check if aggregation is chosen\n isAggregationEnabled() {\n return !!((this.isGroupByEnabled() && this.aggregation !== NONE && this.aggregationcolumn));\n }\n\n // Check if either groupby, aggregation or orderby is chosen\n isDataFilteringEnabled() {\n /*Query need to be triggered if any of the following cases satisfy\n * 1. Group By and aggregation both chosen\n * 2. Only Order By is chosen\n * */\n\n return this.isAggregationEnabled() || (!this.isVisuallyGrouped && this.orderby);\n }\n\n /*Charts like Line,Area,Cumulative Line does not support any other datatype\n other than integer unlike the column and bar.It is a nvd3 issue. Inorder to\n support that this is a fix*/\n getxAxisVal(dataObj, xKey, index) {\n const value = get(dataObj, xKey);\n // If x axis is other than number type then add indexes\n if (isLineTypeChart(this.type) && !isNumberType(this.xAxisDataType)) {\n // Verification to get the unique data keys\n this.xDataKeyArr.push(value);\n // Check if it is of type Date\n if (value instanceof Date) {\n return value;\n } else {\n return index;\n }\n }\n return value;\n }\n\n // Getting the min and max values among all the x values\n getXMinMaxValues(datum) {\n if (!datum) {\n return;\n }\n const xValues: any = {};\n /*\n compute the min x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n min x: 1\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n min x: 10\n */\n xValues.min = minBy(datum.values, dataObject => dataObject.x || dataObject[0]);\n /*\n compute the max x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n max x: 3\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n max x: 30\n */\n xValues.max = maxBy(datum.values, dataObject => dataObject.x || dataObject[0]);\n return xValues;\n }\n\n // Getting the min and max values among all the y values\n getYMinMaxValues(datum) {\n const yValues: any = {},\n minValues = [],\n maxValues = [];\n if (!datum) {\n return;\n }\n\n /*\n Getting the min and max y values among all the series of data\n compute the min y value\n eg: When data has objects\n input: [[{x:1, y:2}, {x:2, y:3}, {x:3, y:4}], [{x:2, y:3}, {x:3, y:4}, {x:4, y:5}]]\n min y values : '2'(among first set) & '3'(among second set)\n max y values : '4'(among first set) & '5'(among second set)\n\n eg: When data has arrays\n input: [[[10, 20], [20, 30], [30, 40]], [[20, 30], [30, 40], [40, 50]]]\n min y values : '20'(among first set) & '30'(among second set)\n max y values : '40'(among first set) & '50'(among second set)\n */\n\n forEach(datum, data => {\n minValues.push(minBy(data.values, function (dataObject) {\n return dataObject.y || dataObject[1];\n }));\n maxValues.push(maxBy(data.values, function (dataObject) {\n return dataObject.y || dataObject[1];\n }));\n });\n // Gets the least and highest values among all the min and max values of respective series of data\n yValues.min = minBy(minValues, dataObject => dataObject.y || dataObject[1]);\n yValues.max = maxBy(maxValues, dataObject => dataObject.y || dataObject[1]);\n return yValues;\n }\n\n // If the x-axis values are undefined, we return empty array else we return the values\n getValidData(values) {\n return (values.length === 1 && values[0] === undefined) ? [] : values;\n }\n\n // Returns the single data point based on the type of the data chart accepts\n valueFinder(dataObj, xKey, yKey, index?, shape?) {\n const xVal = this.getxAxisVal(dataObj, xKey, index),\n value = get(dataObj, yKey),\n yVal = parseFloat(value) || value,\n size = parseFloat(dataObj[this.bubblesize]) || 2;\n let dataPoint: any = {};\n\n if (isChartDataJSON(this.type)) {\n dataPoint.x = xVal;\n dataPoint.y = yVal;\n // only Bubble chart has the third dimension\n if (isBubbleChart(this.type)) {\n dataPoint.size = size;\n dataPoint.shape = shape || 'circle';\n }\n } else if (isChartDataArray(this.type)) {\n dataPoint = [xVal, yVal];\n }\n // Adding actual unwrapped data to chart data to use at the time of selected data point of chart event\n dataPoint._dataObj = dataObj;\n return dataPoint;\n }\n\n // Setting appropriate error messages\n setErrMsg(message) {\n if (this.showNoDataMsg) {\n this.showContentLoadError = true;\n this.invalidConfig = true;\n // TODO: Set the locale from the message\n this.errMsg = ''; // $rootScope.locale[message];\n }\n }\n\n processChartData() {\n this.sampleData = getSampleData(this);\n // scope variables used to keep the actual key values for x-axis\n this.xDataKeyArr = [];\n // Plotting the chart with sample data when the chart dataset is not bound\n if (!this.binddataset) {\n this.xDataKeyArr = getDateList();\n return this.sampleData;\n }\n\n if (!this.chartData || !this.chartData.length) {\n return [];\n }\n\n let datum = [],\n yAxisKey,\n shapes: any = [],\n values: any = [];\n const xAxisKey = this.xaxisdatakey,\n yAxisKeys = this.yaxisdatakey ? this.yaxisdatakey.split(',') : [],\n dataSet = this.chartData;\n\n if (isArray(dataSet)) {\n if (isPieType(this.type)) {\n yAxisKey = yAxisKeys[0];\n datum = map(dataSet, (dataObj, index) => {\n if (!isEmptyObject(dataSet[index])) {\n return this.valueFinder(dataSet[index], xAxisKey, yAxisKey);\n }\n });\n datum = this.getValidData(datum);\n } else {\n if (isBubbleChart(this.type)) {\n shapes = this.shape === 'random' ? allShapes : this.shape;\n }\n yAxisKeys.forEach((yAxisKey, series) => {\n values = map(dataSet, (dataObj, index) => {\n if (!isEmptyObject(dataSet[index])) {\n return this.valueFinder(dataSet[index], xAxisKey, yAxisKey, index, (isArray(shapes) && shapes[series]) || this.shape);\n }\n });\n values = this.getValidData(values);\n datum.push({\n values: values,\n key: prettifyLabels(yAxisKey)\n });\n });\n }\n }\n return datum;\n }\n\n setChartData(data) {\n if (data) {\n this._processedData = data;\n }\n }\n\n getChartData() {\n return this._processedData;\n }\n\n // constructing the grouped data based on the selection of orderby, x & y axis\n getVisuallyGroupedData(queryResponse, groupingColumn) {\n let groupData: any = {},\n groupValues: any = [],\n orderByDetails,\n maxLength;\n const chartData: any = [],\n _isAreaChart = isAreaChart(this.type),\n yAxisKey = first(split(this.yaxisdatakey, ','));\n this.xDataKeyArr = [];\n queryResponse = orderBy(queryResponse, split(this.groupby, ','));\n if (this.orderby) {\n orderByDetails = getLodashOrderByFormat(this.orderby);\n queryResponse = orderBy(queryResponse, orderByDetails.columns, orderByDetails.orders);\n }\n queryResponse = groupBy(queryResponse, groupingColumn);\n // In case of area chart all the series data should be of same length\n if (_isAreaChart) {\n maxLength = max(map(queryResponse, obj => obj.length));\n }\n forEach(queryResponse, (values, groupKey) => {\n groupValues = isAreaChart ? fill(new Array(maxLength), [0, 0]) : [];\n forEachRight(values, (value, index) => {\n groupValues[index] = this.valueFinder(value, this.xaxisdatakey, yAxisKey, index);\n });\n groupData = {\n key : groupKey,\n values : groupValues\n };\n chartData.push(groupData);\n });\n return chartData;\n }\n\n /*Decides whether the data should be visually grouped or not\n Visually grouped when a different column is choosen in the group by other than x and y axis and aggregation is not chosen*/\n getGroupingDetails() {\n if (this.isGroupByEnabled() && !this.isAggregationEnabled()) {\n let isVisuallyGrouped = false,\n visualGroupingColumn,\n groupingExpression,\n columns: any = [],\n groupingColumnIndex;\n const groupbyColumns = this.groupby && this.groupby !== NONE ? this.groupby.split(',') : [],\n yAxisKeys = this.yaxisdatakey ? this.yaxisdatakey.split(',') : [];\n\n if (groupbyColumns.length > 1) {\n /*Getting the group by column which is not selected either in x or y axis*/\n groupbyColumns.every((column, index) => {\n if (this.xaxisdatakey !== column && $.inArray(column, yAxisKeys) === -1) {\n isVisuallyGrouped = true;\n visualGroupingColumn = column;\n groupingColumnIndex = index;\n groupbyColumns.splice(groupingColumnIndex, 1);\n return false;\n }\n return true;\n });\n // Constructing the groupby expression\n if (visualGroupingColumn) {\n columns.push(visualGroupingColumn);\n }\n\n if (groupbyColumns.length) {\n columns = concat(columns, groupbyColumns);\n }\n }\n // If x and y axis are not included in aggregation need to be included in groupby\n if (this.xaxisdatakey !== this.aggregationcolumn) {\n columns.push(this.xaxisdatakey);\n }\n forEach(yAxisKeys, key => {\n if (key !== this.aggregationcolumn) {\n columns.push(key);\n }\n });\n groupingExpression = columns.join(',');\n // set isVisuallyGrouped flag in scope for later use\n this.isVisuallyGrouped = isVisuallyGrouped;\n\n return {\n expression: groupingExpression,\n isVisuallyGrouped: isVisuallyGrouped,\n visualGroupingColumn: visualGroupingColumn\n };\n }\n return {\n expression: '',\n isVisuallyGrouped: false,\n visualGroupingColumn: ''\n };\n }\n\n // Function to get the aggregated data after applying the aggregation & group by or order by operations.\n getAggregatedData(callback) {\n const variable: any = this.datasource,\n yAxisKeys = this.yaxisdatakey ? this.yaxisdatakey.split(',') : [],\n data: any = {};\n let sortExpr,\n columns: any = [],\n colAlias,\n orderByColumns,\n groupByFields: any = [];\n\n if (!variable) {\n return;\n }\n if (this.isGroupByEnabled()) {\n groupByFields = split(this.groupby, ',');\n }\n if (this.orderby) {\n sortExpr = replace(this.orderby, /:/g, ' ');\n columns = uniq(concat(columns, groupByFields, [this.aggregationcolumn]));\n orderByColumns = getLodashOrderByFormat(this.orderby).columns;\n // If the orderby column is chosen either in groupby or orderby then replace . with $ for that column\n forEach(intersection(columns, orderByColumns), col => {\n colAlias = getValidAliasName(col);\n // @ts-ignore\n sortExpr = replace(sortExpr, col, colAlias);\n });\n }\n if (this.isAggregationEnabled()) {\n // Send the group by in the aggregations api only if aggregation is also chosen\n data.groupByFields = groupByFields;\n data.aggregations = [\n {\n 'field': this.aggregationcolumn,\n 'type': aggregationFnMap[this.aggregation],\n 'alias': getValidAliasName(this.aggregationcolumn)\n }\n ];\n }\n // Execute the query.\n variable.execute('getAggregatedData', {\n 'aggregations' : data,\n 'sort' : sortExpr\n }).then(response => {\n // Transform the result into a format supported by the chart.\n const chartData: any = [],\n aggregationAlias: any = getValidAliasName(this.aggregationcolumn),\n xAxisAliasKey = getValidAliasName(this.xaxisdatakey),\n yAxisAliasKeys = [];\n\n yAxisKeys.forEach(yAxisKey => yAxisAliasKeys.push(getValidAliasName(yAxisKey)));\n\n forEach(response.body.content, (responseContent) => {\n const obj = {};\n // Set the response in the chartData based on 'aggregationColumn', 'xAxisDataKey' & 'yAxisDataKey'.\n if (this.isAggregationEnabled()) {\n obj[this.aggregationcolumn] = responseContent[aggregationAlias];\n obj[this.aggregationcolumn] = get(responseContent, aggregationAlias) || get(responseContent, this.aggregationcolumn);\n }\n\n obj[this.xaxisdatakey] = get(responseContent, xAxisAliasKey) || get(responseContent, this.xaxisdatakey);\n\n yAxisKeys.forEach((yAxisKey, index) => {\n obj[yAxisKey] = responseContent[yAxisAliasKeys[index]];\n obj[yAxisKey] = get(responseContent, yAxisAliasKeys[index]) || get(responseContent, yAxisKey);\n });\n\n chartData.push(obj);\n });\n\n this.chartData = chartData;\n\n triggerFn(callback);\n }, () => {\n this.chartData = [];\n this.setErrMsg('MESSAGE_ERROR_FETCH_DATA');\n triggerFn(callback);\n });\n }\n\n // This function sets maximum width for the labels that can be displayed.This will helpful when they are overlapping\n setLabelsMaxWidth() {\n let xTicks,\n tickWidth,\n maxLength,\n xDist,\n yDist,\n totalHeight,\n maxNoLabels,\n nthElement,\n labelsAvailableWidth,\n barWrapper,\n yAxisWrapper,\n svgWrapper;\n const fontsize = parseInt(this.fontsize, 10) || 12,\n isBarchart = isBarChart(this.type);\n // getting the x ticks in the chart\n xTicks = $('#wmChart' + this.$id + ' svg').find('g.nv-x').find('g.tick').find('text');\n\n // getting the distance between the two visible ticks associated with visible text\n xTicks.each(function () {\n const xTick = $(this);\n let xTransform,\n tickDist;\n if (xTick.text() && xTick.css('opacity') === '1') {\n xTransform = xTick.parent().attr('transform').split(',');\n xDist = parseFloat(xTransform[0].substr(10));\n yDist = parseFloat(xTransform[1] || '0');\n if (!isBarchart && xDist > 0) {\n tickDist = xDist;\n } else if (yDist > 0) {\n tickDist = yDist;\n }\n if (tickWidth) {\n tickWidth = tickDist - tickWidth;\n return false;\n }\n tickWidth = tickDist;\n return true;\n }\n });\n\n // In case of bar chart getting the available space for the labels to be displayed\n if (isBarchart) {\n barWrapper = $('#wmChart' + this.$id + ' svg>g.nv-wrap>g>g.nv-barsWrap')[0];\n yAxisWrapper = $('#wmChart' + this.$id + ' svg>g.nv-wrap>g>g.nv-y')[0];\n svgWrapper = $('#wmChart' + this.$id + ' svg')[0];\n // getting the total height of the chart\n totalHeight = barWrapper ? barWrapper.getBoundingClientRect().height : 0;\n // getting the labels available space\n labelsAvailableWidth = yAxisWrapper ? svgWrapper.getBoundingClientRect().width - yAxisWrapper.getBoundingClientRect().width : svgWrapper.getBoundingClientRect().width;\n // Setting the max length for the label\n maxLength = Math.round(labelsAvailableWidth / fontsize);\n // if available space for each label is less than the font-size\n // then limiting the labels to be displayed\n if (tickWidth < fontsize) {\n // calculate the maximum no of labels to be fitted\n maxNoLabels = totalHeight / fontsize;\n // showing only the nth element\n nthElement = Math.ceil(this.chartData.length / maxNoLabels);\n // showing up only some labels\n d3.select('#wmChart' + this.$id + ' svg').select('g.nv-x').selectAll('g.tick').select('text').each(function (text, i) {\n // hiding every non nth element\n if (i % nthElement !== 0) {\n d3.select(this).attr('opacity', 0);\n }\n });\n }\n } else {\n // Setting the max length for the label\n maxLength = Math.round(tickWidth / fontsize);\n }\n\n // maxLength should always be a positive number\n maxLength = Math.abs(maxLength);\n // Validating if every label exceeds the max length and if so limiting the length and adding ellipsis\n xTicks.each(function () {\n if (this.textContent.length > maxLength) {\n this.textContent = this.textContent.substr(0, maxLength) + '...';\n }\n });\n }\n\n // Returns the columns of that can be choosen in the x and y axis\n getDefaultColumns() {\n let type,\n stringColumn,\n i,\n temp;\n const defaultColumns = [],\n columns = this.datasource.execute(DataSource.Operation.GET_PROPERTIES_MAP) || [];\n\n for (i = 0; i < columns.length && defaultColumns.length <= 2; i += 1) {\n type = columns[i].type;\n if (!columns[i].isRelated && (isNumberType(type))) {\n defaultColumns.push(columns[i].fieldName);\n } else if (type === 'string' && !stringColumn) {\n stringColumn = columns[i].fieldName;\n }\n }\n // Other than bubble chart x: string type y: number type\n // Bubble chart x: number type y: number type\n if (stringColumn && defaultColumns.length > 0 && !isBubbleChart(this.type)) {\n temp = defaultColumns[0];\n defaultColumns[0] = stringColumn;\n defaultColumns[1] = temp;\n }\n\n return defaultColumns;\n }\n\n // Call user defined javascript function when user links it to click event of the widget.\n attachClickEvent() {\n let dataObj;\n d3.select('#wmChart' + this.$id + ' svg').selectAll(chartDataPointXpath[this.type]).style('pointer-events', 'all')\n .on('click', (event, data, index) => {\n switch (this.type) {\n case 'Column':\n case 'Bar':\n dataObj = data._dataObj;\n break;\n case 'Pie':\n case 'Donut':\n dataObj = data.data._dataObj;\n break;\n case 'Area':\n case 'Cumulative Line':\n case 'Line':\n dataObj = data[0]._dataObj;\n break;\n case 'Bubble':\n dataObj = data;\n break;\n }\n this.selecteditem = dataObj;\n this.invokeEventCallback('select', {\n $event: event,\n selectedChartItem: data,\n selectedItem: this.selecteditem\n });\n });\n\n }\n\n /* Returns Y Scale min value\n Ex: Input : 8.97\n Output : 8.87\n\n Input : 8\n Output : 7\n */\n\n postPlotProcess(chart) {\n let chartSvg,\n pieLabels,\n pieGroups,\n angleArray;\n const styleObj = {};\n const element = this.$element;\n\n postPlotChartProcess(this);\n\n if (!isPieType(this.type)) {\n this.setLabelsMaxWidth();\n } else if (!this.showlabelsoutside) {\n /** Nvd3 has a issue in rotating text. So we will use this as a temp fix.\n * If the issue is resolved there, we can remove this.*/\n /* If it is a donut chart, then rotate the text and position them*/\n chartSvg = d3.select('#wmChart' + this.$id + ' svg');\n pieLabels = chartSvg.select('.nv-pieLabels').selectAll('.nv-label');\n pieGroups = chartSvg.select('.nv-pie').selectAll('.nv-slice');\n angleArray = [];\n if (pieGroups && pieGroups.length) {\n pieGroups.each(function () {\n d3.select(this).attr('transform', function (d) {\n angleArray.push(angle(d));\n });\n });\n pieLabels.each(function (d, i) {\n const group = d3.select(this);\n $(group[0][0]).find('text').attr('transform', 'rotate(' + angleArray[i] + ')');\n });\n }\n }\n\n // prepare text style props object and set\n forEach(styleProps, (value, key) => {\n if (key === 'fontsize' || key === 'fontunit') {\n styleObj[value] = this.fontsize + this.fontunit;\n } else {\n styleObj[value] = this[key];\n }\n });\n setTextStyle(styleObj, this.$id);\n\n /*\n * allow window-resize functionality, for only-run mode as\n * updating chart is being handled by watchers of height & width in studio-mode\n * */\n triggerFn(this._resizeFn && this._resizeFn.clear);\n this._resizeFn = nv.utils.windowResize(() => {\n if (element[0].getBoundingClientRect().height) {\n chart.update();\n postPlotChartProcess(this);\n if (!isPieType(this.type)) {\n this.setLabelsMaxWidth();\n }\n } else {\n // TODO: get parents of accordion type\n /*let parent = element.closest('.app-accordion-panel, .tab-pane').isolateScope();\n if (parent) {\n parent.initialized = false;\n }*/\n }\n });\n }\n\n // prepares and configures the chart properties\n configureChart() {\n // Copy the data only in case of pie chart with default data\n // Reason : when multiple pie charts are bound to same data, first chart theme will be applied to all charts\n let xDomainValues;\n let yDomainValues;\n let chart;\n let beforeRenderVal;\n const yformatOptions: any = {};\n\n if (this._processedData.length > 0) {\n if (isAxisDomainValid(this, 'x')) {\n xDomainValues = this.binddataset ? this.getXMinMaxValues(this._processedData[0]) : { 'min' : {'x': 1}, 'max' : {'x' : 5}};\n }\n if (isAxisDomainValid(this, 'y')) {\n yDomainValues = this.binddataset ? this.getYMinMaxValues(this._processedData) : { 'min' : {'y' : 1}, 'max' : {'y' : 5}};\n }\n }\n\n if (isPieType(this.type) && (!this.binddataset || !this.scopedataset)) {\n this._processedData = getClonedObject(this.scopedataset || this._processedData);\n }\n\n // get the chart object\n chart = initChart(this, xDomainValues, yDomainValues, null, !this.binddataset);\n\n if (isArray(this._processedData)) {\n // WMS-19499: To remove chart X-axis old ticks when chart data loaded dynamically.\n const oldgTicks = $('#wmChart' + this.$id + ' svg').find('g.nv-x').find('g.tick');\n if (oldgTicks && oldgTicks.length) {\n oldgTicks.remove();\n }\n beforeRenderVal = this.invokeEventCallback('beforerender', { 'chartInstance' : chart});\n if (beforeRenderVal) {\n chart = beforeRenderVal;\n }\n this.chart = chart;\n // changing the default no data message\n d3.select('#wmChart' + this.$id + ' svg')\n .datum(this._processedData)\n .call(this.chart);\n this.postPlotProcess(chart);\n return chart;\n }\n }\n\n // Plotting the chart with set of the properties set to it\n plotChart() {\n const element = this.$element;\n // call user-transformed function\n this.chartData = (this.invokeEventCallback('transform')) || this.chartData;\n\n // Getting the order by data only in run mode. The order by applies for all the charts other than pie and donut charts\n if (this.isVisuallyGrouped && !isPieType(this.type)) {\n this._processedData = this.chartData;\n } else {\n this._processedData = this.processChartData();\n }\n // checking the parent container before plotting the chart\n if (!element[0].getBoundingClientRect().height) {\n return;\n }\n if (this.clearCanvas) {\n // empty svg to add-new chart\n element.find('svg').replaceWith('<svg></svg>');\n this.clearCanvas = false;\n }\n\n // In case of invalid axis show no data available message\n if (!this.isValidAxis()) {\n this._processedData = [];\n }\n nv.addGraph(() => this.configureChart(), () => {\n /*Bubble chart has an time out delay of 300ms in their implementation due to which we\n * won't be getting required data points on attaching events\n * hence delaying it 600ms*/\n setTimeout( () => {\n this.attachClickEvent();\n }, 600);\n });\n this.isLoadInProgress = false;\n }\n // TODO: Need way to figure out if the datasource is a live source\n get isLiveVariable() {\n // setting the flag for the live variable in the scope for the checks\n const variableObj = this.datasource;\n return variableObj && variableObj.category === 'wm.LiveVariable';\n }\n\n plotChartProxy() {\n this.showContentLoadError = false;\n this.invalidConfig = false;\n // Checking if x and y axis are chosen\n this.isLoadInProgress = true;\n const groupingDetails = this.getGroupingDetails();\n // If aggregation/group by/order by properties have been set, then get the aggregated data and plot the result in the chart.\n // TODO: datasource for live variable detection\n if (this.binddataset && this.isLiveVariable && (this.filterFields || this.isDataFilteringEnabled())) {\n this.getAggregatedData(() => this.plotChart());\n } else { // Else, simply plot the chart.\n // In case of live variable resetting the aggregated data to the normal dataset when the aggregation has been removed\n if (this.dataset && this.isLiveVariable) {\n this.chartData = this.dataset;\n if (this.isGroupByEnabled() && groupingDetails.isVisuallyGrouped) {\n this.chartData = this.getVisuallyGroupedData(this.chartData, groupingDetails.visualGroupingColumn);\n }\n\n }\n this.plotChart();\n }\n }\n\n // sets the default x and y axis options\n setDefaultAxisOptions() {\n const defaultColumns = this.getDefaultColumns();\n // If we get the valid default columns then assign them as the x and y axis\n // In case of service variable we may not get the valid columns because we cannot know the datatypes\n this.xaxisdatakey = defaultColumns[0] || null;\n this.yaxisdatakey = defaultColumns[1] || null;\n }\n\n getCutomizedOptions(prop, fields) {\n const groupByColumns = split(this.groupby, ','),\n aggColumns = split(this.aggregationcolumn, ',');\n if (!this.binddataset) {\n return fields;\n }\n if (!this.axisoptions) {\n this.axisoptions = fields;\n }\n let newOptions;\n switch (prop) {\n case 'xaxisdatakey':\n // If group by enabled, columns chosen in groupby will be populated in x axis options\n if (this.isGroupByEnabled()) {\n newOptions = groupByColumns;\n }\n break;\n case 'yaxisdatakey':\n // If aggregation by enabled, columns chosen in aggregation will be populated in y axis options\n if (this.isAggregationEnabled()) {\n newOptions = aggColumns;\n } else if (this.isLiveVariable) {\n // In case of live variable populating only numeric columns\n newOptions = this.numericColumns;\n }\n break;\n case 'groupby':\n // Filtering only non primary key columns\n if (this.isLiveVariable && this.nonPrimaryColumns && this.nonPrimaryColumns.length) {\n newOptions = this.nonPrimaryColumns;\n }\n break;\n case 'aggregationcolumn':\n // Set the 'aggregationColumn' to show all keys in case of aggregation function is count or to numeric keys in all other cases.\n if (this.isLiveVariable && this.isAggregationEnabled() && this.aggregation !== 'count') {\n newOptions = this.numericColumns;\n }\n break;\n case 'orderby':\n // Set the 'aggregationColumn' to show all keys in case of aggregation function is count or to numeric keys in all other cases.\n if (this.isLiveVariable && this.isAggregationEnabled()) {\n newOptions = uniq(concat(groupByColumns, aggColumns));\n }\n break;\n case 'bubblesize':\n if (this.numericColumns && this.numericColumns.length) {\n newOptions = this.numericColumns;\n }\n break;\n }\n\n return newOptions || fields || this.axisoptions;\n }\n\n // Function that iterates through all the columns and then fetching the numeric and non primary columns among them\n setNumericandNonPrimaryColumns() {\n let columns,\n type;\n const propertiesMap = this.datasource.execute(DataSource.Operation.GET_PROPERTIES_MAP);\n this.numericColumns = [];\n this.nonPrimaryColumns = [];\n // Fetching all the columns\n if (this.dataset && !isEmpty(propertiesMap)) {\n columns = []; // TODO: fetchPropertiesMapColumns(propertiesMap);\n }\n\n if (columns) {\n // Iterating through all the columns and fetching the numeric and non primary key columns\n forEach(Object.keys(columns), (key) => {\n type = columns[key].type;\n if (isNumberType(type)) {\n this.numericColumns.push(key);\n }\n // Hiding only table's primary key\n if (columns[key].isRelatedPk === 'true' || !columns[key].isPrimaryKey) {\n this.nonPrimaryColumns.push(key);\n }\n });\n this.numericColumns = this.numericColumns.sort();\n this.nonPrimaryColumns = this.nonPrimaryColumns.sort();\n }\n }\n\n // plot the chart\n handleDataSet(newVal) {\n this.errMsg = '';\n // Resetting the flag to false when the binding was removed\n if (!newVal && !this.binddataset) {\n this.isVisuallyGrouped = false;\n this.axisoptions = null;\n }\n\n // liveVariables contain data in 'data' property' of the variable\n this.chartData = this.isLiveVariable ? newVal || '' : (newVal && newVal.dataValue === '' && keys(newVal).length === 1) ? '' : newVal;\n\n // if the data returned is an object make it an array of object\n if (!isArray(this.chartData) && isObject(this.chartData)) {\n this.chartData = [this.chartData];\n }\n\n if (newVal && newVal.filterFields) {\n this.filterFields = newVal.filterFields;\n }\n\n // plotchart for only valid data and only after bound variable returns data\n if (this.chartData) {\n this._plotChartProxy();\n }\n }\n\n _plotChartProxy = debounce(this.plotChartProxy.bind(this), 100);\n\n // sets the center label for donut chart type\n setDonutCenterLabel(labelValue) {\n let chartSvg, pieGroups;\n chartSvg = d3.select('#wmChart' + this.$id + ' svg');\n\n pieGroups = chartSvg.select('.nv-wrap.nv-pie').select('.nv-pie');\n pieGroups.text('');\n pieGroups.append('text')\n .attr('dy', '.35em')\n .attr('text-anchor', 'middle')\n .attr('class', 'nv-pie-title')\n .text(labelValue)\n .each(function (d) {\n var d3text = d3.select(this),\n circ = d3.select(this.parentElement),\n totalWidth = Number(circ.node().getBoundingClientRect().width),\n // minus the ring width from total width\n availWidth = totalWidth - 30,\n textWidth = this.getComputedTextLength();\n d3text.attr(\"data-scale\", availWidth / textWidth);\n }).style(\"font-size\", function() {\n // 16 is the default font size to multiply with the scaled value and 24 is the maximum font size that can be applied\n var fontSize = 16 * d3.select(this).attr(\"data-scale\");\n return fontSize > 24 ? 24 : fontSize + \"px\";\n });\n }\n\n onPropertyChange(key, newVal, oldVal?) {\n super.onPropertyChange(key, newVal, oldVal);\n switch (key) {\n case 'dataset':\n this.handleDataSet(newVal);\n break;\n case 'centerlabel':\n if (this.chart) {\n this.chart.title(newVal);\n this.setDonutCenterLabel(newVal);\n }\n break;\n case 'type':\n // Based on the change in type deciding the default margins\n if (isPieType(this.type)) {\n this.offsettop = 20;\n this.offsetright = 0;\n this.offsetbottom = 0;\n this.offsetleft = 0;\n } else if (oldVal === 'Pie' || oldVal === 'Donut') {\n this.offsettop = 25;\n this.offsetright = 25;\n this.offsetbottom = 55;\n this.offsetleft = 75;\n }\n\n if (oldVal !== newVal) {\n this.clearCanvas = true;\n }\n // In studio mode, configure properties dependent on chart type\n this._plotChartProxy();\n break;\n default:\n // In RunMode, the plotchart method will not be called for all property change\n this._plotChartProxy();\n break;\n }\n if (includes(advanceDataProps, key)) {\n this._plotChartProxy();\n }\n }\n\n handleLoading(data) {\n const dataSource = this.datasource;\n if (dataSource && dataSource.execute(DataSource.Operation.IS_API_AWARE) && isDataSourceEqual(data.variable, dataSource)) {\n this.variableInflight = data.active;\n this.isLoadInProgress = data.active;\n }\n }\n\n hideTooltip() {\n d3.selectAll('.nvtooltip').style('opacity', 0);\n }\n\n onStyleChange(key, newVal, oldVal) {\n const styleObj = {};\n super.onStyleChange(key, newVal, oldVal);\n switch (key) {\n case 'fontsize':\n case 'fontunit':\n case 'color':\n case 'fontfamily':\n case 'fontweight':\n case 'fontstyle':\n case 'textdecoration':\n styleObj[styleProps[key]] = (key === 'fontsize' || key === 'fontunit') ? this.fontsize + this.fontunit : newVal;\n setTextStyle(styleObj, this.$id);\n break;\n }\n }\n\n constructor(inj: Injector, private app: App, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER, ['fontsize', 'fontunit', 'color', 'fontfamily', 'fontweight', 'fontstyle', 'textdecoration']);\n\n // generate unique id for the component\n this.$id = this.widgetId || Math.random();\n // remove title attribute as the element on hover shows you the hint through-out the element\n removeAttr(this.nativeElement, 'title');\n this.chartReady = false;\n this.binddataset = this.nativeElement.getAttribute('dataset.bind');\n // Show loading status based on the variable life cycle\n this._subsciptions.push(this.app.subscribe('toggle-variable-state', this.handleLoading.bind(this)));\n // Will hide tolltip of a chart in mobile when the user scrolls.\n this._subsciptions.push(this.app.subscribe('iscroll-start', () => {this.hideTooltip();}));\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n // For old projects\n if (!includes(['outside', 'inside', 'hide'], this.showlabels)) {\n this.showlabels = getBooleanValue(this.showlabels);\n this.showlabelsoutside = getBooleanValue(this.showlabelsoutside);\n this.showlabels = this.showlabels ? (this.showlabelsoutside ? 'outside' : 'inside') : 'hide';\n }\n\n if (!this.theme) {\n // Default theme for pie/donut is Azure and for other it is Terrestrial\n this.theme = isPieType(this.type) ? 'Azure' : 'Terrestrial';\n }\n\n this.nativeElement.setAttribute('id', 'wmChart' + this.$id);\n // When there is not value binding, then plot the chart with sample data\n if (!this.binddataset && !this.nativeElement.getAttribute('scopedataset')) {\n this._plotChartProxy();\n }\n }\n\n ngOnDestroy() {\n // destroy all subscriptions to prevent memory leak.\n this.hideTooltip();\n this._subsciptions.forEach((subscription)=>{\n subscription();\n });\n super.ngOnDestroy();\n }\n redraw = this._plotChartProxy.bind(this);\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\nimport { BasicModule } from '@wm/components/basic';\n\nimport { ChartComponent } from './chart.component';\n\nconst components = [\n ChartComponent\n];\n\n@NgModule({\n imports: [\n BasicModule,\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class ChartModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}