@wavemaker/app-ng-runtime 11.8.0-next.24904 → 11.8.0-next.27301

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 (346) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +5 -5
  2. app-ng-runtime/build-task/esm2022/basic/progress/progress-bar/progress-bar.build.mjs +1 -1
  3. app-ng-runtime/build-task/esm2022/page/page.build.mjs +3 -2
  4. app-ng-runtime/build-task/fesm2022/index.mjs +2 -1
  5. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  6. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +5 -5
  7. app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +3 -2
  8. app-ng-runtime/components/advanced/carousel/esm2022/carousel.directive.mjs +1 -1
  9. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +2 -1
  10. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  11. app-ng-runtime/components/advanced/login/bundles/index.umd.js +6 -6
  12. app-ng-runtime/components/advanced/login/esm2022/login.component.mjs +4 -3
  13. app-ng-runtime/components/advanced/login/fesm2022/index.mjs +3 -2
  14. app-ng-runtime/components/advanced/login/fesm2022/index.mjs.map +1 -1
  15. app-ng-runtime/components/base/bundles/index.umd.js +203 -171
  16. app-ng-runtime/components/base/esm2022/directives/show-in-device.directive.mjs +1 -1
  17. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +12 -11
  18. app-ng-runtime/components/base/esm2022/pipes/wm-pipe.mjs +3 -2
  19. app-ng-runtime/components/base/esm2022/utils/data-utils.mjs +30 -29
  20. app-ng-runtime/components/base/esm2022/utils/form-utils.mjs +47 -41
  21. app-ng-runtime/components/base/esm2022/utils/live-utils.mjs +8 -7
  22. app-ng-runtime/components/base/esm2022/utils/widget-utils.mjs +28 -27
  23. app-ng-runtime/components/base/esm2022/widgets/common/base/base-container.component.mjs +4 -3
  24. app-ng-runtime/components/base/esm2022/widgets/common/base/base-field-validations.mjs +24 -21
  25. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +12 -11
  26. app-ng-runtime/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +40 -14
  27. app-ng-runtime/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +3 -2
  28. app-ng-runtime/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +3 -2
  29. app-ng-runtime/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +1 -1
  30. app-ng-runtime/components/base/esm2022/widgets/common/partial/partial.directive.mjs +3 -2
  31. app-ng-runtime/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +3 -2
  32. app-ng-runtime/components/base/esm2022/widgets/common/smooth-scroll/smooth-scroll.directive.mjs +6 -5
  33. app-ng-runtime/components/base/esm2022/widgets/framework/deviceview.mjs +1 -1
  34. app-ng-runtime/components/base/esm2022/widgets/framework/property-change-handler.mjs +3 -2
  35. app-ng-runtime/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +4 -3
  36. app-ng-runtime/components/base/fesm2022/index.mjs +206 -173
  37. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  38. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
  39. app-ng-runtime/components/base/utils/data-utils.d.ts +0 -1
  40. app-ng-runtime/components/base/utils/widget-utils.d.ts +2 -2
  41. app-ng-runtime/components/base/widgets/common/base/base-field-validations.d.ts +1 -1
  42. app-ng-runtime/components/base/widgets/common/base/partial-container.directive.d.ts +1 -1
  43. app-ng-runtime/components/basic/default/bundles/index.umd.js +10 -10
  44. app-ng-runtime/components/basic/default/esm2022/label/label.directive.mjs +4 -3
  45. app-ng-runtime/components/basic/default/esm2022/spinner/spinner.component.mjs +6 -5
  46. app-ng-runtime/components/basic/default/fesm2022/index.mjs +7 -6
  47. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  48. app-ng-runtime/components/basic/progress/bundles/index.umd.js +13 -13
  49. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +5 -4
  50. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +6 -5
  51. app-ng-runtime/components/basic/progress/esm2022/utils.mjs +3 -3
  52. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +10 -9
  53. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  54. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +15 -10
  55. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +14 -8
  56. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +13 -7
  57. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  58. app-ng-runtime/components/basic/rich-text-editor/rich-text-editor.component.d.ts +2 -2
  59. app-ng-runtime/components/basic/search/bundles/index.umd.js +67 -65
  60. app-ng-runtime/components/basic/search/esm2022/data-provider/data-provider.mjs +1 -1
  61. app-ng-runtime/components/basic/search/esm2022/data-provider/local-data-provider.mjs +26 -23
  62. app-ng-runtime/components/basic/search/esm2022/data-provider/remote-data-provider.mjs +12 -11
  63. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +31 -30
  64. app-ng-runtime/components/basic/search/fesm2022/index.mjs +66 -63
  65. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  66. app-ng-runtime/components/basic/tree/bundles/index.umd.js +9 -9
  67. app-ng-runtime/components/basic/tree/esm2022/tree.component.mjs +7 -6
  68. app-ng-runtime/components/basic/tree/fesm2022/index.mjs +6 -5
  69. app-ng-runtime/components/basic/tree/fesm2022/index.mjs.map +1 -1
  70. app-ng-runtime/components/chart/bundles/index.umd.js +72 -63
  71. app-ng-runtime/components/chart/chart.component.d.ts +1 -1
  72. app-ng-runtime/components/chart/chart.utils.d.ts +3 -3
  73. app-ng-runtime/components/chart/esm2022/chart.component.mjs +58 -48
  74. app-ng-runtime/components/chart/esm2022/chart.utils.mjs +14 -13
  75. app-ng-runtime/components/chart/fesm2022/index.mjs +69 -59
  76. app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
  77. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +16 -16
  78. app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +14 -13
  79. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +13 -12
  80. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  81. app-ng-runtime/components/containers/panel/bundles/index.umd.js +5 -5
  82. app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +3 -2
  83. app-ng-runtime/components/containers/panel/fesm2022/index.mjs +2 -1
  84. app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
  85. app-ng-runtime/components/containers/panel/panel.component.d.ts +1 -1
  86. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +17 -17
  87. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +15 -14
  88. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +14 -13
  89. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  90. app-ng-runtime/components/data/form/bundles/index.umd.js +75 -75
  91. app-ng-runtime/components/data/form/esm2022/form-action/form-action.directive.mjs +3 -2
  92. app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +10 -9
  93. app-ng-runtime/components/data/form/esm2022/form.component.mjs +54 -53
  94. app-ng-runtime/components/data/form/esm2022/live-filter/live-filter.directive.mjs +3 -2
  95. app-ng-runtime/components/data/form/esm2022/live-form/live-form.directive.mjs +11 -10
  96. app-ng-runtime/components/data/form/fesm2022/index.mjs +77 -76
  97. app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
  98. app-ng-runtime/components/data/form/form.component.d.ts +2 -2
  99. app-ng-runtime/components/data/form/live-form/live-form.directive.d.ts +1 -1
  100. app-ng-runtime/components/data/list/bundles/index.umd.js +692 -687
  101. app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +1 -1
  102. app-ng-runtime/components/data/list/esm2022/list.animator.mjs +5 -3
  103. app-ng-runtime/components/data/list/esm2022/list.component.mjs +687 -682
  104. app-ng-runtime/components/data/list/fesm2022/index.mjs +690 -684
  105. app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
  106. app-ng-runtime/components/data/list/list.component.d.ts +53 -53
  107. app-ng-runtime/components/data/live-table/bundles/index.umd.js +1 -1
  108. app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +2 -2
  109. app-ng-runtime/components/data/live-table/fesm2022/index.mjs +1 -1
  110. app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
  111. app-ng-runtime/components/data/pagination/bundles/index.umd.js +14 -14
  112. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +12 -11
  113. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +11 -10
  114. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  115. app-ng-runtime/components/data/table/bundles/index.umd.js +175 -172
  116. app-ng-runtime/components/data/table/esm2022/table-action/table-action.directive.mjs +3 -2
  117. app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +19 -18
  118. app-ng-runtime/components/data/table/esm2022/table-cud.directive.mjs +7 -6
  119. app-ng-runtime/components/data/table/esm2022/table-filter.directive.mjs +53 -55
  120. app-ng-runtime/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +3 -2
  121. app-ng-runtime/components/data/table/esm2022/table.component.mjs +98 -91
  122. app-ng-runtime/components/data/table/fesm2022/index.mjs +172 -168
  123. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  124. app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +6 -6
  125. app-ng-runtime/components/data/table/table.component.d.ts +2 -2
  126. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +2 -2
  127. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +3 -3
  128. app-ng-runtime/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +1 -1
  129. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +1 -1
  130. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  131. app-ng-runtime/components/input/calendar/bundles/index.umd.js +33 -31
  132. app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +31 -28
  133. app-ng-runtime/components/input/calendar/fesm2022/index.mjs +30 -27
  134. app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
  135. app-ng-runtime/components/input/chips/bundles/index.umd.js +29 -28
  136. app-ng-runtime/components/input/chips/chips.component.d.ts +1 -1
  137. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +27 -25
  138. app-ng-runtime/components/input/chips/fesm2022/index.mjs +26 -24
  139. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  140. app-ng-runtime/components/input/default/base-form.component.d.ts +3 -3
  141. app-ng-runtime/components/input/default/bundles/index.umd.js +75 -62
  142. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
  143. app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +4 -4
  144. app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +14 -8
  145. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +3 -2
  146. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +2 -2
  147. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +6 -4
  148. app-ng-runtime/components/input/default/esm2022/dataset-aware-form.component.mjs +29 -23
  149. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +4 -3
  150. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +4 -3
  151. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +6 -5
  152. app-ng-runtime/components/input/default/esm2022/text/base/base-input.mjs +4 -3
  153. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +20 -18
  154. app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +2 -2
  155. app-ng-runtime/components/input/default/fesm2022/index.mjs +75 -62
  156. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  157. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -1
  158. app-ng-runtime/components/input/epoch/bundles/index.umd.js +53 -51
  159. app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +34 -31
  160. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +5 -4
  161. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +5 -4
  162. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +7 -6
  163. app-ng-runtime/components/input/epoch/esm2022/picker/picker.component.mjs +1 -1
  164. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +6 -5
  165. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +48 -45
  166. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  167. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +15 -15
  168. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +13 -12
  169. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +12 -11
  170. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  171. app-ng-runtime/components/input/rating/bundles/index.umd.js +12 -12
  172. app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +10 -9
  173. app-ng-runtime/components/input/rating/fesm2022/index.mjs +9 -8
  174. app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
  175. app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +1 -1
  176. app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +2 -2
  177. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +1 -1
  178. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  179. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +23 -22
  180. app-ng-runtime/components/navigation/menu/esm2022/menu-adapator.component.mjs +3 -2
  181. app-ng-runtime/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +6 -5
  182. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +8 -7
  183. app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +10 -8
  184. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +20 -18
  185. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  186. app-ng-runtime/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +12 -1
  187. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +1 -1
  188. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  189. app-ng-runtime/components/prefab/bundles/index.umd.js +6 -6
  190. app-ng-runtime/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +3 -2
  191. app-ng-runtime/components/prefab/esm2022/prefab.directive.mjs +3 -2
  192. app-ng-runtime/components/prefab/fesm2022/index.mjs +3 -2
  193. app-ng-runtime/components/prefab/fesm2022/index.mjs.map +1 -1
  194. app-ng-runtime/core/bundles/index.umd.js +119 -130
  195. app-ng-runtime/core/esm2022/public_api.mjs +2 -2
  196. app-ng-runtime/core/esm2022/services/field-type.service.mjs +3 -2
  197. app-ng-runtime/core/esm2022/services/field-widget.service.mjs +3 -2
  198. app-ng-runtime/core/esm2022/services/pagination.service.mjs +7 -6
  199. app-ng-runtime/core/esm2022/services/state-persistence.service.mjs +17 -16
  200. app-ng-runtime/core/esm2022/services/utils.service.mjs +3 -2
  201. app-ng-runtime/core/esm2022/services/viewport.service.mjs +3 -2
  202. app-ng-runtime/core/esm2022/utils/build-utils.mjs +5 -4
  203. app-ng-runtime/core/esm2022/utils/expression-parser.mjs +5 -4
  204. app-ng-runtime/core/esm2022/utils/lru-cache.mjs +3 -2
  205. app-ng-runtime/core/esm2022/utils/utils.mjs +79 -82
  206. app-ng-runtime/core/esm2022/utils/watcher.mjs +9 -7
  207. app-ng-runtime/core/fesm2022/index.mjs +117 -123
  208. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  209. app-ng-runtime/core/public_api.d.ts +1 -1
  210. app-ng-runtime/core/services/pagination.service.d.ts +1 -1
  211. app-ng-runtime/core/utils/utils.d.ts +5 -9
  212. app-ng-runtime/http/bundles/index.umd.js +7 -7
  213. app-ng-runtime/http/esm2022/http.service.mjs +5 -4
  214. app-ng-runtime/http/esm2022/wm-http-request.mjs +1 -1
  215. app-ng-runtime/http/esm2022/wm-http-response.mjs +1 -1
  216. app-ng-runtime/http/fesm2022/index.mjs +4 -3
  217. app-ng-runtime/http/fesm2022/index.mjs.map +1 -1
  218. app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +24 -20
  219. app-ng-runtime/mobile/components/basic/default/esm2022/anchor/anchor.directive.mjs +5 -4
  220. app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +12 -8
  221. app-ng-runtime/mobile/components/basic/default/esm2022/file-browser/file-selector.service.mjs +5 -3
  222. app-ng-runtime/mobile/components/basic/default/esm2022/image-cache/image-cache.directive.mjs +3 -2
  223. app-ng-runtime/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +5 -4
  224. app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs +21 -16
  225. app-ng-runtime/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
  226. app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +7 -7
  227. app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +2 -2
  228. app-ng-runtime/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +4 -3
  229. app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs +4 -3
  230. app-ng-runtime/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
  231. app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +8 -8
  232. app-ng-runtime/mobile/components/data/media-list/esm2022/media-list.component.mjs +4 -3
  233. app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs +3 -2
  234. app-ng-runtime/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
  235. app-ng-runtime/mobile/components/page/default/bundles/index.umd.js +5 -5
  236. app-ng-runtime/mobile/components/page/default/esm2022/page.directive.mjs +3 -2
  237. app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs +2 -1
  238. app-ng-runtime/mobile/components/page/default/fesm2022/index.mjs.map +1 -1
  239. app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +9 -9
  240. app-ng-runtime/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +7 -6
  241. app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs +6 -5
  242. app-ng-runtime/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
  243. app-ng-runtime/mobile/core/bundles/index.umd.js +25 -25
  244. app-ng-runtime/mobile/core/esm2022/services/device-file-download.service.mjs +5 -4
  245. app-ng-runtime/mobile/core/esm2022/services/device-file-opener.service.mjs +3 -2
  246. app-ng-runtime/mobile/core/esm2022/services/device-file-upload.service.mjs +4 -3
  247. app-ng-runtime/mobile/core/esm2022/services/device-file.service.mjs +6 -5
  248. app-ng-runtime/mobile/core/esm2022/services/device.service.mjs +3 -2
  249. app-ng-runtime/mobile/core/esm2022/services/ext-app-message.service.mjs +5 -4
  250. app-ng-runtime/mobile/core/esm2022/services/network.service.mjs +9 -8
  251. app-ng-runtime/mobile/core/fesm2022/index.mjs +22 -21
  252. app-ng-runtime/mobile/core/fesm2022/index.mjs.map +1 -1
  253. app-ng-runtime/mobile/core/services/ext-app-message.service.d.ts +1 -1
  254. app-ng-runtime/mobile/core/services/network.service.d.ts +7 -1
  255. app-ng-runtime/mobile/offline/bundles/index.umd.js +161 -144
  256. app-ng-runtime/mobile/offline/esm2022/models/local-db-store.mjs +23 -21
  257. app-ng-runtime/mobile/offline/esm2022/services/change-log.service.mjs +7 -6
  258. app-ng-runtime/mobile/offline/esm2022/services/local-db-data-pull.service.mjs +37 -35
  259. app-ng-runtime/mobile/offline/esm2022/services/local-db-management.service.mjs +54 -45
  260. app-ng-runtime/mobile/offline/esm2022/services/local-db.service.mjs +5 -4
  261. app-ng-runtime/mobile/offline/esm2022/services/workers/error-blocker.mjs +4 -3
  262. app-ng-runtime/mobile/offline/esm2022/services/workers/file-handler.mjs +18 -13
  263. app-ng-runtime/mobile/offline/esm2022/services/workers/multi-part-param-transformer.mjs +9 -5
  264. app-ng-runtime/mobile/offline/esm2022/utils/live-variable.utils.mjs +12 -11
  265. app-ng-runtime/mobile/offline/esm2022/utils/query-executor.utils.mjs +5 -4
  266. app-ng-runtime/mobile/offline/esm2022/utils/security.utils.mjs +3 -2
  267. app-ng-runtime/mobile/offline/fesm2022/index.mjs +156 -138
  268. app-ng-runtime/mobile/offline/fesm2022/index.mjs.map +1 -1
  269. app-ng-runtime/mobile/runtime/bundles/index.umd.js +11 -8
  270. app-ng-runtime/mobile/runtime/esm2022/mobile-runtime.module.mjs +3 -2
  271. app-ng-runtime/mobile/runtime/esm2022/services/cookie.service.mjs +6 -2
  272. app-ng-runtime/mobile/runtime/esm2022/services/http-interceptor.service.mjs +4 -3
  273. app-ng-runtime/mobile/runtime/fesm2022/index.mjs +8 -4
  274. app-ng-runtime/mobile/runtime/fesm2022/index.mjs.map +1 -1
  275. app-ng-runtime/mobile/runtime-dynamic/bundles/index.umd.js +2 -2
  276. app-ng-runtime/mobile/runtime-dynamic/esm2022/services/live-sync.service.mjs +3 -3
  277. app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs +2 -2
  278. app-ng-runtime/mobile/runtime-dynamic/fesm2022/index.mjs.map +1 -1
  279. app-ng-runtime/mobile/variables/bundles/index.umd.js +23 -16
  280. app-ng-runtime/mobile/variables/esm2022/services/camera-service.mjs +2 -2
  281. app-ng-runtime/mobile/variables/esm2022/services/datasync-service.mjs +10 -9
  282. app-ng-runtime/mobile/variables/esm2022/services/file-service.mjs +11 -3
  283. app-ng-runtime/mobile/variables/fesm2022/index.mjs +19 -11
  284. app-ng-runtime/mobile/variables/fesm2022/index.mjs.map +1 -1
  285. app-ng-runtime/oAuth/bundles/index.umd.js +12 -12
  286. app-ng-runtime/oAuth/esm2022/oAuth.service.mjs +4 -3
  287. app-ng-runtime/oAuth/esm2022/oAuth.utils.mjs +8 -7
  288. app-ng-runtime/oAuth/fesm2022/index.mjs +9 -8
  289. app-ng-runtime/oAuth/fesm2022/index.mjs.map +1 -1
  290. app-ng-runtime/package.json +1 -1
  291. app-ng-runtime/runtime/base/bundles/index.umd.js +121 -120
  292. app-ng-runtime/runtime/base/esm2022/components/base-layout.component.mjs +4 -3
  293. app-ng-runtime/runtime/base/esm2022/components/base-page.component.mjs +14 -13
  294. app-ng-runtime/runtime/base/esm2022/components/base-partial.component.mjs +13 -12
  295. app-ng-runtime/runtime/base/esm2022/components/base-prefab.component.mjs +15 -14
  296. app-ng-runtime/runtime/base/esm2022/components/base-spa-page.component.mjs +14 -13
  297. app-ng-runtime/runtime/base/esm2022/components/custom-toaster.component.mjs +6 -5
  298. app-ng-runtime/runtime/base/esm2022/directives/accessroles.directive.mjs +11 -10
  299. app-ng-runtime/runtime/base/esm2022/guards/page-not-found.guard.mjs +1 -1
  300. app-ng-runtime/runtime/base/esm2022/guards/role.guard.mjs +3 -2
  301. app-ng-runtime/runtime/base/esm2022/services/app-defaults.service.mjs +1 -1
  302. app-ng-runtime/runtime/base/esm2022/services/app.manager.service.mjs +17 -14
  303. app-ng-runtime/runtime/base/esm2022/services/app.service.mjs +7 -6
  304. app-ng-runtime/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +3 -2
  305. app-ng-runtime/runtime/base/esm2022/services/http-interceptor.services.mjs +4 -3
  306. app-ng-runtime/runtime/base/esm2022/services/i18n.service.mjs +12 -10
  307. app-ng-runtime/runtime/base/esm2022/services/navigation.service.mjs +8 -7
  308. app-ng-runtime/runtime/base/esm2022/services/prefab-manager.service.mjs +3 -2
  309. app-ng-runtime/runtime/base/esm2022/services/spinner.service.mjs +7 -6
  310. app-ng-runtime/runtime/base/esm2022/services/toaster.service.mjs +6 -5
  311. app-ng-runtime/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +6 -7
  312. app-ng-runtime/runtime/base/fesm2022/index.mjs +119 -117
  313. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  314. app-ng-runtime/runtime/base/services/i18n.service.d.ts +1 -1
  315. app-ng-runtime/runtime/dynamic/bundles/index.umd.js +7 -7
  316. app-ng-runtime/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +4 -3
  317. app-ng-runtime/runtime/dynamic/esm2022/main.mjs +3 -2
  318. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +4 -3
  319. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  320. app-ng-runtime/scripts/jquery-ui/ui/widgets/droppable.js +7 -7
  321. app-ng-runtime/scripts/jquery-ui/ui/widgets/resizable.js +13 -10
  322. app-ng-runtime/scripts/jquery-ui/ui/widgets/sortable.js +7 -7
  323. app-ng-runtime/security/bundles/index.umd.js +14 -14
  324. app-ng-runtime/security/esm2022/security.service.mjs +12 -11
  325. app-ng-runtime/security/fesm2022/index.mjs +11 -10
  326. app-ng-runtime/security/fesm2022/index.mjs.map +1 -1
  327. app-ng-runtime/security/security.service.d.ts +1 -1
  328. app-ng-runtime/swipey/esm2022/swipe.animation.mjs +1 -1
  329. app-ng-runtime/swipey/fesm2022/index.mjs.map +1 -1
  330. app-ng-runtime/transpiler/bundles/index.umd.js +10 -9
  331. app-ng-runtime/transpiler/esm2022/build.mjs +8 -6
  332. app-ng-runtime/transpiler/fesm2022/index.mjs +7 -5
  333. app-ng-runtime/transpiler/fesm2022/index.mjs.map +1 -1
  334. app-ng-runtime/variables/bundles/index.umd.js +155 -145
  335. app-ng-runtime/variables/esm2022/manager/action/login-action.manager.mjs +15 -14
  336. app-ng-runtime/variables/esm2022/manager/action/notification-action.manager.mjs +9 -8
  337. app-ng-runtime/variables/esm2022/manager/variable/base-variable.manager.mjs +3 -2
  338. app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +11 -10
  339. app-ng-runtime/variables/esm2022/service/variables.service.mjs +7 -6
  340. app-ng-runtime/variables/esm2022/util/action/navigation-action.utils.mjs +4 -4
  341. app-ng-runtime/variables/esm2022/util/variable/pagination.utils.mjs +30 -23
  342. app-ng-runtime/variables/esm2022/util/variable/service-variable.utils.mjs +29 -28
  343. app-ng-runtime/variables/esm2022/util/variable/variables.utils.mjs +75 -70
  344. app-ng-runtime/variables/fesm2022/index.mjs +169 -158
  345. app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
  346. app-ng-runtime/variables/util/variable/service-variable.utils.d.ts +1 -1
@@ -13,23 +13,7 @@ export declare class ListComponent extends StylableComponent implements OnInit,
13
13
  btnComponents: any;
14
14
  dataNavigator: any;
15
15
  listItems: QueryList<ListItemDirective>;
16
- private itemsPerRowClass;
17
- private firstSelectedItem;
18
- private navigatorMaxResultWatch;
19
- private navigatorResultWatch;
20
- private navControls;
21
- private onDemandLoad;
22
- private _items;
23
- private dataNavigatorWatched;
24
- private datasource;
25
- private showNavigation;
26
16
  noDataFound: boolean;
27
- private reorderProps;
28
- private app;
29
- private appDefaults;
30
- private ngZone;
31
- private statePersistence;
32
- private paginationService;
33
17
  lastSelectedItem: ListItemDirective;
34
18
  fieldDefs: Array<any>;
35
19
  disableitem: any;
@@ -63,9 +47,34 @@ export declare class ListComponent extends StylableComponent implements OnInit,
63
47
  binditemclass: string;
64
48
  binddisableitem: string;
65
49
  binddataset: string;
66
- private binddatasource;
67
50
  mouseEnterCB: string;
68
51
  mouseLeaveCB: string;
52
+ pulltorefresh: boolean;
53
+ title: string;
54
+ subheading: string;
55
+ iconclass: string;
56
+ listclass: any;
57
+ statehandler: any;
58
+ currentIndex: number;
59
+ titleId: string;
60
+ _isDependent: any;
61
+ private itemsPerRowClass;
62
+ private firstSelectedItem;
63
+ private navigatorMaxResultWatch;
64
+ private navigatorResultWatch;
65
+ private navControls;
66
+ private onDemandLoad;
67
+ private _items;
68
+ private dataNavigatorWatched;
69
+ private datasource;
70
+ private showNavigation;
71
+ private reorderProps;
72
+ private app;
73
+ private appDefaults;
74
+ private ngZone;
75
+ private statePersistence;
76
+ private paginationService;
77
+ private binddatasource;
69
78
  private match;
70
79
  private dateformat;
71
80
  private groupedData;
@@ -74,25 +83,18 @@ export declare class ListComponent extends StylableComponent implements OnInit,
74
83
  private propsInitPromise;
75
84
  private $ulEle;
76
85
  private _listAnimator;
77
- pulltorefresh: boolean;
78
86
  private _listenerDestroyers;
79
87
  private debouncedFetchNextDatasetOnScroll;
80
- title: string;
81
- subheading: string;
82
- iconclass: string;
83
- listclass: any;
84
88
  private isDataChanged;
85
- statehandler: any;
86
89
  private isListElementMovable;
87
- currentIndex: number;
88
90
  private ariaText;
89
- titleId: string;
90
- _isDependent: any;
91
91
  private _pageLoad;
92
92
  private _selectedItemsExist;
93
93
  private touching;
94
94
  private touched;
95
+ constructor(inj: Injector, cdRef: ChangeDetectorRef, datePipe: ToDatePipe, app: App, appDefaults: AppDefaults, ngZone: NgZone, binditemclass: string, binddisableitem: string, binddataset: string, binddatasource: string, mouseEnterCB: string, mouseLeaveCB: string, statePersistence: StatePersistence, paginationService: PaginationService, explicitContext: any);
95
96
  get selecteditem(): any;
97
+ set selecteditem(items: any);
96
98
  /**
97
99
  * Returns list of widgets present on list item by considering name and index of the widget.
98
100
  * If we did'nt pass index, it returns array of all the widgets which are matching to widget name
@@ -105,19 +107,38 @@ export declare class ListComponent extends StylableComponent implements OnInit,
105
107
  * Returns index of listItem(listItemDirective / listItemObject)
106
108
  * If item is a directive, index is fetched from listItems
107
109
  * If item is an object, index is fetched from fieldDefs
108
- */
110
+ */
109
111
  getIndex(item: any): number;
110
- set selecteditem(items: any);
111
- constructor(inj: Injector, cdRef: ChangeDetectorRef, datePipe: ToDatePipe, app: App, appDefaults: AppDefaults, ngZone: NgZone, binditemclass: string, binddisableitem: string, binddataset: string, binddatasource: string, mouseEnterCB: string, mouseLeaveCB: string, statePersistence: StatePersistence, paginationService: PaginationService, explicitContext: any);
112
- private getConfiguredState;
113
- private handleStateParams;
114
- private triggerWMEvent;
115
112
  create(): void;
116
113
  editRow(item?: any): void;
117
114
  update(item?: any): void;
118
115
  deleteRow(item?: any): void;
119
116
  delete(item?: any): void;
120
117
  handleLoading(data: any): void;
118
+ triggerListItemSelection($el: JQuery<HTMLElement>, $event: Event): void;
119
+ execute(operation: any, options: any): any;
120
+ handleKeyDown($event: any, action: string): void;
121
+ onPropertyChange(key: string, nv: any, ov?: any): void;
122
+ onItemClick(evt: any, $listItem: ListItemDirective): void;
123
+ clear(): void;
124
+ /**
125
+ * deselects item in the list.
126
+ * @param val: index | model of the list item.
127
+ */
128
+ deselectItem(val: any): void;
129
+ /**
130
+ * selects item in the list.
131
+ * @param val: index | model of the list item.
132
+ */
133
+ selectItem(val: any, statePersistenceTriggered?: any): void;
134
+ ngOnInit(): void;
135
+ ngAfterViewInit(): void;
136
+ ngOnDestroy(): void;
137
+ ngOnDetach(): void;
138
+ protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any): void;
139
+ private getConfiguredState;
140
+ private handleStateParams;
141
+ private triggerWMEvent;
121
142
  private resetNavigation;
122
143
  private enableBasicNavigation;
123
144
  private enableInlineNavigation;
@@ -160,7 +181,6 @@ export declare class ListComponent extends StylableComponent implements OnInit,
160
181
  * @param {QueryList<ListItemDirective>} listItems
161
182
  */
162
183
  private onListRender;
163
- triggerListItemSelection($el: JQuery<HTMLElement>, $event: Event): void;
164
184
  private setupHandlers;
165
185
  private onReorderStart;
166
186
  private onSort;
@@ -174,35 +194,15 @@ export declare class ListComponent extends StylableComponent implements OnInit,
174
194
  * @returns {number}
175
195
  */
176
196
  private getListItemIndex;
177
- execute(operation: any, options: any): any;
178
- handleKeyDown($event: any, action: string): void;
179
- onPropertyChange(key: string, nv: any, ov?: any): void;
180
- onItemClick(evt: any, $listItem: ListItemDirective): void;
181
- clear(): void;
182
197
  /**
183
198
  * Returns ListItem Reference based on the input provided.
184
199
  * @param val: index | model of the list item.
185
200
  * @returns {ListItemDirective}
186
201
  */
187
202
  private getItemRefByIndexOrModel;
188
- /**
189
- * deselects item in the list.
190
- * @param val: index | model of the list item.
191
- */
192
- deselectItem(val: any): void;
193
- /**
194
- * selects item in the list.
195
- * @param val: index | model of the list item.
196
- */
197
- selectItem(val: any, statePersistenceTriggered?: any): void;
198
203
  private beforePaginationChange;
199
- protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any): void;
200
204
  private subscribeToPullToRefresh;
201
- ngOnInit(): void;
202
205
  private setUpCUDHandlers;
203
- ngAfterViewInit(): void;
204
- ngOnDestroy(): void;
205
- ngOnDetach(): void;
206
206
  static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, [null, null, null, null, null, null, { attribute: "itemclass.bind"; }, { attribute: "disableitem.bind"; }, { attribute: "dataset.bind"; }, { attribute: "datasource.bind"; }, { attribute: "mouseenter.event"; }, { attribute: "mouseleave.event"; }, null, null, { optional: true; }]>;
207
207
  static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "div[wmList]", never, {}, {}, ["listTemplate", "listLeftActionTemplate", "listRightActionTemplate", "btnComponents"], never, false, never>;
208
208
  }
@@ -255,7 +255,7 @@
255
255
  type: i0.ContentChild,
256
256
  args: [table.TableComponent]
257
257
  }] }); })();
258
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(LiveTableComponent, { className: "LiveTableComponent", filePath: "live-table.component.ts", lineNumber: 41 }); })();
258
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(LiveTableComponent, { className: "LiveTableComponent", filePath: "live-table.component.ts", lineNumber: 40 }); })();
259
259
 
260
260
  const components = [
261
261
  LiveTableComponent
@@ -228,5 +228,5 @@ export class LiveTableComponent extends StylableComponent {
228
228
  type: ContentChild,
229
229
  args: [TableComponent]
230
230
  }] }); })();
231
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LiveTableComponent, { className: "LiveTableComponent", filePath: "live-table.component.ts", lineNumber: 41 }); })();
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvZGF0YS9saXZlLXRhYmxlL3NyYy9saXZlLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2xpdmUtdGFibGUvc3JjL2xpdmUtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixRQUFRLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFDSCxVQUFVLEVBQ1YscUJBQXFCLEVBQ3JCLEdBQUcsRUFDSCxlQUFlLEVBQ2YsU0FBUyxFQUNULFNBQVMsRUFDWixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFLbkQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDO0FBQ25DLE1BQU0sYUFBYSxHQUFHLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLENBQUM7QUFTM0UsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjthQUM5QyxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQWN6QyxZQUNJLEdBQWEsRUFDYixLQUFpQixFQUNqQixHQUFzQixF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U0FBUyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCwyREFBMkQ7SUFDM0QsV0FBVyxDQUFDLElBQUk7UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7bUZBM05RLGtCQUFrQix5TkFxQlosWUFBWSx3QkFDWixVQUFVLHdCQUNiLGtCQUFrQjtvRUF2QnJCLGtCQUFrQjt3Q0FFYixjQUFjOzs7OzhDQU5qQjtnQkFDUCxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQzthQUN6Qzs7WUN0Q0wsa0JBQXlCOzs7aUZEd0NaLGtCQUFrQjtjQVA5QixTQUFTOzJCQUNJLGVBQWUsYUFFZDtvQkFDUCxrQkFBa0Isb0JBQW9CO2lCQUN6Qzs7c0JBdUJJLFNBQVM7dUJBQUMsWUFBWTs7c0JBQ3RCLFNBQVM7dUJBQUMsVUFBVTs7c0JBQ3BCLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQXJCWCxLQUFLO2tCQUFsQyxZQUFZO21CQUFDLGNBQWM7O2tGQUZuQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICAkYXBwRGlnZXN0LFxuICAgIEFic3RyYWN0RGlhbG9nU2VydmljZSxcbiAgICBBcHAsXG4gICAgZ2V0Q2xvbmVkT2JqZWN0LFxuICAgIGlzRGVmaW5lZCxcbiAgICB0cmlnZ2VyRm5cbn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUFzV2lkZ2V0UmVmLCBTdHlsYWJsZUNvbXBvbmVudCwgc3R5bGVyIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RhdGEvdGFibGUnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9saXZlLXRhYmxlLnByb3BzJztcblxuZGVjbGFyZSBjb25zdCBfO1xuZGVjbGFyZSB2YXIgJDogYW55O1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtbGl2ZWdyaWQnO1xuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tbGl2ZXRhYmxlJywgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW3dtTGl2ZVRhYmxlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpdmUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoTGl2ZVRhYmxlQ29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTGl2ZVRhYmxlQ29tcG9uZW50IGV4dGVuZHMgU3R5bGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuICAgIEBDb250ZW50Q2hpbGQoVGFibGVDb21wb25lbnQpIHRhYmxlOiBUYWJsZUNvbXBvbmVudDtcblxuICAgIGZvcm07XG4gICAgaXNMYXlvdXREaWFsb2c6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGRpYWxvZ0lkO1xuICAgIHByaXZhdGUgJHF1ZXVlID0gW107XG5cbiAgICBwcml2YXRlIHRhYmxlT3B0aW9uczogYW55ID0ge1xuICAgICAgICAnbXVsdGlzZWxlY3QnOiBmYWxzZSxcbiAgICAgICAgJ3NldEdyaWRFZGl0TW9kZSc6ICcnXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmo6IEluamVjdG9yLFxuICAgICAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwOiBBcHAsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ2Zvcm1sYXlvdXQnKSBsYXlvdXRUeXBlOiBzdHJpbmcsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ2RpYWxvZ2lkJykgZGlhbG9nSWQ6IHN0cmluZyxcbiAgICAgICAgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcyk7XG4gICAgICAgIGlmIChsYXlvdXRUeXBlID09PSAnZGlhbG9nJykge1xuICAgICAgICAgICAgdGhpcy5pc0xheW91dERpYWxvZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0lkID0gZGlhbG9nSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xuICAgICAgICBpZiAodGhpcy50YWJsZSkge1xuICAgICAgICAgICAgdGhpcy50YWJsZS5fbGl2ZVRhYmxlUGFyZW50ID0gdGhpcztcbiAgICAgICAgICAgIHRoaXMudGFibGUuZGF0YWdyaWRFbGVtZW50LmRhdGF0YWJsZSgnb3B0aW9uJywgdGhpcy50YWJsZU9wdGlvbnMpO1xuXG4gICAgICAgICAgICB0aGlzLnRhYmxlLnNlbGVjdGVkSXRlbUNoYW5nZSRcbiAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMjUwKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMub25TZWxlY3RlZEl0ZW1DaGFuZ2UuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc0xheW91dERpYWxvZyAmJiAhdGhpcy5mb3JtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZS5kYXRhZ3JpZEVsZW1lbnQuZGF0YXRhYmxlKCdvcHRpb24nLCB7XG4gICAgICAgICAgICAgICAgICAgICdiZWZvcmVSb3dVcGRhdGUnIDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3JNZXNzYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICdiZWZvcmVSb3dEZWxldGUnIDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3JNZXNzYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICdiZWZvcmVSb3dJbnNlcnQnIDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3JNZXNzYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5EaWFsb2coKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKHRoaXMuZGlhbG9nSWQsIHRoaXMudmlld1BhcmVudCk7XG4gICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICB9XG5cbiAgICBjbG9zZURpYWxvZygpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNsb3NlKHRoaXMuZGlhbG9nSWQsIHRoaXMudmlld1BhcmVudCk7XG4gICAgfVxuXG4gICAgZm9jdXNGaXJzdElucHV0KCkge1xuICAgICAgIGNvbnN0ICRmaXJzdElucHV0ID0gJCh0aGlzLmZvcm0uJGVsZW1lbnQpLmZpbmQoJ1tyb2xlPVwidGV4dGJveFwiXScpLmZpcnN0KCk7XG4gICAgICAgICRmaXJzdElucHV0LmZvY3VzKCk7XG4gICAgICAgICRmaXJzdElucHV0LnNlbGVjdCgpO1xuICAgIH1cblxuICAgIG9uRGlhbG9nT3BlbigpIHtcbiAgICAgICAgdGhpcy5mb2N1c0ZpcnN0SW5wdXQoKTtcbiAgICB9XG5cbiAgICBzZXRGb3JtRGF0YSh2YWwpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm0uaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5nZXRXaWRnZXQoKS5mb3JtZGF0YSA9IHZhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2FkZE5ld1JvdygpIHtcbiAgICAgICAgdGhpcy5mb3JtLmlzU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNldEZvcm1EYXRhKCcnKTtcblxuICAgICAgICB0aGlzLmZvcm0ubmV3KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNMYXlvdXREaWFsb2cpIHtcbiAgICAgICAgICAgIHRoaXMub25EaWFsb2dPcGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGROZXdSb3coKSB7XG4gICAgICAgIGlmICh0aGlzLmlzTGF5b3V0RGlhbG9nKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5EaWFsb2coKTtcbiAgICAgICAgICAgIHRoaXMuJHF1ZXVlLnB1c2godGhpcy5fYWRkTmV3Um93LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICB0aGlzLl9hZGROZXdSb3coKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91cGRhdGVSb3cocm93LCBldmVudE5hbWUpIHtcbiAgICAgICAgdGhpcy5zZXRGb3JtRGF0YShyb3cpO1xuICAgICAgICB0aGlzLmZvcm0uaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9ybS5lZGl0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNMYXlvdXREaWFsb2cpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5pc1VwZGF0ZU1vZGUgPSAoZXZlbnROYW1lID09PSAnZGJsY2xpY2snKSA/IHRoaXMuZm9ybS51cGRhdGVNb2RlIDogdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMub25EaWFsb2dPcGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVSb3cocm93LCBldmVudE5hbWUpIHtcblxuICAgICAgICBpZiAodGhpcy5pc0xheW91dERpYWxvZykge1xuICAgICAgICAgICAgdGhpcy5vcGVuRGlhbG9nKCk7XG4gICAgICAgICAgICB0aGlzLiRxdWV1ZS5wdXNoKHRoaXMuX3VwZGF0ZVJvdy5iaW5kKHRoaXMsIHJvdywgZXZlbnROYW1lKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl91cGRhdGVSb3cocm93LCBldmVudE5hbWUpO1xuICAgIH1cblxuICAgIG9uU2VsZWN0ZWRJdGVtQ2hhbmdlKG5ld1ZhbHVlKSB7XG4gICAgICAgIGxldCByb3dEYXRhO1xuICAgICAgICBpZiAoIXRoaXMuZm9ybSB8fCAhdGhpcy50YWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5ld1ZhbHVlICYmIG5ld1ZhbHVlLmxlbmd0aCA+IDAgJiYgIXRoaXMuZm9ybS5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvKlVwZGF0ZSB0aGUgcm93ZGF0YSBvZiBvbmx5IHRoYXQgZ3JpZCBmb3JtIHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpYyBncmlkIG9uIHdoaWNoIHJvdyBzZWxlY3Rpb24gaXMgYmVpbmcgcGVyZm9ybWVkLi4uXG4gICAgICAgICAqIFNpbmNlIGJvdGggdGhlIGdyaWQgJiBncmlkZm9ybSBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzYW1lIFwicGFyZW50Z3JpZFwiLCBtYXRjaCB0aGUgc2FtZSovXG4gICAgICAgIGlmIChuZXdWYWx1ZSAmJiBuZXdWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50YWJsZS5tdWx0aXNlbGVjdCkge1xuICAgICAgICAgICAgICAgIHJvd0RhdGEgPSBuZXdWYWx1ZVswXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcm93RGF0YSA9IG5ld1ZhbHVlW25ld1ZhbHVlLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNldEZvcm1EYXRhKGdldENsb25lZE9iamVjdChyb3dEYXRhKSk7XG4gICAgICAgICAgICAvKklmIHRoZSBmb3JtIGlzIGFscmVhZHkgaW4gdXBkYXRlIG1vZGUsIGNhbGwgdGhlIGZvcm0gdXBkYXRlIGZ1bmN0aW9uKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm0uaXNVcGRhdGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLmVkaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5pc1NlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNldEZvcm1EYXRhKCcnKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jbGVhckRhdGEoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2FuY2VsKCkge1xuICAgICAgICB0aGlzLmZvcm0uaXNVcGRhdGVNb2RlID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmlzTGF5b3V0RGlhbG9nKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlc3VsdChvcGVyYXRpb24sIHJlc3BvbnNlLCBuZXdGb3JtLCB1cGRhdGVNb2RlKSB7XG4gICAgICAgIHRoaXMuZm9ybS5pc1VwZGF0ZU1vZGUgPSBpc0RlZmluZWQodXBkYXRlTW9kZSkgPyB1cGRhdGVNb2RlIDogbmV3Rm9ybSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgc3dpdGNoIChvcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ2luc2VydCc6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuZ3JpZE9wdGlvbnMuaXNOYXZUeXBlU2Nyb2xsT3JPbmRlbWFuZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuaXNOZXdSb3dJbnNlcnRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChuZXdGb3JtKSB7XG4gICAgICAgICAgICAgICAgICAgIC8qaWYgbmV3IGZvcm0gaXMgdG8gYmUgc2hvd24gYWZ0ZXIgaW5zZXJ0LCBza2lwIHRoZSBoaWdobGlnaHQgb2YgdGhlIHJvdyovXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuZ3JpZGZpcnN0cm93c2VsZWN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuaW5pdGlhdGVTZWxlY3RJdGVtKHRoaXMudGFibGUuZ2V0TmF2aWdhdGlvblRhcmdldEJ5U29ydEluZm8oKSwgcmVzcG9uc2UsIHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8qVGhlIG5ldyByb3cgd291bGQgYWx3YXlzIGJlIGluc2VydGVkIGF0IHRoZSBlbmQgb2YgYWxsIGV4aXN0aW5nIHJlY29yZHMuIEhlbmNlIG5hdmlnYXRlIHRvIHRoZSBsYXN0IHBhZ2UgYW5kIGhpZ2hsaWdodCB0aGUgaW5zZXJ0ZWQgcm93LiovXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuaW5pdGlhdGVTZWxlY3RJdGVtKHRoaXMudGFibGUuZ2V0TmF2aWdhdGlvblRhcmdldEJ5U29ydEluZm8oKSwgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3VwZGF0ZSc6XG4gICAgICAgICAgICAgICAgLypUaGUgdXBkYXRlZCByb3cgd291bGQgYmUgZm91bmQgaW4gdGhlIGN1cnJlbnQgcGFnZSBpdHNlbGYuIEhlbmNlIHNpbXBseSBoaWdobGlnaHQgdGhlIHJvdyBpbiB0aGUgY3VycmVudCBwYWdlLiovXG4gICAgICAgICAgICAgICAgaWYgKG5ld0Zvcm0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5ncmlkZmlyc3Ryb3dzZWxlY3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5pbml0aWF0ZVNlbGVjdEl0ZW0oJ2N1cnJlbnQnLCByZXNwb25zZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5pbml0aWF0ZVNlbGVjdEl0ZW0oJ2N1cnJlbnQnLCByZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLm9uUmVjb3JkRGVsZXRlKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50YWJsZS51cGRhdGVWYXJpYWJsZSgpO1xuICAgICAgICBpZiAodGhpcy5pc0xheW91dERpYWxvZykge1xuICAgICAgICAgICAgLyppZiBuZXcgZm9ybSBpcyB0byBiZSBzaG93biBhZnRlciB1cGRhdGUgb3IgaW5zZXJ0LCBkb24ndCBjbG9zZSB0aGUgZGlhbG9nKi9cbiAgICAgICAgICAgIGlmIChuZXdGb3JtKSB7XG4gICAgICAgICAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJ2luc2VydCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLm5ldygpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uZWRpdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZURpYWxvZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvd0Vycm9yTWVzc2FnZSgpIHtcbiAgICAgICAgdGhpcy5hcHAubm90aWZ5QXBwKHRoaXMuYXBwTG9jYWxlLkxBQkVMX0FDQ0VTU19ERU5JRUQsICdlcnJvcicpO1xuICAgIH1cblxuICAgIC8vIEluIGRpYWxvZyBtb2RlLCBvbiBmb3JtIHJlbmRlciBjYWxsIHRoZSBxdWV1ZWQgZnVuY3Rpb25zXG4gICAgb25Gb3JtUmVhZHkoZm9ybSkge1xuICAgICAgICB0aGlzLmZvcm0gPSBmb3JtO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRyaWdnZXJGbih0aGlzLiRxdWV1ZS5wb3AoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD4iXX0=
231
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LiveTableComponent, { className: "LiveTableComponent", filePath: "live-table.component.ts", lineNumber: 40 }); })();
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvZGF0YS9saXZlLXRhYmxlL3NyYy9saXZlLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9kYXRhL2xpdmUtdGFibGUvc3JjL2xpdmUtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixRQUFRLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFDSCxVQUFVLEVBQ1YscUJBQXFCLEVBQ3JCLEdBQUcsRUFDSCxlQUFlLEVBQ2YsU0FBUyxFQUNULFNBQVMsRUFDWixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFJbkQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDO0FBQ25DLE1BQU0sYUFBYSxHQUFHLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFDLENBQUM7QUFTM0UsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjthQUM5QyxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQWN6QyxZQUNJLEdBQWEsRUFDYixLQUFpQixFQUNqQixHQUFzQixF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U0FBUyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCwyREFBMkQ7SUFDM0QsV0FBVyxDQUFDLElBQUk7UUFDWixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7bUZBM05RLGtCQUFrQix5TkFxQlosWUFBWSx3QkFDWixVQUFVLHdCQUNiLGtCQUFrQjtvRUF2QnJCLGtCQUFrQjt3Q0FFYixjQUFjOzs7OzhDQU5qQjtnQkFDUCxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQzthQUN6Qzs7WUNyQ0wsa0JBQXlCOzs7aUZEdUNaLGtCQUFrQjtjQVA5QixTQUFTOzJCQUNJLGVBQWUsYUFFZDtvQkFDUCxrQkFBa0Isb0JBQW9CO2lCQUN6Qzs7c0JBdUJJLFNBQVM7dUJBQUMsWUFBWTs7c0JBQ3RCLFNBQVM7dUJBQUMsVUFBVTs7c0JBQ3BCLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQXJCWCxLQUFLO2tCQUFsQyxZQUFZO21CQUFDLGNBQWM7O2tGQUZuQixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0b3IsXG4gICAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICAkYXBwRGlnZXN0LFxuICAgIEFic3RyYWN0RGlhbG9nU2VydmljZSxcbiAgICBBcHAsXG4gICAgZ2V0Q2xvbmVkT2JqZWN0LFxuICAgIGlzRGVmaW5lZCxcbiAgICB0cmlnZ2VyRm5cbn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUFzV2lkZ2V0UmVmLCBTdHlsYWJsZUNvbXBvbmVudCwgc3R5bGVyIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RhdGEvdGFibGUnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9saXZlLXRhYmxlLnByb3BzJztcblxuZGVjbGFyZSB2YXIgJDogYW55O1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtbGl2ZWdyaWQnO1xuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tbGl2ZXRhYmxlJywgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW3dtTGl2ZVRhYmxlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpdmUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoTGl2ZVRhYmxlQ29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTGl2ZVRhYmxlQ29tcG9uZW50IGV4dGVuZHMgU3R5bGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuICAgIEBDb250ZW50Q2hpbGQoVGFibGVDb21wb25lbnQpIHRhYmxlOiBUYWJsZUNvbXBvbmVudDtcblxuICAgIGZvcm07XG4gICAgaXNMYXlvdXREaWFsb2c6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGRpYWxvZ0lkO1xuICAgIHByaXZhdGUgJHF1ZXVlID0gW107XG5cbiAgICBwcml2YXRlIHRhYmxlT3B0aW9uczogYW55ID0ge1xuICAgICAgICAnbXVsdGlzZWxlY3QnOiBmYWxzZSxcbiAgICAgICAgJ3NldEdyaWRFZGl0TW9kZSc6ICcnXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmo6IEluamVjdG9yLFxuICAgICAgICBlbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBBYnN0cmFjdERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwOiBBcHAsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ2Zvcm1sYXlvdXQnKSBsYXlvdXRUeXBlOiBzdHJpbmcsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ2RpYWxvZ2lkJykgZGlhbG9nSWQ6IHN0cmluZyxcbiAgICAgICAgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcyk7XG4gICAgICAgIGlmIChsYXlvdXRUeXBlID09PSAnZGlhbG9nJykge1xuICAgICAgICAgICAgdGhpcy5pc0xheW91dERpYWxvZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0lkID0gZGlhbG9nSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpO1xuICAgICAgICBpZiAodGhpcy50YWJsZSkge1xuICAgICAgICAgICAgdGhpcy50YWJsZS5fbGl2ZVRhYmxlUGFyZW50ID0gdGhpcztcbiAgICAgICAgICAgIHRoaXMudGFibGUuZGF0YWdyaWRFbGVtZW50LmRhdGF0YWJsZSgnb3B0aW9uJywgdGhpcy50YWJsZU9wdGlvbnMpO1xuXG4gICAgICAgICAgICB0aGlzLnRhYmxlLnNlbGVjdGVkSXRlbUNoYW5nZSRcbiAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMjUwKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMub25TZWxlY3RlZEl0ZW1DaGFuZ2UuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc0xheW91dERpYWxvZyAmJiAhdGhpcy5mb3JtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZS5kYXRhZ3JpZEVsZW1lbnQuZGF0YXRhYmxlKCdvcHRpb24nLCB7XG4gICAgICAgICAgICAgICAgICAgICdiZWZvcmVSb3dVcGRhdGUnIDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3JNZXNzYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICdiZWZvcmVSb3dEZWxldGUnIDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3JNZXNzYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICdiZWZvcmVSb3dJbnNlcnQnIDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3JNZXNzYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5EaWFsb2coKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKHRoaXMuZGlhbG9nSWQsIHRoaXMudmlld1BhcmVudCk7XG4gICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICB9XG5cbiAgICBjbG9zZURpYWxvZygpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNsb3NlKHRoaXMuZGlhbG9nSWQsIHRoaXMudmlld1BhcmVudCk7XG4gICAgfVxuXG4gICAgZm9jdXNGaXJzdElucHV0KCkge1xuICAgICAgIGNvbnN0ICRmaXJzdElucHV0ID0gJCh0aGlzLmZvcm0uJGVsZW1lbnQpLmZpbmQoJ1tyb2xlPVwidGV4dGJveFwiXScpLmZpcnN0KCk7XG4gICAgICAgICRmaXJzdElucHV0LmZvY3VzKCk7XG4gICAgICAgICRmaXJzdElucHV0LnNlbGVjdCgpO1xuICAgIH1cblxuICAgIG9uRGlhbG9nT3BlbigpIHtcbiAgICAgICAgdGhpcy5mb2N1c0ZpcnN0SW5wdXQoKTtcbiAgICB9XG5cbiAgICBzZXRGb3JtRGF0YSh2YWwpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm0uaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5nZXRXaWRnZXQoKS5mb3JtZGF0YSA9IHZhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2FkZE5ld1JvdygpIHtcbiAgICAgICAgdGhpcy5mb3JtLmlzU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnNldEZvcm1EYXRhKCcnKTtcblxuICAgICAgICB0aGlzLmZvcm0ubmV3KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNMYXlvdXREaWFsb2cpIHtcbiAgICAgICAgICAgIHRoaXMub25EaWFsb2dPcGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGROZXdSb3coKSB7XG4gICAgICAgIGlmICh0aGlzLmlzTGF5b3V0RGlhbG9nKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5EaWFsb2coKTtcbiAgICAgICAgICAgIHRoaXMuJHF1ZXVlLnB1c2godGhpcy5fYWRkTmV3Um93LmJpbmQodGhpcykpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICB0aGlzLl9hZGROZXdSb3coKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91cGRhdGVSb3cocm93LCBldmVudE5hbWUpIHtcbiAgICAgICAgdGhpcy5zZXRGb3JtRGF0YShyb3cpO1xuICAgICAgICB0aGlzLmZvcm0uaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZm9ybS5lZGl0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNMYXlvdXREaWFsb2cpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5pc1VwZGF0ZU1vZGUgPSAoZXZlbnROYW1lID09PSAnZGJsY2xpY2snKSA/IHRoaXMuZm9ybS51cGRhdGVNb2RlIDogdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMub25EaWFsb2dPcGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVSb3cocm93LCBldmVudE5hbWUpIHtcblxuICAgICAgICBpZiAodGhpcy5pc0xheW91dERpYWxvZykge1xuICAgICAgICAgICAgdGhpcy5vcGVuRGlhbG9nKCk7XG4gICAgICAgICAgICB0aGlzLiRxdWV1ZS5wdXNoKHRoaXMuX3VwZGF0ZVJvdy5iaW5kKHRoaXMsIHJvdywgZXZlbnROYW1lKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl91cGRhdGVSb3cocm93LCBldmVudE5hbWUpO1xuICAgIH1cblxuICAgIG9uU2VsZWN0ZWRJdGVtQ2hhbmdlKG5ld1ZhbHVlKSB7XG4gICAgICAgIGxldCByb3dEYXRhO1xuICAgICAgICBpZiAoIXRoaXMuZm9ybSB8fCAhdGhpcy50YWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5ld1ZhbHVlICYmIG5ld1ZhbHVlLmxlbmd0aCA+IDAgJiYgIXRoaXMuZm9ybS5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uaXNTZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvKlVwZGF0ZSB0aGUgcm93ZGF0YSBvZiBvbmx5IHRoYXQgZ3JpZCBmb3JtIHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpYyBncmlkIG9uIHdoaWNoIHJvdyBzZWxlY3Rpb24gaXMgYmVpbmcgcGVyZm9ybWVkLi4uXG4gICAgICAgICAqIFNpbmNlIGJvdGggdGhlIGdyaWQgJiBncmlkZm9ybSBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBzYW1lIFwicGFyZW50Z3JpZFwiLCBtYXRjaCB0aGUgc2FtZSovXG4gICAgICAgIGlmIChuZXdWYWx1ZSAmJiBuZXdWYWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50YWJsZS5tdWx0aXNlbGVjdCkge1xuICAgICAgICAgICAgICAgIHJvd0RhdGEgPSBuZXdWYWx1ZVswXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcm93RGF0YSA9IG5ld1ZhbHVlW25ld1ZhbHVlLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNldEZvcm1EYXRhKGdldENsb25lZE9iamVjdChyb3dEYXRhKSk7XG4gICAgICAgICAgICAvKklmIHRoZSBmb3JtIGlzIGFscmVhZHkgaW4gdXBkYXRlIG1vZGUsIGNhbGwgdGhlIGZvcm0gdXBkYXRlIGZ1bmN0aW9uKi9cbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm0uaXNVcGRhdGVNb2RlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtLmVkaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5pc1NlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNldEZvcm1EYXRhKCcnKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jbGVhckRhdGEoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2FuY2VsKCkge1xuICAgICAgICB0aGlzLmZvcm0uaXNVcGRhdGVNb2RlID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmlzTGF5b3V0RGlhbG9nKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRGlhbG9nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlc3VsdChvcGVyYXRpb24sIHJlc3BvbnNlLCBuZXdGb3JtLCB1cGRhdGVNb2RlKSB7XG4gICAgICAgIHRoaXMuZm9ybS5pc1VwZGF0ZU1vZGUgPSBpc0RlZmluZWQodXBkYXRlTW9kZSkgPyB1cGRhdGVNb2RlIDogbmV3Rm9ybSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgc3dpdGNoIChvcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ2luc2VydCc6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuZ3JpZE9wdGlvbnMuaXNOYXZUeXBlU2Nyb2xsT3JPbmRlbWFuZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuaXNOZXdSb3dJbnNlcnRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChuZXdGb3JtKSB7XG4gICAgICAgICAgICAgICAgICAgIC8qaWYgbmV3IGZvcm0gaXMgdG8gYmUgc2hvd24gYWZ0ZXIgaW5zZXJ0LCBza2lwIHRoZSBoaWdobGlnaHQgb2YgdGhlIHJvdyovXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuZ3JpZGZpcnN0cm93c2VsZWN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuaW5pdGlhdGVTZWxlY3RJdGVtKHRoaXMudGFibGUuZ2V0TmF2aWdhdGlvblRhcmdldEJ5U29ydEluZm8oKSwgcmVzcG9uc2UsIHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8qVGhlIG5ldyByb3cgd291bGQgYWx3YXlzIGJlIGluc2VydGVkIGF0IHRoZSBlbmQgb2YgYWxsIGV4aXN0aW5nIHJlY29yZHMuIEhlbmNlIG5hdmlnYXRlIHRvIHRoZSBsYXN0IHBhZ2UgYW5kIGhpZ2hsaWdodCB0aGUgaW5zZXJ0ZWQgcm93LiovXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUuaW5pdGlhdGVTZWxlY3RJdGVtKHRoaXMudGFibGUuZ2V0TmF2aWdhdGlvblRhcmdldEJ5U29ydEluZm8oKSwgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3VwZGF0ZSc6XG4gICAgICAgICAgICAgICAgLypUaGUgdXBkYXRlZCByb3cgd291bGQgYmUgZm91bmQgaW4gdGhlIGN1cnJlbnQgcGFnZSBpdHNlbGYuIEhlbmNlIHNpbXBseSBoaWdobGlnaHQgdGhlIHJvdyBpbiB0aGUgY3VycmVudCBwYWdlLiovXG4gICAgICAgICAgICAgICAgaWYgKG5ld0Zvcm0pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5ncmlkZmlyc3Ryb3dzZWxlY3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5pbml0aWF0ZVNlbGVjdEl0ZW0oJ2N1cnJlbnQnLCByZXNwb25zZSwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5pbml0aWF0ZVNlbGVjdEl0ZW0oJ2N1cnJlbnQnLCByZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLm9uUmVjb3JkRGVsZXRlKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50YWJsZS51cGRhdGVWYXJpYWJsZSgpO1xuICAgICAgICBpZiAodGhpcy5pc0xheW91dERpYWxvZykge1xuICAgICAgICAgICAgLyppZiBuZXcgZm9ybSBpcyB0byBiZSBzaG93biBhZnRlciB1cGRhdGUgb3IgaW5zZXJ0LCBkb24ndCBjbG9zZSB0aGUgZGlhbG9nKi9cbiAgICAgICAgICAgIGlmIChuZXdGb3JtKSB7XG4gICAgICAgICAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJ2luc2VydCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLm5ldygpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0uZWRpdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZURpYWxvZygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2hvd0Vycm9yTWVzc2FnZSgpIHtcbiAgICAgICAgdGhpcy5hcHAubm90aWZ5QXBwKHRoaXMuYXBwTG9jYWxlLkxBQkVMX0FDQ0VTU19ERU5JRUQsICdlcnJvcicpO1xuICAgIH1cblxuICAgIC8vIEluIGRpYWxvZyBtb2RlLCBvbiBmb3JtIHJlbmRlciBjYWxsIHRoZSBxdWV1ZWQgZnVuY3Rpb25zXG4gICAgb25Gb3JtUmVhZHkoZm9ybSkge1xuICAgICAgICB0aGlzLmZvcm0gPSBmb3JtO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRyaWdnZXJGbih0aGlzLiRxdWV1ZS5wb3AoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD4iXX0=
@@ -238,7 +238,7 @@ class LiveTableComponent extends StylableComponent {
238
238
  type: ContentChild,
239
239
  args: [TableComponent]
240
240
  }] }); })();
241
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LiveTableComponent, { className: "LiveTableComponent", filePath: "live-table.component.ts", lineNumber: 41 }); })();
241
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LiveTableComponent, { className: "LiveTableComponent", filePath: "live-table.component.ts", lineNumber: 40 }); })();
242
242
 
243
243
  const components = [
244
244
  LiveTableComponent
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/data/live-table/src/live-table.props.ts","../../../../../projects/components/widgets/data/live-table/src/live-table.component.ts","../../../../../projects/components/widgets/data/live-table/src/live-table.component.html","../../../../../projects/components/widgets/data/live-table/src/live-table.module.ts","../../../../../projects/components/widgets/data/live-table/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-livetable',\n new Map(\n [\n ['class', PROP_STRING],\n ['formlayout', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {\n AfterContentInit,\n Attribute,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Inject,\n Injector,\n Optional\n} from '@angular/core';\n\nimport { debounceTime } from 'rxjs/operators';\n\nimport {\n $appDigest,\n AbstractDialogService,\n App,\n getClonedObject,\n isDefined,\n triggerFn\n} from '@wm/core';\nimport { provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { TableComponent } from '@wm/components/data/table';\n\nimport { registerProps } from './live-table.props';\n\ndeclare const _;\ndeclare var $: any;\n\nconst DEFAULT_CLS = 'app-livegrid';\nconst WIDGET_CONFIG = {widgetType: 'wm-livetable', hostClass: DEFAULT_CLS};\n\n@Component({\n selector: '[wmLiveTable]',\n templateUrl: './live-table.component.html',\n providers: [\n provideAsWidgetRef(LiveTableComponent)\n ]\n})\nexport class LiveTableComponent extends StylableComponent implements AfterContentInit {\n static initializeProps = registerProps();\n @ContentChild(TableComponent) table: TableComponent;\n\n form;\n isLayoutDialog: boolean;\n\n private dialogId;\n private $queue = [];\n\n private tableOptions: any = {\n 'multiselect': false,\n 'setGridEditMode': ''\n };\n\n constructor(\n inj: Injector,\n elRef: ElementRef,\n cdr: ChangeDetectorRef,\n private dialogService: AbstractDialogService,\n private app: App,\n @Attribute('formlayout') layoutType: string,\n @Attribute('dialogid') dialogId: string,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this);\n if (layoutType === 'dialog') {\n this.isLayoutDialog = true;\n this.dialogId = dialogId;\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n if (this.table) {\n this.table._liveTableParent = this;\n this.table.datagridElement.datatable('option', this.tableOptions);\n\n this.table.selectedItemChange$\n .pipe(debounceTime(250))\n .subscribe(this.onSelectedItemChange.bind(this));\n\n if (!this.isLayoutDialog && !this.form) {\n this.table.datagridElement.datatable('option', {\n 'beforeRowUpdate' : () => {\n this.showErrorMessage();\n },\n 'beforeRowDelete' : () => {\n this.showErrorMessage();\n },\n 'beforeRowInsert' : () => {\n this.showErrorMessage();\n }\n });\n }\n }\n }\n\n openDialog() {\n this.dialogService.open(this.dialogId, this.viewParent);\n $appDigest();\n }\n\n closeDialog() {\n this.dialogService.close(this.dialogId, this.viewParent);\n }\n\n focusFirstInput() {\n const $firstInput = $(this.form.$element).find('[role=\"textbox\"]').first();\n $firstInput.focus();\n $firstInput.select();\n }\n\n onDialogOpen() {\n this.focusFirstInput();\n }\n\n setFormData(val) {\n if (!this.form.isDestroyed) {\n this.form.getWidget().formdata = val;\n }\n }\n\n private _addNewRow() {\n this.form.isSelected = true;\n this.setFormData('');\n\n this.form.new();\n\n if (this.isLayoutDialog) {\n this.onDialogOpen();\n }\n }\n\n addNewRow() {\n if (this.isLayoutDialog) {\n this.openDialog();\n this.$queue.push(this._addNewRow.bind(this));\n return;\n }\n\n this._addNewRow();\n }\n\n private _updateRow(row, eventName) {\n this.setFormData(row);\n this.form.isSelected = true;\n this.form.edit();\n\n if (this.isLayoutDialog) {\n this.form.isUpdateMode = (eventName === 'dblclick') ? this.form.updateMode : true;\n this.onDialogOpen();\n }\n }\n\n updateRow(row, eventName) {\n\n if (this.isLayoutDialog) {\n this.openDialog();\n this.$queue.push(this._updateRow.bind(this, row, eventName));\n return;\n }\n\n this._updateRow(row, eventName);\n }\n\n onSelectedItemChange(newValue) {\n let rowData;\n if (!this.form || !this.table) {\n return;\n }\n\n if (newValue && newValue.length > 0 && !this.form.isSelected) {\n this.form.isSelected = true;\n }\n\n /*Update the rowdata of only that grid form that is associated with the specific grid on which row selection is being performed...\n * Since both the grid & gridform are associated with the same \"parentgrid\", match the same*/\n if (newValue && newValue.length > 0) {\n if (this.table.multiselect) {\n rowData = newValue[0];\n } else {\n rowData = newValue[newValue.length - 1];\n }\n\n this.setFormData(getClonedObject(rowData));\n /*If the form is already in update mode, call the form update function*/\n if (this.form.isUpdateMode) {\n this.form.edit();\n }\n } else {\n this.form.isSelected = false;\n this.setFormData('');\n this.form.clearData();\n }\n }\n\n onCancel() {\n this.form.isUpdateMode = false;\n if (this.isLayoutDialog) {\n this.closeDialog();\n }\n }\n\n onResult(operation, response, newForm, updateMode) {\n this.form.isUpdateMode = isDefined(updateMode) ? updateMode : newForm ? true : false;\n switch (operation) {\n case 'insert':\n if (this.table.gridOptions.isNavTypeScrollOrOndemand()) {\n this.table.isNewRowInserted = true;\n }\n if (newForm) {\n /*if new form is to be shown after insert, skip the highlight of the row*/\n this.table.gridfirstrowselect = false;\n this.table.initiateSelectItem(this.table.getNavigationTargetBySortInfo(), response, true);\n } else {\n /*The new row would always be inserted at the end of all existing records. Hence navigate to the last page and highlight the inserted row.*/\n this.table.initiateSelectItem(this.table.getNavigationTargetBySortInfo(), response);\n }\n break;\n case 'update':\n /*The updated row would be found in the current page itself. Hence simply highlight the row in the current page.*/\n if (newForm) {\n this.table.gridfirstrowselect = false;\n this.table.initiateSelectItem('current', response, true);\n } else {\n this.table.initiateSelectItem('current', response);\n }\n break;\n case 'delete':\n this.table.onRecordDelete();\n break;\n }\n this.table.updateVariable();\n if (this.isLayoutDialog) {\n /*if new form is to be shown after update or insert, don't close the dialog*/\n if (newForm) {\n if (operation === 'insert') {\n this.form.new();\n } else if (operation === 'update') {\n this.form.edit();\n }\n } else {\n this.closeDialog();\n }\n }\n }\n\n showErrorMessage() {\n this.app.notifyApp(this.appLocale.LABEL_ACCESS_DENIED, 'error');\n }\n\n // In dialog mode, on form render call the queued functions\n onFormReady(form) {\n this.form = form;\n setTimeout(() => {\n triggerFn(this.$queue.pop());\n });\n }\n}\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { LiveTableComponent } from './live-table.component';\n\nconst components = [\n LiveTableComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class LiveTableModule {\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/data/live-table/src/live-table.props.ts","../../../../../projects/components/widgets/data/live-table/src/live-table.component.ts","../../../../../projects/components/widgets/data/live-table/src/live-table.component.html","../../../../../projects/components/widgets/data/live-table/src/live-table.module.ts","../../../../../projects/components/widgets/data/live-table/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-livetable',\n new Map(\n [\n ['class', PROP_STRING],\n ['formlayout', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {\n AfterContentInit,\n Attribute,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Inject,\n Injector,\n Optional\n} from '@angular/core';\n\nimport { debounceTime } from 'rxjs/operators';\n\nimport {\n $appDigest,\n AbstractDialogService,\n App,\n getClonedObject,\n isDefined,\n triggerFn\n} from '@wm/core';\nimport { provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { TableComponent } from '@wm/components/data/table';\n\nimport { registerProps } from './live-table.props';\n\ndeclare var $: any;\n\nconst DEFAULT_CLS = 'app-livegrid';\nconst WIDGET_CONFIG = {widgetType: 'wm-livetable', hostClass: DEFAULT_CLS};\n\n@Component({\n selector: '[wmLiveTable]',\n templateUrl: './live-table.component.html',\n providers: [\n provideAsWidgetRef(LiveTableComponent)\n ]\n})\nexport class LiveTableComponent extends StylableComponent implements AfterContentInit {\n static initializeProps = registerProps();\n @ContentChild(TableComponent) table: TableComponent;\n\n form;\n isLayoutDialog: boolean;\n\n private dialogId;\n private $queue = [];\n\n private tableOptions: any = {\n 'multiselect': false,\n 'setGridEditMode': ''\n };\n\n constructor(\n inj: Injector,\n elRef: ElementRef,\n cdr: ChangeDetectorRef,\n private dialogService: AbstractDialogService,\n private app: App,\n @Attribute('formlayout') layoutType: string,\n @Attribute('dialogid') dialogId: string,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this);\n if (layoutType === 'dialog') {\n this.isLayoutDialog = true;\n this.dialogId = dialogId;\n }\n }\n\n ngAfterContentInit() {\n super.ngAfterContentInit();\n if (this.table) {\n this.table._liveTableParent = this;\n this.table.datagridElement.datatable('option', this.tableOptions);\n\n this.table.selectedItemChange$\n .pipe(debounceTime(250))\n .subscribe(this.onSelectedItemChange.bind(this));\n\n if (!this.isLayoutDialog && !this.form) {\n this.table.datagridElement.datatable('option', {\n 'beforeRowUpdate' : () => {\n this.showErrorMessage();\n },\n 'beforeRowDelete' : () => {\n this.showErrorMessage();\n },\n 'beforeRowInsert' : () => {\n this.showErrorMessage();\n }\n });\n }\n }\n }\n\n openDialog() {\n this.dialogService.open(this.dialogId, this.viewParent);\n $appDigest();\n }\n\n closeDialog() {\n this.dialogService.close(this.dialogId, this.viewParent);\n }\n\n focusFirstInput() {\n const $firstInput = $(this.form.$element).find('[role=\"textbox\"]').first();\n $firstInput.focus();\n $firstInput.select();\n }\n\n onDialogOpen() {\n this.focusFirstInput();\n }\n\n setFormData(val) {\n if (!this.form.isDestroyed) {\n this.form.getWidget().formdata = val;\n }\n }\n\n private _addNewRow() {\n this.form.isSelected = true;\n this.setFormData('');\n\n this.form.new();\n\n if (this.isLayoutDialog) {\n this.onDialogOpen();\n }\n }\n\n addNewRow() {\n if (this.isLayoutDialog) {\n this.openDialog();\n this.$queue.push(this._addNewRow.bind(this));\n return;\n }\n\n this._addNewRow();\n }\n\n private _updateRow(row, eventName) {\n this.setFormData(row);\n this.form.isSelected = true;\n this.form.edit();\n\n if (this.isLayoutDialog) {\n this.form.isUpdateMode = (eventName === 'dblclick') ? this.form.updateMode : true;\n this.onDialogOpen();\n }\n }\n\n updateRow(row, eventName) {\n\n if (this.isLayoutDialog) {\n this.openDialog();\n this.$queue.push(this._updateRow.bind(this, row, eventName));\n return;\n }\n\n this._updateRow(row, eventName);\n }\n\n onSelectedItemChange(newValue) {\n let rowData;\n if (!this.form || !this.table) {\n return;\n }\n\n if (newValue && newValue.length > 0 && !this.form.isSelected) {\n this.form.isSelected = true;\n }\n\n /*Update the rowdata of only that grid form that is associated with the specific grid on which row selection is being performed...\n * Since both the grid & gridform are associated with the same \"parentgrid\", match the same*/\n if (newValue && newValue.length > 0) {\n if (this.table.multiselect) {\n rowData = newValue[0];\n } else {\n rowData = newValue[newValue.length - 1];\n }\n\n this.setFormData(getClonedObject(rowData));\n /*If the form is already in update mode, call the form update function*/\n if (this.form.isUpdateMode) {\n this.form.edit();\n }\n } else {\n this.form.isSelected = false;\n this.setFormData('');\n this.form.clearData();\n }\n }\n\n onCancel() {\n this.form.isUpdateMode = false;\n if (this.isLayoutDialog) {\n this.closeDialog();\n }\n }\n\n onResult(operation, response, newForm, updateMode) {\n this.form.isUpdateMode = isDefined(updateMode) ? updateMode : newForm ? true : false;\n switch (operation) {\n case 'insert':\n if (this.table.gridOptions.isNavTypeScrollOrOndemand()) {\n this.table.isNewRowInserted = true;\n }\n if (newForm) {\n /*if new form is to be shown after insert, skip the highlight of the row*/\n this.table.gridfirstrowselect = false;\n this.table.initiateSelectItem(this.table.getNavigationTargetBySortInfo(), response, true);\n } else {\n /*The new row would always be inserted at the end of all existing records. Hence navigate to the last page and highlight the inserted row.*/\n this.table.initiateSelectItem(this.table.getNavigationTargetBySortInfo(), response);\n }\n break;\n case 'update':\n /*The updated row would be found in the current page itself. Hence simply highlight the row in the current page.*/\n if (newForm) {\n this.table.gridfirstrowselect = false;\n this.table.initiateSelectItem('current', response, true);\n } else {\n this.table.initiateSelectItem('current', response);\n }\n break;\n case 'delete':\n this.table.onRecordDelete();\n break;\n }\n this.table.updateVariable();\n if (this.isLayoutDialog) {\n /*if new form is to be shown after update or insert, don't close the dialog*/\n if (newForm) {\n if (operation === 'insert') {\n this.form.new();\n } else if (operation === 'update') {\n this.form.edit();\n }\n } else {\n this.closeDialog();\n }\n }\n }\n\n showErrorMessage() {\n this.app.notifyApp(this.appLocale.LABEL_ACCESS_DENIED, 'error');\n }\n\n // In dialog mode, on form render call the queued functions\n onFormReady(form) {\n this.form = form;\n setTimeout(() => {\n triggerFn(this.$queue.pop());\n });\n }\n}\n","<ng-content></ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { LiveTableComponent } from './live-table.component';\n\nconst components = [\n LiveTableComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class LiveTableModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('ngx-bootstrap/pagination'), require('@wm/components/base'), require('@wm/core')) :
3
- typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@angular/forms', 'ngx-bootstrap/pagination', '@wm/components/base', '@wm/core'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.data = global.wm.components.data || {}, global.wm.components.data.pagination = {}), global.ng.core, global.ng.common, global.ng.forms, global.pagination, global.wm.components.base, global.wm.core));
5
- })(this, (function (exports, i0, i1, i2, i3, base, core) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('ngx-bootstrap/pagination'), require('@wm/components/base'), require('@wm/core'), require('lodash-es')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@angular/forms', 'ngx-bootstrap/pagination', '@wm/components/base', '@wm/core', 'lodash-es'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.data = global.wm.components.data || {}, global.wm.components.data.pagination = {}), global.ng.core, global.ng.common, global.ng.forms, global.pagination, global.wm.components.base, global.wm.core, global._));
5
+ })(this, (function (exports, i0, i1, i2, i3, base, core, lodashEs) { 'use strict';
6
6
 
7
7
  function _interopNamespaceDefault(e) {
8
8
  var n = Object.create(null);
@@ -268,7 +268,7 @@
268
268
  class PaginationComponent extends base.StylableComponent {
269
269
  static { this.initializeProps = registerProps(); }
270
270
  _setAriaForBasicNavigation() {
271
- _.forEach(this.nativeElement.getElementsByTagName('a'), (item) => {
271
+ lodashEs.forEach(this.nativeElement.getElementsByTagName('a'), (item) => {
272
272
  item.setAttribute('href', 'javascript:void(0);');
273
273
  const childNode = item.querySelector('span');
274
274
  if (childNode?.dataset.isacitvepage === "true") {
@@ -400,11 +400,11 @@
400
400
  // Set the result for client side pagination
401
401
  setNonPageableData(newVal) {
402
402
  let dataSize, maxResults, currentPage, startIndex;
403
- dataSize = _.isArray(newVal) ? newVal.length : (_.isEmpty(newVal) ? 0 : 1);
403
+ dataSize = lodashEs.isArray(newVal) ? newVal.length : (lodashEs.isEmpty(newVal) ? 0 : 1);
404
404
  maxResults = (this.options && this.options.maxResults) || dataSize;
405
405
  // For static variable, keep the current page. For other variables without pagination reset the page to 1
406
406
  // Fix for [WMS-23263]: gridOptions.isNextPageData flag is false when dataset is changed from script, so setting current page to 1
407
- if (this.datasource && (this.datasource.execute(core.DataSource.Operation.IS_API_AWARE) || (this.parent.widgetType === 'wm-table' && (this.parent.gridOptions.isNavTypeScrollOrOndemand() && (_.get(this.parent, 'gridOptions.lastActionPerformed') === this.parent.gridOptions.ACTIONS.DATASET_UPDATE || !_.get(this.parent, 'gridOptions.isNextPageData')))))) {
407
+ if (this.datasource && (this.datasource.execute(core.DataSource.Operation.IS_API_AWARE) || (this.parent.widgetType === 'wm-table' && (this.parent.gridOptions.isNavTypeScrollOrOndemand() && (lodashEs.get(this.parent, 'gridOptions.lastActionPerformed') === this.parent.gridOptions.ACTIONS.DATASET_UPDATE || !lodashEs.get(this.parent, 'gridOptions.isNextPageData')))))) {
408
408
  currentPage = 1;
409
409
  }
410
410
  else {
@@ -413,7 +413,7 @@
413
413
  this.setDefaultPagingValues(dataSize, maxResults, currentPage);
414
414
  this.disableNavigation();
415
415
  startIndex = (this.dn.currentPage - 1) * this.maxResults;
416
- this.setResult(_.isArray(newVal) ? newVal.slice(startIndex, startIndex + this.maxResults) : newVal);
416
+ this.setResult(lodashEs.isArray(newVal) ? newVal.slice(startIndex, startIndex + this.maxResults) : newVal);
417
417
  }
418
418
  /*Function to set the values needed for pagination*/
419
419
  setPagingValues(newVal) {
@@ -433,7 +433,7 @@
433
433
  this.filterFields = variableOptions.filterFields || {};
434
434
  this.logicalOp = variableOptions.logicalOp || '';
435
435
  this.sortOptions = variableOptions.orderBy ||
436
- (_.isArray(this.pagination.sort) ? base.getOrderByExpr(this.pagination.sort) : '');
436
+ (lodashEs.isArray(this.pagination.sort) ? base.getOrderByExpr(this.pagination.sort) : '');
437
437
  dataSize = this.pagination.totalElements;
438
438
  maxResults = this.pagination.size;
439
439
  if (this.pagination.numberOfElements > 0) {
@@ -451,7 +451,7 @@
451
451
  this.checkDataSize(dataSize, this.pagination.numberOfElements, this.pagination.size);
452
452
  this.setResult(newVal);
453
453
  }
454
- else if (!_.isString(newVal)) {
454
+ else if (!lodashEs.isString(newVal)) {
455
455
  this.setNonPageableData(newVal);
456
456
  }
457
457
  }
@@ -464,7 +464,7 @@
464
464
  }
465
465
  }
466
466
  else {
467
- if (newVal && !_.isString(newVal)) {
467
+ if (newVal && !lodashEs.isString(newVal)) {
468
468
  this.setNonPageableData(newVal);
469
469
  }
470
470
  }
@@ -556,7 +556,7 @@
556
556
  else {
557
557
  startIndex = (this.dn.currentPage - 1) * this.maxResults;
558
558
  }
559
- data = _.isArray(this.__fullData) ? this.__fullData.slice(startIndex, startIndex + this.maxResults) : this.__fullData;
559
+ data = lodashEs.isArray(this.__fullData) ? this.__fullData.slice(startIndex, startIndex + this.maxResults) : this.__fullData;
560
560
  this.setResult(data);
561
561
  this.onPageDataReady(event, data, callback);
562
562
  }
@@ -589,7 +589,7 @@
589
589
  In case of valid input, return true.*/
590
590
  validateCurrentPage(event, callback) {
591
591
  /*If the value entered is greater than the last page number or invalid value, then highlighting the field showing error.*/
592
- if (event && (isNaN(this.dn.currentPage) || this.dn.currentPage <= 0 || (this.pageCount && (this.dn.currentPage > this.pageCount || _.isNull(this.dn.currentPage))))) {
592
+ if (event && (isNaN(this.dn.currentPage) || this.dn.currentPage <= 0 || (this.pageCount && (this.dn.currentPage > this.pageCount || lodashEs.isNull(this.dn.currentPage))))) {
593
593
  if (this.dn.currentPage <= 0) {
594
594
  this.dn.currentPage = 1;
595
595
  }
@@ -797,7 +797,7 @@
797
797
  }], maxResultsEmitter: [{
798
798
  type: i0.Output
799
799
  }] }); })();
800
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(PaginationComponent, { className: "PaginationComponent", filePath: "pagination.component.ts", lineNumber: 42 }); })();
800
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(PaginationComponent, { className: "PaginationComponent", filePath: "pagination.component.ts", lineNumber: 41 }); })();
801
801
 
802
802
  const components = [
803
803
  PaginationComponent