@wavemaker-ai/app-ng-runtime 1.0.0-rc.647469

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 (2549) hide show
  1. package/build-task/.npmignore +2 -0
  2. package/build-task/advanced/carousel/carousel-template/carousel-template.build.d.ts +2 -0
  3. package/build-task/advanced/carousel/carousel.build.d.ts +2 -0
  4. package/build-task/advanced/custom-widget-container/custom-widget-container.build.d.ts +2 -0
  5. package/build-task/advanced/custom-widget-wrapper/custom-widget-wrapper.build.d.ts +2 -0
  6. package/build-task/advanced/login/login.build.d.ts +2 -0
  7. package/build-task/advanced/marquee/marquee.build.d.ts +2 -0
  8. package/build-task/basic/anchor/anchor.build.d.ts +2 -0
  9. package/build-task/basic/audio/audio.build.d.ts +2 -0
  10. package/build-task/basic/html/html.build.d.ts +2 -0
  11. package/build-task/basic/icon/icon.build.d.ts +2 -0
  12. package/build-task/basic/iframe/iframe.build.d.ts +2 -0
  13. package/build-task/basic/label/label.build.d.ts +2 -0
  14. package/build-task/basic/picture/picture.build.d.ts +2 -0
  15. package/build-task/basic/progress/progress-bar/progress-bar.build.d.ts +2 -0
  16. package/build-task/basic/progress/progress-circle/progress-circle.build.d.ts +2 -0
  17. package/build-task/basic/rich-text-editor/rich-text-editor.build.d.ts +2 -0
  18. package/build-task/basic/search/search.build.d.ts +2 -0
  19. package/build-task/basic/spinner/spinner.build.d.ts +2 -0
  20. package/build-task/basic/tree/tree.build.d.ts +1 -0
  21. package/build-task/basic/video/video.build.d.ts +2 -0
  22. package/build-task/bundles/index.umd.js +3106 -0
  23. package/build-task/chart/chart.build.d.ts +2 -0
  24. package/build-task/containers/accordion/accordion-pane/accordion-pane.build.d.ts +2 -0
  25. package/build-task/containers/accordion/accordion.build.d.ts +2 -0
  26. package/build-task/containers/container.build.d.ts +2 -0
  27. package/build-task/containers/layout-grid/layout-grid-column/layout-grid-column.build.d.ts +2 -0
  28. package/build-task/containers/layout-grid/layout-grid-row/layout-grid-row.build.d.ts +2 -0
  29. package/build-task/containers/layout-grid/layout-grid.build.d.ts +2 -0
  30. package/build-task/containers/linear-layout/linear-layout-item/linear-layout-item.build.d.ts +2 -0
  31. package/build-task/containers/linear-layout/linear-layout.build.d.ts +2 -0
  32. package/build-task/containers/panel/panel.build.d.ts +2 -0
  33. package/build-task/containers/repeat-template.build.d.ts +2 -0
  34. package/build-task/containers/segmented-control/segment-content/segment-content.build.d.ts +2 -0
  35. package/build-task/containers/segmented-control/segmented-control.build.d.ts +2 -0
  36. package/build-task/containers/tabs/tab-pane/tab-pane.build.d.ts +2 -0
  37. package/build-task/containers/tabs/tabs.build.d.ts +2 -0
  38. package/build-task/containers/tile/tile.build.d.ts +2 -0
  39. package/build-task/containers/wizard/wizard-action/wizard-action.build.d.ts +2 -0
  40. package/build-task/containers/wizard/wizard-step/wizard-step.build.d.ts +2 -0
  41. package/build-task/containers/wizard/wizard.build.d.ts +2 -0
  42. package/build-task/data/card/card-actions/card-actions.build.d.ts +2 -0
  43. package/build-task/data/card/card-content/card-content.build.d.ts +2 -0
  44. package/build-task/data/card/card-footer/card-footer.build.d.ts +2 -0
  45. package/build-task/data/card/card.build.d.ts +2 -0
  46. package/build-task/data/form/form-action/form-action.build.d.ts +2 -0
  47. package/build-task/data/form/form-field/form-field.build.d.ts +2 -0
  48. package/build-task/data/form/form.build.d.ts +2 -0
  49. package/build-task/data/list/list.build.d.ts +2 -0
  50. package/build-task/data/live-table/live-table.build.d.ts +2 -0
  51. package/build-task/data/media-list/media-list-item/media-list-item.build.d.ts +2 -0
  52. package/build-task/data/media-list/media-list.build.d.ts +2 -0
  53. package/build-task/data/pagination/pagination.build.d.ts +2 -0
  54. package/build-task/data/table/table-action/table-action.build.d.ts +2 -0
  55. package/build-task/data/table/table-column/table-column.build.d.ts +2 -0
  56. package/build-task/data/table/table-column-group/table-column-group.build.d.ts +2 -0
  57. package/build-task/data/table/table-row/table-row.build.d.ts +2 -0
  58. package/build-task/data/table/table-row-action/table-row-action.build.d.ts +2 -0
  59. package/build-task/data/table/table.build.d.ts +2 -0
  60. package/build-task/device/barcode-scanner/barcode-scanner.build.d.ts +2 -0
  61. package/build-task/device/camera/camera.build.d.ts +2 -0
  62. package/build-task/dialogs/alert-dialog/alert-dialog.build.d.ts +2 -0
  63. package/build-task/dialogs/base/dialog-footer/dialog-footer.build.d.ts +2 -0
  64. package/build-task/dialogs/confirm-dialog/confirm-dialog.build.d.ts +2 -0
  65. package/build-task/dialogs/design-dialog/dialog.build.d.ts +2 -0
  66. package/build-task/dialogs/iframe-dialog/iframe-dialog.build.d.ts +2 -0
  67. package/build-task/dialogs/login-dialog/login-dialog.build.d.ts +2 -0
  68. package/build-task/dialogs/partial-dialog/partial-dialog.build.d.ts +2 -0
  69. package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +31 -0
  70. package/build-task/esm2022/advanced/carousel/carousel.build.mjs +45 -0
  71. package/build-task/esm2022/advanced/custom-widget-container/custom-widget-container.build.mjs +15 -0
  72. package/build-task/esm2022/advanced/custom-widget-wrapper/custom-widget-wrapper.build.mjs +26 -0
  73. package/build-task/esm2022/advanced/login/login.build.mjs +15 -0
  74. package/build-task/esm2022/advanced/marquee/marquee.build.mjs +10 -0
  75. package/build-task/esm2022/basic/anchor/anchor.build.mjs +15 -0
  76. package/build-task/esm2022/basic/audio/audio.build.mjs +10 -0
  77. package/build-task/esm2022/basic/html/html.build.mjs +15 -0
  78. package/build-task/esm2022/basic/icon/icon.build.mjs +10 -0
  79. package/build-task/esm2022/basic/iframe/iframe.build.mjs +10 -0
  80. package/build-task/esm2022/basic/label/label.build.mjs +25 -0
  81. package/build-task/esm2022/basic/picture/picture.build.mjs +14 -0
  82. package/build-task/esm2022/basic/progress/progress-bar/progress-bar.build.mjs +35 -0
  83. package/build-task/esm2022/basic/progress/progress-circle/progress-circle.build.mjs +15 -0
  84. package/build-task/esm2022/basic/rich-text-editor/rich-text-editor.build.mjs +15 -0
  85. package/build-task/esm2022/basic/search/search.build.mjs +11 -0
  86. package/build-task/esm2022/basic/spinner/spinner.build.mjs +15 -0
  87. package/build-task/esm2022/basic/tree/tree.build.mjs +9 -0
  88. package/build-task/esm2022/basic/video/video.build.mjs +10 -0
  89. package/build-task/esm2022/chart/chart.build.mjs +10 -0
  90. package/build-task/esm2022/containers/accordion/accordion-pane/accordion-pane.build.mjs +15 -0
  91. package/build-task/esm2022/containers/accordion/accordion.build.mjs +40 -0
  92. package/build-task/esm2022/containers/container.build.mjs +10 -0
  93. package/build-task/esm2022/containers/layout-grid/layout-grid-column/layout-grid-column.build.mjs +10 -0
  94. package/build-task/esm2022/containers/layout-grid/layout-grid-row/layout-grid-row.build.mjs +10 -0
  95. package/build-task/esm2022/containers/layout-grid/layout-grid.build.mjs +10 -0
  96. package/build-task/esm2022/containers/linear-layout/linear-layout-item/linear-layout-item.build.mjs +10 -0
  97. package/build-task/esm2022/containers/linear-layout/linear-layout.build.mjs +21 -0
  98. package/build-task/esm2022/containers/panel/panel.build.mjs +21 -0
  99. package/build-task/esm2022/containers/repeat-template.build.mjs +26 -0
  100. package/build-task/esm2022/containers/segmented-control/segment-content/segment-content.build.mjs +10 -0
  101. package/build-task/esm2022/containers/segmented-control/segmented-control.build.mjs +10 -0
  102. package/build-task/esm2022/containers/tabs/tab-pane/tab-pane.build.mjs +10 -0
  103. package/build-task/esm2022/containers/tabs/tabs.build.mjs +40 -0
  104. package/build-task/esm2022/containers/tile/tile.build.mjs +10 -0
  105. package/build-task/esm2022/containers/wizard/wizard-action/wizard-action.build.mjs +10 -0
  106. package/build-task/esm2022/containers/wizard/wizard-step/wizard-step.build.mjs +16 -0
  107. package/build-task/esm2022/containers/wizard/wizard.build.mjs +39 -0
  108. package/build-task/esm2022/data/card/card-actions/card-actions.build.mjs +10 -0
  109. package/build-task/esm2022/data/card/card-content/card-content.build.mjs +10 -0
  110. package/build-task/esm2022/data/card/card-footer/card-footer.build.mjs +10 -0
  111. package/build-task/esm2022/data/card/card.build.mjs +10 -0
  112. package/build-task/esm2022/data/form/form-action/form-action.build.mjs +12 -0
  113. package/build-task/esm2022/data/form/form-field/form-field.build.mjs +173 -0
  114. package/build-task/esm2022/data/form/form.build.mjs +161 -0
  115. package/build-task/esm2022/data/list/list.build.mjs +89 -0
  116. package/build-task/esm2022/data/live-table/live-table.build.mjs +21 -0
  117. package/build-task/esm2022/data/media-list/media-list-item/media-list-item.build.mjs +10 -0
  118. package/build-task/esm2022/data/media-list/media-list.build.mjs +57 -0
  119. package/build-task/esm2022/data/pagination/pagination.build.mjs +10 -0
  120. package/build-task/esm2022/data/table/table-action/table-action.build.mjs +10 -0
  121. package/build-task/esm2022/data/table/table-column/table-column.build.mjs +294 -0
  122. package/build-task/esm2022/data/table/table-column-group/table-column-group.build.mjs +10 -0
  123. package/build-task/esm2022/data/table/table-row/table-row.build.mjs +34 -0
  124. package/build-task/esm2022/data/table/table-row-action/table-row-action.build.mjs +41 -0
  125. package/build-task/esm2022/data/table/table.build.mjs +86 -0
  126. package/build-task/esm2022/device/barcode-scanner/barcode-scanner.build.mjs +15 -0
  127. package/build-task/esm2022/device/camera/camera.build.mjs +15 -0
  128. package/build-task/esm2022/dialogs/alert-dialog/alert-dialog.build.mjs +10 -0
  129. package/build-task/esm2022/dialogs/base/dialog-footer/dialog-footer.build.mjs +10 -0
  130. package/build-task/esm2022/dialogs/confirm-dialog/confirm-dialog.build.mjs +10 -0
  131. package/build-task/esm2022/dialogs/design-dialog/dialog.build.mjs +17 -0
  132. package/build-task/esm2022/dialogs/iframe-dialog/iframe-dialog.build.mjs +10 -0
  133. package/build-task/esm2022/dialogs/login-dialog/login-dialog.build.mjs +10 -0
  134. package/build-task/esm2022/dialogs/partial-dialog/partial-dialog.build.mjs +40 -0
  135. package/build-task/esm2022/index.mjs +5 -0
  136. package/build-task/esm2022/input/calendar/calendar.build.mjs +13 -0
  137. package/build-task/esm2022/input/chips/chips.build.mjs +11 -0
  138. package/build-task/esm2022/input/color-picker/color-picker.build.mjs +11 -0
  139. package/build-task/esm2022/input/currency/currency.build.mjs +11 -0
  140. package/build-task/esm2022/input/default/button/button.build.mjs +15 -0
  141. package/build-task/esm2022/input/default/button-group/button-group.build.mjs +10 -0
  142. package/build-task/esm2022/input/default/checkbox/checkbox.build.mjs +18 -0
  143. package/build-task/esm2022/input/default/checkboxset/checkboxset.build.mjs +11 -0
  144. package/build-task/esm2022/input/default/composite/composite.build.mjs +10 -0
  145. package/build-task/esm2022/input/default/number/number.build.mjs +11 -0
  146. package/build-task/esm2022/input/default/radioset/radioset.build.mjs +15 -0
  147. package/build-task/esm2022/input/default/select/select.build.mjs +11 -0
  148. package/build-task/esm2022/input/default/switch/switch.build.mjs +15 -0
  149. package/build-task/esm2022/input/default/text/text.build.mjs +11 -0
  150. package/build-task/esm2022/input/default/textarea/textarea.build.mjs +11 -0
  151. package/build-task/esm2022/input/epoch/date/date.build.mjs +11 -0
  152. package/build-task/esm2022/input/epoch/date-time/date-time.build.mjs +11 -0
  153. package/build-task/esm2022/input/epoch/time/time.build.mjs +11 -0
  154. package/build-task/esm2022/input/file-upload/file-upload.build.mjs +20 -0
  155. package/build-task/esm2022/input/rating/rating.build.mjs +11 -0
  156. package/build-task/esm2022/input/slider/slider.build.mjs +11 -0
  157. package/build-task/esm2022/message/message.build.mjs +15 -0
  158. package/build-task/esm2022/navigation/breadcrumb/breadcrumb.build.mjs +10 -0
  159. package/build-task/esm2022/navigation/menu/menu.build.mjs +27 -0
  160. package/build-task/esm2022/navigation/nav/nav-item/nav-item.build.mjs +10 -0
  161. package/build-task/esm2022/navigation/nav/nav.build.mjs +10 -0
  162. package/build-task/esm2022/navigation/navbar/navbar.build.mjs +10 -0
  163. package/build-task/esm2022/navigation/popover/popover.build.mjs +41 -0
  164. package/build-task/esm2022/page/content/content.build.mjs +10 -0
  165. package/build-task/esm2022/page/footer/footer.build.mjs +15 -0
  166. package/build-task/esm2022/page/header/header.build.mjs +15 -0
  167. package/build-task/esm2022/page/layout.build.mjs +15 -0
  168. package/build-task/esm2022/page/left-panel/left-panel.build.mjs +15 -0
  169. package/build-task/esm2022/page/mobile-navbar/mobile-navbar.build.mjs +10 -0
  170. package/build-task/esm2022/page/page-content/page-content.build.mjs +36 -0
  171. package/build-task/esm2022/page/page.build.mjs +59 -0
  172. package/build-task/esm2022/page/right-panel/right-panel.build.mjs +15 -0
  173. package/build-task/esm2022/page/router-outlet/router-outlet.build.mjs +10 -0
  174. package/build-task/esm2022/page/tab-bar/tab-bar.build.mjs +10 -0
  175. package/build-task/esm2022/page/top-nav/top-nav.build.mjs +15 -0
  176. package/build-task/esm2022/partial/partial.build.mjs +25 -0
  177. package/build-task/esm2022/partial-param/partial-param.build.mjs +10 -0
  178. package/build-task/esm2022/prefab/prefab-container/prefab-container.build.mjs +25 -0
  179. package/build-task/esm2022/prefab/prefab.build.mjs +10 -0
  180. package/build-task/esm2022/public_api.mjs +113 -0
  181. package/build-task/esm2022/utils/utils.mjs +69 -0
  182. package/build-task/fesm2022/index.mjs +2998 -0
  183. package/build-task/fesm2022/index.mjs.map +1 -0
  184. package/build-task/index.d.ts +5 -0
  185. package/build-task/input/calendar/calendar.build.d.ts +2 -0
  186. package/build-task/input/chips/chips.build.d.ts +2 -0
  187. package/build-task/input/color-picker/color-picker.build.d.ts +2 -0
  188. package/build-task/input/currency/currency.build.d.ts +2 -0
  189. package/build-task/input/default/button/button.build.d.ts +2 -0
  190. package/build-task/input/default/button-group/button-group.build.d.ts +2 -0
  191. package/build-task/input/default/checkbox/checkbox.build.d.ts +2 -0
  192. package/build-task/input/default/checkboxset/checkboxset.build.d.ts +2 -0
  193. package/build-task/input/default/composite/composite.build.d.ts +2 -0
  194. package/build-task/input/default/number/number.build.d.ts +2 -0
  195. package/build-task/input/default/radioset/radioset.build.d.ts +2 -0
  196. package/build-task/input/default/select/select.build.d.ts +2 -0
  197. package/build-task/input/default/switch/switch.build.d.ts +2 -0
  198. package/build-task/input/default/text/text.build.d.ts +2 -0
  199. package/build-task/input/default/textarea/textarea.build.d.ts +2 -0
  200. package/build-task/input/epoch/date/date.build.d.ts +2 -0
  201. package/build-task/input/epoch/date-time/date-time.build.d.ts +2 -0
  202. package/build-task/input/epoch/time/time.build.d.ts +2 -0
  203. package/build-task/input/file-upload/file-upload.build.d.ts +2 -0
  204. package/build-task/input/rating/rating.build.d.ts +2 -0
  205. package/build-task/input/slider/slider.build.d.ts +2 -0
  206. package/build-task/message/message.build.d.ts +2 -0
  207. package/build-task/navigation/breadcrumb/breadcrumb.build.d.ts +2 -0
  208. package/build-task/navigation/menu/menu.build.d.ts +2 -0
  209. package/build-task/navigation/nav/nav-item/nav-item.build.d.ts +2 -0
  210. package/build-task/navigation/nav/nav.build.d.ts +2 -0
  211. package/build-task/navigation/navbar/navbar.build.d.ts +2 -0
  212. package/build-task/navigation/popover/popover.build.d.ts +2 -0
  213. package/build-task/package.json +25 -0
  214. package/build-task/page/content/content.build.d.ts +2 -0
  215. package/build-task/page/footer/footer.build.d.ts +2 -0
  216. package/build-task/page/header/header.build.d.ts +2 -0
  217. package/build-task/page/layout.build.d.ts +2 -0
  218. package/build-task/page/left-panel/left-panel.build.d.ts +2 -0
  219. package/build-task/page/mobile-navbar/mobile-navbar.build.d.ts +2 -0
  220. package/build-task/page/page-content/page-content.build.d.ts +2 -0
  221. package/build-task/page/page.build.d.ts +2 -0
  222. package/build-task/page/right-panel/right-panel.build.d.ts +2 -0
  223. package/build-task/page/router-outlet/router-outlet.build.d.ts +2 -0
  224. package/build-task/page/tab-bar/tab-bar.build.d.ts +2 -0
  225. package/build-task/page/top-nav/top-nav.build.d.ts +2 -0
  226. package/build-task/partial/partial.build.d.ts +2 -0
  227. package/build-task/partial-param/partial-param.build.d.ts +2 -0
  228. package/build-task/prefab/prefab-container/prefab-container.build.d.ts +2 -0
  229. package/build-task/prefab/prefab.build.d.ts +2 -0
  230. package/build-task/public_api.d.ts +112 -0
  231. package/build-task/utils/utils.d.ts +21 -0
  232. package/components/advanced/carousel/.npmignore +2 -0
  233. package/components/advanced/carousel/bundles/index.umd.js +352 -0
  234. package/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +9 -0
  235. package/components/advanced/carousel/carousel-template/carousel-template.props.d.ts +1 -0
  236. package/components/advanced/carousel/carousel.animator.d.ts +45 -0
  237. package/components/advanced/carousel/carousel.directive.d.ts +35 -0
  238. package/components/advanced/carousel/carousel.props.d.ts +1 -0
  239. package/components/advanced/carousel/esm2022/carousel-template/carousel-template.directive.mjs +32 -0
  240. package/components/advanced/carousel/esm2022/carousel-template/carousel-template.props.mjs +7 -0
  241. package/components/advanced/carousel/esm2022/carousel.animator.mjs +149 -0
  242. package/components/advanced/carousel/esm2022/carousel.directive.mjs +135 -0
  243. package/components/advanced/carousel/esm2022/carousel.props.mjs +13 -0
  244. package/components/advanced/carousel/esm2022/index.mjs +5 -0
  245. package/components/advanced/carousel/esm2022/public_api.mjs +4 -0
  246. package/components/advanced/carousel/fesm2022/index.mjs +335 -0
  247. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -0
  248. package/components/advanced/carousel/index.d.ts +5 -0
  249. package/components/advanced/carousel/package.json +20 -0
  250. package/components/advanced/carousel/public_api.d.ts +3 -0
  251. package/components/advanced/custom/.npmignore +2 -0
  252. package/components/advanced/custom/bundles/index.umd.js +258 -0
  253. package/components/advanced/custom/custom-widget-container/custom-widget-container.directive.d.ts +29 -0
  254. package/components/advanced/custom/custom-widget-container/custom-widget.props.d.ts +2 -0
  255. package/components/advanced/custom/custom-widget-prop.d.ts +1 -0
  256. package/components/advanced/custom/custom-widget.directive.d.ts +19 -0
  257. package/components/advanced/custom/esm2022/custom-widget-container/custom-widget-container.directive.mjs +156 -0
  258. package/components/advanced/custom/esm2022/custom-widget-container/custom-widget.props.mjs +12 -0
  259. package/components/advanced/custom/esm2022/custom-widget-prop.mjs +8 -0
  260. package/components/advanced/custom/esm2022/custom-widget.directive.mjs +70 -0
  261. package/components/advanced/custom/esm2022/index.mjs +5 -0
  262. package/components/advanced/custom/esm2022/public_api.mjs +3 -0
  263. package/components/advanced/custom/fesm2022/index.mjs +244 -0
  264. package/components/advanced/custom/fesm2022/index.mjs.map +1 -0
  265. package/components/advanced/custom/index.d.ts +5 -0
  266. package/components/advanced/custom/package.json +20 -0
  267. package/components/advanced/custom/public_api.d.ts +2 -0
  268. package/components/advanced/login/.npmignore +2 -0
  269. package/components/advanced/login/bundles/index.umd.js +135 -0
  270. package/components/advanced/login/esm2022/index.mjs +5 -0
  271. package/components/advanced/login/esm2022/login.component.mjs +107 -0
  272. package/components/advanced/login/esm2022/login.props.mjs +8 -0
  273. package/components/advanced/login/esm2022/public_api.mjs +2 -0
  274. package/components/advanced/login/fesm2022/index.mjs +120 -0
  275. package/components/advanced/login/fesm2022/index.mjs.map +1 -0
  276. package/components/advanced/login/index.d.ts +5 -0
  277. package/components/advanced/login/login.component.d.ts +31 -0
  278. package/components/advanced/login/login.props.d.ts +1 -0
  279. package/components/advanced/login/package.json +20 -0
  280. package/components/advanced/login/public_api.d.ts +1 -0
  281. package/components/advanced/marquee/.npmignore +2 -0
  282. package/components/advanced/marquee/bundles/index.umd.js +71 -0
  283. package/components/advanced/marquee/esm2022/index.mjs +5 -0
  284. package/components/advanced/marquee/esm2022/marquee.directive.mjs +36 -0
  285. package/components/advanced/marquee/esm2022/marquee.props.mjs +12 -0
  286. package/components/advanced/marquee/esm2022/public_api.mjs +2 -0
  287. package/components/advanced/marquee/fesm2022/index.mjs +53 -0
  288. package/components/advanced/marquee/fesm2022/index.mjs.map +1 -0
  289. package/components/advanced/marquee/index.d.ts +5 -0
  290. package/components/advanced/marquee/marquee.directive.d.ts +9 -0
  291. package/components/advanced/marquee/marquee.props.d.ts +1 -0
  292. package/components/advanced/marquee/package.json +20 -0
  293. package/components/advanced/marquee/public_api.d.ts +1 -0
  294. package/components/base/.npmignore +2 -0
  295. package/components/base/bundles/index.umd.js +5982 -0
  296. package/components/base/decorators/autolayout.decorator.d.ts +4 -0
  297. package/components/base/decorators/autolayout.props.d.ts +1 -0
  298. package/components/base/directives/show-in-device.directive.d.ts +16 -0
  299. package/components/base/esm2022/decorators/autolayout.decorator.mjs +476 -0
  300. package/components/base/esm2022/decorators/autolayout.props.mjs +20 -0
  301. package/components/base/esm2022/directives/show-in-device.directive.mjs +90 -0
  302. package/components/base/esm2022/index.mjs +5 -0
  303. package/components/base/esm2022/pipes/custom-pipes.mjs +473 -0
  304. package/components/base/esm2022/pipes/image.pipe.mjs +19 -0
  305. package/components/base/esm2022/pipes/sanitize.pipe.mjs +44 -0
  306. package/components/base/esm2022/pipes/trust-as.pipe.mjs +41 -0
  307. package/components/base/esm2022/pipes/wm-pipe.mjs +18 -0
  308. package/components/base/esm2022/public_api.mjs +36 -0
  309. package/components/base/esm2022/utils/autolayout-utils.mjs +261 -0
  310. package/components/base/esm2022/utils/data-utils.mjs +581 -0
  311. package/components/base/esm2022/utils/form-utils.mjs +451 -0
  312. package/components/base/esm2022/utils/live-utils.mjs +216 -0
  313. package/components/base/esm2022/utils/widget-utils.mjs +495 -0
  314. package/components/base/esm2022/widgets/common/base/base-container.component.mjs +80 -0
  315. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +295 -0
  316. package/components/base/esm2022/widgets/common/base/base.component.mjs +713 -0
  317. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +48 -0
  318. package/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +222 -0
  319. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +115 -0
  320. package/components/base/esm2022/widgets/common/base/stylable.component.mjs +11 -0
  321. package/components/base/esm2022/widgets/common/base/text-content.directive.mjs +26 -0
  322. package/components/base/esm2022/widgets/common/container/container.directive.mjs +51 -0
  323. package/components/base/esm2022/widgets/common/container/container.props.mjs +15 -0
  324. package/components/base/esm2022/widgets/common/dialog/dialog.service.mjs +170 -0
  325. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +89 -0
  326. package/components/base/esm2022/widgets/common/item-template/item-template.props.mjs +7 -0
  327. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +84 -0
  328. package/components/base/esm2022/widgets/common/message/message.component.mjs +104 -0
  329. package/components/base/esm2022/widgets/common/message/message.props.mjs +13 -0
  330. package/components/base/esm2022/widgets/common/partial/partial.directive.mjs +53 -0
  331. package/components/base/esm2022/widgets/common/partial/partial.props.mjs +7 -0
  332. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +88 -0
  333. package/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +261 -0
  334. package/components/base/esm2022/widgets/common/redraw/redrawable.directive.mjs +40 -0
  335. package/components/base/esm2022/widgets/common/repeat-template/repeat-template.directive.mjs +33 -0
  336. package/components/base/esm2022/widgets/common/repeat-template/repeat-template.props.mjs +7 -0
  337. package/components/base/esm2022/widgets/framework/constants.mjs +36 -0
  338. package/components/base/esm2022/widgets/framework/deviceview.mjs +126 -0
  339. package/components/base/esm2022/widgets/framework/property-change-handler.mjs +96 -0
  340. package/components/base/esm2022/widgets/framework/styler.mjs +123 -0
  341. package/components/base/esm2022/widgets/framework/types.mjs +8 -0
  342. package/components/base/esm2022/widgets/framework/widget-id-generator.mjs +3 -0
  343. package/components/base/esm2022/widgets/framework/widget-props.mjs +35 -0
  344. package/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +75 -0
  345. package/components/base/esm2022/widgets/framework/widget-registry.mjs +49 -0
  346. package/components/base/fesm2022/index.mjs +5858 -0
  347. package/components/base/fesm2022/index.mjs.map +1 -0
  348. package/components/base/index.d.ts +5 -0
  349. package/components/base/package.json +28 -0
  350. package/components/base/pipes/custom-pipes.d.ts +104 -0
  351. package/components/base/pipes/image.pipe.d.ts +7 -0
  352. package/components/base/pipes/sanitize.pipe.d.ts +10 -0
  353. package/components/base/pipes/trust-as.pipe.d.ts +10 -0
  354. package/components/base/pipes/wm-pipe.d.ts +9 -0
  355. package/components/base/public_api.d.ts +35 -0
  356. package/components/base/utils/autolayout-utils.d.ts +29 -0
  357. package/components/base/utils/data-utils.d.ts +181 -0
  358. package/components/base/utils/form-utils.d.ts +85 -0
  359. package/components/base/utils/live-utils.d.ts +65 -0
  360. package/components/base/utils/widget-utils.d.ts +120 -0
  361. package/components/base/widgets/common/base/base-container.component.d.ts +16 -0
  362. package/components/base/widgets/common/base/base-field-validations.d.ts +27 -0
  363. package/components/base/widgets/common/base/base.component.d.ts +276 -0
  364. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +15 -0
  365. package/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +77 -0
  366. package/components/base/widgets/common/base/partial-container.directive.d.ts +22 -0
  367. package/components/base/widgets/common/base/stylable.component.d.ts +54 -0
  368. package/components/base/widgets/common/base/text-content.directive.d.ts +9 -0
  369. package/components/base/widgets/common/container/container.directive.d.ts +12 -0
  370. package/components/base/widgets/common/container/container.props.d.ts +1 -0
  371. package/components/base/widgets/common/dialog/dialog.service.d.ts +54 -0
  372. package/components/base/widgets/common/item-template/item-template.directive.d.ts +32 -0
  373. package/components/base/widgets/common/item-template/item-template.props.d.ts +1 -0
  374. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +15 -0
  375. package/components/base/widgets/common/message/message.component.d.ts +19 -0
  376. package/components/base/widgets/common/message/message.props.d.ts +1 -0
  377. package/components/base/widgets/common/partial/partial.directive.d.ts +15 -0
  378. package/components/base/widgets/common/partial/partial.props.d.ts +1 -0
  379. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +21 -0
  380. package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +48 -0
  381. package/components/base/widgets/common/redraw/redrawable.directive.d.ts +8 -0
  382. package/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +9 -0
  383. package/components/base/widgets/common/repeat-template/repeat-template.props.d.ts +1 -0
  384. package/components/base/widgets/framework/constants.d.ts +16 -0
  385. package/components/base/widgets/framework/deviceview.d.ts +1 -0
  386. package/components/base/widgets/framework/property-change-handler.d.ts +8 -0
  387. package/components/base/widgets/framework/styler.d.ts +59 -0
  388. package/components/base/widgets/framework/types.d.ts +23 -0
  389. package/components/base/widgets/framework/widget-id-generator.d.ts +2 -0
  390. package/components/base/widgets/framework/widget-props.d.ts +12 -0
  391. package/components/base/widgets/framework/widget-proxy-provider.d.ts +11 -0
  392. package/components/base/widgets/framework/widget-registry.d.ts +14 -0
  393. package/components/basic/anchor/.npmignore +2 -0
  394. package/components/basic/anchor/anchor.component.d.ts +37 -0
  395. package/components/basic/anchor/anchor.props.d.ts +1 -0
  396. package/components/basic/anchor/bundles/index.umd.js +204 -0
  397. package/components/basic/anchor/esm2022/anchor.component.mjs +155 -0
  398. package/components/basic/anchor/esm2022/anchor.props.mjs +27 -0
  399. package/components/basic/anchor/esm2022/index.mjs +5 -0
  400. package/components/basic/anchor/esm2022/public_api.mjs +2 -0
  401. package/components/basic/anchor/fesm2022/index.mjs +187 -0
  402. package/components/basic/anchor/fesm2022/index.mjs.map +1 -0
  403. package/components/basic/anchor/index.d.ts +5 -0
  404. package/components/basic/anchor/package.json +20 -0
  405. package/components/basic/anchor/public_api.d.ts +1 -0
  406. package/components/basic/audio/.npmignore +2 -0
  407. package/components/basic/audio/audio.component.d.ts +20 -0
  408. package/components/basic/audio/audio.props.d.ts +1 -0
  409. package/components/basic/audio/bundles/index.umd.js +83 -0
  410. package/components/basic/audio/esm2022/audio.component.mjs +41 -0
  411. package/components/basic/audio/esm2022/audio.props.mjs +19 -0
  412. package/components/basic/audio/esm2022/index.mjs +5 -0
  413. package/components/basic/audio/esm2022/public_api.mjs +2 -0
  414. package/components/basic/audio/fesm2022/index.mjs +65 -0
  415. package/components/basic/audio/fesm2022/index.mjs.map +1 -0
  416. package/components/basic/audio/index.d.ts +5 -0
  417. package/components/basic/audio/package.json +20 -0
  418. package/components/basic/audio/public_api.d.ts +1 -0
  419. package/components/basic/html/.npmignore +2 -0
  420. package/components/basic/html/bundles/index.umd.js +122 -0
  421. package/components/basic/html/esm2022/html.directive.mjs +88 -0
  422. package/components/basic/html/esm2022/html.props.mjs +12 -0
  423. package/components/basic/html/esm2022/index.mjs +5 -0
  424. package/components/basic/html/esm2022/public_api.mjs +2 -0
  425. package/components/basic/html/fesm2022/index.mjs +105 -0
  426. package/components/basic/html/fesm2022/index.mjs.map +1 -0
  427. package/components/basic/html/html.directive.d.ts +14 -0
  428. package/components/basic/html/html.props.d.ts +1 -0
  429. package/components/basic/html/index.d.ts +5 -0
  430. package/components/basic/html/package.json +20 -0
  431. package/components/basic/html/public_api.d.ts +1 -0
  432. package/components/basic/icon/.npmignore +2 -0
  433. package/components/basic/icon/bundles/index.umd.js +80 -0
  434. package/components/basic/icon/esm2022/icon.component.mjs +38 -0
  435. package/components/basic/icon/esm2022/icon.props.mjs +19 -0
  436. package/components/basic/icon/esm2022/index.mjs +5 -0
  437. package/components/basic/icon/esm2022/public_api.mjs +2 -0
  438. package/components/basic/icon/fesm2022/index.mjs +62 -0
  439. package/components/basic/icon/fesm2022/index.mjs.map +1 -0
  440. package/components/basic/icon/icon.component.d.ts +15 -0
  441. package/components/basic/icon/icon.props.d.ts +1 -0
  442. package/components/basic/icon/index.d.ts +5 -0
  443. package/components/basic/icon/package.json +20 -0
  444. package/components/basic/icon/public_api.d.ts +1 -0
  445. package/components/basic/iframe/.npmignore +2 -0
  446. package/components/basic/iframe/bundles/index.umd.js +101 -0
  447. package/components/basic/iframe/esm2022/iframe.component.mjs +65 -0
  448. package/components/basic/iframe/esm2022/iframe.props.mjs +15 -0
  449. package/components/basic/iframe/esm2022/index.mjs +5 -0
  450. package/components/basic/iframe/esm2022/public_api.mjs +2 -0
  451. package/components/basic/iframe/fesm2022/index.mjs +84 -0
  452. package/components/basic/iframe/fesm2022/index.mjs.map +1 -0
  453. package/components/basic/iframe/iframe.component.d.ts +26 -0
  454. package/components/basic/iframe/iframe.props.d.ts +1 -0
  455. package/components/basic/iframe/index.d.ts +5 -0
  456. package/components/basic/iframe/package.json +20 -0
  457. package/components/basic/iframe/public_api.d.ts +1 -0
  458. package/components/basic/label/.npmignore +2 -0
  459. package/components/basic/label/bundles/index.umd.js +129 -0
  460. package/components/basic/label/esm2022/index.mjs +5 -0
  461. package/components/basic/label/esm2022/label.directive.mjs +91 -0
  462. package/components/basic/label/esm2022/label.props.mjs +17 -0
  463. package/components/basic/label/esm2022/public_api.mjs +2 -0
  464. package/components/basic/label/fesm2022/index.mjs +113 -0
  465. package/components/basic/label/fesm2022/index.mjs.map +1 -0
  466. package/components/basic/label/index.d.ts +5 -0
  467. package/components/basic/label/label.directive.d.ts +12 -0
  468. package/components/basic/label/label.props.d.ts +1 -0
  469. package/components/basic/label/package.json +20 -0
  470. package/components/basic/label/public_api.d.ts +1 -0
  471. package/components/basic/picture/.npmignore +2 -0
  472. package/components/basic/picture/bundles/index.umd.js +138 -0
  473. package/components/basic/picture/esm2022/index.mjs +5 -0
  474. package/components/basic/picture/esm2022/picture.directive.mjs +93 -0
  475. package/components/basic/picture/esm2022/picture.props.mjs +23 -0
  476. package/components/basic/picture/esm2022/public_api.mjs +2 -0
  477. package/components/basic/picture/fesm2022/index.mjs +121 -0
  478. package/components/basic/picture/fesm2022/index.mjs.map +1 -0
  479. package/components/basic/picture/index.d.ts +5 -0
  480. package/components/basic/picture/package.json +20 -0
  481. package/components/basic/picture/picture.directive.d.ts +19 -0
  482. package/components/basic/picture/picture.props.d.ts +1 -0
  483. package/components/basic/picture/public_api.d.ts +1 -0
  484. package/components/basic/progress/progress-bar/.npmignore +2 -0
  485. package/components/basic/progress/progress-bar/bundles/index.umd.js +170 -0
  486. package/components/basic/progress/progress-bar/esm2022/index.mjs +5 -0
  487. package/components/basic/progress/progress-bar/esm2022/progress-bar.component.mjs +130 -0
  488. package/components/basic/progress/progress-bar/esm2022/progress-bar.props.mjs +19 -0
  489. package/components/basic/progress/progress-bar/esm2022/public_api.mjs +2 -0
  490. package/components/basic/progress/progress-bar/fesm2022/index.mjs +154 -0
  491. package/components/basic/progress/progress-bar/fesm2022/index.mjs.map +1 -0
  492. package/components/basic/progress/progress-bar/index.d.ts +5 -0
  493. package/components/basic/progress/progress-bar/package.json +20 -0
  494. package/components/basic/progress/progress-bar/progress-bar.component.d.ts +43 -0
  495. package/components/basic/progress/progress-bar/progress-bar.props.d.ts +1 -0
  496. package/components/basic/progress/progress-bar/public_api.d.ts +1 -0
  497. package/components/basic/progress/progress-circle/.npmignore +2 -0
  498. package/components/basic/progress/progress-circle/bundles/index.umd.js +171 -0
  499. package/components/basic/progress/progress-circle/esm2022/index.mjs +5 -0
  500. package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +130 -0
  501. package/components/basic/progress/progress-circle/esm2022/progress-circle.props.mjs +21 -0
  502. package/components/basic/progress/progress-circle/esm2022/public_api.mjs +2 -0
  503. package/components/basic/progress/progress-circle/fesm2022/index.mjs +155 -0
  504. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -0
  505. package/components/basic/progress/progress-circle/index.d.ts +5 -0
  506. package/components/basic/progress/progress-circle/package.json +20 -0
  507. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +40 -0
  508. package/components/basic/progress/progress-circle/progress-circle.props.d.ts +1 -0
  509. package/components/basic/progress/progress-circle/public_api.d.ts +1 -0
  510. package/components/basic/progress/progress-utils/.npmignore +2 -0
  511. package/components/basic/progress/progress-utils/bundles/index.umd.js +35 -0
  512. package/components/basic/progress/progress-utils/esm2022/index.mjs +5 -0
  513. package/components/basic/progress/progress-utils/esm2022/progress-utils.mjs +25 -0
  514. package/components/basic/progress/progress-utils/esm2022/public_api.mjs +2 -0
  515. package/components/basic/progress/progress-utils/fesm2022/index.mjs +32 -0
  516. package/components/basic/progress/progress-utils/fesm2022/index.mjs.map +1 -0
  517. package/components/basic/progress/progress-utils/index.d.ts +5 -0
  518. package/components/basic/progress/progress-utils/package.json +20 -0
  519. package/components/basic/progress/progress-utils/progress-utils.d.ts +3 -0
  520. package/components/basic/progress/progress-utils/public_api.d.ts +1 -0
  521. package/components/basic/rich-text-editor/.npmignore +2 -0
  522. package/components/basic/rich-text-editor/bundles/index.umd.js +236 -0
  523. package/components/basic/rich-text-editor/esm2022/index.mjs +5 -0
  524. package/components/basic/rich-text-editor/esm2022/public_api.mjs +2 -0
  525. package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +197 -0
  526. package/components/basic/rich-text-editor/esm2022/rich-text-editor.props.mjs +21 -0
  527. package/components/basic/rich-text-editor/fesm2022/index.mjs +222 -0
  528. package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -0
  529. package/components/basic/rich-text-editor/index.d.ts +5 -0
  530. package/components/basic/rich-text-editor/package.json +20 -0
  531. package/components/basic/rich-text-editor/public_api.d.ts +1 -0
  532. package/components/basic/rich-text-editor/rich-text-editor.component.d.ts +55 -0
  533. package/components/basic/rich-text-editor/rich-text-editor.props.d.ts +2 -0
  534. package/components/basic/search/.npmignore +2 -0
  535. package/components/basic/search/bundles/index.umd.js +1091 -0
  536. package/components/basic/search/data-provider/data-provider.d.ts +42 -0
  537. package/components/basic/search/data-provider/local-data-provider.d.ts +5 -0
  538. package/components/basic/search/data-provider/remote-data-provider.d.ts +10 -0
  539. package/components/basic/search/esm2022/data-provider/data-provider.mjs +34 -0
  540. package/components/basic/search/esm2022/data-provider/local-data-provider.mjs +77 -0
  541. package/components/basic/search/esm2022/data-provider/remote-data-provider.mjs +124 -0
  542. package/components/basic/search/esm2022/index.mjs +5 -0
  543. package/components/basic/search/esm2022/public_api.mjs +3 -0
  544. package/components/basic/search/esm2022/scrollable.directive.mjs +44 -0
  545. package/components/basic/search/esm2022/search.component.mjs +754 -0
  546. package/components/basic/search/esm2022/search.props.mjs +55 -0
  547. package/components/basic/search/fesm2022/index.mjs +1080 -0
  548. package/components/basic/search/fesm2022/index.mjs.map +1 -0
  549. package/components/basic/search/index.d.ts +5 -0
  550. package/components/basic/search/package.json +20 -0
  551. package/components/basic/search/public_api.d.ts +2 -0
  552. package/components/basic/search/scrollable.directive.d.ts +14 -0
  553. package/components/basic/search/search.component.d.ts +109 -0
  554. package/components/basic/search/search.props.d.ts +2 -0
  555. package/components/basic/spinner/.npmignore +2 -0
  556. package/components/basic/spinner/bundles/index.umd.js +126 -0
  557. package/components/basic/spinner/esm2022/index.mjs +5 -0
  558. package/components/basic/spinner/esm2022/public_api.mjs +2 -0
  559. package/components/basic/spinner/esm2022/spinner.component.mjs +87 -0
  560. package/components/basic/spinner/esm2022/spinner.props.mjs +20 -0
  561. package/components/basic/spinner/fesm2022/index.mjs +111 -0
  562. package/components/basic/spinner/fesm2022/index.mjs.map +1 -0
  563. package/components/basic/spinner/index.d.ts +5 -0
  564. package/components/basic/spinner/package.json +20 -0
  565. package/components/basic/spinner/public_api.d.ts +1 -0
  566. package/components/basic/spinner/spinner.component.d.ts +27 -0
  567. package/components/basic/spinner/spinner.props.d.ts +1 -0
  568. package/components/basic/tree/.npmignore +2 -0
  569. package/components/basic/tree/bundles/index.umd.js +566 -0
  570. package/components/basic/tree/esm2022/index.mjs +5 -0
  571. package/components/basic/tree/esm2022/public_api.mjs +2 -0
  572. package/components/basic/tree/esm2022/tree-node-template-host.component.mjs +33 -0
  573. package/components/basic/tree/esm2022/tree.component.mjs +494 -0
  574. package/components/basic/tree/esm2022/tree.props.mjs +22 -0
  575. package/components/basic/tree/fesm2022/index.mjs +550 -0
  576. package/components/basic/tree/fesm2022/index.mjs.map +1 -0
  577. package/components/basic/tree/index.d.ts +5 -0
  578. package/components/basic/tree/package.json +20 -0
  579. package/components/basic/tree/public_api.d.ts +1 -0
  580. package/components/basic/tree/tree-node-template-host.component.d.ts +7 -0
  581. package/components/basic/tree/tree.component.d.ts +66 -0
  582. package/components/basic/tree/tree.props.d.ts +1 -0
  583. package/components/basic/video/.npmignore +2 -0
  584. package/components/basic/video/bundles/index.umd.js +116 -0
  585. package/components/basic/video/esm2022/index.mjs +5 -0
  586. package/components/basic/video/esm2022/public_api.mjs +2 -0
  587. package/components/basic/video/esm2022/video.component.mjs +70 -0
  588. package/components/basic/video/esm2022/video.props.mjs +24 -0
  589. package/components/basic/video/fesm2022/index.mjs +99 -0
  590. package/components/basic/video/fesm2022/index.mjs.map +1 -0
  591. package/components/basic/video/index.d.ts +5 -0
  592. package/components/basic/video/package.json +20 -0
  593. package/components/basic/video/public_api.d.ts +1 -0
  594. package/components/basic/video/video.component.d.ts +27 -0
  595. package/components/basic/video/video.props.d.ts +1 -0
  596. package/components/chart/.npmignore +2 -0
  597. package/components/chart/bundles/index.umd.js +1747 -0
  598. package/components/chart/chart.component.d.ts +99 -0
  599. package/components/chart/chart.props.d.ts +1 -0
  600. package/components/chart/chart.utils.d.ts +40 -0
  601. package/components/chart/esm2022/chart.component.mjs +982 -0
  602. package/components/chart/esm2022/chart.props.mjs +67 -0
  603. package/components/chart/esm2022/chart.utils.mjs +723 -0
  604. package/components/chart/esm2022/index.mjs +5 -0
  605. package/components/chart/esm2022/public_api.mjs +2 -0
  606. package/components/chart/fesm2022/index.mjs +1774 -0
  607. package/components/chart/fesm2022/index.mjs.map +1 -0
  608. package/components/chart/index.d.ts +5 -0
  609. package/components/chart/package.json +20 -0
  610. package/components/chart/public_api.d.ts +1 -0
  611. package/components/containers/accordion/.npmignore +2 -0
  612. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +50 -0
  613. package/components/containers/accordion/accordion-pane/accordion-pane.props.d.ts +1 -0
  614. package/components/containers/accordion/accordion.directive.d.ts +66 -0
  615. package/components/containers/accordion/accordion.props.d.ts +1 -0
  616. package/components/containers/accordion/bundles/index.umd.js +500 -0
  617. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +145 -0
  618. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.props.mjs +22 -0
  619. package/components/containers/accordion/esm2022/accordion.directive.mjs +309 -0
  620. package/components/containers/accordion/esm2022/accordion.props.mjs +16 -0
  621. package/components/containers/accordion/esm2022/index.mjs +5 -0
  622. package/components/containers/accordion/esm2022/public_api.mjs +3 -0
  623. package/components/containers/accordion/fesm2022/index.mjs +486 -0
  624. package/components/containers/accordion/fesm2022/index.mjs.map +1 -0
  625. package/components/containers/accordion/index.d.ts +5 -0
  626. package/components/containers/accordion/package.json +20 -0
  627. package/components/containers/accordion/public_api.d.ts +2 -0
  628. package/components/containers/layout-grid/.npmignore +2 -0
  629. package/components/containers/layout-grid/bundles/index.umd.js +172 -0
  630. package/components/containers/layout-grid/esm2022/index.mjs +5 -0
  631. package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.directive.mjs +57 -0
  632. package/components/containers/layout-grid/esm2022/layout-grid-column/layout-grid-column.props.mjs +11 -0
  633. package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.directive.mjs +36 -0
  634. package/components/containers/layout-grid/esm2022/layout-grid-row/layout-grid-row.props.mjs +9 -0
  635. package/components/containers/layout-grid/esm2022/layout-grid.directive.mjs +36 -0
  636. package/components/containers/layout-grid/esm2022/layout-grid.props.mjs +9 -0
  637. package/components/containers/layout-grid/esm2022/public_api.mjs +4 -0
  638. package/components/containers/layout-grid/fesm2022/index.mjs +153 -0
  639. package/components/containers/layout-grid/fesm2022/index.mjs.map +1 -0
  640. package/components/containers/layout-grid/index.d.ts +5 -0
  641. package/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +12 -0
  642. package/components/containers/layout-grid/layout-grid-column/layout-grid-column.props.d.ts +1 -0
  643. package/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +9 -0
  644. package/components/containers/layout-grid/layout-grid-row/layout-grid-row.props.d.ts +1 -0
  645. package/components/containers/layout-grid/layout-grid.directive.d.ts +9 -0
  646. package/components/containers/layout-grid/layout-grid.props.d.ts +1 -0
  647. package/components/containers/layout-grid/package.json +20 -0
  648. package/components/containers/layout-grid/public_api.d.ts +3 -0
  649. package/components/containers/linear-layout/.npmignore +2 -0
  650. package/components/containers/linear-layout/bundles/index.umd.js +186 -0
  651. package/components/containers/linear-layout/esm2022/index.mjs +5 -0
  652. package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.directive.mjs +44 -0
  653. package/components/containers/linear-layout/esm2022/linear-layout-item/linear-layout-item.props.mjs +10 -0
  654. package/components/containers/linear-layout/esm2022/linear-layout.directive.mjs +100 -0
  655. package/components/containers/linear-layout/esm2022/linear-layout.props.mjs +13 -0
  656. package/components/containers/linear-layout/esm2022/public_api.mjs +3 -0
  657. package/components/containers/linear-layout/fesm2022/index.mjs +167 -0
  658. package/components/containers/linear-layout/fesm2022/index.mjs.map +1 -0
  659. package/components/containers/linear-layout/index.d.ts +5 -0
  660. package/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +10 -0
  661. package/components/containers/linear-layout/linear-layout-item/linear-layout-item.props.d.ts +1 -0
  662. package/components/containers/linear-layout/linear-layout.directive.d.ts +16 -0
  663. package/components/containers/linear-layout/linear-layout.props.d.ts +1 -0
  664. package/components/containers/linear-layout/package.json +20 -0
  665. package/components/containers/linear-layout/public_api.d.ts +2 -0
  666. package/components/containers/panel/.npmignore +2 -0
  667. package/components/containers/panel/bundles/index.umd.js +223 -0
  668. package/components/containers/panel/esm2022/index.mjs +5 -0
  669. package/components/containers/panel/esm2022/panel.component.mjs +168 -0
  670. package/components/containers/panel/esm2022/panel.props.mjs +38 -0
  671. package/components/containers/panel/esm2022/public_api.mjs +2 -0
  672. package/components/containers/panel/fesm2022/index.mjs +210 -0
  673. package/components/containers/panel/fesm2022/index.mjs.map +1 -0
  674. package/components/containers/panel/index.d.ts +5 -0
  675. package/components/containers/panel/package.json +20 -0
  676. package/components/containers/panel/panel.component.d.ts +43 -0
  677. package/components/containers/panel/panel.props.d.ts +1 -0
  678. package/components/containers/panel/public_api.d.ts +1 -0
  679. package/components/containers/tabs/.npmignore +2 -0
  680. package/components/containers/tabs/bundles/index.umd.js +788 -0
  681. package/components/containers/tabs/esm2022/index.mjs +5 -0
  682. package/components/containers/tabs/esm2022/public_api.mjs +3 -0
  683. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +179 -0
  684. package/components/containers/tabs/esm2022/tab-pane/tab-pane.props.mjs +22 -0
  685. package/components/containers/tabs/esm2022/tabs.animator.mjs +83 -0
  686. package/components/containers/tabs/esm2022/tabs.component.mjs +478 -0
  687. package/components/containers/tabs/esm2022/tabs.props.mjs +20 -0
  688. package/components/containers/tabs/fesm2022/index.mjs +775 -0
  689. package/components/containers/tabs/fesm2022/index.mjs.map +1 -0
  690. package/components/containers/tabs/index.d.ts +5 -0
  691. package/components/containers/tabs/package.json +20 -0
  692. package/components/containers/tabs/public_api.d.ts +2 -0
  693. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +41 -0
  694. package/components/containers/tabs/tab-pane/tab-pane.props.d.ts +1 -0
  695. package/components/containers/tabs/tabs.animator.d.ts +30 -0
  696. package/components/containers/tabs/tabs.component.d.ts +87 -0
  697. package/components/containers/tabs/tabs.props.d.ts +1 -0
  698. package/components/containers/tile/.npmignore +2 -0
  699. package/components/containers/tile/bundles/index.umd.js +68 -0
  700. package/components/containers/tile/esm2022/index.mjs +5 -0
  701. package/components/containers/tile/esm2022/public_api.mjs +2 -0
  702. package/components/containers/tile/esm2022/tile.directive.mjs +33 -0
  703. package/components/containers/tile/esm2022/tile.props.mjs +12 -0
  704. package/components/containers/tile/fesm2022/index.mjs +50 -0
  705. package/components/containers/tile/fesm2022/index.mjs.map +1 -0
  706. package/components/containers/tile/index.d.ts +5 -0
  707. package/components/containers/tile/package.json +20 -0
  708. package/components/containers/tile/public_api.d.ts +1 -0
  709. package/components/containers/tile/tile.directive.d.ts +9 -0
  710. package/components/containers/tile/tile.props.d.ts +1 -0
  711. package/components/containers/wizard/.npmignore +2 -0
  712. package/components/containers/wizard/bundles/index.umd.js +1074 -0
  713. package/components/containers/wizard/esm2022/index.mjs +5 -0
  714. package/components/containers/wizard/esm2022/public_api.mjs +4 -0
  715. package/components/containers/wizard/esm2022/wizard-action/wizard-action.directive.mjs +35 -0
  716. package/components/containers/wizard/esm2022/wizard-action/wizard-action.props.mjs +9 -0
  717. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +182 -0
  718. package/components/containers/wizard/esm2022/wizard-step/wizard-step.props.mjs +17 -0
  719. package/components/containers/wizard/esm2022/wizard.component.mjs +801 -0
  720. package/components/containers/wizard/esm2022/wizard.props.mjs +22 -0
  721. package/components/containers/wizard/fesm2022/index.mjs +1058 -0
  722. package/components/containers/wizard/fesm2022/index.mjs.map +1 -0
  723. package/components/containers/wizard/index.d.ts +5 -0
  724. package/components/containers/wizard/package.json +20 -0
  725. package/components/containers/wizard/public_api.d.ts +3 -0
  726. package/components/containers/wizard/wizard-action/wizard-action.directive.d.ts +9 -0
  727. package/components/containers/wizard/wizard-action/wizard-action.props.d.ts +1 -0
  728. package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +59 -0
  729. package/components/containers/wizard/wizard-step/wizard-step.props.d.ts +1 -0
  730. package/components/containers/wizard/wizard.component.d.ts +192 -0
  731. package/components/containers/wizard/wizard.props.d.ts +1 -0
  732. package/components/data/card/.npmignore +2 -0
  733. package/components/data/card/bundles/index.umd.js +237 -0
  734. package/components/data/card/card-actions/card-actions.directive.d.ts +9 -0
  735. package/components/data/card/card-actions/card-actions.props.d.ts +1 -0
  736. package/components/data/card/card-content/card-content.component.d.ts +12 -0
  737. package/components/data/card/card-content/card-content.props.d.ts +1 -0
  738. package/components/data/card/card-footer/card-footer.directive.d.ts +9 -0
  739. package/components/data/card/card-footer/card-footer.props.d.ts +1 -0
  740. package/components/data/card/card.component.d.ts +23 -0
  741. package/components/data/card/card.props.d.ts +1 -0
  742. package/components/data/card/esm2022/card-actions/card-actions.directive.mjs +31 -0
  743. package/components/data/card/esm2022/card-actions/card-actions.props.mjs +9 -0
  744. package/components/data/card/esm2022/card-content/card-content.component.mjs +43 -0
  745. package/components/data/card/esm2022/card-content/card-content.props.mjs +10 -0
  746. package/components/data/card/esm2022/card-footer/card-footer.directive.mjs +31 -0
  747. package/components/data/card/esm2022/card-footer/card-footer.props.mjs +9 -0
  748. package/components/data/card/esm2022/card.component.mjs +75 -0
  749. package/components/data/card/esm2022/card.props.mjs +24 -0
  750. package/components/data/card/esm2022/index.mjs +5 -0
  751. package/components/data/card/esm2022/public_api.mjs +5 -0
  752. package/components/data/card/fesm2022/index.mjs +220 -0
  753. package/components/data/card/fesm2022/index.mjs.map +1 -0
  754. package/components/data/card/index.d.ts +5 -0
  755. package/components/data/card/package.json +20 -0
  756. package/components/data/card/public_api.d.ts +4 -0
  757. package/components/data/form/.npmignore +2 -0
  758. package/components/data/form/bundles/index.umd.js +3308 -0
  759. package/components/data/form/esm2022/form-action/form-action.directive.mjs +86 -0
  760. package/components/data/form/esm2022/form-action/form-action.props.mjs +25 -0
  761. package/components/data/form/esm2022/form-field/form-field.directive.mjs +611 -0
  762. package/components/data/form/esm2022/form-field/form-field.props.mjs +52 -0
  763. package/components/data/form/esm2022/form-widget.directive.mjs +83 -0
  764. package/components/data/form/esm2022/form.component.mjs +1247 -0
  765. package/components/data/form/esm2022/form.props.mjs +64 -0
  766. package/components/data/form/esm2022/index.mjs +5 -0
  767. package/components/data/form/esm2022/live-actions/dependson.directive.mjs +151 -0
  768. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +173 -0
  769. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +356 -0
  770. package/components/data/form/esm2022/live-form/live-form.directive.mjs +502 -0
  771. package/components/data/form/esm2022/public_api.mjs +9 -0
  772. package/components/data/form/fesm2022/index.mjs +3296 -0
  773. package/components/data/form/fesm2022/index.mjs.map +1 -0
  774. package/components/data/form/form-action/form-action.directive.d.ts +35 -0
  775. package/components/data/form/form-action/form-action.props.d.ts +1 -0
  776. package/components/data/form/form-field/form-field.directive.d.ts +116 -0
  777. package/components/data/form/form-field/form-field.props.d.ts +1 -0
  778. package/components/data/form/form-widget.directive.d.ts +19 -0
  779. package/components/data/form/form.component.d.ts +211 -0
  780. package/components/data/form/form.props.d.ts +3 -0
  781. package/components/data/form/index.d.ts +5 -0
  782. package/components/data/form/live-actions/dependson.directive.d.ts +27 -0
  783. package/components/data/form/live-actions/live-actions.directive.d.ts +24 -0
  784. package/components/data/form/live-filter/live-filter.directive.d.ts +24 -0
  785. package/components/data/form/live-form/live-form.directive.d.ts +44 -0
  786. package/components/data/form/package.json +20 -0
  787. package/components/data/form/public_api.d.ts +8 -0
  788. package/components/data/list/.npmignore +2 -0
  789. package/components/data/list/bundles/index.umd.js +1610 -0
  790. package/components/data/list/esm2022/index.mjs +5 -0
  791. package/components/data/list/esm2022/list-item.directive.mjs +260 -0
  792. package/components/data/list/esm2022/list-item.props.mjs +7 -0
  793. package/components/data/list/esm2022/list.animator.mjs +233 -0
  794. package/components/data/list/esm2022/list.component.mjs +1294 -0
  795. package/components/data/list/esm2022/list.props.mjs +48 -0
  796. package/components/data/list/esm2022/public_api.mjs +3 -0
  797. package/components/data/list/fesm2022/index.mjs +1602 -0
  798. package/components/data/list/fesm2022/index.mjs.map +1 -0
  799. package/components/data/list/index.d.ts +5 -0
  800. package/components/data/list/list-item.directive.d.ts +53 -0
  801. package/components/data/list/list-item.props.d.ts +1 -0
  802. package/components/data/list/list.animator.d.ts +32 -0
  803. package/components/data/list/list.component.d.ts +226 -0
  804. package/components/data/list/list.props.d.ts +1 -0
  805. package/components/data/list/package.json +20 -0
  806. package/components/data/list/public_api.d.ts +2 -0
  807. package/components/data/live-table/.npmignore +2 -0
  808. package/components/data/live-table/bundles/index.umd.js +273 -0
  809. package/components/data/live-table/esm2022/index.mjs +5 -0
  810. package/components/data/live-table/esm2022/live-table.component.mjs +243 -0
  811. package/components/data/live-table/esm2022/live-table.props.mjs +10 -0
  812. package/components/data/live-table/esm2022/public_api.mjs +2 -0
  813. package/components/data/live-table/fesm2022/index.mjs +258 -0
  814. package/components/data/live-table/fesm2022/index.mjs.map +1 -0
  815. package/components/data/live-table/index.d.ts +5 -0
  816. package/components/data/live-table/live-table.component.d.ts +36 -0
  817. package/components/data/live-table/live-table.props.d.ts +1 -0
  818. package/components/data/live-table/package.json +20 -0
  819. package/components/data/live-table/public_api.d.ts +1 -0
  820. package/components/data/pagination/.npmignore +2 -0
  821. package/components/data/pagination/bundles/index.umd.js +850 -0
  822. package/components/data/pagination/esm2022/index.mjs +5 -0
  823. package/components/data/pagination/esm2022/pagination.component.mjs +817 -0
  824. package/components/data/pagination/esm2022/pagination.props.mjs +23 -0
  825. package/components/data/pagination/esm2022/public_api.mjs +2 -0
  826. package/components/data/pagination/fesm2022/index.mjs +845 -0
  827. package/components/data/pagination/fesm2022/index.mjs.map +1 -0
  828. package/components/data/pagination/index.d.ts +5 -0
  829. package/components/data/pagination/package.json +20 -0
  830. package/components/data/pagination/pagination.component.d.ts +101 -0
  831. package/components/data/pagination/pagination.props.d.ts +1 -0
  832. package/components/data/pagination/public_api.d.ts +1 -0
  833. package/components/data/table/.npmignore +2 -0
  834. package/components/data/table/bundles/index.umd.js +4848 -0
  835. package/components/data/table/esm2022/index.mjs +5 -0
  836. package/components/data/table/esm2022/public_api.mjs +9 -0
  837. package/components/data/table/esm2022/table-action/table-action.directive.mjs +83 -0
  838. package/components/data/table/esm2022/table-action/table-action.props.mjs +25 -0
  839. package/components/data/table/esm2022/table-column/table-column.directive.mjs +744 -0
  840. package/components/data/table/esm2022/table-column/table-column.props.mjs +93 -0
  841. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +80 -0
  842. package/components/data/table/esm2022/table-column-group/table-column-group.props.mjs +11 -0
  843. package/components/data/table/esm2022/table-cud.directive.mjs +484 -0
  844. package/components/data/table/esm2022/table-filter.directive.mjs +706 -0
  845. package/components/data/table/esm2022/table-row/table-row.directive.mjs +68 -0
  846. package/components/data/table/esm2022/table-row/table-row.props.mjs +16 -0
  847. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +81 -0
  848. package/components/data/table/esm2022/table-row-action/table-row-action.props.mjs +20 -0
  849. package/components/data/table/esm2022/table.component.mjs +2406 -0
  850. package/components/data/table/esm2022/table.props.mjs +70 -0
  851. package/components/data/table/fesm2022/index.mjs +4835 -0
  852. package/components/data/table/fesm2022/index.mjs.map +1 -0
  853. package/components/data/table/index.d.ts +5 -0
  854. package/components/data/table/package.json +20 -0
  855. package/components/data/table/public_api.d.ts +8 -0
  856. package/components/data/table/table-action/table-action.directive.d.ts +35 -0
  857. package/components/data/table/table-action/table-action.props.d.ts +1 -0
  858. package/components/data/table/table-column/table-column.directive.d.ts +152 -0
  859. package/components/data/table/table-column/table-column.props.d.ts +1 -0
  860. package/components/data/table/table-column-group/table-column-group.directive.d.ts +23 -0
  861. package/components/data/table/table-column-group/table-column-group.props.d.ts +1 -0
  862. package/components/data/table/table-cud.directive.d.ts +34 -0
  863. package/components/data/table/table-filter.directive.d.ts +35 -0
  864. package/components/data/table/table-row/table-row.directive.d.ts +25 -0
  865. package/components/data/table/table-row/table-row.props.d.ts +1 -0
  866. package/components/data/table/table-row-action/table-row-action.directive.d.ts +31 -0
  867. package/components/data/table/table-row-action/table-row-action.props.d.ts +1 -0
  868. package/components/data/table/table.component.d.ts +419 -0
  869. package/components/data/table/table.props.d.ts +1 -0
  870. package/components/dialogs/alert-dialog/.npmignore +2 -0
  871. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +23 -0
  872. package/components/dialogs/alert-dialog/alert-dialog.props.d.ts +1 -0
  873. package/components/dialogs/alert-dialog/bundles/index.umd.js +126 -0
  874. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +87 -0
  875. package/components/dialogs/alert-dialog/esm2022/alert-dialog.props.mjs +22 -0
  876. package/components/dialogs/alert-dialog/esm2022/index.mjs +5 -0
  877. package/components/dialogs/alert-dialog/esm2022/public_api.mjs +2 -0
  878. package/components/dialogs/alert-dialog/fesm2022/index.mjs +114 -0
  879. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -0
  880. package/components/dialogs/alert-dialog/index.d.ts +5 -0
  881. package/components/dialogs/alert-dialog/package.json +20 -0
  882. package/components/dialogs/alert-dialog/public_api.d.ts +1 -0
  883. package/components/dialogs/confirm-dialog/.npmignore +2 -0
  884. package/components/dialogs/confirm-dialog/bundles/index.umd.js +129 -0
  885. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +26 -0
  886. package/components/dialogs/confirm-dialog/confirm-dialog.props.d.ts +1 -0
  887. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +90 -0
  888. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.props.mjs +22 -0
  889. package/components/dialogs/confirm-dialog/esm2022/index.mjs +5 -0
  890. package/components/dialogs/confirm-dialog/esm2022/public_api.mjs +2 -0
  891. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +117 -0
  892. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -0
  893. package/components/dialogs/confirm-dialog/index.d.ts +5 -0
  894. package/components/dialogs/confirm-dialog/package.json +20 -0
  895. package/components/dialogs/confirm-dialog/public_api.d.ts +1 -0
  896. package/components/dialogs/default/.npmignore +2 -0
  897. package/components/dialogs/default/base-dialog.d.ts +45 -0
  898. package/components/dialogs/default/bundles/index.umd.js +379 -0
  899. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +13 -0
  900. package/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +9 -0
  901. package/components/dialogs/default/dialog-footer/dialog-footer.props.d.ts +1 -0
  902. package/components/dialogs/default/dialog-header/dialog-header.component.d.ts +25 -0
  903. package/components/dialogs/default/esm2022/base-dialog.mjs +184 -0
  904. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +86 -0
  905. package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.directive.mjs +34 -0
  906. package/components/dialogs/default/esm2022/dialog-footer/dialog-footer.props.mjs +9 -0
  907. package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +62 -0
  908. package/components/dialogs/default/esm2022/index.mjs +5 -0
  909. package/components/dialogs/default/esm2022/public_api.mjs +5 -0
  910. package/components/dialogs/default/fesm2022/index.mjs +364 -0
  911. package/components/dialogs/default/fesm2022/index.mjs.map +1 -0
  912. package/components/dialogs/default/index.d.ts +5 -0
  913. package/components/dialogs/default/package.json +20 -0
  914. package/components/dialogs/default/public_api.d.ts +4 -0
  915. package/components/dialogs/design-dialog/.npmignore +2 -0
  916. package/components/dialogs/design-dialog/bundles/index.umd.js +149 -0
  917. package/components/dialogs/design-dialog/dialog.component.d.ts +17 -0
  918. package/components/dialogs/design-dialog/dialog.props.d.ts +1 -0
  919. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +108 -0
  920. package/components/dialogs/design-dialog/esm2022/dialog.props.mjs +21 -0
  921. package/components/dialogs/design-dialog/esm2022/index.mjs +5 -0
  922. package/components/dialogs/design-dialog/esm2022/public_api.mjs +2 -0
  923. package/components/dialogs/design-dialog/fesm2022/index.mjs +134 -0
  924. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -0
  925. package/components/dialogs/design-dialog/index.d.ts +5 -0
  926. package/components/dialogs/design-dialog/package.json +20 -0
  927. package/components/dialogs/design-dialog/public_api.d.ts +1 -0
  928. package/components/dialogs/iframe-dialog/.npmignore +2 -0
  929. package/components/dialogs/iframe-dialog/bundles/index.umd.js +119 -0
  930. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +78 -0
  931. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.props.mjs +25 -0
  932. package/components/dialogs/iframe-dialog/esm2022/index.mjs +5 -0
  933. package/components/dialogs/iframe-dialog/esm2022/public_api.mjs +2 -0
  934. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +108 -0
  935. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -0
  936. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +19 -0
  937. package/components/dialogs/iframe-dialog/iframe-dialog.props.d.ts +1 -0
  938. package/components/dialogs/iframe-dialog/index.d.ts +5 -0
  939. package/components/dialogs/iframe-dialog/package.json +20 -0
  940. package/components/dialogs/iframe-dialog/public_api.d.ts +1 -0
  941. package/components/dialogs/login-dialog/.npmignore +2 -0
  942. package/components/dialogs/login-dialog/bundles/index.umd.js +114 -0
  943. package/components/dialogs/login-dialog/esm2022/index.mjs +5 -0
  944. package/components/dialogs/login-dialog/esm2022/login-dialog.directive.mjs +91 -0
  945. package/components/dialogs/login-dialog/esm2022/public_api.mjs +2 -0
  946. package/components/dialogs/login-dialog/fesm2022/index.mjs +98 -0
  947. package/components/dialogs/login-dialog/fesm2022/index.mjs.map +1 -0
  948. package/components/dialogs/login-dialog/index.d.ts +5 -0
  949. package/components/dialogs/login-dialog/login-dialog.directive.d.ts +23 -0
  950. package/components/dialogs/login-dialog/package.json +20 -0
  951. package/components/dialogs/login-dialog/public_api.d.ts +1 -0
  952. package/components/dialogs/partial-dialog/.npmignore +2 -0
  953. package/components/dialogs/partial-dialog/bundles/index.umd.js +157 -0
  954. package/components/dialogs/partial-dialog/esm2022/index.mjs +5 -0
  955. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +119 -0
  956. package/components/dialogs/partial-dialog/esm2022/partial-dialog.props.mjs +22 -0
  957. package/components/dialogs/partial-dialog/esm2022/public_api.mjs +2 -0
  958. package/components/dialogs/partial-dialog/fesm2022/index.mjs +146 -0
  959. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -0
  960. package/components/dialogs/partial-dialog/index.d.ts +5 -0
  961. package/components/dialogs/partial-dialog/package.json +20 -0
  962. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +29 -0
  963. package/components/dialogs/partial-dialog/partial-dialog.props.d.ts +1 -0
  964. package/components/dialogs/partial-dialog/public_api.d.ts +1 -0
  965. package/components/input/base-form/.npmignore +2 -0
  966. package/components/input/base-form/base-form.component.d.ts +26 -0
  967. package/components/input/base-form/bundles/index.umd.js +147 -0
  968. package/components/input/base-form/esm2022/base-form.component.mjs +124 -0
  969. package/components/input/base-form/esm2022/index.mjs +5 -0
  970. package/components/input/base-form/esm2022/public_api.mjs +2 -0
  971. package/components/input/base-form/fesm2022/index.mjs +131 -0
  972. package/components/input/base-form/fesm2022/index.mjs.map +1 -0
  973. package/components/input/base-form/index.d.ts +5 -0
  974. package/components/input/base-form/package.json +20 -0
  975. package/components/input/base-form/public_api.d.ts +1 -0
  976. package/components/input/base-form-custom/.npmignore +2 -0
  977. package/components/input/base-form-custom/base-form-custom.component.d.ts +23 -0
  978. package/components/input/base-form-custom/bundles/index.umd.js +129 -0
  979. package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +105 -0
  980. package/components/input/base-form-custom/esm2022/index.mjs +5 -0
  981. package/components/input/base-form-custom/esm2022/public_api.mjs +2 -0
  982. package/components/input/base-form-custom/fesm2022/index.mjs +112 -0
  983. package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -0
  984. package/components/input/base-form-custom/index.d.ts +5 -0
  985. package/components/input/base-form-custom/package.json +20 -0
  986. package/components/input/base-form-custom/public_api.d.ts +1 -0
  987. package/components/input/button/.npmignore +2 -0
  988. package/components/input/button/bundles/index.umd.js +98 -0
  989. package/components/input/button/button.component.d.ts +19 -0
  990. package/components/input/button/button.props.d.ts +1 -0
  991. package/components/input/button/esm2022/button.component.mjs +50 -0
  992. package/components/input/button/esm2022/button.props.mjs +26 -0
  993. package/components/input/button/esm2022/index.mjs +5 -0
  994. package/components/input/button/esm2022/public_api.mjs +2 -0
  995. package/components/input/button/fesm2022/index.mjs +81 -0
  996. package/components/input/button/fesm2022/index.mjs.map +1 -0
  997. package/components/input/button/index.d.ts +5 -0
  998. package/components/input/button/package.json +20 -0
  999. package/components/input/button/public_api.d.ts +1 -0
  1000. package/components/input/button-group/.npmignore +2 -0
  1001. package/components/input/button-group/bundles/index.umd.js +80 -0
  1002. package/components/input/button-group/button-group.directive.d.ts +11 -0
  1003. package/components/input/button-group/button-group.props.d.ts +1 -0
  1004. package/components/input/button-group/esm2022/button-group.directive.mjs +47 -0
  1005. package/components/input/button-group/esm2022/button-group.props.mjs +10 -0
  1006. package/components/input/button-group/esm2022/index.mjs +5 -0
  1007. package/components/input/button-group/esm2022/public_api.mjs +2 -0
  1008. package/components/input/button-group/fesm2022/index.mjs +62 -0
  1009. package/components/input/button-group/fesm2022/index.mjs.map +1 -0
  1010. package/components/input/button-group/index.d.ts +5 -0
  1011. package/components/input/button-group/package.json +20 -0
  1012. package/components/input/button-group/public_api.d.ts +1 -0
  1013. package/components/input/calendar/.npmignore +2 -0
  1014. package/components/input/calendar/bundles/index.umd.js +655 -0
  1015. package/components/input/calendar/calendar.component.d.ts +128 -0
  1016. package/components/input/calendar/calendar.props.d.ts +1 -0
  1017. package/components/input/calendar/esm2022/calendar.component.mjs +637 -0
  1018. package/components/input/calendar/esm2022/calendar.props.mjs +23 -0
  1019. package/components/input/calendar/esm2022/index.mjs +5 -0
  1020. package/components/input/calendar/esm2022/public_api.mjs +2 -0
  1021. package/components/input/calendar/fesm2022/index.mjs +665 -0
  1022. package/components/input/calendar/fesm2022/index.mjs.map +1 -0
  1023. package/components/input/calendar/index.d.ts +5 -0
  1024. package/components/input/calendar/package.json +20 -0
  1025. package/components/input/calendar/public_api.d.ts +1 -0
  1026. package/components/input/caption-position/.npmignore +2 -0
  1027. package/components/input/caption-position/bundles/index.umd.js +196 -0
  1028. package/components/input/caption-position/caption-position.directive.d.ts +31 -0
  1029. package/components/input/caption-position/esm2022/caption-position.directive.mjs +172 -0
  1030. package/components/input/caption-position/esm2022/index.mjs +5 -0
  1031. package/components/input/caption-position/esm2022/public_api.mjs +2 -0
  1032. package/components/input/caption-position/fesm2022/index.mjs +178 -0
  1033. package/components/input/caption-position/fesm2022/index.mjs.map +1 -0
  1034. package/components/input/caption-position/index.d.ts +5 -0
  1035. package/components/input/caption-position/package.json +20 -0
  1036. package/components/input/caption-position/public_api.d.ts +1 -0
  1037. package/components/input/checkbox/.npmignore +2 -0
  1038. package/components/input/checkbox/bundles/index.umd.js +206 -0
  1039. package/components/input/checkbox/checkbox.component.d.ts +36 -0
  1040. package/components/input/checkbox/checkbox.props.d.ts +2 -0
  1041. package/components/input/checkbox/esm2022/checkbox.component.mjs +158 -0
  1042. package/components/input/checkbox/esm2022/checkbox.props.mjs +30 -0
  1043. package/components/input/checkbox/esm2022/index.mjs +5 -0
  1044. package/components/input/checkbox/esm2022/public_api.mjs +2 -0
  1045. package/components/input/checkbox/fesm2022/index.mjs +191 -0
  1046. package/components/input/checkbox/fesm2022/index.mjs.map +1 -0
  1047. package/components/input/checkbox/index.d.ts +5 -0
  1048. package/components/input/checkbox/package.json +20 -0
  1049. package/components/input/checkbox/public_api.d.ts +1 -0
  1050. package/components/input/checkboxset/.npmignore +2 -0
  1051. package/components/input/checkboxset/bundles/index.umd.js +178 -0
  1052. package/components/input/checkboxset/checkboxset.component.d.ts +24 -0
  1053. package/components/input/checkboxset/checkboxset.props.d.ts +2 -0
  1054. package/components/input/checkboxset/esm2022/checkboxset.component.mjs +125 -0
  1055. package/components/input/checkboxset/esm2022/checkboxset.props.mjs +36 -0
  1056. package/components/input/checkboxset/esm2022/index.mjs +5 -0
  1057. package/components/input/checkboxset/esm2022/public_api.mjs +2 -0
  1058. package/components/input/checkboxset/fesm2022/index.mjs +165 -0
  1059. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -0
  1060. package/components/input/checkboxset/index.d.ts +5 -0
  1061. package/components/input/checkboxset/package.json +20 -0
  1062. package/components/input/checkboxset/public_api.d.ts +1 -0
  1063. package/components/input/chips/.npmignore +2 -0
  1064. package/components/input/chips/bundles/index.umd.js +741 -0
  1065. package/components/input/chips/chips.component.d.ts +87 -0
  1066. package/components/input/chips/chips.props.d.ts +2 -0
  1067. package/components/input/chips/esm2022/chips.component.mjs +676 -0
  1068. package/components/input/chips/esm2022/chips.props.mjs +49 -0
  1069. package/components/input/chips/esm2022/index.mjs +5 -0
  1070. package/components/input/chips/esm2022/public_api.mjs +2 -0
  1071. package/components/input/chips/fesm2022/index.mjs +729 -0
  1072. package/components/input/chips/fesm2022/index.mjs.map +1 -0
  1073. package/components/input/chips/index.d.ts +5 -0
  1074. package/components/input/chips/package.json +20 -0
  1075. package/components/input/chips/public_api.d.ts +1 -0
  1076. package/components/input/color-picker/.npmignore +2 -0
  1077. package/components/input/color-picker/bundles/index.umd.js +145 -0
  1078. package/components/input/color-picker/color-picker.component.d.ts +33 -0
  1079. package/components/input/color-picker/color-picker.props.d.ts +2 -0
  1080. package/components/input/color-picker/esm2022/color-picker.component.mjs +107 -0
  1081. package/components/input/color-picker/esm2022/color-picker.props.mjs +22 -0
  1082. package/components/input/color-picker/esm2022/index.mjs +5 -0
  1083. package/components/input/color-picker/esm2022/public_api.mjs +2 -0
  1084. package/components/input/color-picker/fesm2022/index.mjs +132 -0
  1085. package/components/input/color-picker/fesm2022/index.mjs.map +1 -0
  1086. package/components/input/color-picker/index.d.ts +5 -0
  1087. package/components/input/color-picker/package.json +20 -0
  1088. package/components/input/color-picker/public_api.d.ts +1 -0
  1089. package/components/input/composite/.npmignore +2 -0
  1090. package/components/input/composite/bundles/index.umd.js +120 -0
  1091. package/components/input/composite/composite.directive.d.ts +24 -0
  1092. package/components/input/composite/composite.props.d.ts +1 -0
  1093. package/components/input/composite/esm2022/composite.directive.mjs +88 -0
  1094. package/components/input/composite/esm2022/composite.props.mjs +10 -0
  1095. package/components/input/composite/esm2022/index.mjs +5 -0
  1096. package/components/input/composite/esm2022/public_api.mjs +2 -0
  1097. package/components/input/composite/fesm2022/index.mjs +103 -0
  1098. package/components/input/composite/fesm2022/index.mjs.map +1 -0
  1099. package/components/input/composite/index.d.ts +5 -0
  1100. package/components/input/composite/package.json +20 -0
  1101. package/components/input/composite/public_api.d.ts +1 -0
  1102. package/components/input/currency/.npmignore +2 -0
  1103. package/components/input/currency/bundles/index.umd.js +112 -0
  1104. package/components/input/currency/currency.component.d.ts +28 -0
  1105. package/components/input/currency/currency.props.d.ts +2 -0
  1106. package/components/input/currency/esm2022/currency.component.mjs +67 -0
  1107. package/components/input/currency/esm2022/currency.props.mjs +27 -0
  1108. package/components/input/currency/esm2022/index.mjs +5 -0
  1109. package/components/input/currency/esm2022/public_api.mjs +2 -0
  1110. package/components/input/currency/fesm2022/index.mjs +97 -0
  1111. package/components/input/currency/fesm2022/index.mjs.map +1 -0
  1112. package/components/input/currency/index.d.ts +5 -0
  1113. package/components/input/currency/package.json +20 -0
  1114. package/components/input/currency/public_api.d.ts +1 -0
  1115. package/components/input/dataset-aware-form/.npmignore +2 -0
  1116. package/components/input/dataset-aware-form/bundles/index.umd.js +352 -0
  1117. package/components/input/dataset-aware-form/dataset-aware-form.component.d.ts +76 -0
  1118. package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +331 -0
  1119. package/components/input/dataset-aware-form/esm2022/index.mjs +5 -0
  1120. package/components/input/dataset-aware-form/esm2022/public_api.mjs +2 -0
  1121. package/components/input/dataset-aware-form/fesm2022/index.mjs +338 -0
  1122. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -0
  1123. package/components/input/dataset-aware-form/index.d.ts +5 -0
  1124. package/components/input/dataset-aware-form/package.json +20 -0
  1125. package/components/input/dataset-aware-form/public_api.d.ts +1 -0
  1126. package/components/input/epoch/base-date-time/.npmignore +2 -0
  1127. package/components/input/epoch/base-date-time/base-date-time.component.d.ts +246 -0
  1128. package/components/input/epoch/base-date-time/bundles/index.umd.js +1093 -0
  1129. package/components/input/epoch/base-date-time/esm2022/base-date-time.component.mjs +1077 -0
  1130. package/components/input/epoch/base-date-time/esm2022/index.mjs +5 -0
  1131. package/components/input/epoch/base-date-time/esm2022/public_api.mjs +2 -0
  1132. package/components/input/epoch/base-date-time/fesm2022/index.mjs +1084 -0
  1133. package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -0
  1134. package/components/input/epoch/base-date-time/index.d.ts +5 -0
  1135. package/components/input/epoch/base-date-time/package.json +20 -0
  1136. package/components/input/epoch/base-date-time/public_api.d.ts +1 -0
  1137. package/components/input/epoch/date/.npmignore +2 -0
  1138. package/components/input/epoch/date/bundles/index.umd.js +515 -0
  1139. package/components/input/epoch/date/date.component.d.ts +61 -0
  1140. package/components/input/epoch/date/date.props.d.ts +2 -0
  1141. package/components/input/epoch/date/esm2022/date.component.mjs +345 -0
  1142. package/components/input/epoch/date/esm2022/date.props.mjs +43 -0
  1143. package/components/input/epoch/date/esm2022/imaskUtil.mjs +114 -0
  1144. package/components/input/epoch/date/esm2022/index.mjs +5 -0
  1145. package/components/input/epoch/date/esm2022/public_api.mjs +2 -0
  1146. package/components/input/epoch/date/fesm2022/index.mjs +505 -0
  1147. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -0
  1148. package/components/input/epoch/date/imaskUtil.d.ts +92 -0
  1149. package/components/input/epoch/date/index.d.ts +5 -0
  1150. package/components/input/epoch/date/package.json +20 -0
  1151. package/components/input/epoch/date/public_api.d.ts +1 -0
  1152. package/components/input/epoch/date-time/.npmignore +2 -0
  1153. package/components/input/epoch/date-time/bundles/index.umd.js +519 -0
  1154. package/components/input/epoch/date-time/date-time.component.d.ts +109 -0
  1155. package/components/input/epoch/date-time/date-time.props.d.ts +2 -0
  1156. package/components/input/epoch/date-time/esm2022/date-time.component.mjs +459 -0
  1157. package/components/input/epoch/date-time/esm2022/date-time.props.mjs +47 -0
  1158. package/components/input/epoch/date-time/esm2022/index.mjs +5 -0
  1159. package/components/input/epoch/date-time/esm2022/public_api.mjs +2 -0
  1160. package/components/input/epoch/date-time/fesm2022/index.mjs +510 -0
  1161. package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -0
  1162. package/components/input/epoch/date-time/index.d.ts +5 -0
  1163. package/components/input/epoch/date-time/package.json +20 -0
  1164. package/components/input/epoch/date-time/public_api.d.ts +1 -0
  1165. package/components/input/epoch/date-time-picker/.npmignore +2 -0
  1166. package/components/input/epoch/date-time-picker/bundles/index.umd.js +453 -0
  1167. package/components/input/epoch/date-time-picker/date-time-picker.component.d.ts +80 -0
  1168. package/components/input/epoch/date-time-picker/esm2022/date-time-picker.component.mjs +433 -0
  1169. package/components/input/epoch/date-time-picker/esm2022/index.mjs +5 -0
  1170. package/components/input/epoch/date-time-picker/esm2022/public_api.mjs +2 -0
  1171. package/components/input/epoch/date-time-picker/fesm2022/index.mjs +439 -0
  1172. package/components/input/epoch/date-time-picker/fesm2022/index.mjs.map +1 -0
  1173. package/components/input/epoch/date-time-picker/index.d.ts +5 -0
  1174. package/components/input/epoch/date-time-picker/package.json +20 -0
  1175. package/components/input/epoch/date-time-picker/public_api.d.ts +1 -0
  1176. package/components/input/epoch/picker/.npmignore +2 -0
  1177. package/components/input/epoch/picker/bundles/index.umd.js +192 -0
  1178. package/components/input/epoch/picker/esm2022/index.mjs +5 -0
  1179. package/components/input/epoch/picker/esm2022/picker.component.mjs +165 -0
  1180. package/components/input/epoch/picker/esm2022/public_api.mjs +3 -0
  1181. package/components/input/epoch/picker/fesm2022/index.mjs +172 -0
  1182. package/components/input/epoch/picker/fesm2022/index.mjs.map +1 -0
  1183. package/components/input/epoch/picker/index.d.ts +5 -0
  1184. package/components/input/epoch/picker/package.json +20 -0
  1185. package/components/input/epoch/picker/picker.component.d.ts +36 -0
  1186. package/components/input/epoch/picker/public_api.d.ts +2 -0
  1187. package/components/input/epoch/time/.npmignore +2 -0
  1188. package/components/input/epoch/time/bundles/index.umd.js +401 -0
  1189. package/components/input/epoch/time/esm2022/index.mjs +5 -0
  1190. package/components/input/epoch/time/esm2022/public_api.mjs +2 -0
  1191. package/components/input/epoch/time/esm2022/time.component.mjs +352 -0
  1192. package/components/input/epoch/time/esm2022/time.props.mjs +35 -0
  1193. package/components/input/epoch/time/fesm2022/index.mjs +391 -0
  1194. package/components/input/epoch/time/fesm2022/index.mjs.map +1 -0
  1195. package/components/input/epoch/time/index.d.ts +5 -0
  1196. package/components/input/epoch/time/package.json +20 -0
  1197. package/components/input/epoch/time/public_api.d.ts +1 -0
  1198. package/components/input/epoch/time/time.component.d.ts +105 -0
  1199. package/components/input/epoch/time/time.props.d.ts +2 -0
  1200. package/components/input/file-upload/.npmignore +2 -0
  1201. package/components/input/file-upload/bundles/index.umd.js +483 -0
  1202. package/components/input/file-upload/esm2022/file-upload.component.mjs +426 -0
  1203. package/components/input/file-upload/esm2022/file-upload.props.mjs +39 -0
  1204. package/components/input/file-upload/esm2022/index.mjs +5 -0
  1205. package/components/input/file-upload/esm2022/public_api.mjs +2 -0
  1206. package/components/input/file-upload/fesm2022/index.mjs +469 -0
  1207. package/components/input/file-upload/fesm2022/index.mjs.map +1 -0
  1208. package/components/input/file-upload/file-upload.component.d.ts +103 -0
  1209. package/components/input/file-upload/file-upload.props.d.ts +1 -0
  1210. package/components/input/file-upload/index.d.ts +5 -0
  1211. package/components/input/file-upload/package.json +20 -0
  1212. package/components/input/file-upload/public_api.d.ts +1 -0
  1213. package/components/input/number/.npmignore +2 -0
  1214. package/components/input/number/bundles/index.umd.js +109 -0
  1215. package/components/input/number/esm2022/index.mjs +5 -0
  1216. package/components/input/number/esm2022/number.component.mjs +57 -0
  1217. package/components/input/number/esm2022/number.props.mjs +35 -0
  1218. package/components/input/number/esm2022/public_api.mjs +2 -0
  1219. package/components/input/number/fesm2022/index.mjs +95 -0
  1220. package/components/input/number/fesm2022/index.mjs.map +1 -0
  1221. package/components/input/number/index.d.ts +5 -0
  1222. package/components/input/number/number.component.d.ts +26 -0
  1223. package/components/input/number/number.props.d.ts +2 -0
  1224. package/components/input/number/package.json +20 -0
  1225. package/components/input/number/public_api.d.ts +1 -0
  1226. package/components/input/radioset/.npmignore +2 -0
  1227. package/components/input/radioset/bundles/index.umd.js +164 -0
  1228. package/components/input/radioset/esm2022/index.mjs +5 -0
  1229. package/components/input/radioset/esm2022/public_api.mjs +2 -0
  1230. package/components/input/radioset/esm2022/radioset.component.mjs +110 -0
  1231. package/components/input/radioset/esm2022/radioset.props.mjs +37 -0
  1232. package/components/input/radioset/fesm2022/index.mjs +151 -0
  1233. package/components/input/radioset/fesm2022/index.mjs.map +1 -0
  1234. package/components/input/radioset/index.d.ts +5 -0
  1235. package/components/input/radioset/package.json +20 -0
  1236. package/components/input/radioset/public_api.d.ts +1 -0
  1237. package/components/input/radioset/radioset.component.d.ts +23 -0
  1238. package/components/input/radioset/radioset.props.d.ts +2 -0
  1239. package/components/input/rating/.npmignore +2 -0
  1240. package/components/input/rating/bundles/index.umd.js +270 -0
  1241. package/components/input/rating/esm2022/index.mjs +5 -0
  1242. package/components/input/rating/esm2022/public_api.mjs +2 -0
  1243. package/components/input/rating/esm2022/rating.component.mjs +225 -0
  1244. package/components/input/rating/esm2022/rating.props.mjs +29 -0
  1245. package/components/input/rating/fesm2022/index.mjs +257 -0
  1246. package/components/input/rating/fesm2022/index.mjs.map +1 -0
  1247. package/components/input/rating/index.d.ts +5 -0
  1248. package/components/input/rating/package.json +20 -0
  1249. package/components/input/rating/public_api.d.ts +1 -0
  1250. package/components/input/rating/rating.component.d.ts +44 -0
  1251. package/components/input/rating/rating.props.d.ts +2 -0
  1252. package/components/input/select/.npmignore +2 -0
  1253. package/components/input/select/bundles/index.umd.js +225 -0
  1254. package/components/input/select/esm2022/index.mjs +5 -0
  1255. package/components/input/select/esm2022/public_api.mjs +2 -0
  1256. package/components/input/select/esm2022/select.component.mjs +172 -0
  1257. package/components/input/select/esm2022/select.props.mjs +36 -0
  1258. package/components/input/select/fesm2022/index.mjs +211 -0
  1259. package/components/input/select/fesm2022/index.mjs.map +1 -0
  1260. package/components/input/select/index.d.ts +5 -0
  1261. package/components/input/select/package.json +20 -0
  1262. package/components/input/select/public_api.d.ts +1 -0
  1263. package/components/input/select/select.component.d.ts +36 -0
  1264. package/components/input/select/select.props.d.ts +2 -0
  1265. package/components/input/slider/.npmignore +2 -0
  1266. package/components/input/slider/bundles/index.umd.js +203 -0
  1267. package/components/input/slider/esm2022/index.mjs +5 -0
  1268. package/components/input/slider/esm2022/public_api.mjs +2 -0
  1269. package/components/input/slider/esm2022/slider.component.mjs +157 -0
  1270. package/components/input/slider/esm2022/slider.props.mjs +28 -0
  1271. package/components/input/slider/fesm2022/index.mjs +189 -0
  1272. package/components/input/slider/fesm2022/index.mjs.map +1 -0
  1273. package/components/input/slider/index.d.ts +5 -0
  1274. package/components/input/slider/package.json +20 -0
  1275. package/components/input/slider/public_api.d.ts +1 -0
  1276. package/components/input/slider/slider.component.d.ts +39 -0
  1277. package/components/input/slider/slider.props.d.ts +2 -0
  1278. package/components/input/switch/.npmignore +2 -0
  1279. package/components/input/switch/bundles/index.umd.js +224 -0
  1280. package/components/input/switch/esm2022/index.mjs +5 -0
  1281. package/components/input/switch/esm2022/public_api.mjs +2 -0
  1282. package/components/input/switch/esm2022/switch.component.mjs +179 -0
  1283. package/components/input/switch/esm2022/switch.props.mjs +28 -0
  1284. package/components/input/switch/fesm2022/index.mjs +211 -0
  1285. package/components/input/switch/fesm2022/index.mjs.map +1 -0
  1286. package/components/input/switch/index.d.ts +5 -0
  1287. package/components/input/switch/package.json +20 -0
  1288. package/components/input/switch/public_api.d.ts +1 -0
  1289. package/components/input/switch/switch.component.d.ts +30 -0
  1290. package/components/input/switch/switch.props.d.ts +2 -0
  1291. package/components/input/text/.npmignore +2 -0
  1292. package/components/input/text/base-input/base-input.d.ts +33 -0
  1293. package/components/input/text/bundles/index.umd.js +1130 -0
  1294. package/components/input/text/esm2022/base-input/base-input.mjs +93 -0
  1295. package/components/input/text/esm2022/index.mjs +5 -0
  1296. package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +53 -0
  1297. package/components/input/text/esm2022/input-calendar/input-calendar.props.mjs +30 -0
  1298. package/components/input/text/esm2022/input-color/input-color.component.mjs +53 -0
  1299. package/components/input/text/esm2022/input-color/input-color.props.mjs +27 -0
  1300. package/components/input/text/esm2022/input-email/input-email.component.mjs +53 -0
  1301. package/components/input/text/esm2022/input-email/input-email.props.mjs +29 -0
  1302. package/components/input/text/esm2022/input-number/input-number.component.mjs +63 -0
  1303. package/components/input/text/esm2022/input-number/input-number.props.mjs +32 -0
  1304. package/components/input/text/esm2022/input-text/input-text.component.mjs +136 -0
  1305. package/components/input/text/esm2022/input-text/input-text.props.mjs +48 -0
  1306. package/components/input/text/esm2022/number-locale/number-locale.mjs +554 -0
  1307. package/components/input/text/esm2022/public_api.mjs +8 -0
  1308. package/components/input/text/fesm2022/index.mjs +1114 -0
  1309. package/components/input/text/fesm2022/index.mjs.map +1 -0
  1310. package/components/input/text/index.d.ts +5 -0
  1311. package/components/input/text/input-calendar/input-calendar.component.d.ts +30 -0
  1312. package/components/input/text/input-calendar/input-calendar.props.d.ts +2 -0
  1313. package/components/input/text/input-color/input-color.component.d.ts +27 -0
  1314. package/components/input/text/input-color/input-color.props.d.ts +2 -0
  1315. package/components/input/text/input-email/input-email.component.d.ts +29 -0
  1316. package/components/input/text/input-email/input-email.props.d.ts +2 -0
  1317. package/components/input/text/input-number/input-number.component.d.ts +33 -0
  1318. package/components/input/text/input-number/input-number.props.d.ts +2 -0
  1319. package/components/input/text/input-text/input-text.component.d.ts +52 -0
  1320. package/components/input/text/input-text/input-text.props.d.ts +2 -0
  1321. package/components/input/text/number-locale/number-locale.d.ts +127 -0
  1322. package/components/input/text/package.json +20 -0
  1323. package/components/input/text/public_api.d.ts +7 -0
  1324. package/components/input/textarea/.npmignore +2 -0
  1325. package/components/input/textarea/bundles/index.umd.js +108 -0
  1326. package/components/input/textarea/esm2022/index.mjs +5 -0
  1327. package/components/input/textarea/esm2022/public_api.mjs +2 -0
  1328. package/components/input/textarea/esm2022/textarea.component.mjs +60 -0
  1329. package/components/input/textarea/esm2022/textarea.props.mjs +30 -0
  1330. package/components/input/textarea/fesm2022/index.mjs +94 -0
  1331. package/components/input/textarea/fesm2022/index.mjs.map +1 -0
  1332. package/components/input/textarea/index.d.ts +5 -0
  1333. package/components/input/textarea/package.json +20 -0
  1334. package/components/input/textarea/public_api.d.ts +1 -0
  1335. package/components/input/textarea/textarea.component.d.ts +30 -0
  1336. package/components/input/textarea/textarea.props.d.ts +2 -0
  1337. package/components/navigation/breadcrumb/.npmignore +2 -0
  1338. package/components/navigation/breadcrumb/breadcrumb.component.d.ts +25 -0
  1339. package/components/navigation/breadcrumb/breadcrumb.props.d.ts +1 -0
  1340. package/components/navigation/breadcrumb/bundles/index.umd.js +138 -0
  1341. package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +101 -0
  1342. package/components/navigation/breadcrumb/esm2022/breadcrumb.props.mjs +17 -0
  1343. package/components/navigation/breadcrumb/esm2022/index.mjs +5 -0
  1344. package/components/navigation/breadcrumb/esm2022/public_api.mjs +2 -0
  1345. package/components/navigation/breadcrumb/fesm2022/index.mjs +121 -0
  1346. package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -0
  1347. package/components/navigation/breadcrumb/index.d.ts +5 -0
  1348. package/components/navigation/breadcrumb/package.json +20 -0
  1349. package/components/navigation/breadcrumb/public_api.d.ts +1 -0
  1350. package/components/navigation/menu/.npmignore +2 -0
  1351. package/components/navigation/menu/bundles/index.umd.js +947 -0
  1352. package/components/navigation/menu/esm2022/index.mjs +5 -0
  1353. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +80 -0
  1354. package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +105 -0
  1355. package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +191 -0
  1356. package/components/navigation/menu/esm2022/menu.component.mjs +282 -0
  1357. package/components/navigation/menu/esm2022/menu.props.mjs +37 -0
  1358. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +66 -0
  1359. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.props.mjs +9 -0
  1360. package/components/navigation/menu/esm2022/nav/nav.component.mjs +131 -0
  1361. package/components/navigation/menu/esm2022/nav/nav.props.mjs +28 -0
  1362. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +49 -0
  1363. package/components/navigation/menu/esm2022/public_api.mjs +8 -0
  1364. package/components/navigation/menu/fesm2022/index.mjs +929 -0
  1365. package/components/navigation/menu/fesm2022/index.mjs.map +1 -0
  1366. package/components/navigation/menu/index.d.ts +5 -0
  1367. package/components/navigation/menu/menu-adapator.component.d.ts +23 -0
  1368. package/components/navigation/menu/menu-dropdown/menu-dropdown.component.d.ts +15 -0
  1369. package/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +35 -0
  1370. package/components/navigation/menu/menu.component.d.ts +65 -0
  1371. package/components/navigation/menu/menu.props.d.ts +1 -0
  1372. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +14 -0
  1373. package/components/navigation/menu/nav/nav-item/nav-item.props.d.ts +1 -0
  1374. package/components/navigation/menu/nav/nav.component.d.ts +35 -0
  1375. package/components/navigation/menu/nav/nav.props.d.ts +1 -0
  1376. package/components/navigation/menu/nav/navigation-control.directive.d.ts +14 -0
  1377. package/components/navigation/menu/package.json +20 -0
  1378. package/components/navigation/menu/public_api.d.ts +7 -0
  1379. package/components/navigation/navbar/.npmignore +2 -0
  1380. package/components/navigation/navbar/bundles/index.umd.js +87 -0
  1381. package/components/navigation/navbar/esm2022/index.mjs +5 -0
  1382. package/components/navigation/navbar/esm2022/navbar.component.mjs +52 -0
  1383. package/components/navigation/navbar/esm2022/navbar.props.mjs +13 -0
  1384. package/components/navigation/navbar/esm2022/public_api.mjs +2 -0
  1385. package/components/navigation/navbar/fesm2022/index.mjs +70 -0
  1386. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -0
  1387. package/components/navigation/navbar/index.d.ts +5 -0
  1388. package/components/navigation/navbar/navbar.component.d.ts +16 -0
  1389. package/components/navigation/navbar/navbar.props.d.ts +1 -0
  1390. package/components/navigation/navbar/package.json +20 -0
  1391. package/components/navigation/navbar/public_api.d.ts +1 -0
  1392. package/components/navigation/popover/.npmignore +2 -0
  1393. package/components/navigation/popover/bundles/index.umd.js +514 -0
  1394. package/components/navigation/popover/esm2022/index.mjs +5 -0
  1395. package/components/navigation/popover/esm2022/popover.component.mjs +460 -0
  1396. package/components/navigation/popover/esm2022/popover.props.mjs +35 -0
  1397. package/components/navigation/popover/esm2022/public_api.mjs +2 -0
  1398. package/components/navigation/popover/fesm2022/index.mjs +500 -0
  1399. package/components/navigation/popover/fesm2022/index.mjs.map +1 -0
  1400. package/components/navigation/popover/index.d.ts +5 -0
  1401. package/components/navigation/popover/package.json +20 -0
  1402. package/components/navigation/popover/popover.component.d.ts +83 -0
  1403. package/components/navigation/popover/popover.props.d.ts +1 -0
  1404. package/components/navigation/popover/public_api.d.ts +1 -0
  1405. package/components/page/default/.npmignore +2 -0
  1406. package/components/page/default/bundles/index.umd.js +458 -0
  1407. package/components/page/default/content/content.component.d.ts +9 -0
  1408. package/components/page/default/content/content.props.d.ts +1 -0
  1409. package/components/page/default/esm2022/content/content.component.mjs +29 -0
  1410. package/components/page/default/esm2022/content/content.props.mjs +8 -0
  1411. package/components/page/default/esm2022/index.mjs +5 -0
  1412. package/components/page/default/esm2022/layout.directive.mjs +58 -0
  1413. package/components/page/default/esm2022/layout.props.mjs +5 -0
  1414. package/components/page/default/esm2022/page-content/page-content.component.mjs +85 -0
  1415. package/components/page/default/esm2022/page-content/page-content.props.mjs +14 -0
  1416. package/components/page/default/esm2022/page.directive.mjs +97 -0
  1417. package/components/page/default/esm2022/page.props.mjs +11 -0
  1418. package/components/page/default/esm2022/public_api.mjs +7 -0
  1419. package/components/page/default/esm2022/router-outlet.directive.mjs +47 -0
  1420. package/components/page/default/esm2022/router-outlet.props.mjs +8 -0
  1421. package/components/page/default/esm2022/spa-page.directive.mjs +97 -0
  1422. package/components/page/default/esm2022/spa-page.props.mjs +10 -0
  1423. package/components/page/default/fesm2022/index.mjs +438 -0
  1424. package/components/page/default/fesm2022/index.mjs.map +1 -0
  1425. package/components/page/default/index.d.ts +5 -0
  1426. package/components/page/default/layout.directive.d.ts +20 -0
  1427. package/components/page/default/layout.props.d.ts +1 -0
  1428. package/components/page/default/package.json +20 -0
  1429. package/components/page/default/page-content/page-content.component.d.ts +17 -0
  1430. package/components/page/default/page-content/page-content.props.d.ts +1 -0
  1431. package/components/page/default/page.directive.d.ts +38 -0
  1432. package/components/page/default/page.props.d.ts +1 -0
  1433. package/components/page/default/public_api.d.ts +6 -0
  1434. package/components/page/default/router-outlet.directive.d.ts +13 -0
  1435. package/components/page/default/router-outlet.props.d.ts +1 -0
  1436. package/components/page/default/spa-page.directive.d.ts +38 -0
  1437. package/components/page/default/spa-page.props.d.ts +1 -0
  1438. package/components/page/footer/.npmignore +2 -0
  1439. package/components/page/footer/bundles/index.umd.js +71 -0
  1440. package/components/page/footer/esm2022/footer.directive.mjs +37 -0
  1441. package/components/page/footer/esm2022/footer.props.mjs +11 -0
  1442. package/components/page/footer/esm2022/index.mjs +5 -0
  1443. package/components/page/footer/esm2022/public_api.mjs +2 -0
  1444. package/components/page/footer/fesm2022/index.mjs +53 -0
  1445. package/components/page/footer/fesm2022/index.mjs.map +1 -0
  1446. package/components/page/footer/footer.directive.d.ts +9 -0
  1447. package/components/page/footer/footer.props.d.ts +1 -0
  1448. package/components/page/footer/index.d.ts +5 -0
  1449. package/components/page/footer/package.json +20 -0
  1450. package/components/page/footer/public_api.d.ts +1 -0
  1451. package/components/page/header/.npmignore +2 -0
  1452. package/components/page/header/bundles/index.umd.js +67 -0
  1453. package/components/page/header/esm2022/header.component.mjs +33 -0
  1454. package/components/page/header/esm2022/header.props.mjs +11 -0
  1455. package/components/page/header/esm2022/index.mjs +5 -0
  1456. package/components/page/header/esm2022/public_api.mjs +2 -0
  1457. package/components/page/header/fesm2022/index.mjs +49 -0
  1458. package/components/page/header/fesm2022/index.mjs.map +1 -0
  1459. package/components/page/header/header.component.d.ts +10 -0
  1460. package/components/page/header/header.props.d.ts +1 -0
  1461. package/components/page/header/index.d.ts +5 -0
  1462. package/components/page/header/package.json +20 -0
  1463. package/components/page/header/public_api.d.ts +1 -0
  1464. package/components/page/left-panel/.npmignore +2 -0
  1465. package/components/page/left-panel/bundles/index.umd.js +415 -0
  1466. package/components/page/left-panel/esm2022/index.mjs +5 -0
  1467. package/components/page/left-panel/esm2022/left-panel.animator.mjs +133 -0
  1468. package/components/page/left-panel/esm2022/left-panel.directive.mjs +251 -0
  1469. package/components/page/left-panel/esm2022/left-panel.props.mjs +15 -0
  1470. package/components/page/left-panel/esm2022/public_api.mjs +2 -0
  1471. package/components/page/left-panel/fesm2022/index.mjs +400 -0
  1472. package/components/page/left-panel/fesm2022/index.mjs.map +1 -0
  1473. package/components/page/left-panel/index.d.ts +5 -0
  1474. package/components/page/left-panel/left-panel.animator.d.ts +49 -0
  1475. package/components/page/left-panel/left-panel.directive.d.ts +38 -0
  1476. package/components/page/left-panel/left-panel.props.d.ts +1 -0
  1477. package/components/page/left-panel/package.json +20 -0
  1478. package/components/page/left-panel/public_api.d.ts +1 -0
  1479. package/components/page/right-panel/.npmignore +2 -0
  1480. package/components/page/right-panel/bundles/index.umd.js +86 -0
  1481. package/components/page/right-panel/esm2022/index.mjs +5 -0
  1482. package/components/page/right-panel/esm2022/public_api.mjs +2 -0
  1483. package/components/page/right-panel/esm2022/right-panel.directive.mjs +52 -0
  1484. package/components/page/right-panel/esm2022/right-panel.props.mjs +12 -0
  1485. package/components/page/right-panel/fesm2022/index.mjs +69 -0
  1486. package/components/page/right-panel/fesm2022/index.mjs.map +1 -0
  1487. package/components/page/right-panel/index.d.ts +5 -0
  1488. package/components/page/right-panel/package.json +20 -0
  1489. package/components/page/right-panel/public_api.d.ts +1 -0
  1490. package/components/page/right-panel/right-panel.directive.d.ts +10 -0
  1491. package/components/page/right-panel/right-panel.props.d.ts +1 -0
  1492. package/components/page/top-nav/.npmignore +2 -0
  1493. package/components/page/top-nav/bundles/index.umd.js +68 -0
  1494. package/components/page/top-nav/esm2022/index.mjs +5 -0
  1495. package/components/page/top-nav/esm2022/public_api.mjs +2 -0
  1496. package/components/page/top-nav/esm2022/top-nav.directive.mjs +34 -0
  1497. package/components/page/top-nav/esm2022/top-nav.props.mjs +11 -0
  1498. package/components/page/top-nav/fesm2022/index.mjs +50 -0
  1499. package/components/page/top-nav/fesm2022/index.mjs.map +1 -0
  1500. package/components/page/top-nav/index.d.ts +5 -0
  1501. package/components/page/top-nav/package.json +20 -0
  1502. package/components/page/top-nav/public_api.d.ts +1 -0
  1503. package/components/page/top-nav/top-nav.directive.d.ts +9 -0
  1504. package/components/page/top-nav/top-nav.props.d.ts +1 -0
  1505. package/components/prefab/.npmignore +2 -0
  1506. package/components/prefab/bundles/index.umd.js +176 -0
  1507. package/components/prefab/esm2022/index.mjs +5 -0
  1508. package/components/prefab/esm2022/prefab-container/prefab-container.directive.mjs +56 -0
  1509. package/components/prefab/esm2022/prefab-container/prefab-container.props.mjs +9 -0
  1510. package/components/prefab/esm2022/prefab.directive.mjs +88 -0
  1511. package/components/prefab/esm2022/prefab.props.mjs +8 -0
  1512. package/components/prefab/esm2022/public_api.mjs +3 -0
  1513. package/components/prefab/fesm2022/index.mjs +159 -0
  1514. package/components/prefab/fesm2022/index.mjs.map +1 -0
  1515. package/components/prefab/index.d.ts +5 -0
  1516. package/components/prefab/package.json +20 -0
  1517. package/components/prefab/prefab-container/prefab-container.directive.d.ts +15 -0
  1518. package/components/prefab/prefab-container/prefab-container.props.d.ts +1 -0
  1519. package/components/prefab/prefab.directive.d.ts +17 -0
  1520. package/components/prefab/prefab.props.d.ts +1 -0
  1521. package/components/prefab/public_api.d.ts +2 -0
  1522. package/core/.npmignore +2 -0
  1523. package/core/bundles/index.umd.js +5608 -0
  1524. package/core/constants/currency-constants.d.ts +1064 -0
  1525. package/core/enums/enums.d.ts +67 -0
  1526. package/core/esm2022/constants/currency-constants.mjs +1065 -0
  1527. package/core/esm2022/enums/enums.mjs +72 -0
  1528. package/core/esm2022/index.mjs +5 -0
  1529. package/core/esm2022/public_api.mjs +26 -0
  1530. package/core/esm2022/services/constant.service.mjs +25 -0
  1531. package/core/esm2022/services/custom-icons-loader.service.mjs +20 -0
  1532. package/core/esm2022/services/field-type.service.mjs +35 -0
  1533. package/core/esm2022/services/field-widget.service.mjs +37 -0
  1534. package/core/esm2022/services/pagination.service.mjs +336 -0
  1535. package/core/esm2022/services/script-loader.service.mjs +75 -0
  1536. package/core/esm2022/services/state-persistence.service.mjs +500 -0
  1537. package/core/esm2022/services/user-custom-pipe-manager.service.mjs +23 -0
  1538. package/core/esm2022/services/utils.service.mjs +16 -0
  1539. package/core/esm2022/services/viewport.service.mjs +121 -0
  1540. package/core/esm2022/types/types.mjs +81 -0
  1541. package/core/esm2022/utils/build-utils.mjs +296 -0
  1542. package/core/esm2022/utils/dom.mjs +123 -0
  1543. package/core/esm2022/utils/event-notifier.mjs +70 -0
  1544. package/core/esm2022/utils/expression-parser.mjs +593 -0
  1545. package/core/esm2022/utils/id-generator.mjs +15 -0
  1546. package/core/esm2022/utils/lru-cache.mjs +95 -0
  1547. package/core/esm2022/utils/utils.mjs +1476 -0
  1548. package/core/esm2022/utils/watcher.mjs +276 -0
  1549. package/core/esm2022/utils/wm-project-properties.mjs +30 -0
  1550. package/core/fesm2022/index.mjs +5455 -0
  1551. package/core/fesm2022/index.mjs.map +1 -0
  1552. package/core/index.d.ts +5 -0
  1553. package/core/package.json +26 -0
  1554. package/core/public_api.d.ts +22 -0
  1555. package/core/services/constant.service.d.ts +28 -0
  1556. package/core/services/custom-icons-loader.service.d.ts +6 -0
  1557. package/core/services/field-type.service.d.ts +6 -0
  1558. package/core/services/field-widget.service.d.ts +6 -0
  1559. package/core/services/pagination.service.d.ts +59 -0
  1560. package/core/services/script-loader.service.d.ts +17 -0
  1561. package/core/services/state-persistence.service.d.ts +231 -0
  1562. package/core/services/user-custom-pipe-manager.service.d.ts +9 -0
  1563. package/core/services/utils.service.d.ts +6 -0
  1564. package/core/services/viewport.service.d.ts +37 -0
  1565. package/core/types/types.d.ts +208 -0
  1566. package/core/utils/build-utils.d.ts +14 -0
  1567. package/core/utils/dom.d.ts +16 -0
  1568. package/core/utils/event-notifier.d.ts +26 -0
  1569. package/core/utils/expression-parser.d.ts +8 -0
  1570. package/core/utils/id-generator.d.ts +5 -0
  1571. package/core/utils/lru-cache.d.ts +23 -0
  1572. package/core/utils/utils.d.ts +279 -0
  1573. package/core/utils/watcher.d.ts +13 -0
  1574. package/core/utils/wm-project-properties.d.ts +4 -0
  1575. package/http/.npmignore +2 -0
  1576. package/http/bundles/index.umd.js +421 -0
  1577. package/http/esm2022/http.service.mjs +301 -0
  1578. package/http/esm2022/index.mjs +5 -0
  1579. package/http/esm2022/public_api.mjs +4 -0
  1580. package/http/esm2022/wm-http-request.mjs +48 -0
  1581. package/http/esm2022/wm-http-response.mjs +52 -0
  1582. package/http/fesm2022/index.mjs +405 -0
  1583. package/http/fesm2022/index.mjs.map +1 -0
  1584. package/http/http.service.d.ts +70 -0
  1585. package/http/index.d.ts +5 -0
  1586. package/http/package.json +25 -0
  1587. package/http/public_api.d.ts +3 -0
  1588. package/http/wm-http-request.d.ts +24 -0
  1589. package/http/wm-http-response.d.ts +22 -0
  1590. package/locales/angular/global/af-na.js +24 -0
  1591. package/locales/angular/global/af.js +24 -0
  1592. package/locales/angular/global/agq.js +22 -0
  1593. package/locales/angular/global/ak.js +24 -0
  1594. package/locales/angular/global/am.js +24 -0
  1595. package/locales/angular/global/ar-ae.js +32 -0
  1596. package/locales/angular/global/ar-bh.js +32 -0
  1597. package/locales/angular/global/ar-dj.js +32 -0
  1598. package/locales/angular/global/ar-dz.js +32 -0
  1599. package/locales/angular/global/ar-eg.js +32 -0
  1600. package/locales/angular/global/ar-eh.js +32 -0
  1601. package/locales/angular/global/ar-er.js +32 -0
  1602. package/locales/angular/global/ar-il.js +32 -0
  1603. package/locales/angular/global/ar-iq.js +32 -0
  1604. package/locales/angular/global/ar-jo.js +32 -0
  1605. package/locales/angular/global/ar-km.js +32 -0
  1606. package/locales/angular/global/ar-kw.js +32 -0
  1607. package/locales/angular/global/ar-lb.js +32 -0
  1608. package/locales/angular/global/ar-ly.js +32 -0
  1609. package/locales/angular/global/ar-ma.js +32 -0
  1610. package/locales/angular/global/ar-mr.js +32 -0
  1611. package/locales/angular/global/ar-om.js +32 -0
  1612. package/locales/angular/global/ar-ps.js +32 -0
  1613. package/locales/angular/global/ar-qa.js +32 -0
  1614. package/locales/angular/global/ar-sa.js +32 -0
  1615. package/locales/angular/global/ar-sd.js +32 -0
  1616. package/locales/angular/global/ar-so.js +32 -0
  1617. package/locales/angular/global/ar-ss.js +32 -0
  1618. package/locales/angular/global/ar-sy.js +32 -0
  1619. package/locales/angular/global/ar-td.js +32 -0
  1620. package/locales/angular/global/ar-tn.js +32 -0
  1621. package/locales/angular/global/ar-ye.js +32 -0
  1622. package/locales/angular/global/ar.js +32 -0
  1623. package/locales/angular/global/as.js +24 -0
  1624. package/locales/angular/global/asa.js +24 -0
  1625. package/locales/angular/global/ast.js +24 -0
  1626. package/locales/angular/global/az-cyrl.js +22 -0
  1627. package/locales/angular/global/az-latn.js +24 -0
  1628. package/locales/angular/global/az.js +24 -0
  1629. package/locales/angular/global/bas.js +22 -0
  1630. package/locales/angular/global/be-tarask.js +28 -0
  1631. package/locales/angular/global/be.js +28 -0
  1632. package/locales/angular/global/bem.js +24 -0
  1633. package/locales/angular/global/bez.js +24 -0
  1634. package/locales/angular/global/bg.js +24 -0
  1635. package/locales/angular/global/bm.js +22 -0
  1636. package/locales/angular/global/bn-in.js +24 -0
  1637. package/locales/angular/global/bn.js +24 -0
  1638. package/locales/angular/global/bo-in.js +22 -0
  1639. package/locales/angular/global/bo.js +22 -0
  1640. package/locales/angular/global/br.js +30 -0
  1641. package/locales/angular/global/brx.js +24 -0
  1642. package/locales/angular/global/bs-cyrl.js +22 -0
  1643. package/locales/angular/global/bs-latn.js +26 -0
  1644. package/locales/angular/global/bs.js +26 -0
  1645. package/locales/angular/global/ca-ad.js +24 -0
  1646. package/locales/angular/global/ca-es-valencia.js +24 -0
  1647. package/locales/angular/global/ca-fr.js +24 -0
  1648. package/locales/angular/global/ca-it.js +24 -0
  1649. package/locales/angular/global/ca.js +24 -0
  1650. package/locales/angular/global/ccp-in.js +22 -0
  1651. package/locales/angular/global/ccp.js +22 -0
  1652. package/locales/angular/global/ce.js +24 -0
  1653. package/locales/angular/global/ceb.js +24 -0
  1654. package/locales/angular/global/cgg.js +24 -0
  1655. package/locales/angular/global/chr.js +24 -0
  1656. package/locales/angular/global/ckb-ir.js +24 -0
  1657. package/locales/angular/global/ckb.js +24 -0
  1658. package/locales/angular/global/cs.js +28 -0
  1659. package/locales/angular/global/cy.js +32 -0
  1660. package/locales/angular/global/da-gl.js +24 -0
  1661. package/locales/angular/global/da.js +24 -0
  1662. package/locales/angular/global/dav.js +22 -0
  1663. package/locales/angular/global/de-at.js +24 -0
  1664. package/locales/angular/global/de-be.js +24 -0
  1665. package/locales/angular/global/de-ch.js +24 -0
  1666. package/locales/angular/global/de-it.js +24 -0
  1667. package/locales/angular/global/de-li.js +24 -0
  1668. package/locales/angular/global/de-lu.js +24 -0
  1669. package/locales/angular/global/de.js +24 -0
  1670. package/locales/angular/global/dje.js +22 -0
  1671. package/locales/angular/global/doi.js +24 -0
  1672. package/locales/angular/global/dsb.js +28 -0
  1673. package/locales/angular/global/dua.js +22 -0
  1674. package/locales/angular/global/dyo.js +22 -0
  1675. package/locales/angular/global/dz.js +22 -0
  1676. package/locales/angular/global/ebu.js +22 -0
  1677. package/locales/angular/global/ee-tg.js +24 -0
  1678. package/locales/angular/global/ee.js +24 -0
  1679. package/locales/angular/global/el-cy.js +24 -0
  1680. package/locales/angular/global/el.js +24 -0
  1681. package/locales/angular/global/en-001.js +24 -0
  1682. package/locales/angular/global/en-150.js +24 -0
  1683. package/locales/angular/global/en-ae.js +24 -0
  1684. package/locales/angular/global/en-ag.js +24 -0
  1685. package/locales/angular/global/en-ai.js +24 -0
  1686. package/locales/angular/global/en-as.js +24 -0
  1687. package/locales/angular/global/en-at.js +24 -0
  1688. package/locales/angular/global/en-au.js +24 -0
  1689. package/locales/angular/global/en-bb.js +24 -0
  1690. package/locales/angular/global/en-be.js +24 -0
  1691. package/locales/angular/global/en-bi.js +24 -0
  1692. package/locales/angular/global/en-bm.js +24 -0
  1693. package/locales/angular/global/en-bs.js +24 -0
  1694. package/locales/angular/global/en-bw.js +24 -0
  1695. package/locales/angular/global/en-bz.js +24 -0
  1696. package/locales/angular/global/en-ca.js +24 -0
  1697. package/locales/angular/global/en-cc.js +24 -0
  1698. package/locales/angular/global/en-ch.js +24 -0
  1699. package/locales/angular/global/en-ck.js +24 -0
  1700. package/locales/angular/global/en-cm.js +24 -0
  1701. package/locales/angular/global/en-cx.js +24 -0
  1702. package/locales/angular/global/en-cy.js +24 -0
  1703. package/locales/angular/global/en-de.js +24 -0
  1704. package/locales/angular/global/en-dg.js +24 -0
  1705. package/locales/angular/global/en-dk.js +24 -0
  1706. package/locales/angular/global/en-dm.js +24 -0
  1707. package/locales/angular/global/en-er.js +24 -0
  1708. package/locales/angular/global/en-fi.js +24 -0
  1709. package/locales/angular/global/en-fj.js +24 -0
  1710. package/locales/angular/global/en-fk.js +24 -0
  1711. package/locales/angular/global/en-fm.js +24 -0
  1712. package/locales/angular/global/en-gb.js +24 -0
  1713. package/locales/angular/global/en-gd.js +24 -0
  1714. package/locales/angular/global/en-gg.js +24 -0
  1715. package/locales/angular/global/en-gh.js +24 -0
  1716. package/locales/angular/global/en-gi.js +24 -0
  1717. package/locales/angular/global/en-gm.js +24 -0
  1718. package/locales/angular/global/en-gu.js +24 -0
  1719. package/locales/angular/global/en-gy.js +24 -0
  1720. package/locales/angular/global/en-hk.js +24 -0
  1721. package/locales/angular/global/en-ie.js +24 -0
  1722. package/locales/angular/global/en-il.js +24 -0
  1723. package/locales/angular/global/en-im.js +24 -0
  1724. package/locales/angular/global/en-in.js +24 -0
  1725. package/locales/angular/global/en-io.js +24 -0
  1726. package/locales/angular/global/en-je.js +24 -0
  1727. package/locales/angular/global/en-jm.js +24 -0
  1728. package/locales/angular/global/en-ke.js +24 -0
  1729. package/locales/angular/global/en-ki.js +24 -0
  1730. package/locales/angular/global/en-kn.js +24 -0
  1731. package/locales/angular/global/en-ky.js +24 -0
  1732. package/locales/angular/global/en-lc.js +24 -0
  1733. package/locales/angular/global/en-lr.js +24 -0
  1734. package/locales/angular/global/en-ls.js +24 -0
  1735. package/locales/angular/global/en-mg.js +24 -0
  1736. package/locales/angular/global/en-mh.js +24 -0
  1737. package/locales/angular/global/en-mo.js +24 -0
  1738. package/locales/angular/global/en-mp.js +24 -0
  1739. package/locales/angular/global/en-ms.js +24 -0
  1740. package/locales/angular/global/en-mt.js +24 -0
  1741. package/locales/angular/global/en-mu.js +24 -0
  1742. package/locales/angular/global/en-mv.js +24 -0
  1743. package/locales/angular/global/en-mw.js +24 -0
  1744. package/locales/angular/global/en-my.js +24 -0
  1745. package/locales/angular/global/en-na.js +24 -0
  1746. package/locales/angular/global/en-nf.js +24 -0
  1747. package/locales/angular/global/en-ng.js +24 -0
  1748. package/locales/angular/global/en-nl.js +24 -0
  1749. package/locales/angular/global/en-nr.js +24 -0
  1750. package/locales/angular/global/en-nu.js +24 -0
  1751. package/locales/angular/global/en-nz.js +24 -0
  1752. package/locales/angular/global/en-pg.js +24 -0
  1753. package/locales/angular/global/en-ph.js +24 -0
  1754. package/locales/angular/global/en-pk.js +24 -0
  1755. package/locales/angular/global/en-pn.js +24 -0
  1756. package/locales/angular/global/en-pr.js +24 -0
  1757. package/locales/angular/global/en-pw.js +24 -0
  1758. package/locales/angular/global/en-rw.js +24 -0
  1759. package/locales/angular/global/en-sb.js +24 -0
  1760. package/locales/angular/global/en-sc.js +24 -0
  1761. package/locales/angular/global/en-sd.js +24 -0
  1762. package/locales/angular/global/en-se.js +24 -0
  1763. package/locales/angular/global/en-sg.js +24 -0
  1764. package/locales/angular/global/en-sh.js +24 -0
  1765. package/locales/angular/global/en-si.js +24 -0
  1766. package/locales/angular/global/en-sl.js +24 -0
  1767. package/locales/angular/global/en-ss.js +24 -0
  1768. package/locales/angular/global/en-sx.js +24 -0
  1769. package/locales/angular/global/en-sz.js +24 -0
  1770. package/locales/angular/global/en-tc.js +24 -0
  1771. package/locales/angular/global/en-tk.js +24 -0
  1772. package/locales/angular/global/en-to.js +24 -0
  1773. package/locales/angular/global/en-tt.js +24 -0
  1774. package/locales/angular/global/en-tv.js +24 -0
  1775. package/locales/angular/global/en-tz.js +24 -0
  1776. package/locales/angular/global/en-ug.js +24 -0
  1777. package/locales/angular/global/en-um.js +24 -0
  1778. package/locales/angular/global/en-vc.js +24 -0
  1779. package/locales/angular/global/en-vg.js +24 -0
  1780. package/locales/angular/global/en-vi.js +24 -0
  1781. package/locales/angular/global/en-vu.js +24 -0
  1782. package/locales/angular/global/en-ws.js +24 -0
  1783. package/locales/angular/global/en-za.js +24 -0
  1784. package/locales/angular/global/en-zm.js +24 -0
  1785. package/locales/angular/global/en-zw.js +24 -0
  1786. package/locales/angular/global/en.js +24 -0
  1787. package/locales/angular/global/eo.js +24 -0
  1788. package/locales/angular/global/es-419.js +26 -0
  1789. package/locales/angular/global/es-ar.js +26 -0
  1790. package/locales/angular/global/es-bo.js +26 -0
  1791. package/locales/angular/global/es-br.js +26 -0
  1792. package/locales/angular/global/es-bz.js +26 -0
  1793. package/locales/angular/global/es-cl.js +26 -0
  1794. package/locales/angular/global/es-co.js +26 -0
  1795. package/locales/angular/global/es-cr.js +26 -0
  1796. package/locales/angular/global/es-cu.js +26 -0
  1797. package/locales/angular/global/es-do.js +26 -0
  1798. package/locales/angular/global/es-ea.js +26 -0
  1799. package/locales/angular/global/es-ec.js +26 -0
  1800. package/locales/angular/global/es-gq.js +26 -0
  1801. package/locales/angular/global/es-gt.js +26 -0
  1802. package/locales/angular/global/es-hn.js +26 -0
  1803. package/locales/angular/global/es-ic.js +26 -0
  1804. package/locales/angular/global/es-mx.js +26 -0
  1805. package/locales/angular/global/es-ni.js +26 -0
  1806. package/locales/angular/global/es-pa.js +26 -0
  1807. package/locales/angular/global/es-pe.js +26 -0
  1808. package/locales/angular/global/es-ph.js +26 -0
  1809. package/locales/angular/global/es-pr.js +26 -0
  1810. package/locales/angular/global/es-py.js +26 -0
  1811. package/locales/angular/global/es-sv.js +26 -0
  1812. package/locales/angular/global/es-us.js +26 -0
  1813. package/locales/angular/global/es-uy.js +26 -0
  1814. package/locales/angular/global/es-ve.js +26 -0
  1815. package/locales/angular/global/es.js +26 -0
  1816. package/locales/angular/global/et.js +24 -0
  1817. package/locales/angular/global/eu.js +24 -0
  1818. package/locales/angular/global/ewo.js +22 -0
  1819. package/locales/angular/global/fa-af.js +24 -0
  1820. package/locales/angular/global/fa.js +24 -0
  1821. package/locales/angular/global/ff-adlm-bf.js +22 -0
  1822. package/locales/angular/global/ff-adlm-cm.js +22 -0
  1823. package/locales/angular/global/ff-adlm-gh.js +22 -0
  1824. package/locales/angular/global/ff-adlm-gm.js +22 -0
  1825. package/locales/angular/global/ff-adlm-gw.js +22 -0
  1826. package/locales/angular/global/ff-adlm-lr.js +22 -0
  1827. package/locales/angular/global/ff-adlm-mr.js +22 -0
  1828. package/locales/angular/global/ff-adlm-ne.js +22 -0
  1829. package/locales/angular/global/ff-adlm-ng.js +22 -0
  1830. package/locales/angular/global/ff-adlm-sl.js +22 -0
  1831. package/locales/angular/global/ff-adlm-sn.js +22 -0
  1832. package/locales/angular/global/ff-adlm.js +22 -0
  1833. package/locales/angular/global/ff-cm.js +74 -0
  1834. package/locales/angular/global/ff-gn.js +74 -0
  1835. package/locales/angular/global/ff-latn-bf.js +24 -0
  1836. package/locales/angular/global/ff-latn-cm.js +24 -0
  1837. package/locales/angular/global/ff-latn-gh.js +24 -0
  1838. package/locales/angular/global/ff-latn-gm.js +24 -0
  1839. package/locales/angular/global/ff-latn-gn.js +24 -0
  1840. package/locales/angular/global/ff-latn-gw.js +24 -0
  1841. package/locales/angular/global/ff-latn-lr.js +24 -0
  1842. package/locales/angular/global/ff-latn-mr.js +24 -0
  1843. package/locales/angular/global/ff-latn-ne.js +24 -0
  1844. package/locales/angular/global/ff-latn-ng.js +24 -0
  1845. package/locales/angular/global/ff-latn-sl.js +24 -0
  1846. package/locales/angular/global/ff-latn.js +24 -0
  1847. package/locales/angular/global/ff-mr.js +74 -0
  1848. package/locales/angular/global/ff.js +24 -0
  1849. package/locales/angular/global/fi.js +24 -0
  1850. package/locales/angular/global/fil.js +24 -0
  1851. package/locales/angular/global/fo-dk.js +24 -0
  1852. package/locales/angular/global/fo.js +24 -0
  1853. package/locales/angular/global/fr-be.js +26 -0
  1854. package/locales/angular/global/fr-bf.js +26 -0
  1855. package/locales/angular/global/fr-bi.js +26 -0
  1856. package/locales/angular/global/fr-bj.js +26 -0
  1857. package/locales/angular/global/fr-bl.js +26 -0
  1858. package/locales/angular/global/fr-ca.js +26 -0
  1859. package/locales/angular/global/fr-cd.js +26 -0
  1860. package/locales/angular/global/fr-cf.js +26 -0
  1861. package/locales/angular/global/fr-cg.js +26 -0
  1862. package/locales/angular/global/fr-ch.js +26 -0
  1863. package/locales/angular/global/fr-ci.js +26 -0
  1864. package/locales/angular/global/fr-cm.js +26 -0
  1865. package/locales/angular/global/fr-dj.js +26 -0
  1866. package/locales/angular/global/fr-dz.js +26 -0
  1867. package/locales/angular/global/fr-ga.js +26 -0
  1868. package/locales/angular/global/fr-gf.js +26 -0
  1869. package/locales/angular/global/fr-gn.js +26 -0
  1870. package/locales/angular/global/fr-gp.js +26 -0
  1871. package/locales/angular/global/fr-gq.js +26 -0
  1872. package/locales/angular/global/fr-ht.js +26 -0
  1873. package/locales/angular/global/fr-km.js +26 -0
  1874. package/locales/angular/global/fr-lu.js +26 -0
  1875. package/locales/angular/global/fr-ma.js +26 -0
  1876. package/locales/angular/global/fr-mc.js +26 -0
  1877. package/locales/angular/global/fr-mf.js +26 -0
  1878. package/locales/angular/global/fr-mg.js +26 -0
  1879. package/locales/angular/global/fr-ml.js +26 -0
  1880. package/locales/angular/global/fr-mq.js +26 -0
  1881. package/locales/angular/global/fr-mr.js +26 -0
  1882. package/locales/angular/global/fr-mu.js +26 -0
  1883. package/locales/angular/global/fr-nc.js +26 -0
  1884. package/locales/angular/global/fr-ne.js +26 -0
  1885. package/locales/angular/global/fr-pf.js +26 -0
  1886. package/locales/angular/global/fr-pm.js +26 -0
  1887. package/locales/angular/global/fr-re.js +26 -0
  1888. package/locales/angular/global/fr-rw.js +26 -0
  1889. package/locales/angular/global/fr-sc.js +26 -0
  1890. package/locales/angular/global/fr-sn.js +26 -0
  1891. package/locales/angular/global/fr-sy.js +26 -0
  1892. package/locales/angular/global/fr-td.js +26 -0
  1893. package/locales/angular/global/fr-tg.js +26 -0
  1894. package/locales/angular/global/fr-tn.js +26 -0
  1895. package/locales/angular/global/fr-vu.js +26 -0
  1896. package/locales/angular/global/fr-wf.js +26 -0
  1897. package/locales/angular/global/fr-yt.js +26 -0
  1898. package/locales/angular/global/fr.js +26 -0
  1899. package/locales/angular/global/fur.js +24 -0
  1900. package/locales/angular/global/fy.js +24 -0
  1901. package/locales/angular/global/ga-gb.js +30 -0
  1902. package/locales/angular/global/ga.js +30 -0
  1903. package/locales/angular/global/gd.js +28 -0
  1904. package/locales/angular/global/gl.js +24 -0
  1905. package/locales/angular/global/gsw-fr.js +24 -0
  1906. package/locales/angular/global/gsw-li.js +24 -0
  1907. package/locales/angular/global/gsw.js +24 -0
  1908. package/locales/angular/global/gu.js +24 -0
  1909. package/locales/angular/global/guz.js +22 -0
  1910. package/locales/angular/global/gv.js +30 -0
  1911. package/locales/angular/global/ha-gh.js +24 -0
  1912. package/locales/angular/global/ha-ne.js +24 -0
  1913. package/locales/angular/global/ha.js +24 -0
  1914. package/locales/angular/global/haw.js +24 -0
  1915. package/locales/angular/global/he.js +28 -0
  1916. package/locales/angular/global/hi-latn.js +24 -0
  1917. package/locales/angular/global/hi.js +24 -0
  1918. package/locales/angular/global/hr-ba.js +26 -0
  1919. package/locales/angular/global/hr.js +26 -0
  1920. package/locales/angular/global/hsb.js +28 -0
  1921. package/locales/angular/global/hu.js +24 -0
  1922. package/locales/angular/global/hy.js +24 -0
  1923. package/locales/angular/global/ia.js +24 -0
  1924. package/locales/angular/global/id.js +22 -0
  1925. package/locales/angular/global/ig.js +22 -0
  1926. package/locales/angular/global/ii.js +22 -0
  1927. package/locales/angular/global/is.js +24 -0
  1928. package/locales/angular/global/it-ch.js +26 -0
  1929. package/locales/angular/global/it-sm.js +26 -0
  1930. package/locales/angular/global/it-va.js +26 -0
  1931. package/locales/angular/global/it.js +26 -0
  1932. package/locales/angular/global/ja.js +22 -0
  1933. package/locales/angular/global/jgo.js +24 -0
  1934. package/locales/angular/global/jmc.js +24 -0
  1935. package/locales/angular/global/jv.js +22 -0
  1936. package/locales/angular/global/ka.js +24 -0
  1937. package/locales/angular/global/kab.js +24 -0
  1938. package/locales/angular/global/kam.js +22 -0
  1939. package/locales/angular/global/kde.js +22 -0
  1940. package/locales/angular/global/kea.js +22 -0
  1941. package/locales/angular/global/kgp.js +22 -0
  1942. package/locales/angular/global/khq.js +22 -0
  1943. package/locales/angular/global/ki.js +22 -0
  1944. package/locales/angular/global/kk.js +24 -0
  1945. package/locales/angular/global/kkj.js +24 -0
  1946. package/locales/angular/global/kl.js +24 -0
  1947. package/locales/angular/global/kln.js +22 -0
  1948. package/locales/angular/global/km.js +22 -0
  1949. package/locales/angular/global/kn.js +24 -0
  1950. package/locales/angular/global/ko-kp.js +22 -0
  1951. package/locales/angular/global/ko.js +22 -0
  1952. package/locales/angular/global/kok.js +22 -0
  1953. package/locales/angular/global/ks-arab.js +24 -0
  1954. package/locales/angular/global/ks-deva.js +22 -0
  1955. package/locales/angular/global/ks.js +24 -0
  1956. package/locales/angular/global/ksb.js +24 -0
  1957. package/locales/angular/global/ksf.js +22 -0
  1958. package/locales/angular/global/ksh.js +26 -0
  1959. package/locales/angular/global/ku.js +24 -0
  1960. package/locales/angular/global/kw.js +32 -0
  1961. package/locales/angular/global/ky.js +24 -0
  1962. package/locales/angular/global/lag.js +26 -0
  1963. package/locales/angular/global/lb.js +24 -0
  1964. package/locales/angular/global/lg.js +24 -0
  1965. package/locales/angular/global/lkt.js +22 -0
  1966. package/locales/angular/global/ln-ao.js +24 -0
  1967. package/locales/angular/global/ln-cf.js +24 -0
  1968. package/locales/angular/global/ln-cg.js +24 -0
  1969. package/locales/angular/global/ln.js +24 -0
  1970. package/locales/angular/global/lo.js +22 -0
  1971. package/locales/angular/global/lrc-iq.js +22 -0
  1972. package/locales/angular/global/lrc.js +22 -0
  1973. package/locales/angular/global/lt.js +28 -0
  1974. package/locales/angular/global/lu.js +22 -0
  1975. package/locales/angular/global/luo.js +22 -0
  1976. package/locales/angular/global/luy.js +22 -0
  1977. package/locales/angular/global/lv.js +26 -0
  1978. package/locales/angular/global/mai.js +22 -0
  1979. package/locales/angular/global/mas-tz.js +24 -0
  1980. package/locales/angular/global/mas.js +24 -0
  1981. package/locales/angular/global/mer.js +22 -0
  1982. package/locales/angular/global/mfe.js +22 -0
  1983. package/locales/angular/global/mg.js +24 -0
  1984. package/locales/angular/global/mgh.js +22 -0
  1985. package/locales/angular/global/mgo.js +24 -0
  1986. package/locales/angular/global/mi.js +22 -0
  1987. package/locales/angular/global/mk.js +24 -0
  1988. package/locales/angular/global/ml.js +24 -0
  1989. package/locales/angular/global/mn.js +24 -0
  1990. package/locales/angular/global/mni-beng.js +22 -0
  1991. package/locales/angular/global/mni.js +22 -0
  1992. package/locales/angular/global/mr.js +24 -0
  1993. package/locales/angular/global/ms-bn.js +22 -0
  1994. package/locales/angular/global/ms-id.js +22 -0
  1995. package/locales/angular/global/ms-sg.js +22 -0
  1996. package/locales/angular/global/ms.js +22 -0
  1997. package/locales/angular/global/mt.js +28 -0
  1998. package/locales/angular/global/mua.js +22 -0
  1999. package/locales/angular/global/my.js +22 -0
  2000. package/locales/angular/global/mzn.js +22 -0
  2001. package/locales/angular/global/naq.js +26 -0
  2002. package/locales/angular/global/nb-sj.js +24 -0
  2003. package/locales/angular/global/nb.js +24 -0
  2004. package/locales/angular/global/nd.js +24 -0
  2005. package/locales/angular/global/nds-nl.js +22 -0
  2006. package/locales/angular/global/nds.js +22 -0
  2007. package/locales/angular/global/ne-in.js +24 -0
  2008. package/locales/angular/global/ne.js +24 -0
  2009. package/locales/angular/global/nl-aw.js +24 -0
  2010. package/locales/angular/global/nl-be.js +24 -0
  2011. package/locales/angular/global/nl-bq.js +24 -0
  2012. package/locales/angular/global/nl-cw.js +24 -0
  2013. package/locales/angular/global/nl-sr.js +24 -0
  2014. package/locales/angular/global/nl-sx.js +24 -0
  2015. package/locales/angular/global/nl.js +24 -0
  2016. package/locales/angular/global/nmg.js +22 -0
  2017. package/locales/angular/global/nn.js +24 -0
  2018. package/locales/angular/global/nnh.js +24 -0
  2019. package/locales/angular/global/no.js +24 -0
  2020. package/locales/angular/global/nus.js +22 -0
  2021. package/locales/angular/global/nyn.js +24 -0
  2022. package/locales/angular/global/om-ke.js +24 -0
  2023. package/locales/angular/global/om.js +24 -0
  2024. package/locales/angular/global/or.js +24 -0
  2025. package/locales/angular/global/os-ru.js +24 -0
  2026. package/locales/angular/global/os.js +24 -0
  2027. package/locales/angular/global/pa-arab.js +22 -0
  2028. package/locales/angular/global/pa-guru.js +24 -0
  2029. package/locales/angular/global/pa.js +24 -0
  2030. package/locales/angular/global/pcm.js +24 -0
  2031. package/locales/angular/global/pl.js +28 -0
  2032. package/locales/angular/global/ps-pk.js +24 -0
  2033. package/locales/angular/global/ps.js +24 -0
  2034. package/locales/angular/global/pt-ao.js +26 -0
  2035. package/locales/angular/global/pt-ch.js +26 -0
  2036. package/locales/angular/global/pt-cv.js +26 -0
  2037. package/locales/angular/global/pt-gq.js +26 -0
  2038. package/locales/angular/global/pt-gw.js +26 -0
  2039. package/locales/angular/global/pt-lu.js +26 -0
  2040. package/locales/angular/global/pt-mo.js +26 -0
  2041. package/locales/angular/global/pt-mz.js +26 -0
  2042. package/locales/angular/global/pt-pt.js +26 -0
  2043. package/locales/angular/global/pt-st.js +26 -0
  2044. package/locales/angular/global/pt-tl.js +26 -0
  2045. package/locales/angular/global/pt.js +26 -0
  2046. package/locales/angular/global/qu-bo.js +22 -0
  2047. package/locales/angular/global/qu-ec.js +22 -0
  2048. package/locales/angular/global/qu.js +22 -0
  2049. package/locales/angular/global/rm.js +24 -0
  2050. package/locales/angular/global/rn.js +22 -0
  2051. package/locales/angular/global/ro-md.js +26 -0
  2052. package/locales/angular/global/ro.js +26 -0
  2053. package/locales/angular/global/rof.js +24 -0
  2054. package/locales/angular/global/ru-by.js +28 -0
  2055. package/locales/angular/global/ru-kg.js +28 -0
  2056. package/locales/angular/global/ru-kz.js +28 -0
  2057. package/locales/angular/global/ru-md.js +28 -0
  2058. package/locales/angular/global/ru-ua.js +28 -0
  2059. package/locales/angular/global/ru.js +28 -0
  2060. package/locales/angular/global/rw.js +22 -0
  2061. package/locales/angular/global/rwk.js +24 -0
  2062. package/locales/angular/global/sa.js +22 -0
  2063. package/locales/angular/global/sah.js +22 -0
  2064. package/locales/angular/global/saq.js +24 -0
  2065. package/locales/angular/global/sat-olck.js +26 -0
  2066. package/locales/angular/global/sat.js +26 -0
  2067. package/locales/angular/global/sbp.js +22 -0
  2068. package/locales/angular/global/sc.js +24 -0
  2069. package/locales/angular/global/sd-arab.js +24 -0
  2070. package/locales/angular/global/sd-deva.js +22 -0
  2071. package/locales/angular/global/sd.js +24 -0
  2072. package/locales/angular/global/se-fi.js +26 -0
  2073. package/locales/angular/global/se-se.js +26 -0
  2074. package/locales/angular/global/se.js +26 -0
  2075. package/locales/angular/global/seh.js +24 -0
  2076. package/locales/angular/global/ses.js +22 -0
  2077. package/locales/angular/global/sg.js +22 -0
  2078. package/locales/angular/global/shi-latn.js +22 -0
  2079. package/locales/angular/global/shi-tfng.js +26 -0
  2080. package/locales/angular/global/shi.js +26 -0
  2081. package/locales/angular/global/si.js +24 -0
  2082. package/locales/angular/global/sk.js +28 -0
  2083. package/locales/angular/global/sl.js +28 -0
  2084. package/locales/angular/global/smn.js +26 -0
  2085. package/locales/angular/global/sn.js +24 -0
  2086. package/locales/angular/global/so-dj.js +24 -0
  2087. package/locales/angular/global/so-et.js +24 -0
  2088. package/locales/angular/global/so-ke.js +24 -0
  2089. package/locales/angular/global/so.js +24 -0
  2090. package/locales/angular/global/sq-mk.js +24 -0
  2091. package/locales/angular/global/sq-xk.js +24 -0
  2092. package/locales/angular/global/sq.js +24 -0
  2093. package/locales/angular/global/sr-cyrl-ba.js +26 -0
  2094. package/locales/angular/global/sr-cyrl-me.js +26 -0
  2095. package/locales/angular/global/sr-cyrl-xk.js +26 -0
  2096. package/locales/angular/global/sr-cyrl.js +26 -0
  2097. package/locales/angular/global/sr-latn-ba.js +22 -0
  2098. package/locales/angular/global/sr-latn-me.js +22 -0
  2099. package/locales/angular/global/sr-latn-xk.js +22 -0
  2100. package/locales/angular/global/sr-latn.js +22 -0
  2101. package/locales/angular/global/sr.js +26 -0
  2102. package/locales/angular/global/su-latn.js +22 -0
  2103. package/locales/angular/global/su.js +22 -0
  2104. package/locales/angular/global/sv-ax.js +24 -0
  2105. package/locales/angular/global/sv-fi.js +24 -0
  2106. package/locales/angular/global/sv.js +24 -0
  2107. package/locales/angular/global/sw-cd.js +24 -0
  2108. package/locales/angular/global/sw-ke.js +24 -0
  2109. package/locales/angular/global/sw-ug.js +24 -0
  2110. package/locales/angular/global/sw.js +24 -0
  2111. package/locales/angular/global/ta-lk.js +24 -0
  2112. package/locales/angular/global/ta-my.js +24 -0
  2113. package/locales/angular/global/ta-sg.js +24 -0
  2114. package/locales/angular/global/ta.js +24 -0
  2115. package/locales/angular/global/te.js +24 -0
  2116. package/locales/angular/global/teo-ke.js +24 -0
  2117. package/locales/angular/global/teo.js +24 -0
  2118. package/locales/angular/global/tg.js +22 -0
  2119. package/locales/angular/global/th.js +22 -0
  2120. package/locales/angular/global/ti-er.js +24 -0
  2121. package/locales/angular/global/ti.js +24 -0
  2122. package/locales/angular/global/tk.js +24 -0
  2123. package/locales/angular/global/to.js +22 -0
  2124. package/locales/angular/global/tr-cy.js +24 -0
  2125. package/locales/angular/global/tr.js +24 -0
  2126. package/locales/angular/global/tt.js +22 -0
  2127. package/locales/angular/global/twq.js +22 -0
  2128. package/locales/angular/global/tzm.js +24 -0
  2129. package/locales/angular/global/ug.js +24 -0
  2130. package/locales/angular/global/uk.js +28 -0
  2131. package/locales/angular/global/und.js +24 -0
  2132. package/locales/angular/global/ur-in.js +24 -0
  2133. package/locales/angular/global/ur.js +24 -0
  2134. package/locales/angular/global/uz-arab.js +22 -0
  2135. package/locales/angular/global/uz-cyrl.js +22 -0
  2136. package/locales/angular/global/uz-latn.js +24 -0
  2137. package/locales/angular/global/uz.js +24 -0
  2138. package/locales/angular/global/vai-latn.js +22 -0
  2139. package/locales/angular/global/vai-vaii.js +22 -0
  2140. package/locales/angular/global/vai.js +22 -0
  2141. package/locales/angular/global/vi.js +22 -0
  2142. package/locales/angular/global/vun.js +24 -0
  2143. package/locales/angular/global/wae.js +24 -0
  2144. package/locales/angular/global/wo.js +22 -0
  2145. package/locales/angular/global/xh.js +24 -0
  2146. package/locales/angular/global/xog.js +24 -0
  2147. package/locales/angular/global/yav.js +22 -0
  2148. package/locales/angular/global/yi.js +24 -0
  2149. package/locales/angular/global/yo-bj.js +22 -0
  2150. package/locales/angular/global/yo.js +22 -0
  2151. package/locales/angular/global/yrl-co.js +22 -0
  2152. package/locales/angular/global/yrl-ve.js +22 -0
  2153. package/locales/angular/global/yrl.js +22 -0
  2154. package/locales/angular/global/yue-hans.js +22 -0
  2155. package/locales/angular/global/yue-hant.js +22 -0
  2156. package/locales/angular/global/yue.js +22 -0
  2157. package/locales/angular/global/zgh.js +22 -0
  2158. package/locales/angular/global/zh-hans-hk.js +22 -0
  2159. package/locales/angular/global/zh-hans-mo.js +22 -0
  2160. package/locales/angular/global/zh-hans-sg.js +22 -0
  2161. package/locales/angular/global/zh-hans.js +22 -0
  2162. package/locales/angular/global/zh-hant-hk.js +22 -0
  2163. package/locales/angular/global/zh-hant-mo.js +22 -0
  2164. package/locales/angular/global/zh-hant.js +22 -0
  2165. package/locales/angular/global/zh.js +22 -0
  2166. package/locales/angular/global/zu.js +24 -0
  2167. package/locales/moment/af.js +82 -0
  2168. package/locales/moment/ar-dz.js +167 -0
  2169. package/locales/moment/ar-kw.js +66 -0
  2170. package/locales/moment/ar-ly.js +182 -0
  2171. package/locales/moment/ar-ma.js +67 -0
  2172. package/locales/moment/ar-ps.js +123 -0
  2173. package/locales/moment/ar-sa.js +116 -0
  2174. package/locales/moment/ar-tn.js +66 -0
  2175. package/locales/moment/ar.js +200 -0
  2176. package/locales/moment/az.js +113 -0
  2177. package/locales/moment/be.js +153 -0
  2178. package/locales/moment/bg.js +98 -0
  2179. package/locales/moment/bm.js +62 -0
  2180. package/locales/moment/bn-bd.js +140 -0
  2181. package/locales/moment/bn.js +130 -0
  2182. package/locales/moment/bo.js +135 -0
  2183. package/locales/moment/br.js +179 -0
  2184. package/locales/moment/bs.js +171 -0
  2185. package/locales/moment/ca.js +111 -0
  2186. package/locales/moment/cs.js +192 -0
  2187. package/locales/moment/cv.js +74 -0
  2188. package/locales/moment/cy.js +109 -0
  2189. package/locales/moment/da.js +64 -0
  2190. package/locales/moment/de-at.js +90 -0
  2191. package/locales/moment/de-ch.js +87 -0
  2192. package/locales/moment/de.js +89 -0
  2193. package/locales/moment/dv.js +101 -0
  2194. package/locales/moment/el.js +117 -0
  2195. package/locales/moment/en-au.js +79 -0
  2196. package/locales/moment/en-ca.js +75 -0
  2197. package/locales/moment/en-gb.js +79 -0
  2198. package/locales/moment/en-ie.js +79 -0
  2199. package/locales/moment/en-il.js +75 -0
  2200. package/locales/moment/en-in.js +79 -0
  2201. package/locales/moment/en-nz.js +79 -0
  2202. package/locales/moment/en-sg.js +79 -0
  2203. package/locales/moment/eo.js +79 -0
  2204. package/locales/moment/es-do.js +119 -0
  2205. package/locales/moment/es-mx.js +121 -0
  2206. package/locales/moment/es-us.js +121 -0
  2207. package/locales/moment/es.js +121 -0
  2208. package/locales/moment/et.js +89 -0
  2209. package/locales/moment/eu.js +76 -0
  2210. package/locales/moment/fa.js +124 -0
  2211. package/locales/moment/fi.js +135 -0
  2212. package/locales/moment/fil.js +69 -0
  2213. package/locales/moment/fo.js +68 -0
  2214. package/locales/moment/fr-ca.js +81 -0
  2215. package/locales/moment/fr-ch.js +85 -0
  2216. package/locales/moment/fr.js +119 -0
  2217. package/locales/moment/fy.js +86 -0
  2218. package/locales/moment/ga.js +106 -0
  2219. package/locales/moment/gd.js +106 -0
  2220. package/locales/moment/gl.js +86 -0
  2221. package/locales/moment/gom-deva.js +137 -0
  2222. package/locales/moment/gom-latn.js +135 -0
  2223. package/locales/moment/gu.js +133 -0
  2224. package/locales/moment/he.js +105 -0
  2225. package/locales/moment/hi.js +179 -0
  2226. package/locales/moment/hr.js +167 -0
  2227. package/locales/moment/hu.js +129 -0
  2228. package/locales/moment/hy-am.js +105 -0
  2229. package/locales/moment/id.js +87 -0
  2230. package/locales/moment/is.js +151 -0
  2231. package/locales/moment/it-ch.js +75 -0
  2232. package/locales/moment/it.js +117 -0
  2233. package/locales/moment/ja.js +159 -0
  2234. package/locales/moment/jv.js +87 -0
  2235. package/locales/moment/ka.js +103 -0
  2236. package/locales/moment/kk.js +93 -0
  2237. package/locales/moment/km.js +114 -0
  2238. package/locales/moment/kn.js +135 -0
  2239. package/locales/moment/ko.js +86 -0
  2240. package/locales/moment/ku-kmr.js +125 -0
  2241. package/locales/moment/ku.js +129 -0
  2242. package/locales/moment/ky.js +95 -0
  2243. package/locales/moment/lb.js +148 -0
  2244. package/locales/moment/lo.js +77 -0
  2245. package/locales/moment/lt.js +136 -0
  2246. package/locales/moment/lv.js +105 -0
  2247. package/locales/moment/me.js +128 -0
  2248. package/locales/moment/mi.js +71 -0
  2249. package/locales/moment/mk.js +97 -0
  2250. package/locales/moment/ml.js +93 -0
  2251. package/locales/moment/mn.js +111 -0
  2252. package/locales/moment/mr.js +214 -0
  2253. package/locales/moment/ms-my.js +87 -0
  2254. package/locales/moment/ms.js +86 -0
  2255. package/locales/moment/mt.js +67 -0
  2256. package/locales/moment/my.js +102 -0
  2257. package/locales/moment/nb.js +71 -0
  2258. package/locales/moment/ne.js +132 -0
  2259. package/locales/moment/nl-be.js +113 -0
  2260. package/locales/moment/nl.js +115 -0
  2261. package/locales/moment/nn.js +70 -0
  2262. package/locales/moment/oc-lnc.js +96 -0
  2263. package/locales/moment/pa-in.js +133 -0
  2264. package/locales/moment/pl.js +151 -0
  2265. package/locales/moment/pt-br.js +69 -0
  2266. package/locales/moment/pt.js +74 -0
  2267. package/locales/moment/ro.js +87 -0
  2268. package/locales/moment/ru.js +224 -0
  2269. package/locales/moment/sd.js +92 -0
  2270. package/locales/moment/se.js +68 -0
  2271. package/locales/moment/si.js +80 -0
  2272. package/locales/moment/sk.js +156 -0
  2273. package/locales/moment/sl.js +182 -0
  2274. package/locales/moment/sq.js +76 -0
  2275. package/locales/moment/sr-cyrl.js +138 -0
  2276. package/locales/moment/sr.js +140 -0
  2277. package/locales/moment/ss.js +95 -0
  2278. package/locales/moment/sv.js +79 -0
  2279. package/locales/moment/sw.js +66 -0
  2280. package/locales/moment/ta.js +142 -0
  2281. package/locales/moment/te.js +99 -0
  2282. package/locales/moment/tet.js +79 -0
  2283. package/locales/moment/tg.js +128 -0
  2284. package/locales/moment/th.js +76 -0
  2285. package/locales/moment/tk.js +102 -0
  2286. package/locales/moment/tl-ph.js +68 -0
  2287. package/locales/moment/tlh.js +135 -0
  2288. package/locales/moment/tr.js +117 -0
  2289. package/locales/moment/tzl.js +100 -0
  2290. package/locales/moment/tzm-latn.js +65 -0
  2291. package/locales/moment/tzm.js +65 -0
  2292. package/locales/moment/ug-cn.js +122 -0
  2293. package/locales/moment/uk.js +178 -0
  2294. package/locales/moment/ur.js +93 -0
  2295. package/locales/moment/uz-latn.js +65 -0
  2296. package/locales/moment/uz.js +62 -0
  2297. package/locales/moment/vi.js +91 -0
  2298. package/locales/moment/x-pseudo.js +84 -0
  2299. package/locales/moment/yo.js +64 -0
  2300. package/locales/moment/zh-cn.js +131 -0
  2301. package/locales/moment/zh-hk.js +112 -0
  2302. package/locales/moment/zh-mo.js +111 -0
  2303. package/locales/moment/zh-tw.js +110 -0
  2304. package/locales/moment-timezone/moment-timezone-with-data.js +1582 -0
  2305. package/npm-shrinkwrap.json +17 -0
  2306. package/oAuth/.npmignore +2 -0
  2307. package/oAuth/bundles/index.umd.js +495 -0
  2308. package/oAuth/esm2022/index.mjs +5 -0
  2309. package/oAuth/esm2022/oAuth.service.mjs +51 -0
  2310. package/oAuth/esm2022/oAuth.utils.mjs +423 -0
  2311. package/oAuth/esm2022/public_api.mjs +3 -0
  2312. package/oAuth/fesm2022/index.mjs +478 -0
  2313. package/oAuth/fesm2022/index.mjs.map +1 -0
  2314. package/oAuth/index.d.ts +5 -0
  2315. package/oAuth/oAuth.service.d.ts +19 -0
  2316. package/oAuth/oAuth.utils.d.ts +20 -0
  2317. package/oAuth/package.json +25 -0
  2318. package/oAuth/public_api.d.ts +2 -0
  2319. package/package-lock.json +17 -0
  2320. package/package.json +16 -0
  2321. package/runtime/base/.npmignore +2 -0
  2322. package/runtime/base/bundles/index.umd.js +6031 -0
  2323. package/runtime/base/components/app-component/app.component.d.ts +46 -0
  2324. package/runtime/base/components/app-spinner.component.d.ts +10 -0
  2325. package/runtime/base/components/base-custom-widget.component.d.ts +75 -0
  2326. package/runtime/base/components/base-layout.component.d.ts +30 -0
  2327. package/runtime/base/components/base-page.component.d.ts +83 -0
  2328. package/runtime/base/components/base-partial.component.d.ts +65 -0
  2329. package/runtime/base/components/base-prefab.component.d.ts +61 -0
  2330. package/runtime/base/components/base-spa-page.component.d.ts +85 -0
  2331. package/runtime/base/components/custom-toaster.component.d.ts +19 -0
  2332. package/runtime/base/components/empty-component/empty-page.component.d.ts +18 -0
  2333. package/runtime/base/components/prefab-preview.component.d.ts +23 -0
  2334. package/runtime/base/directives/accessroles.directive.d.ts +40 -0
  2335. package/runtime/base/directives/prefab.directive.d.ts +17 -0
  2336. package/runtime/base/esm2022/components/app-component/app.component.mjs +201 -0
  2337. package/runtime/base/esm2022/components/app-spinner.component.mjs +54 -0
  2338. package/runtime/base/esm2022/components/base-custom-widget.component.mjs +339 -0
  2339. package/runtime/base/esm2022/components/base-layout.component.mjs +76 -0
  2340. package/runtime/base/esm2022/components/base-page.component.mjs +378 -0
  2341. package/runtime/base/esm2022/components/base-partial.component.mjs +221 -0
  2342. package/runtime/base/esm2022/components/base-prefab.component.mjs +253 -0
  2343. package/runtime/base/esm2022/components/base-spa-page.component.mjs +353 -0
  2344. package/runtime/base/esm2022/components/custom-toaster.component.mjs +87 -0
  2345. package/runtime/base/esm2022/components/empty-component/empty-page.component.mjs +66 -0
  2346. package/runtime/base/esm2022/components/prefab-preview.component.mjs +123 -0
  2347. package/runtime/base/esm2022/directives/accessroles.directive.mjs +118 -0
  2348. package/runtime/base/esm2022/directives/prefab.directive.mjs +50 -0
  2349. package/runtime/base/esm2022/guards/auth.guard.mjs +43 -0
  2350. package/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +44 -0
  2351. package/runtime/base/esm2022/guards/page-not-found.guard.mjs +22 -0
  2352. package/runtime/base/esm2022/guards/role.guard.mjs +47 -0
  2353. package/runtime/base/esm2022/index.mjs +5 -0
  2354. package/runtime/base/esm2022/overrides/wm_dom_renderer.mjs +363 -0
  2355. package/runtime/base/esm2022/overrides/wm_shared_styles_host.mjs +85 -0
  2356. package/runtime/base/esm2022/public_api.mjs +49 -0
  2357. package/runtime/base/esm2022/resolves/app-before-load.resolve.mjs +22 -0
  2358. package/runtime/base/esm2022/resolves/app-extension.resolve.mjs +48 -0
  2359. package/runtime/base/esm2022/resolves/app-js.resolve.mjs +39 -0
  2360. package/runtime/base/esm2022/resolves/app-variables.resolve.mjs +31 -0
  2361. package/runtime/base/esm2022/resolves/i18n.resolve.mjs +18 -0
  2362. package/runtime/base/esm2022/resolves/metadata.resolve.mjs +22 -0
  2363. package/runtime/base/esm2022/resolves/security-config.resolve.mjs +26 -0
  2364. package/runtime/base/esm2022/runtime-base.module.mjs +942 -0
  2365. package/runtime/base/esm2022/services/app-defaults.service.mjs +22 -0
  2366. package/runtime/base/esm2022/services/app.manager.service.mjs +522 -0
  2367. package/runtime/base/esm2022/services/app.service.mjs +232 -0
  2368. package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +86 -0
  2369. package/runtime/base/esm2022/services/http-interceptor.services.mjs +83 -0
  2370. package/runtime/base/esm2022/services/i18n.service.mjs +305 -0
  2371. package/runtime/base/esm2022/services/navigation.service.mjs +307 -0
  2372. package/runtime/base/esm2022/services/pipe-provider.service.mjs +127 -0
  2373. package/runtime/base/esm2022/services/pipe.service.mjs +33 -0
  2374. package/runtime/base/esm2022/services/prefab-manager.service.mjs +95 -0
  2375. package/runtime/base/esm2022/services/spinner.service.mjs +144 -0
  2376. package/runtime/base/esm2022/services/toaster.service.mjs +90 -0
  2377. package/runtime/base/esm2022/types/types.mjs +22 -0
  2378. package/runtime/base/esm2022/util/fragment-monitor.mjs +59 -0
  2379. package/runtime/base/esm2022/util/utils.mjs +24 -0
  2380. package/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +176 -0
  2381. package/runtime/base/fesm2022/index.mjs +6068 -0
  2382. package/runtime/base/fesm2022/index.mjs.map +1 -0
  2383. package/runtime/base/guards/auth.guard.d.ts +14 -0
  2384. package/runtime/base/guards/can-deactivate-page.guard.d.ts +16 -0
  2385. package/runtime/base/guards/page-not-found.guard.d.ts +12 -0
  2386. package/runtime/base/guards/role.guard.d.ts +17 -0
  2387. package/runtime/base/index.d.ts +5 -0
  2388. package/runtime/base/overrides/wm_dom_renderer.d.ts +33 -0
  2389. package/runtime/base/overrides/wm_shared_styles_host.d.ts +23 -0
  2390. package/runtime/base/package.json +25 -0
  2391. package/runtime/base/public_api.d.ts +48 -0
  2392. package/runtime/base/resolves/app-before-load.resolve.d.ts +11 -0
  2393. package/runtime/base/resolves/app-extension.resolve.d.ts +14 -0
  2394. package/runtime/base/resolves/app-js.resolve.d.ts +15 -0
  2395. package/runtime/base/resolves/app-variables.resolve.d.ts +11 -0
  2396. package/runtime/base/resolves/i18n.resolve.d.ts +9 -0
  2397. package/runtime/base/resolves/metadata.resolve.d.ts +9 -0
  2398. package/runtime/base/resolves/security-config.resolve.d.ts +10 -0
  2399. package/runtime/base/runtime-base.module.d.ts +171 -0
  2400. package/runtime/base/services/app-defaults.service.d.ts +12 -0
  2401. package/runtime/base/services/app.manager.service.d.ts +142 -0
  2402. package/runtime/base/services/app.service.d.ts +70 -0
  2403. package/runtime/base/services/dynamic-component-ref-provider.service.d.ts +26 -0
  2404. package/runtime/base/services/http-interceptor.services.d.ts +17 -0
  2405. package/runtime/base/services/i18n.service.d.ts +58 -0
  2406. package/runtime/base/services/navigation.service.d.ts +45 -0
  2407. package/runtime/base/services/pipe-provider.service.d.ts +31 -0
  2408. package/runtime/base/services/pipe.service.d.ts +12 -0
  2409. package/runtime/base/services/prefab-manager.service.d.ts +25 -0
  2410. package/runtime/base/services/spinner.service.d.ts +49 -0
  2411. package/runtime/base/services/toaster.service.d.ts +23 -0
  2412. package/runtime/base/types/types.d.ts +25 -0
  2413. package/runtime/base/util/fragment-monitor.d.ts +22 -0
  2414. package/runtime/base/util/utils.d.ts +6 -0
  2415. package/runtime/base/util/wm-route-reuse-strategy.d.ts +29 -0
  2416. package/runtime/dynamic/.npmignore +2 -0
  2417. package/runtime/dynamic/app/app.config.d.ts +5 -0
  2418. package/runtime/dynamic/app/app.module.d.ts +37 -0
  2419. package/runtime/dynamic/app/app.routes.d.ts +2 -0
  2420. package/runtime/dynamic/app/components/page-wrapper.component.d.ts +37 -0
  2421. package/runtime/dynamic/app/services/app-extension.service.d.ts +7 -0
  2422. package/runtime/dynamic/app/services/app-js-provider.service.d.ts +10 -0
  2423. package/runtime/dynamic/app/services/app-resource-manager.service.d.ts +10 -0
  2424. package/runtime/dynamic/app/services/app-variables-provider.service.d.ts +12 -0
  2425. package/runtime/dynamic/app/services/component-ref-provider.service.d.ts +17 -0
  2426. package/runtime/dynamic/app/services/customwidget-config-provider.service.d.ts +8 -0
  2427. package/runtime/dynamic/app/services/prefab-config-provider.service.d.ts +10 -0
  2428. package/runtime/dynamic/bundles/index.umd.js +887 -0
  2429. package/runtime/dynamic/esm2022/app/app.config.mjs +141 -0
  2430. package/runtime/dynamic/esm2022/app/app.module.mjs +314 -0
  2431. package/runtime/dynamic/esm2022/app/app.routes.mjs +21 -0
  2432. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +106 -0
  2433. package/runtime/dynamic/esm2022/app/services/app-extension.service.mjs +24 -0
  2434. package/runtime/dynamic/esm2022/app/services/app-js-provider.service.mjs +25 -0
  2435. package/runtime/dynamic/esm2022/app/services/app-resource-manager.service.mjs +31 -0
  2436. package/runtime/dynamic/esm2022/app/services/app-variables-provider.service.mjs +27 -0
  2437. package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +266 -0
  2438. package/runtime/dynamic/esm2022/app/services/customwidget-config-provider.service.mjs +22 -0
  2439. package/runtime/dynamic/esm2022/app/services/prefab-config-provider.service.mjs +29 -0
  2440. package/runtime/dynamic/esm2022/index.mjs +5 -0
  2441. package/runtime/dynamic/esm2022/main.mjs +42 -0
  2442. package/runtime/dynamic/esm2022/public_api.mjs +10 -0
  2443. package/runtime/dynamic/fesm2022/index.mjs +950 -0
  2444. package/runtime/dynamic/fesm2022/index.mjs.map +1 -0
  2445. package/runtime/dynamic/index.d.ts +5 -0
  2446. package/runtime/dynamic/main.d.ts +2 -0
  2447. package/runtime/dynamic/package.json +25 -0
  2448. package/runtime/dynamic/public_api.d.ts +9 -0
  2449. package/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -0
  2450. package/scripts/d3/d3.min.js +2 -0
  2451. package/scripts/datatable/datatable.js +3769 -0
  2452. package/scripts/iscroll/build/iscroll.js +2091 -0
  2453. package/scripts/jquery-ui/ui/widgets/droppable.js +503 -0
  2454. package/scripts/jquery-ui/ui/widgets/resizable.js +1275 -0
  2455. package/scripts/jquery-ui/ui/widgets/sortable.js +1608 -0
  2456. package/scripts/jquery.ui.touch-punch/jquery.ui.touch-punch.min.js +11 -0
  2457. package/scripts/summernote/dist/summernote-lite.min.js +2 -0
  2458. package/scripts/swipey/swipey.jquery.plugin.js +769 -0
  2459. package/scripts/tree-keyboard-navigation/keyboard-navigation.js +251 -0
  2460. package/security/.npmignore +2 -0
  2461. package/security/bundles/index.umd.js +446 -0
  2462. package/security/esm2022/index.mjs +5 -0
  2463. package/security/esm2022/public_api.mjs +2 -0
  2464. package/security/esm2022/security.service.mjs +439 -0
  2465. package/security/fesm2022/index.mjs +444 -0
  2466. package/security/fesm2022/index.mjs.map +1 -0
  2467. package/security/index.d.ts +5 -0
  2468. package/security/package.json +25 -0
  2469. package/security/public_api.d.ts +1 -0
  2470. package/security/security.service.d.ts +127 -0
  2471. package/swipey/.npmignore +2 -0
  2472. package/swipey/bundles/index.umd.js +54 -0
  2473. package/swipey/esm2022/index.mjs +5 -0
  2474. package/swipey/esm2022/public_api.mjs +2 -0
  2475. package/swipey/esm2022/swipe.animation.mjs +45 -0
  2476. package/swipey/fesm2022/index.mjs +51 -0
  2477. package/swipey/fesm2022/index.mjs.map +1 -0
  2478. package/swipey/index.d.ts +5 -0
  2479. package/swipey/package.json +25 -0
  2480. package/swipey/public_api.d.ts +1 -0
  2481. package/swipey/swipe.animation.d.ts +19 -0
  2482. package/transpiler/.npmignore +2 -0
  2483. package/transpiler/build.d.ts +35 -0
  2484. package/transpiler/bundles/index.umd.js +804 -0
  2485. package/transpiler/esm2022/build.mjs +475 -0
  2486. package/transpiler/esm2022/imports.mjs +318 -0
  2487. package/transpiler/esm2022/index.mjs +5 -0
  2488. package/transpiler/esm2022/public_api.mjs +3 -0
  2489. package/transpiler/fesm2022/index.mjs +799 -0
  2490. package/transpiler/fesm2022/index.mjs.map +1 -0
  2491. package/transpiler/imports.d.ts +2 -0
  2492. package/transpiler/index.d.ts +5 -0
  2493. package/transpiler/package.json +26 -0
  2494. package/transpiler/public_api.d.ts +2 -0
  2495. package/variables/.npmignore +2 -0
  2496. package/variables/advanced-options.d.ts +4 -0
  2497. package/variables/bundles/index.umd.js +3174 -0
  2498. package/variables/constants/variables.constants.d.ts +315 -0
  2499. package/variables/esm2022/advanced-options.mjs +2 -0
  2500. package/variables/esm2022/constants/variables.constants.mjs +333 -0
  2501. package/variables/esm2022/factory/variable-manager.factory.mjs +24 -0
  2502. package/variables/esm2022/factory/variable.factory.mjs +46 -0
  2503. package/variables/esm2022/index.mjs +5 -0
  2504. package/variables/esm2022/manager/action/base-action.manager.mjs +14 -0
  2505. package/variables/esm2022/manager/action/login-action.manager.mjs +180 -0
  2506. package/variables/esm2022/manager/action/logout-action.manager.mjs +77 -0
  2507. package/variables/esm2022/manager/action/navigation-action.manager.mjs +8 -0
  2508. package/variables/esm2022/manager/action/notification-action.manager.mjs +152 -0
  2509. package/variables/esm2022/manager/variable/base-variable.manager.mjs +81 -0
  2510. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +289 -0
  2511. package/variables/esm2022/model/action/login-action.mjs +25 -0
  2512. package/variables/esm2022/model/action/logout-action.mjs +22 -0
  2513. package/variables/esm2022/model/action/navigation-action.mjs +26 -0
  2514. package/variables/esm2022/model/action/notification-action.mjs +91 -0
  2515. package/variables/esm2022/model/variable/web-socket-variable.mjs +34 -0
  2516. package/variables/esm2022/public_api.mjs +6 -0
  2517. package/variables/esm2022/service/metadata-service/metadata.service.mjs +60 -0
  2518. package/variables/esm2022/service/variables.service.mjs +199 -0
  2519. package/variables/esm2022/util/action/navigation-action.utils.mjs +52 -0
  2520. package/variables/esm2022/util/oAuth.utils.mjs +11 -0
  2521. package/variables/esm2022/util/variable/pagination.utils.mjs +402 -0
  2522. package/variables/esm2022/util/variable/service-variable.utils.mjs +376 -0
  2523. package/variables/esm2022/util/variable/variables.utils.mjs +809 -0
  2524. package/variables/factory/variable-manager.factory.d.ts +3 -0
  2525. package/variables/factory/variable.factory.d.ts +3 -0
  2526. package/variables/fesm2022/index.mjs +3236 -0
  2527. package/variables/fesm2022/index.mjs.map +1 -0
  2528. package/variables/index.d.ts +5 -0
  2529. package/variables/manager/action/base-action.manager.d.ts +4 -0
  2530. package/variables/manager/action/login-action.manager.d.ts +7 -0
  2531. package/variables/manager/action/logout-action.manager.d.ts +4 -0
  2532. package/variables/manager/action/navigation-action.manager.d.ts +4 -0
  2533. package/variables/manager/action/notification-action.manager.d.ts +23 -0
  2534. package/variables/manager/variable/base-variable.manager.d.ts +24 -0
  2535. package/variables/manager/variable/web-socket-variable.manager.d.ts +124 -0
  2536. package/variables/model/action/login-action.d.ts +11 -0
  2537. package/variables/model/action/logout-action.d.ts +10 -0
  2538. package/variables/model/action/navigation-action.d.ts +9 -0
  2539. package/variables/model/action/notification-action.d.ts +25 -0
  2540. package/variables/model/variable/web-socket-variable.d.ts +11 -0
  2541. package/variables/package.json +25 -0
  2542. package/variables/public_api.d.ts +5 -0
  2543. package/variables/service/metadata-service/metadata.service.d.ts +16 -0
  2544. package/variables/service/variables.service.d.ts +57 -0
  2545. package/variables/util/action/navigation-action.utils.d.ts +6 -0
  2546. package/variables/util/oAuth.utils.d.ts +3 -0
  2547. package/variables/util/variable/pagination.utils.d.ts +82 -0
  2548. package/variables/util/variable/service-variable.utils.d.ts +16 -0
  2549. package/variables/util/variable/variables.utils.d.ts +80 -0
@@ -0,0 +1,3769 @@
1
+ /*global $, window, angular, moment, _, document, parseInt, navigator*/
2
+ /**
3
+ * JQuery Datagrid widget.
4
+ */
5
+
6
+ 'use strict';
7
+
8
+ $.widget('wm.datatable', {
9
+ options: {
10
+ data: [],
11
+ statusMsg: '',
12
+ colDefs: [],
13
+ rowActions: [],
14
+ headerConfig: [],
15
+ sortInfo: {
16
+ 'field': '',
17
+ 'direction': ''
18
+ },
19
+ isMobile: false,
20
+ enableSort: true,
21
+ filtermode: '',
22
+ filteronkeypress: false,
23
+ caseinsensitive: false,
24
+ activeRow: undefined,
25
+ isrowselectable: false,
26
+ allowpagesizechange: false,
27
+ height: '100%',
28
+ showHeader: true,
29
+ selectFirstRow: false,
30
+ showNewRow: true,
31
+ showRowIndex: false,
32
+ enableRowSelection: true,
33
+ enableColumnSelection: false,
34
+ multiselect: false,
35
+ headerselectall: false,
36
+ multiselecttitle: '',
37
+ multiselectarialabel: '',
38
+ radioselecttitle:'',
39
+ radioselectarialabel: '',
40
+ filterNullRecords: true,
41
+ navigation: '',
42
+ isdynamictable: '',
43
+ cssClassNames: {
44
+ 'tableRow': 'app-datagrid-row',
45
+ 'headerCell': 'app-datagrid-header-cell',
46
+ 'groupHeaderCell': 'app-datagrid-group-header-cell',
47
+ 'tableCell': 'app-datagrid-cell',
48
+ 'grid': '',
49
+ 'gridDefault': 'table',
50
+ 'gridBody': 'app-datagrid-body',
51
+ 'gridFooter': 'app-datagrid-footer',
52
+ 'deleteRow': 'danger',
53
+ 'ascIcon': 'wi wi-long-arrow-up',
54
+ 'descIcon': 'wi wi-long-arrow-down',
55
+ 'selectedColumn': 'selected-column',
56
+ 'rowExpandIcon': 'wi wi-minus-square',
57
+ 'rowCollapseIcon': 'wi wi-plus-square',
58
+ 'gridRowExpansionClass': 'table-row-expansion',
59
+ 'expandedRowClass' : 'expanded'
60
+ },
61
+ dataStates: {
62
+ 'loading': 'Loading...',
63
+ 'ready': '',
64
+ 'error': 'An error occurred in loading the data.',
65
+ 'nodata': 'No data found.'
66
+ },
67
+ messages: {
68
+ 'selectField': 'Select Field'
69
+ },
70
+ loadingicon: '',
71
+ ondemandmessage: '',
72
+ viewlessmessage: '',
73
+ startRowIndex: 1,
74
+ editmode: '',
75
+ actionsEnabled: {
76
+ 'edit': true,
77
+ 'new': true
78
+ },
79
+ rowExpansionEnabled: false,
80
+ rowDef: {
81
+ position: '0',
82
+ closeothers: false,
83
+ columnwidth: '50px'
84
+ },
85
+ summaryRow: false,
86
+ summaryRowDefs: [],
87
+ summaryRowDefsObject: [],
88
+ searchHandler: function () {
89
+ },
90
+ sortHandler: function () {
91
+ }
92
+ },
93
+ customColumnDefs: {
94
+ 'checkbox': {
95
+ 'field': 'checkbox',
96
+ 'type': 'custom',
97
+ 'displayName': '',
98
+ 'sortable': false,
99
+ 'searchable': false,
100
+ 'resizable': false,
101
+ 'selectable': false,
102
+ 'readonly': true,
103
+ 'style': 'width: 50px; text-align: center;',
104
+ 'textAlignment': 'center',
105
+ 'isMultiSelectCol': true,
106
+ 'show': true,
107
+ 'multiselecttitle': '',
108
+ 'multiselectarialabel': ''
109
+ },
110
+ 'radio': {
111
+ 'field': 'radio',
112
+ 'type': 'custom',
113
+ 'displayName': '',
114
+ 'sortable': false,
115
+ 'searchable': false,
116
+ 'resizable': false,
117
+ 'selectable': false,
118
+ 'readonly': true,
119
+ 'style': 'width: 50px; text-align: center;',
120
+ 'textAlignment': 'center',
121
+ 'show': true,
122
+ 'radioselecttitle': '',
123
+ 'radioselectarialabel': ''
124
+ },
125
+ '__expand': {
126
+ 'field': '__expand',
127
+ 'type': 'custom',
128
+ 'displayName': '',
129
+ 'sortable': false,
130
+ 'searchable': false,
131
+ 'resizable': false,
132
+ 'selectable': false,
133
+ 'readonly': true,
134
+ 'style': 'text-align: center;',
135
+ 'textAlignment': 'center',
136
+ 'show': true,
137
+ 'width': '50px'
138
+ },
139
+ 'rowIndex': {
140
+ 'field': 'rowIndex',
141
+ 'type': 'custom',
142
+ 'displayName': 'S. No.',
143
+ 'sortable': false,
144
+ 'searchable': false,
145
+ 'selectable': false,
146
+ 'readonly': true,
147
+ 'style': 'text-align: left;',
148
+ 'textAlignment': 'left',
149
+ 'show': true
150
+ }
151
+ },
152
+ CONSTANTS: {
153
+ 'QUICK_EDIT': 'quickedit',
154
+ 'INLINE': 'inline',
155
+ 'FORM': 'form',
156
+ 'DIALOG': 'dialog',
157
+ 'SEARCH': 'search',
158
+ 'MULTI_COLUMN': 'multicolumn'
159
+ },
160
+ Utils: {
161
+ random: function () {
162
+ return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
163
+ },
164
+ isDefined: function (value) {
165
+ return value !== undefined;
166
+ },
167
+ isObject: function (value) {
168
+ return value !== null && typeof value === 'object';
169
+ },
170
+ getObjectIndex: function (data, obj) {
171
+ var matchIndex = -1;
172
+ if (!Array.isArray(data)) {
173
+ return -1;
174
+ }
175
+ data.some(function (data, index) {
176
+ if (_.isEqual(data, obj)) {
177
+ matchIndex = index;
178
+ return true;
179
+ }
180
+ });
181
+ return matchIndex;
182
+ },
183
+ generateGuid: function () {
184
+ var random = this.random;
185
+ return random() + random() + '-' + random() + '-' + random() + '-' +
186
+ random() + '-' + random() + random() + random();
187
+ },
188
+ isValidHtml: function (htm) {
189
+ var validHtmlRegex = /<[a-z][\s\S]*>/i;
190
+ return validHtmlRegex.test(htm);
191
+ },
192
+ isMac: function () {
193
+ return navigator.platform.toUpperCase().indexOf('MAC') >= 0;
194
+ },
195
+ isDeleteKey: function (event) {
196
+ return (this.isMac() && event.which === 8) || event.which === 46;
197
+ }
198
+ },
199
+
200
+ /**
201
+ * used to parse styles expression and apply individual styles to a DOM node
202
+ * this is done to mitigate CSP unsafe-inline policy on styles
203
+ * @param $el
204
+ * @param styleString
205
+ * @returns {*}
206
+ * @private
207
+ */
208
+ _setStyles: function($el, styleString) {
209
+ if (!styleString) {
210
+ return;
211
+ }
212
+ var styles = styleString.split(';');
213
+ styles.forEach(function (styleBit) {
214
+ var parts = styleBit.split(':');
215
+ var property, value;
216
+ if (parts.length === 2) {
217
+ property = parts[0].trim();
218
+ value = parts[1].trim();
219
+ $el.css(property, value);
220
+ }
221
+ });
222
+ return styleString;
223
+ },
224
+
225
+ _getColumnSortDirection: function (field) {
226
+ var sortInfo = this.options.sortInfo;
227
+ return field === sortInfo.field ? sortInfo.direction : '';
228
+ },
229
+ /*Based on the spacing property, add or remove classes*/
230
+ _toggleSpacingClasses: function (value) {
231
+ switch (value) {
232
+ case 'normal':
233
+ this.tableContainer.removeClass('table-condensed');
234
+ if (this.gridSearch) {
235
+ this.gridSearch.find('.form-group').removeClass('form-group-sm');
236
+ this.gridSearch.find('select').removeClass('input-sm');
237
+ this.gridSearch.find('.input-group').removeClass('input-group-sm');
238
+ }
239
+ break;
240
+ case 'condensed':
241
+ this.tableContainer.addClass('table-condensed');
242
+ if (this.gridSearch) {
243
+ this.gridSearch.find('.form-group').addClass('form-group-sm');
244
+ this.gridSearch.find('select').addClass('input-sm');
245
+ this.gridSearch.find('.input-group').addClass('input-group-sm');
246
+ }
247
+ break;
248
+ }
249
+ },
250
+ //Method to calculate and get the column span of the header cells
251
+ _getColSpan: function (cols) {
252
+ var colSpan = 0,
253
+ self = this;
254
+ _.forEach(cols, function (col) {
255
+ var colDef;
256
+ if (col.isGroup) {
257
+ colSpan += self._getColSpan(col.columns);
258
+ } else {
259
+ colDef = _.find(self.preparedHeaderData, {'field': col.field});
260
+ //If show is false, don't increment the col span
261
+ colSpan = (!_.isUndefined(colDef.show) && !colDef.show) ? colSpan : colSpan + 1;
262
+ }
263
+ });
264
+ return colSpan;
265
+ },
266
+ //Method to set the column span of the header cells in the config
267
+ _setColSpan: function (config) {
268
+ var self = this;
269
+ _.forEach(config, function (col) {
270
+ if (col.isGroup) {
271
+ col.colspan = self._getColSpan(col.columns);
272
+ self.gridHeaderElement.find('th[data-col-group="' + col.field + '"]').attr('colspan', col.colspan);
273
+ self._setColSpan(col.columns);
274
+ }
275
+ });
276
+ },
277
+ /* Returns the table header template. */
278
+ _getHeaderTemplate: function () {
279
+
280
+ var $colgroup = $('<colgroup></colgroup>'),
281
+ $htm = this.gridHeaderElement.empty(),
282
+ isDefined = this.Utils.isDefined,
283
+ sortInfo = this.options.sortInfo,
284
+ sortField = sortInfo.field,
285
+ self = this,
286
+ rowTemplates = [],
287
+ headerConfig = this.options.headerConfig,
288
+ headerGroupClass = self.options.cssClassNames.groupHeaderCell,
289
+ $row;
290
+
291
+ function generateHeaderCell(value, index) {
292
+ var id = index,
293
+ field = value.field,
294
+ headerLabel = self.Utils.isDefined(value.displayName) ? value.displayName : (field || ''),
295
+ titleLabel = headerLabel,
296
+ sortEnabled = self.options.enableSort && (_.isUndefined(value.show) || value.show) && (_.isUndefined(value.sortable) || value.sortable),
297
+ headerClasses = self.options.cssClassNames.headerCell,
298
+ sortClass,
299
+ tl = '',
300
+ $th,
301
+ $col,
302
+ $sortSpan,
303
+ $sortIcon;
304
+ headerLabel = (!self.Utils.isDefined(headerLabel) || headerLabel === '') ? '&nbsp;' : headerLabel; //If headername is empty, add an empty space
305
+ $col = $('<col/>');
306
+ if (value.style) {
307
+ self._setStyles($col, value.style);
308
+ }
309
+ $colgroup.append($col);
310
+ /* thead */
311
+
312
+ if (isDefined(value.class)) {
313
+ headerClasses += ' ' + value.class;
314
+ }
315
+ if (value.selected) {
316
+ headerClasses += ' ' + self.options.cssClassNames.selectedColumn + ' ';
317
+ }
318
+ if (field === 'checkbox' || field === 'radio') {
319
+ headerClasses += ' grid-col-small';
320
+ }
321
+ tl += '<th';
322
+ if ((_.isUndefined(value.resizable) || value.resizable) && (_.isUndefined(value.show) || value.show)) { //If show is false, do not add the resize option
323
+ tl += ' data-col-resizable';
324
+ }
325
+ if (self.options.enableColumnSelection && (_.isUndefined(value.selectable) || value.selectable)) {
326
+ tl += ' data-col-selectable';
327
+ }
328
+ if (sortEnabled) {
329
+ tl += ' data-col-sortable';
330
+ }
331
+ tl += '></th>';
332
+ $th = $(tl);
333
+ $th.attr({
334
+ 'data-col-id': id,
335
+ 'data-col-field': field,
336
+ 'title': titleLabel,
337
+ 'tabindex': 0,
338
+ 'scope': 'col',
339
+ 'role':'columnheader'
340
+ });
341
+ self._setStyles($th, 'text-align: ' + value.textAlignment)
342
+ $th.addClass(headerClasses);
343
+ /* For custom columns, show display name if provided, else don't show any label. */
344
+ if (field === 'checkbox') {
345
+ $th.append(self._getCheckbox());
346
+ }
347
+ if (field === 'radio') {
348
+ $th.attr('aria-label', "Select row");
349
+ }
350
+ $th.append('<span class="header-data">' + headerLabel + '</span>');
351
+ if (sortEnabled) { //If sort info is present, show the sort icon for that column on grid render
352
+ $sortSpan = $('<span class="sort-buttons-container"></span>');
353
+ $sortIcon = $('<i class="sort-icon"></i>');
354
+ if (sortField && sortField === value.field && sortInfo.direction) {
355
+ sortClass = sortInfo.direction === 'asc' ? self.options.cssClassNames.ascIcon : self.options.cssClassNames.descIcon;
356
+ $sortSpan.addClass('active');
357
+ $sortIcon.addClass(sortClass + ' ' + sortInfo.direction);
358
+ }
359
+ $th.append($sortSpan.append($sortIcon));
360
+ }
361
+ return $th;
362
+ }
363
+
364
+ //Method to generate the header row based on the column group config
365
+ function generateRow(cols, i) {
366
+ var $thList = [];
367
+ _.forEach(cols, function (col) {
368
+ var index,
369
+ value,
370
+ classes,
371
+ styles,
372
+ $groupTl;
373
+ if (col.columns && col.columns.length) {
374
+ //If columns is present, this is a group header cell.
375
+ $groupTl = $('<th></th>');
376
+ classes = headerGroupClass + ' ' + (col.class || '');
377
+ styles = 'text-align: ' + col.textAlignment + ';background-color: ' + (col.backgroundColor || '') + ';';
378
+ $groupTl.attr({
379
+ 'data-col-group': col.field,
380
+ 'class': classes,
381
+ 'title': col.displayName,
382
+ 'tabindex': 0
383
+ });
384
+ self._setStyles($groupTl, styles);
385
+ $groupTl.append('<span class="header-data">' + col.displayName + '</span>');
386
+ $thList.push($groupTl);
387
+ generateRow(col.columns, (i + 1));
388
+ } else {
389
+ //For non group cells, fetch the relative field definition and generate the template
390
+ index = _.findIndex(self.preparedHeaderData, {'field': col.field});
391
+ value = self.preparedHeaderData[index];
392
+ if (value) {
393
+ $thList.push(generateHeaderCell(value, index));
394
+ }
395
+ }
396
+ });
397
+ rowTemplates[i] = rowTemplates[i] || [];
398
+ rowTemplates[i] = rowTemplates[i].concat($thList);
399
+ }
400
+
401
+ //If header config is not present, this is a dynamic grid. Generate headers directly from field defs
402
+ if (_.isEmpty(headerConfig)) {
403
+ $row = $('<tr></tr>');
404
+ self.preparedHeaderData.forEach(function (value, index) {
405
+ $row.append(generateHeaderCell(value, index));
406
+ });
407
+ $htm.append($row);
408
+ } else {
409
+ generateRow(headerConfig, 0);
410
+ //Combine all the row templates to generate the header
411
+ rowTemplates.forEach(function($thList, index) {
412
+ $row = $('<tr role="row" tabindex="0"></tr>');
413
+ // To fix ADA issue "Tables headers in datatable must refer to data cells"
414
+ var rowSpan = rowTemplates.length - index;
415
+ //append all t-heads to the tr
416
+ $thList.forEach(function($th) {
417
+ // if rowspan > 1, apply it to all non-group t-heads
418
+ if (rowSpan > 1 && $th.hasClass('app-datagrid-header-cell')) {
419
+ $th.attr('rowspan', rowSpan);
420
+ }
421
+ $row.append($th);
422
+ });
423
+ $htm.append($row);
424
+ });
425
+ }
426
+
427
+ return {'colgroup': $colgroup, 'header': $htm};
428
+ },
429
+
430
+ /* Returns the seachbox template. */
431
+ _getSearchEl: function () {
432
+ var htm,
433
+ sel = '<select name="wm-datatable" data-element="dgFilterValue" ' +
434
+ 'class="form-control app-select">' +
435
+ '<option value="" selected class="placeholder">' + this.options.messages.selectField + '</option>',
436
+ searchLabel = (this.Utils.isDefined(this.options.searchLabel) &&
437
+ this.options.searchLabel.length) ? this.options.searchLabel : '';
438
+ this.options.colDefs.forEach(function (colDef, index) {
439
+ if (colDef.field !== 'none' && colDef.field !== 'rowOperations' && colDef.searchable && _.toString(colDef.showinfilter) !== 'false') {
440
+ sel += '<option value="' + colDef.field +
441
+ '" data-coldef-index="' + index + '">' +
442
+ (colDef.displayName || colDef.field) + '</option>';
443
+ }
444
+ });
445
+
446
+ sel += '</select>';
447
+ htm =
448
+ '<form class="form-search form-inline" onsubmit="return false;"><div class="form-group">' +
449
+ '<input type="text" data-element="dgSearchText" class="form-control app-textbox" value="" placeholder="' + searchLabel + '"/>' +
450
+ '</div><div class="input-append input-group">' +
451
+ sel +
452
+ '<span class="input-group-addon"><button type="button" data-element="dgSearchButton" class="app-search-button" title="' + searchLabel + '">' +
453
+ '<i class="wi wi-search"></i>' +
454
+ '</button></span>' +
455
+ '</div>' +
456
+ '</div></form>';
457
+ var $htm = $(htm);
458
+ this._setStyles($htm.find('[data-element="dgSearchText"]'), "display: inline-block;");
459
+ return $htm;
460
+ },
461
+ _appendRowExpansionButtons: function ($htm) {
462
+ var self = this;
463
+ $htm.find("[data-identifier='rowExpansionButtons']").each(function (index) {
464
+ var _rowData, $row, rowId, rowIndex = index;
465
+ $row = $(this).closest('tr.app-datagrid-row');
466
+ rowId = parseInt($row.attr('data-row-id'), 10);
467
+ _rowData = _.clone(self.options.data[rowId]);
468
+ _rowData.$index = rowIndex + 1;
469
+ self.options.generateRowExpansionCell(_rowData, rowIndex);
470
+ $(this).empty().append(self.options.getRowExpansionAction(rowIndex));
471
+ var expandtitleExpr = $(this).children()[0].getAttribute('expandtitle.bind'),
472
+ collapsetitleExpr = $(this).children()[0].getAttribute('collapsetitle.bind');
473
+
474
+ if(expandtitleExpr) {
475
+ self.options.registerCollapseOrExpandTitleWatch(expandtitleExpr, _rowData, rowIndex, "expandtitle", $(this).children()[0]);
476
+ }
477
+ if(collapsetitleExpr) {
478
+ self.options.registerCollapseOrExpandTitleWatch(collapsetitleExpr, _rowData, rowIndex, "collapsetitle", $(this).children()[0]);
479
+ }
480
+
481
+ });
482
+ },
483
+
484
+ setSummaryRowDef: function (key, data, rowIndex, refreshIndicator) {
485
+ this.options.summaryRow = true;
486
+ if (this.options.summaryRowDefs[rowIndex] == undefined) {
487
+ this.options.summaryRowDefs[rowIndex] = {};
488
+ this.options.summaryRowDefsObject[rowIndex] = {};
489
+ }
490
+ this.options.summaryRowDefsObject[rowIndex][key] = data;
491
+ this.options.summaryRowDefs[rowIndex][key] = (data && data.value) ? data.value : data;
492
+ if (refreshIndicator) this.refreshGridData();
493
+ },
494
+
495
+ /* Returns the tbody markup. */
496
+ _getSummaryRowTemplate: function () {
497
+ var self = this,
498
+ $tfoot = $('<tfoot class="' + this.options.cssClassNames.gridFooter + '"></tfoot>');
499
+ this._setStyles($tfoot, "border-top: 3px solid #eee;");
500
+
501
+ _.forEach(this.options.summaryRowDefs, function (row, index) {
502
+ row.$$pk = index;
503
+ $tfoot.append(self._getRowTemplate(row, index, true));
504
+ });
505
+
506
+ return $tfoot;
507
+ },
508
+
509
+
510
+ /* function to get start index of the current active page */
511
+ getPageStartIndex: function() {
512
+ // Guard against undefined getCurrentPage or getPageSize functions
513
+ var getCurrentPageFn = this.options.getCurrentPage;
514
+ var getPageSizeFn = this.options.getPageSize;
515
+ var currentPage, pagesize;
516
+ if (!getCurrentPageFn || typeof getCurrentPageFn !== 'function') {
517
+ // Default to page 1 if getCurrentPage is not available
518
+ currentPage = 1;
519
+ } else {
520
+ currentPage = getCurrentPageFn();
521
+ }
522
+ if (!getPageSizeFn || typeof getPageSizeFn !== 'function') {
523
+ // Default to 10 if getPageSize is not available
524
+ pagesize = 10;
525
+ } else {
526
+ pagesize = getPageSizeFn();
527
+ }
528
+ var isPrevPageUpdated = this.options.actionRowPage < currentPage;
529
+ var pageIndex = isPrevPageUpdated ? this.options.actionRowPage : currentPage;
530
+ return ((pageIndex - 1) * pagesize);
531
+ },
532
+
533
+ /*
534
+ function which filters the Prepared Data list and remove the rowdata if it is already present in the table
535
+ */
536
+ _getPreparedDataForInfiniteScroll : function ($tbody, preparedData) {
537
+ preparedData = preparedData.filter(function(row, index) {
538
+ var isExists = $tbody.find('tr.app-datagrid-row[data-row-id=' + row.$$pk + ']');
539
+ if (!isExists.length) { return row;}
540
+ })
541
+ return preparedData;
542
+ },
543
+
544
+ // when the edit action is performed, update the tr with the new data
545
+ _updateTrData : function ($tbody) {
546
+ var editedRow,updatedRowData, self = this;
547
+ editedRow = $tbody.find('tr.app-datagrid-row[data-row-id=' + self.options.actionRowIndex + ']');
548
+ updatedRowData = self.preparedData[self.options.actionRowIndex];
549
+ self.options.generateCustomExpressions(updatedRowData, self.options.actionRowIndex);
550
+ var rowTemplate = self._getRowTemplate(updatedRowData, self.options.actionRowIndex);
551
+ editedRow.replaceWith(rowTemplate[0]);
552
+ },
553
+
554
+ /*
555
+ handles the edit, search-sort operations performed on table with pagination type infinite scroll or On-demand
556
+ -> when search-sort is performed, clear the tbody
557
+ -> when the edit is performed update the tr with newly updated data
558
+ */
559
+ _handleCRUDForInfiniteScroll : function ($tbody) {
560
+ var self = this;
561
+
562
+ //When search or sort applied or dataset is updated, clear the tbody and render with filtered data
563
+ // Fix for [WMS-23263] 'isDataUpdatedByUser' flag is true when dataset is updated from script
564
+ if ((self.options.lastActionPerformed === self.options.ACTIONS.SEARCH_OR_SORT || self.options.lastActionPerformed === self.options.ACTIONS.FILTER_CRITERIA || self.options.lastActionPerformed === self.options.ACTIONS.DATASET_UPDATE) && (self.options.isSearchTrigerred || self.options.isDatasetUpdated || self.options.isDataUpdatedByUser)) {
565
+ $tbody.html('');
566
+ // In case of on demand pagination, when the next page is not disabled show the loading/load more button accordingly
567
+ if(this.options.navigation === 'On-Demand' && !this.options.isLastPage)
568
+ this.element.find('.on-demand-datagrid').show();
569
+ // Fix for [WMS-22904]- clearing customExpr and RowDetailExpr whenever tbody content is cleared
570
+ self.options.clearCustomExpression();
571
+ self.options.clearRowDetailExpression();
572
+ self.options.setIsSearchTrigerred(false);
573
+ self.options.setIsDatasetUpdated(false);
574
+ }
575
+
576
+ //In edit mode, replace the tr with newly updated values
577
+ else if (self.options.lastActionPerformed === self.options.ACTIONS.EDIT && self.options.actionRowIndex !== undefined && self.options.editmode !== this.CONSTANTS.QUICK_EDIT) {
578
+ self._updateTrData($tbody);
579
+ }
580
+ },
581
+
582
+ /* Returns the tbody markup. */
583
+ _getGridTemplate: function () {
584
+
585
+ var self = this, preparedData,$tbody,pageStartIndex = self.getPageStartIndex(),
586
+ startRowIndex = self.options.startRowIndex,
587
+ isScrollorOnDemand = self.options.isNavTypeScrollOrOndemand();
588
+ var $activeRow = self.gridElement.find('tr.row-editing:not(.always-new-row)').first();
589
+ var index = $activeRow.index();
590
+ if(isScrollorOnDemand) {
591
+ $tbody = this.gridElement;
592
+ if(this.renderTableOnViewLess) {
593
+ $tbody = this.gridElement.empty();
594
+ this.hideLoadingIndicator();
595
+ // this.addNavigationControls();
596
+ this.renderTableOnViewLess = false;
597
+ }
598
+ } else {
599
+ $tbody = this.gridElement.empty();
600
+ }
601
+
602
+ if(isScrollorOnDemand) {
603
+ this._handleCRUDForInfiniteScroll($tbody);
604
+ //Increment the startRowIndex, when delete action is prformed.
605
+ if (self.options.lastActionPerformed === self.options.ACTIONS.DELETE) {
606
+ startRowIndex = self.options.actionRowIndex + 1;
607
+ }
608
+ preparedData = this._getPreparedDataForInfiniteScroll($tbody, this.preparedData.slice(pageStartIndex));
609
+ } else {
610
+ // if navigation type is not scroll or on-Demand then clear CustomExpressions and RowDetailExpression
611
+ // as the expressions will be generated again
612
+ this.options.clearCustomExpression();
613
+ this.options.clearRowDetailExpression();
614
+ preparedData = this.preparedData;
615
+ }
616
+ _.forEach(preparedData, function (row, index) {
617
+ var _row = _.clone(row), rowIndex = (isScrollorOnDemand) ? startRowIndex + index - 1 : index, rowTemplate;
618
+ _row.$index = rowIndex + 1;
619
+ self.options.generateCustomExpressions(_row, rowIndex);
620
+ self.options.registerRowNgClassWatcher(_row, rowIndex);
621
+ rowTemplate = self._getRowTemplate(row, rowIndex);
622
+ $tbody.append(rowTemplate);
623
+ if (self.options.rowExpansionEnabled) {
624
+ var rowHeight = self.options.rowDef.height;
625
+ var colSpanLength = _.filter(self.preparedHeaderData, function(c) {return c.show}).length;
626
+ var $tr = $('<tr class="app-datagrid-detail-row" tabindex="0" role="row" data-row-id="' + row.$$pk + '"><td colspan="' + colSpanLength + '" class="app-datagrid-row-details-cell">' +
627
+ '<div class="row-overlay"><div class="row-status"><i class="' + self.options.loadingicon + '"></i></div></div><div class="details-section"></div>' +
628
+ '</td></tr>');
629
+ if (rowHeight) {
630
+ $tr.find('div.row-overlay').css('min-height', rowHeight);
631
+ }
632
+ $tr.css('display', 'none')
633
+ $tr.find('.details-section').css('display', 'none');
634
+ $tbody.append($tr);
635
+ }
636
+ });
637
+ // set last action performed to default and clear action row index, after generating templates
638
+ // Fix for [WMS-23263] For Dynamic table _getGridTemplate() is being called twice
639
+ // so reset the lastActionPerformed flag if it is not dynamic table
640
+ if (!this.options.isdynamictable) {
641
+ this.options.setLastActionPerformed(this.options.ACTIONS.DEFAULT);
642
+ this.options.setIsDataUpdatedByUser(false);
643
+ this.options.clearActionRowIndex();
644
+ }
645
+ if(this.options.editmode===this.CONSTANTS.QUICK_EDIT){
646
+ if (index>=0) {
647
+ const $newActiveRow = self.gridElement.find('tr').eq(index);
648
+ if ($newActiveRow && $newActiveRow.length) {
649
+ $newActiveRow.addClass('active');
650
+ $newActiveRow.trigger('click', [undefined, {action: 'edit', skipFocus:false}]);
651
+ self.setActiveRow($newActiveRow);
652
+ self.focusActiveRow();
653
+ }
654
+ }}
655
+ return $tbody;
656
+ },
657
+
658
+ /* Returns the table row template. */
659
+ _getRowTemplate: function (row, rowIndex, summaryRow) {
660
+ var $htm,
661
+ self = this,
662
+ gridOptions = self.options;
663
+
664
+ $htm = $('<tr role="row" tabindex="0" class="' + gridOptions.cssClassNames.tableRow + ' ' + (gridOptions.rowClass || '') + '" data-row-id="' + row.$$pk + '"></tr>');
665
+ this.preparedHeaderData.forEach(function (current, colIndex) {
666
+ $htm.append(self._getColumnTemplate(row, colIndex, current, rowIndex, summaryRow));
667
+ });
668
+ return $htm;
669
+ },
670
+
671
+ _getRowActionsColumnDefIndex: function () {
672
+ var i, len = this.preparedHeaderData.length;
673
+ for (i = 0; i < len; i += 1) {
674
+ if (this.preparedHeaderData[i].field === 'rowOperations') {
675
+ return i;
676
+ }
677
+ }
678
+ return -1;
679
+ },
680
+
681
+ _getRowActionsColumnDef: function () {
682
+ var index = this._getRowActionsColumnDefIndex();
683
+ if (index !== -1) {
684
+ return this.preparedHeaderData[index];
685
+ }
686
+ return null;
687
+ },
688
+
689
+ /* Returns the checkbox template. */
690
+ _getCheckboxTemplate: function (row, isMultiSelectCol) {
691
+ var checked = row._checked === true ? ' checked' : '',
692
+ disabled = row.disabed ? ' disabled' : '',
693
+ chkBoxName = isMultiSelectCol ? 'gridMultiSelect' : '',
694
+ labelClass = row._checked === true ? '' : 'unchecked';
695
+
696
+ return this._getCheckbox(labelClass, chkBoxName, checked, disabled);
697
+ },
698
+
699
+ /* Return checkbox literal */
700
+ _getCheckbox: function (labelClass = '', chkBoxName = '', checked = '', disabled = '') {
701
+ return `<div class="app-checkbox checkbox">
702
+ <label class="${labelClass}">
703
+ <span class="sr-only" aria-live="assertive">${this._getCheckboxLabel(chkBoxName)}</span>
704
+ <input type="checkbox" name="${chkBoxName}" ${checked} ${disabled} role="checkbox">
705
+ <span class="caption"></span>
706
+ </label>
707
+ </div>`
708
+ },
709
+
710
+ _getCheckboxLabel: function (chkBoxName) {
711
+ if (chkBoxName) { // it is a row
712
+ return 'Select row';
713
+ } else {
714
+ return 'Select all rows';
715
+ }
716
+ },
717
+ /* Returns the radio template. */
718
+ _getRadioTemplate: function (row) {
719
+ var checked = row._checked === true ? ' checked' : '',
720
+ disabled = row.disabed ? ' disabled' : '';
721
+ return `<div class="radio app-radio">
722
+ <label>
723
+ <input type="radio" rowSelectInput name="" value="" ${checked} ${disabled}>
724
+ <span class="caption"></span>
725
+ </label>
726
+ </div>`;
727
+ },
728
+
729
+ /* Returns the table cell template. */
730
+ _getColumnTemplate: function (row, colId, colDef, rowIndex, summaryRow) {
731
+ var $htm,
732
+ columnValue,
733
+ columnValueObject,
734
+ cellPreloader = '<div class="overlay"><span aria-hidden="true" class="form-field-spinner fa fa-circle-o-notch fa-spin form-control-feedback"></span></div>',
735
+ customExpressionHtml,
736
+ innerTmpl,
737
+ classes = this.options.cssClassNames.tableCell + ' ' + (colDef.class || ''),
738
+ colExpression = colDef.customExpression,
739
+ styles = "text-align: " + colDef.textAlignment + ";position: relative;"
740
+
741
+ $htm = $('<td class="' + classes + '" data-col-id="' + colId + '" role="cell" tabindex="0"></td>');
742
+ this._setStyles($htm, styles);
743
+
744
+ columnValue = _.get(row, colDef.field);
745
+
746
+ if (summaryRow) {
747
+ columnValueObject = this.options.summaryRowDefsObject[rowIndex][colDef.field];
748
+ if (columnValueObject instanceof Object) {
749
+ if (columnValueObject.class) {
750
+ $htm.addClass(columnValueObject.class);
751
+ }
752
+ }
753
+
754
+ if (columnValue instanceof Promise) {
755
+ customExpressionHtml = cellPreloader;
756
+ $htm.html(customExpressionHtml);
757
+ } else {
758
+ innerTmpl = (_.isUndefined(columnValue) || columnValue === null) ? '' : columnValue;
759
+ $htm.html(innerTmpl);
760
+ }
761
+ } else if (colExpression) {
762
+ $htm.html(this.options.getCustomExpression(colDef.field, rowIndex));
763
+ } else {
764
+ if (colDef.type !== 'custom') {
765
+ columnValue = _.get(row, colDef.field);
766
+ /* 1. Show "null" values as null if filterNullRecords is true, else show empty string.
767
+ * 2. Show "undefined" values as empty string. */
768
+ if ((this.options.filterNullRecords && columnValue === null) ||
769
+ _.isUndefined(columnValue)) {
770
+ columnValue = '';
771
+ }
772
+ $htm.attr('title', columnValue);
773
+ //Add empty quote, to convert boolean false to 'false', so that value is rendered
774
+ $htm.text("" + columnValue);
775
+ } else {
776
+ switch (colDef.field) {
777
+ case 'checkbox':
778
+ if(Array.isArray(this.options.multiselecttitle)) {
779
+ $htm.attr('title',this.options.multiselecttitle[row.$$index-1])
780
+ } else{
781
+ $htm.attr('title',this.options.multiselecttitle);
782
+ }
783
+ if(Array.isArray(this.options.multiselectarialabel)) {
784
+ $htm.attr('aria-label',this.options.multiselectarialabel[row.$$index-1])
785
+ } else{
786
+ $htm.attr('aria-label',this.options.multiselectarialabel);
787
+ }
788
+ innerTmpl = this._getCheckboxTemplate(row, colDef.isMultiSelectCol);
789
+ break;
790
+ case '__expand':
791
+ innerTmpl = '<span class="row-expansion-column" data-identifier="rowExpansionButtons"></span>';
792
+ break;
793
+ case 'radio':
794
+ if(Array.isArray(this.options.radioselecttitle)) {
795
+ $htm.attr('title',this.options.radioselecttitle[row.$$index-1])
796
+ } else{
797
+ $htm.attr('title',this.options.radioselecttitle);
798
+ }
799
+ if(Array.isArray(this.options.radioselectarialabel)) {
800
+ $htm.attr('aria-label',this.options.radioselectarialabel[row.$$index-1])
801
+ } else{
802
+ $htm.attr('aria-label',this.options.radioselectarialabel);
803
+ }
804
+ innerTmpl = this._getRadioTemplate(row);
805
+ break;
806
+ case 'rowOperations':
807
+ innerTmpl = '<span class="actions-column" data-identifier="actionButtons"></span>';
808
+ break;
809
+ case 'rowIndex':
810
+ innerTmpl = row.$$index;
811
+ break;
812
+ case 'none':
813
+ innerTmpl = '';
814
+ break;
815
+ default:
816
+ innerTmpl = (_.isUndefined(columnValue) || columnValue === null) ? '' : columnValue;
817
+ }
818
+ $htm.html(innerTmpl);
819
+ }
820
+ }
821
+ row.$index = rowIndex + 1;
822
+ this.options.registerColNgClassWatcher(row, colDef, rowIndex, colId, summaryRow);
823
+ return $htm;
824
+ },
825
+ //Get event related template for editable widget
826
+ _getEventTemplate: function (colDef) {
827
+ var events = _.filter(_.keys(colDef), function (key) {
828
+ return _.startsWith(key, 'on');
829
+ }),
830
+ changeEvt,
831
+ template = '';
832
+ //On change events for the widget
833
+ changeEvt = colDef.editWidgetType === 'autocomplete' ? 'onSubmit' : 'onChange';
834
+ events = _.union(events, [changeEvt]);
835
+ _.forEach(events, function (eventName) {
836
+ template += ' ' + _.kebabCase(eventName) + '="';
837
+ if (eventName === 'onSubmit' || eventName === 'onChange') {
838
+ template += '_' + eventName + 'Field($event, $scope, newVal, oldVal);'
839
+ }
840
+ template += (colDef[eventName] || '') + '" ';
841
+ });
842
+ return template;
843
+ },
844
+ _insertFieldInHeaderConfig: function (headerConfig, fieldName, position) {
845
+ var index = _.findIndex(headerConfig, {field: position}),
846
+ self = this;
847
+ if (index === -1) {
848
+ _.forEach(headerConfig, function (config) {
849
+ if (config.isGroup) {
850
+ self._insertFieldInHeaderConfig(config.columns, fieldName, position);
851
+ }
852
+ });
853
+ } else {
854
+ headerConfig.splice(index + 1, 0, {'field': fieldName, 'isPredefined': true});
855
+ }
856
+ },
857
+ setHeaderConfigForDefaultFields: function (name, position) {
858
+ if (_.isEmpty(this.options.headerConfig)) {
859
+ return;
860
+ }
861
+ var fieldName = this.customColumnDefs[name].field;
862
+ _.remove(this.options.headerConfig, {'field': fieldName});
863
+ if (position === '0') {
864
+ this.options.headerConfig.unshift({'field': fieldName, 'isPredefined': true});
865
+ } else if (position === '-1') {
866
+ this.options.headerConfig.push({'field': fieldName, 'isPredefined': true});
867
+ } else {
868
+ this._insertFieldInHeaderConfig(this.options.headerConfig, fieldName, position);
869
+ }
870
+ },
871
+ setDefaultColsData: function (header) {
872
+ //If columns are not present, do not add the default columns
873
+ if (_.isEmpty(this.preparedHeaderData)) {
874
+ return;
875
+ }
876
+ var rowExpandPosition,
877
+ rowExpandCol;
878
+ if (this.options.rowExpansionEnabled) {
879
+ rowExpandPosition = this.options.rowDef.position;
880
+ rowExpandCol = _.clone(this.customColumnDefs.__expand);
881
+ rowExpandCol.width = this.options.rowDef.columnwidth;
882
+ if (header) {
883
+ if (rowExpandPosition === '-1') {
884
+ this.preparedHeaderData.push(rowExpandCol);
885
+ } else if (rowExpandPosition === '0') {
886
+ this.preparedHeaderData.unshift(rowExpandCol);
887
+ } else {
888
+ var index = _.findIndex(this.preparedHeaderData, {field: rowExpandPosition});
889
+ this.preparedHeaderData.splice(index + 1, 0, rowExpandCol);
890
+ }
891
+ }
892
+ this.setHeaderConfigForDefaultFields('__expand', rowExpandPosition);
893
+ }
894
+ if (this.options.showRowIndex) {
895
+ if (header) {
896
+ this.preparedHeaderData.unshift(this.customColumnDefs.rowIndex);
897
+ }
898
+ this.setHeaderConfigForDefaultFields('rowIndex', '0');
899
+ }
900
+ if (this.options.multiselect) {
901
+ if (header) {
902
+ this.preparedHeaderData.unshift(this.customColumnDefs.checkbox);
903
+ }
904
+ this.setHeaderConfigForDefaultFields('checkbox', '0');
905
+ }
906
+ if (!this.options.multiselect && this.options.showRadioColumn) {
907
+ if (header) {
908
+ this.preparedHeaderData.unshift(this.customColumnDefs.radio);
909
+ }
910
+ this.setHeaderConfigForDefaultFields('radio', '0');
911
+ }
912
+ },
913
+ /* Prepares the grid header data by adding custom column definitions if needed. */
914
+ _prepareHeaderData: function () {
915
+ this.preparedHeaderData = [];
916
+
917
+ $.extend(this.preparedHeaderData, this.options.colDefs);
918
+ this.setDefaultColsData(true);
919
+ },
920
+
921
+ /* Generates default column definitions from given data. */
922
+ _generateCustomColDefs: function () {
923
+ var colDefs = [],
924
+ generatedColDefs = {};
925
+
926
+ function generateColumnDef(key) {
927
+ if (!generatedColDefs[key]) {
928
+ var colDef = {
929
+ 'type': 'string',
930
+ 'field': key
931
+ };
932
+ colDefs.push(colDef);
933
+ generatedColDefs[key] = true;
934
+ }
935
+ }
936
+
937
+ this.options.data.forEach(function (item) {
938
+ _.keys(item).forEach(generateColumnDef);
939
+ });
940
+
941
+ this.options.colDefs = colDefs;
942
+ this._prepareHeaderData();
943
+ },
944
+
945
+ /* Prepares the grid data by adding a primary key to each row's data. */
946
+ _prepareData: function () {
947
+ var data = [],
948
+ colDefs = this.options.colDefs,
949
+ self = this,
950
+ gridData = [],
951
+ pageStartIndex = self.getPageStartIndex(),
952
+ isObject = this.Utils.isObject,
953
+ isDefined = this.Utils.isDefined;
954
+ if (!this.options.colDefs.length && this.options.data.length) {
955
+ this._generateCustomColDefs();
956
+ }
957
+ gridData = this.options.isNavTypeScrollOrOndemand() ? this.options.data.slice(pageStartIndex) : this.options.data;
958
+ gridData.forEach(function (item, i) {
959
+ var rowData = $.extend(true, {}, item);
960
+ colDefs.forEach(function (colDef) {
961
+ if (!colDef.field) {
962
+ return;
963
+ }
964
+ var fields = colDef.field.split('.'),
965
+ text = item,
966
+ j,
967
+ len = fields.length,
968
+ key,
969
+ isArray;
970
+
971
+ for (j = 0; j < len; j++) {
972
+ key = fields[j];
973
+ isArray = undefined;
974
+ if (key.indexOf('[0]') !== -1) {
975
+ key = key.replace('[0]', '');
976
+ isArray = true;
977
+ }
978
+ if (isObject(text) && !isArray) {
979
+ text = _.get(text, key);
980
+ } else if (isArray) {
981
+ text = _.get(text, key + '[0]');
982
+ } else {
983
+ text = undefined;
984
+ break;
985
+ }
986
+ }
987
+ if (isDefined(text)) {
988
+ rowData[colDef.field] = text;
989
+ } else if (fields.length > 1 && _.has(item, colDef.field)) {
990
+ /* For case when coldef field name has ".", but data is in
991
+ * format [{'foo.bar': 'test'}], i.e. when the key value is
992
+ * not a nested object but a primitive value.
993
+ * (Ideally if coldef name has ".", for e.g. field name 'foo.bar',
994
+ * data should be [{'foo': {'bar': 'test'}})*/
995
+ rowData[colDef.field] = item[colDef.field];
996
+ }
997
+ });
998
+
999
+ /* Add a unique identifier for each row. */
1000
+ rowData.$$index = pageStartIndex + i + 1;
1001
+ rowData.$$pk = (self.options.isNavTypeScrollOrOndemand()) ? (pageStartIndex + i ) : i;
1002
+ data.push(rowData);
1003
+ });
1004
+ if (self.options.isNavTypeScrollOrOndemand()) {
1005
+ // If search action is performed or dataset is updated, then directly assign data to preparedData
1006
+ if((self.options.isSearchTrigerred && !self.emptySearch) || self.options.isDatasetUpdated){
1007
+ self.preparedData = data;
1008
+ }
1009
+ // else update the existing data (if any edit action is performed) or push data (if the data is not present) to preparedData list.
1010
+ else if (self.preparedData.length) {
1011
+ data.forEach(function (rowData, index) {
1012
+ var rowId = pageStartIndex + index;
1013
+ // assigning updated value to prepareData list
1014
+ if (self.preparedData[rowId] && rowData.$$index === self.preparedData[rowId].$$index) {
1015
+ self.preparedData[rowId] = rowData;
1016
+ } else {
1017
+ // appending new values to preparedData
1018
+ self.preparedData.push(rowData);
1019
+ }
1020
+ })
1021
+ } else {
1022
+ // if there is no preparedData initially then push data to preparedData list
1023
+ self.preparedData.push(...data);
1024
+ }
1025
+ } else {
1026
+ self.preparedData = data;
1027
+ }
1028
+ },
1029
+
1030
+ /* Select previously selected columns after refreshing grid data. */
1031
+ _reselectColumns: function () {
1032
+ var selectedColumns = [],
1033
+ self = this;
1034
+ //If enableColumnSelection is set to true, reselect the columns on data refresh
1035
+ if (this.gridHeaderElement && this.options.enableColumnSelection) {
1036
+ selectedColumns = this.gridHeaderElement.find('th.' + this.options.cssClassNames.selectedColumn);
1037
+ //Call the column selection handler on each of the selected columns
1038
+ if (selectedColumns.length) {
1039
+ selectedColumns.each(function () {
1040
+ self.columnSelectionHandler(undefined, $(this));
1041
+ });
1042
+ }
1043
+ }
1044
+ //reset select all checkbox.
1045
+ if (this.options.multiselect) {
1046
+ this.updateSelectAllCheckboxState();
1047
+ }
1048
+ },
1049
+
1050
+ /* Initializes the grid. */
1051
+ _create: function () {
1052
+ // Add all instance specific values here.
1053
+ $.extend(this, {
1054
+ dataStatus: {
1055
+ 'message': '',
1056
+ 'state': 'ready'
1057
+ },
1058
+ preparedData: [],
1059
+ preparedHeaderData: [],
1060
+ dataStatusContainer: null,
1061
+ gridContainer: null,
1062
+ gridElement: null,
1063
+ gridHeader: null,
1064
+ gridBody: null,
1065
+ columnClickInfo: {},
1066
+ gridFooter: null,
1067
+ gridSearch: null,
1068
+ tableId: null,
1069
+ searchObj: {
1070
+ 'field': '',
1071
+ 'value': '',
1072
+ 'event': null
1073
+ },
1074
+ compiledCellTemplates: {},
1075
+ // MEMORY LEAK FIX: Store bound function for proper event listener cleanup
1076
+ // boundRowClickHandlerOnCapture: null
1077
+ });
1078
+ // TODO: Variable loading status is getting updated before dataset update. This is resulting in loader going off before data is rendered.
1079
+ // Need to update code with suitable fix. For now 250ms is added as workaround
1080
+ this._setStatus = _.debounce(function (isCreated) {
1081
+ this.__setStatus(isCreated);
1082
+ }, 100);
1083
+ this._debounceOnEnter = _.debounce(function ($target, $row, quickEdit, event) {
1084
+ this._onEnter($target, $row, quickEdit, event);
1085
+ }, 150);
1086
+ this.options.summaryRow = false;
1087
+ this.options.summaryRowDefs = [];
1088
+ this._prepareHeaderData();
1089
+ this._prepareData();
1090
+ this._render(true);
1091
+ },
1092
+ _setGridEditMode: function (val) {
1093
+ if (_.isFunction(this.options.setGridEditMode)) {
1094
+ this.options.setGridEditMode(val);
1095
+ }
1096
+ },
1097
+ /* Re-renders the whole grid. */
1098
+ _refreshGrid: function () {
1099
+ this._prepareHeaderData();
1100
+ this._prepareData();
1101
+ this._render();
1102
+ this.addOrRemoveScroll();
1103
+ this._setGridEditMode(false);
1104
+ },
1105
+
1106
+ refreshGrid: function () {
1107
+ window.clearTimeout(this.refreshGridTimeout);
1108
+ this.refreshGridTimeout = window.setTimeout(this._refreshGrid.bind(this), 50);
1109
+ },
1110
+ /* Function to call the renderGrid method for infinite scroll pagination type
1111
+ * Remove the markup of grid-footer and always-new-row
1112
+ * */
1113
+ callRenderGridForInfiniteScroll: function() {
1114
+ this.gridFooter.remove();
1115
+ var $alwaysNewRow = this.gridElement.find('> tr.app-datagrid-row.always-new-row');
1116
+ if ($alwaysNewRow.length) {
1117
+ $alwaysNewRow.remove();
1118
+ }
1119
+ this._renderGrid(undefined);
1120
+ },
1121
+ /* Re-renders the table body. */
1122
+ refreshGridData: function () {
1123
+ this._prepareData();
1124
+ //If the pagination type is not Infinite Scroll or On-demand, remove the tbody and footer
1125
+ if (!this.options.isNavTypeScrollOrOndemand()) {
1126
+ this.gridFooter.remove();
1127
+ this._renderGrid();
1128
+ } else {
1129
+ this.callRenderGridForInfiniteScroll();
1130
+ }
1131
+ this._reselectColumns();
1132
+ this.addOrRemoveScroll();
1133
+ this._setGridEditMode(false);
1134
+ this.toggleNewRowActions(false);
1135
+ },
1136
+ //Populate row data with default data
1137
+ setDefaultRowData: function (rowData) {
1138
+ _.forEach(this.preparedHeaderData, function (colDef) {
1139
+ rowData[colDef.field] = colDef.defaultvalue;
1140
+ });
1141
+ },
1142
+ /* Inserts a new blank row in the table. */
1143
+ addNewRow: function (skipFocus, alwaysNewRow) {
1144
+ var rowId = this.gridElement.find('> tr.app-datagrid-row:visible').length || 99999, //Dummy value if rows are not there
1145
+ self = this,
1146
+ rowData = {},
1147
+ $row,
1148
+ $gridBody,
1149
+ $alwaysNewRow;
1150
+
1151
+ if (!alwaysNewRow && _.isFunction(this.options.beforeRowInsert)) {
1152
+ this.options.beforeRowInsert();
1153
+ }
1154
+
1155
+ $gridBody = this.gridElement;
1156
+ $alwaysNewRow = $gridBody.find('> tr.app-datagrid-row.always-new-row');
1157
+ //Focus the new row if already present
1158
+ if ($alwaysNewRow.length) {
1159
+ this.setFocusOnElement(undefined, $alwaysNewRow);
1160
+ // QUICK EDIT MODE | On Add Click on new row, trigger save action
1161
+ if(this.options.editmode===this.CONSTANTS.QUICK_EDIT){
1162
+ var $qTarget = $alwaysNewRow.find("input").length>0?$($alwaysNewRow.find("input")[0]):null;
1163
+ if($qTarget!==null){
1164
+ var event = $.Event("keydown");
1165
+ event.which = 13;
1166
+ $qTarget.trigger(event);
1167
+ }
1168
+ }
1169
+ return;
1170
+ }
1171
+
1172
+ rowData.$index = rowId;
1173
+ rowData.$$pk = rowId;
1174
+ if (this.options.editmode !== this.CONSTANTS.FORM && this.options.editmode !== this.CONSTANTS.DIALOG) {
1175
+ $row = $(this._getRowTemplate(rowData, rowData.$index));
1176
+ if (!this.preparedData.length) {
1177
+ this.setStatus('ready', this.dataStatus.ready);
1178
+ }
1179
+ //Based on the form position, add new row at top or bottom
1180
+ if (this.options.formPosition === 'top') {
1181
+ $gridBody.prepend($row);
1182
+ } else {
1183
+ $gridBody.append($row);
1184
+ }
1185
+ this._appendRowActions($row, true, rowData);
1186
+ this.attachEventHandlers($row);
1187
+ //For quick edit, do not remove the delete button
1188
+ if (alwaysNewRow || this.options.editmode !== this.CONSTANTS.QUICK_EDIT) {
1189
+ $row.find('.delete-row-button').hide();
1190
+ //Hide the edit button for always new row
1191
+ if (alwaysNewRow) {
1192
+ $row.find('.edit-row-button').hide()
1193
+ }
1194
+ }
1195
+ this._findAndReplaceCompiledTemplates();
1196
+
1197
+ //For always show new row, make the row editable with default values
1198
+ if (alwaysNewRow) {
1199
+ this.setDefaultRowData(rowData);
1200
+
1201
+ $row.addClass('always-new-row').addClass('row-editing');
1202
+ this.options.runInNgZone(function () {
1203
+ self.makeRowEditable($row, rowData, true);
1204
+ });
1205
+ } else {
1206
+ $row.trigger('click', [undefined, {action: 'edit', operation: 'new', skipFocus: skipFocus}]);
1207
+ }
1208
+
1209
+ this.updateSelectAllCheckboxState();
1210
+ this.addOrRemoveScroll();
1211
+ this.options.timeoutCall(function () {
1212
+ self.setColGroupWidths();
1213
+ }, 100);
1214
+ }
1215
+ },
1216
+
1217
+ /* Inserts a load more button at the end of the table when the pagination selected is on demand */
1218
+ addLoadMoreBtn : function (onDemandMsg, loadingdatamsg, cb, infScroll) {
1219
+ // Show Load more button only if it not the last page
1220
+ var $btnEl;
1221
+ if (!this.options.isLastPage || infScroll) {
1222
+ var self = this;
1223
+ var $parenEl = $('<div class="on-demand-datagrid"><a class="app-button btn btn-block on-demand-load-btn"></a></div>');
1224
+ $btnEl = $parenEl.find('a');
1225
+ $btnEl.append(onDemandMsg);
1226
+ // Adding load more button in case of on demand pagination
1227
+ this.element.find('.app-grid-header-inner').append($parenEl);
1228
+ if(infScroll) {
1229
+ if(this.element.find('.on-demand-load-btn').length) {
1230
+ this.element.find('.on-demand-load-btn').text(this.options.viewlessmessage);
1231
+ }
1232
+ }
1233
+
1234
+ // Adding click event to the button
1235
+ $btnEl.on('click', function (e) {
1236
+ // when the button is clicked, hide the button and show loading indicator
1237
+ var lastPage = (self.options.getCurrentPage() == self.options.getPageCount());
1238
+ if(!lastPage) {
1239
+ self.showLoadingIndicator(loadingdatamsg, false);
1240
+ }
1241
+ if(!self.options.showviewlessbutton){
1242
+ $btnEl.hide();
1243
+ }
1244
+ if(infScroll) {
1245
+ if(lastPage) {
1246
+ self.element.find('.on-demand-datagrid').remove();
1247
+ }
1248
+ }
1249
+ // Fix for [WMS-23839] refresh data when clicked on View less button
1250
+ if (lastPage && self.options.showviewlessbutton) {
1251
+ $btnEl.hide();
1252
+ self.renderTableOnViewLess = true;
1253
+ self.renderPaginationOnViewLess = true;
1254
+ self.options.enableNavigation();
1255
+ self._renderGrid();
1256
+ }
1257
+ if (cb && typeof cb === 'function') {
1258
+ cb(e);
1259
+ }
1260
+
1261
+ });
1262
+ }
1263
+
1264
+ },
1265
+
1266
+ /* Shows loading indicator when clicked on load more button or in case of infinite scroll event is triggered */
1267
+ showLoadingIndicator: function (loadingdatamsg, infScroll) {
1268
+ var hasLoadingEl = this.element.find('.loading-data-msg');
1269
+ var $dataGrid = this.element.find('.on-demand-datagrid');
1270
+ if (hasLoadingEl.length && !infScroll) {
1271
+ // in case of on demand pagination, show the loading ele which was hidden
1272
+ hasLoadingEl.show();
1273
+ } else if (infScroll && $dataGrid.length) {
1274
+ // in case of infinite scroll show the demand-grid ele which was hidden
1275
+ $dataGrid.show();
1276
+ } else {
1277
+ // if the loading indicator ele is not created, create it and append it to grid ele if it is already present.
1278
+ // If not create grid ele and then append the loading indicator to grid ele
1279
+ var $loadingEl = $('<div class="loading-data-msg spin-icon-in-center"><span><i class="app-icon panel-icon fa-spin ' + this.options.loadingicon + '"></i>' +
1280
+ '<span class="sr-only">Loading</span><span class="loading-text"></span></span></div>');
1281
+ $loadingEl.find('.loading-text').html(loadingdatamsg);
1282
+ if ($dataGrid.length) {
1283
+ $dataGrid.append($loadingEl);
1284
+ } else {
1285
+ var gridEl = $('<div class="on-demand-datagrid">' + $loadingEl[0].outerHTML + '</div>');
1286
+ this.element.find('.app-grid-header-inner').append(gridEl);
1287
+ }
1288
+ }
1289
+ },
1290
+
1291
+ /* Hides loading indicator and shows load more button */
1292
+ hideLoadingIndicator: function (showLoadBtn, infScroll) {
1293
+ if (!showLoadBtn && !infScroll) {
1294
+ // In case of on demand pagination, when the next page is not disabled hide the individual elements
1295
+ this.element.find('.loading-data-msg').hide();
1296
+ this.element.find('.on-demand-load-btn').text(this.options.ondemandmessage);
1297
+ this.element.find('.on-demand-load-btn').show();
1298
+ } else if(this.options.getCurrentPage && typeof this.options.getCurrentPage === 'function' &&
1299
+ this.options.getPageCount && typeof this.options.getPageCount === 'function' &&
1300
+ (this.options.getCurrentPage() == this.options.getPageCount()) && this.options.showviewlessbutton) {
1301
+ this.element.find('.on-demand-load-btn').show().text(this.options.viewlessmessage);
1302
+ this.element.find('.loading-data-msg').hide();
1303
+ if(infScroll) {
1304
+ if(!this.element.find('.on-demand-load-btn').length) {
1305
+ this.options.addLoadMoreBtn();
1306
+ }
1307
+ this.element.find('.loading-data-msg').hide();
1308
+ }
1309
+ } else {
1310
+ this.element.find('.on-demand-datagrid').hide();
1311
+ }
1312
+ },
1313
+
1314
+ /* Returns the selected rows in the table. */
1315
+ getSelectedRows: function () {
1316
+ this.getSelectedColumns();
1317
+ var selectedRowsData = [],
1318
+ self = this;
1319
+
1320
+ this.preparedData.forEach(function (data, i) {
1321
+ if (data._selected) {
1322
+ selectedRowsData.push(self.options.data[i]);
1323
+ }
1324
+ });
1325
+ return selectedRowsData;
1326
+ },
1327
+ /* Sets the selected rows in the table. */
1328
+ selectRows: function (rows) {
1329
+ var self = this;
1330
+ var _rows = _.isArray(rows) ? rows.slice() : [rows];
1331
+ /*Deselect all the previous selected rows in the table*/
1332
+ self.gridElement.find('tr.app-datagrid-row').each(function (index) {
1333
+ if (self.preparedData[index] && self.preparedData[index]._selected === true) {
1334
+ $(this).trigger('click', [$(this), {skipSingleCheck: true}]);
1335
+ }
1336
+ });
1337
+ /*Select the given row. If rows is an array, loop through the array and set the row*/
1338
+ if (_.isArray(_rows)) {
1339
+ _.forEach(_rows, function (row) {
1340
+ self.selectRow(row, true);
1341
+ });
1342
+ } else {
1343
+ self.selectRow(_rows, true);
1344
+ }
1345
+ },
1346
+ toggleRowFilter: function(show) {
1347
+ if (this.options.filtermode === this.CONSTANTS.MULTI_COLUMN && this.gridSearch) {
1348
+ if (show) {
1349
+ this.gridSearch.show();
1350
+ } else {
1351
+ this.gridSearch.hide();
1352
+ }
1353
+ }
1354
+ },
1355
+ /*Set the default widths for the colgroup*/
1356
+ setColGroupWidths: function () {
1357
+ var self = this,
1358
+ headerCols = this.options.isMobile ? this.tableContainer.find('col') : this.tableContainer.find('col'),
1359
+ bodyCols = this.tableContainer.find('col'),
1360
+ headerCells = this.options.showHeader ? this.gridContainer.find('th.app-datagrid-header-cell') : this.gridElement.find('tr.app-datagrid-row').first().find('td'),
1361
+ colLength = this.preparedHeaderData.length,
1362
+ scrollLeft = this.gridElement.parent().prop('scrollLeft'); //Preserve the scroll left to keep the same scroll after setting width
1363
+ if (!headerCols.length && !headerCells.length) {
1364
+ return;
1365
+ }
1366
+ //Set the col spans for the header groups
1367
+ this._setColSpan(this.options.headerConfig);
1368
+ // Hide the row filter. As different widgets are present inside row filter, this will effect the column size
1369
+ this.toggleRowFilter();
1370
+
1371
+ // Find if cols of colgroup has any width defined, if yes remove those columns from colsLen
1372
+ var definedColWidth = 0;
1373
+ var colsLen = headerCols.length;
1374
+ headerCols.each(function () {
1375
+ var eachColWidth = $(this).width();
1376
+ if (eachColWidth) {
1377
+ definedColWidth = definedColWidth + eachColWidth;
1378
+ colsLen = colsLen - 1;
1379
+ }
1380
+ });
1381
+
1382
+
1383
+ //First Hide or show the column based on the show property so that width is calculated correctly
1384
+ headerCells.each(function () {
1385
+ var id = Number($(this).attr('data-col-id')),
1386
+ colDef = self.preparedHeaderData[id],
1387
+ $headerCell = self.gridContainer.find('th[data-col-id="' + id + '"]'),
1388
+ $tdCell = self.gridElement.find('td.app-datagrid-cell[data-col-id="' + id + '"]'),
1389
+ $footCell=self.tableContainer.find('tfoot tr.app-datagrid-row td.app-datagrid-cell[data-col-id="' + id + '"]'),
1390
+ $headerCol = $(headerCols[id]),
1391
+ $bodyCol = $(bodyCols[id]),
1392
+ definedWidth,
1393
+ width;
1394
+ if (!colDef) {
1395
+ return;
1396
+ }
1397
+ definedWidth = colDef.width;
1398
+ if (!_.isUndefined(colDef.show) && !colDef.show) { //If show is false, set width to 0 to hide the column
1399
+ //Hide the header and column if show is false
1400
+ $headerCell.hide();
1401
+ $tdCell.hide();
1402
+ $headerCol.hide();
1403
+ $bodyCol.hide();
1404
+ $footCell.hide();
1405
+ } else {
1406
+ $headerCell.show();
1407
+ $tdCell.show();
1408
+ $headerCol.show();
1409
+ $bodyCol.show();
1410
+ $footCell.show();
1411
+ }
1412
+ //If default width is set, reset the width so that correct width is set on reload
1413
+ if ($headerCol.length && $headerCol[0].style.width === '90px') {
1414
+ width = _.isUndefined(definedWidth) ? '' : definedWidth;
1415
+ $headerCol.css('width', width);
1416
+ $bodyCol.css('width', width);
1417
+ }
1418
+ });
1419
+ //setting the header col width based on the content width
1420
+ headerCells.each(function () {
1421
+ var $header = $(this),
1422
+ id = Number($header.attr('data-col-id')),
1423
+ colDef = self.preparedHeaderData[id],
1424
+ definedWidth,
1425
+ width,
1426
+ tempWidth,
1427
+ $headerCol;
1428
+ if (!colDef) {
1429
+ return;
1430
+ }
1431
+ definedWidth = colDef.width;
1432
+ if (!_.isUndefined(colDef.show) && !colDef.show) { //If show is false, set width to 0 to hide the column
1433
+ //Hide the header and column if show is false
1434
+ width = 0;
1435
+ } else {
1436
+ if ($header.hasClass('grid-col-small')) { //For checkbox or radio, set width as 30
1437
+ width = 50;
1438
+ } else {
1439
+ if (_.isUndefined(definedWidth) || definedWidth === '' || _.includes(definedWidth, '%')) {
1440
+ $headerCol = $(headerCols[id]);
1441
+ if ($headerCol.length) {
1442
+ tempWidth = $headerCol[0].style.width;
1443
+ if (tempWidth === '' || tempWidth === '0px' || tempWidth === '90px' || _.includes(tempWidth, '%')) { //If width is not 0px, width is already set. So, set the same width again
1444
+ width = $header.width();
1445
+ /*
1446
+ * WMS-21545: In case of tabs / accordions / wizard, width of $header is not available for inactive panes
1447
+ * In such cases, calculating the width of column cells against the closest parent whose width is available
1448
+ */
1449
+ if (width <= 0) {
1450
+ var currentNode = $header;
1451
+ var elemWidth = width;
1452
+ var padding = 0;
1453
+ while (elemWidth <= 0) {
1454
+ currentNode = currentNode.parent();
1455
+ elemWidth = currentNode.width();
1456
+ // Find padding of all the elements which are on top of table
1457
+ if (currentNode.find('table').length && currentNode.prop('style')) {
1458
+ padding = padding + parseFloat(currentNode.css('padding-left')) + parseFloat(currentNode.css('padding-right'));
1459
+ }
1460
+ }
1461
+ if (elemWidth > 0) {
1462
+ // remove padding from parent elem width to avoid assign extra width to table columns
1463
+ if (padding) {
1464
+ elemWidth = elemWidth - padding;
1465
+ }
1466
+
1467
+ // If the width is provided in % for inactive panes, convert % to pixel
1468
+ if (_.includes(tempWidth, '%')) {
1469
+ var widthPercent = parseInt(tempWidth);
1470
+ var pixelWidth = (elemWidth)*(widthPercent/100);
1471
+ width = pixelWidth;
1472
+ } else { // Else divide the parent width by the number of columns available
1473
+ // If any columns have defined width, remove that width from parent elem width
1474
+ var parentWidth = (definedColWidth && definedColWidth > 0) ? elemWidth - definedColWidth : elemWidth;
1475
+ // ColsLen has length of columns whose width is undefined
1476
+ var totalCols = colsLen ? colsLen : headerCols.length;
1477
+ width = parentWidth / totalCols;
1478
+ width = width > 90 ? ((colLength === id + 1) ? width - 17 : width) : 90; //columnSanity check to prevent width being too small and Last column, adjust for the scroll width
1479
+ }
1480
+ } else {
1481
+ width = width > 90 ? ((colLength === id + 1) ? width - 17 : width) : 90; // fallback to the older approach
1482
+ }
1483
+ } else {
1484
+ width = width > 90 ? ((colLength === id + 1) ? width - 17 : width) : 90; //columnSanity check to prevent width being too small and Last column, adjust for the scroll width
1485
+ }
1486
+ } else {
1487
+ width = tempWidth;
1488
+ }
1489
+ }
1490
+ } else {
1491
+ width = definedWidth;
1492
+ }
1493
+ }
1494
+ }
1495
+ $(headerCols[id]).css('width', width);
1496
+ $(bodyCols[id]).css('width', width);
1497
+ });
1498
+ this.toggleRowFilter(true);
1499
+ this.gridElement.parent().prop('scrollLeft', scrollLeft);
1500
+ this.gridHeaderElement.parent().prop('scrollLeft', scrollLeft);
1501
+ },
1502
+
1503
+ /* Returns the selected columns in the table. */
1504
+ getSelectedColumns: function () {
1505
+ var selectedColsData = {},
1506
+ headerData = [],
1507
+ self = this,
1508
+ multiSelectColIndex,
1509
+ radioColIndex,
1510
+ colIndex;
1511
+ $.extend(headerData, this.preparedHeaderData);
1512
+
1513
+ if (this.options.multiselect) {
1514
+ headerData.some(function (item, i) {
1515
+ if (item.field === 'checkbox') {
1516
+ multiSelectColIndex = i;
1517
+ return true;
1518
+ }
1519
+ });
1520
+ headerData.splice(multiSelectColIndex, 1);
1521
+ } else if (this.options.showRadioColumn) {
1522
+ headerData.some(function (item, i) {
1523
+ if (item.field === 'radio') {
1524
+ radioColIndex = i;
1525
+ return true;
1526
+ }
1527
+ });
1528
+ headerData.splice(radioColIndex, 1);
1529
+ }
1530
+ if (this.options.showRowIndex) {
1531
+ headerData.some(function (item, i) {
1532
+ if (item.field === 'rowIndex') {
1533
+ colIndex = i;
1534
+ return true;
1535
+ }
1536
+ });
1537
+ headerData.splice(colIndex, 1);
1538
+ }
1539
+
1540
+ headerData.forEach(function (colDef) {
1541
+ var field = colDef.field;
1542
+ if (colDef.selected) {
1543
+ selectedColsData[field] = {
1544
+ 'colDef': colDef,
1545
+ 'colData': self.options.data.map(function (data) {
1546
+ return data[field];
1547
+ })
1548
+ };
1549
+ }
1550
+ });
1551
+ return selectedColsData;
1552
+ },
1553
+
1554
+ /* Sets the options for the grid. */
1555
+ _setOption: function (key, value) {
1556
+ this._super(key, value);
1557
+ switch (key) {
1558
+ case 'showHeader':
1559
+ this._toggleHeader();
1560
+ this._toggleSearch();
1561
+ this.setColGroupWidths();
1562
+ this.addOrRemoveScroll();
1563
+ break;
1564
+ case 'filtermode':
1565
+ this._toggleSearch();
1566
+ break;
1567
+ case 'searchLabel':
1568
+ if (this.gridSearch) {
1569
+ this.gridSearch.find('[data-element="dgSearchText"]').attr('placeholder', value);
1570
+ this.gridSearch.find('[data-element="dgSearchButton"]').attr('title', value);
1571
+ }
1572
+ break;
1573
+ case 'selectFirstRow':
1574
+ this.selectFirstRow(value);
1575
+ break;
1576
+ case 'data':
1577
+ if(!this.isResetSortIconsDone) {
1578
+ this.setSortIconDefault();
1579
+ }
1580
+ this.refreshGridData();
1581
+ break;
1582
+ case 'dataStates':
1583
+ if (this.dataStatus.state === 'nodata') {
1584
+ this.setStatus('nodata', this.dataStatus.nodata);
1585
+ } else if (this.dataStatus.state === 'loading') {
1586
+ this.setStatus('loading');
1587
+ }
1588
+ break;
1589
+ case 'loadingicon':
1590
+ this.dataStatusContainer.find('i').removeClass().addClass(this.options.loadingicon);
1591
+ break;
1592
+ case 'colDefs':
1593
+ if(this.options.isNavTypeScrollOrOndemand() && this.options.isNextPageData) {
1594
+ this.tableContainer.find('colgroup').remove();
1595
+ this._prepareHeaderData();
1596
+ this.setColGroupWidths();
1597
+ this._renderHeader();
1598
+ this._renderSearch();
1599
+ this.attachEventHandlers(this.gridElement);
1600
+ this._reselectColumns();
1601
+ this.addOrRemoveScroll();
1602
+ break;
1603
+ }
1604
+ case 'multiselecttitle':
1605
+ case 'multiselectarialabel':
1606
+ case 'radioselecttitle':
1607
+ case 'radioselectarialabel':
1608
+ case 'multiselect': // Fallthrough
1609
+ case 'showRadioColumn':
1610
+ case 'isrowselectable' :
1611
+ case 'rowActions':
1612
+ case 'filterNullRecords':
1613
+ case 'showRowIndex':
1614
+ this.refreshGrid();
1615
+ break;
1616
+ case 'cssClassNames':
1617
+ var gridClass = this.options.cssClassNames.gridDefault + ' ' + this.options.cssClassNames.grid;
1618
+ if (this.options.rowExpansionEnabled) {
1619
+ gridClass = gridClass + ' ' + this.options.cssClassNames.gridRowExpansionClass;
1620
+ }
1621
+ // Set grid class on table.
1622
+ this.tableContainer.attr('class', gridClass);
1623
+ if (this.options.spacing === 'condensed') {
1624
+ this._toggleSpacingClasses('condensed');
1625
+ }
1626
+ break;
1627
+ case 'spacing':
1628
+ this._toggleSpacingClasses(value);
1629
+ break;
1630
+ case 'messages':
1631
+ this.gridSearch && this.gridSearch.find('option.placeholder').text(value && value.selectField);
1632
+ break;
1633
+ }
1634
+ },
1635
+
1636
+ getOptions: function () {
1637
+ return this.options;
1638
+ },
1639
+
1640
+ /* Toggles the table header visibility. */
1641
+ _toggleHeader: function () {
1642
+ if (this.gridHeaderElement) {
1643
+ this.gridHeaderElement.empty();
1644
+ }
1645
+ if (this.tableContainer) {
1646
+ this.tableContainer.find('colgroup').remove();
1647
+ this.tableContainer.find('thead').remove();
1648
+ }
1649
+ this.setDefaultColsData();
1650
+ if (this.options.showHeader) {
1651
+ this._renderHeader();
1652
+ }
1653
+ },
1654
+
1655
+ /* Toggles the searchbox visibility. */
1656
+ _toggleSearch: function () {
1657
+ if (this.gridSearch) {
1658
+ this.gridSearch.remove();
1659
+ }
1660
+ if (this.options.filtermode === this.CONSTANTS.SEARCH) {
1661
+ this._renderSearch();
1662
+ } else if (this.options.filtermode === this.CONSTANTS.MULTI_COLUMN) {
1663
+ this._renderRowFilter();
1664
+ this.setColGroupWidths();
1665
+ }
1666
+ },
1667
+ /* Marks the first row as selected. */
1668
+ selectFirstRow: function (value, visible) {
1669
+ var $row,
1670
+ id;
1671
+ //If visible flag is true, select the first visible row item (Do not select the always new row)
1672
+ if (visible && this.gridElement.find('tr').is(':visible')) {
1673
+ this.__setStatus();
1674
+ $row = this.gridElement.find('tr.app-datagrid-row:visible:not(.always-new-row)').first();
1675
+ } else {
1676
+ $row = this.gridElement.find('tr.app-datagrid-row:not(.always-new-row)').first();
1677
+ }
1678
+ id = $row.attr('data-row-id');
1679
+ // Select the first row if it exists, i.e. it is not the first row being added.
1680
+ if ($row.length && this.preparedData.length) {
1681
+ this.preparedData[id]._selected = !value;
1682
+ // Triggering row click event using javascript click method because jquery trigger method is not triggering the events which are attached through javascript addEventListener method.
1683
+ $row[0].click();
1684
+ }
1685
+ },
1686
+
1687
+ /* Selects a row. */
1688
+ selectRow: function (row, value,index) {
1689
+ var rowIndex =index?index:( _.isNumber(row) ? row : this.Utils.getObjectIndex(this.options.data, row)),
1690
+ selector,
1691
+ $row;
1692
+ if (rowIndex !== -1) {
1693
+ selector = 'tr.app-datagrid-row[data-row-id=' + rowIndex + ']';
1694
+ $row = this.gridElement.find(selector);
1695
+ if ($row.length) {
1696
+ this.preparedData[rowIndex]._selected = !value;
1697
+ }
1698
+ if (value) {
1699
+ $row.trigger('click');
1700
+ } else {
1701
+ this.toggleRowSelection($row, value);
1702
+ this.options.callOnRowDeselectEvent(this.preparedData[rowIndex]);
1703
+ }
1704
+ }
1705
+ },
1706
+ /**
1707
+ * deselect a row
1708
+ */
1709
+ deselectRow: function (row) {
1710
+ this.selectRow(row, false);
1711
+ },
1712
+
1713
+ /* Toggles the table row selection. */
1714
+ toggleRowSelection: function ($row, selected, e, isSelectAll) {
1715
+ if (!$row.length) {
1716
+ return;
1717
+ }
1718
+
1719
+ var rowId = $row.attr('data-row-id'),
1720
+ $checkbox,
1721
+ $radio;
1722
+ if (!this.preparedData[rowId]) {
1723
+ return;
1724
+ }
1725
+ this.preparedData[rowId]._selected = selected;
1726
+ if (selected) {
1727
+ $row.addClass('active');
1728
+ } else {
1729
+ $row.removeClass('active');
1730
+ }
1731
+ if (this.options.showRadioColumn) {
1732
+ $radio = $row.find('td input[rowSelectInput]:radio:not(:disabled)');
1733
+ $radio.prop('checked', selected);
1734
+ this.preparedData[rowId]._checked = selected;
1735
+ }
1736
+ if (this.options.multiselect) {
1737
+ $checkbox = $row.find('td input[name="gridMultiSelect"]:checkbox:not(:disabled)');
1738
+ $checkbox.prop('checked', selected);
1739
+ $checkbox.siblings('span.sr-only').text(selected ? 'Row Selected' : 'Row Deselected');
1740
+ this.preparedData[rowId]._checked = selected;
1741
+ // if we check header checkbox(select/unselect all the records) then updating selectAll checkbox state is not required.
1742
+ if (!isSelectAll) {
1743
+ this.updateSelectAllCheckboxState();
1744
+ }
1745
+ } else {
1746
+ this._deselectPreviousSelection($row, e);
1747
+ }
1748
+ },
1749
+
1750
+ /* Checks the header checkbox if all table checkboxes are checked, else unchecks it. */
1751
+ updateSelectAllCheckboxState: function () {
1752
+ if (!this.options.showHeader || !this.options.multiselect) {
1753
+ return;
1754
+ }
1755
+ //As rows visibility is checked, remove loading icon
1756
+ this.__setStatus();
1757
+ var $headerCheckbox = this.gridHeaderElement.find('th.app-datagrid-header-cell input:checkbox'),
1758
+ $tbody = this.gridElement,
1759
+ checkedItemsLength = $tbody.find('tr.app-datagrid-row:visible input[name="gridMultiSelect"]:checkbox:checked').length,
1760
+ visibleRowsLength = $tbody.find('tr.app-datagrid-row:visible').length;
1761
+
1762
+ if (!visibleRowsLength) {
1763
+ $headerCheckbox.prop('checked', false);
1764
+ return;
1765
+ }
1766
+ if (checkedItemsLength === visibleRowsLength) {
1767
+ $headerCheckbox.prop('checked', true);
1768
+ } else {
1769
+ $headerCheckbox.prop('checked', false);
1770
+ }
1771
+ },
1772
+ // Handles the label-checkbox/radio double-click problem and normalizes checkbox/radio handling.
1773
+ // When a <label> wrapping a checkbox/radio is clicked, the browser fires two click events:
1774
+ // one on the label/caption and a second programmatic one directly on the <input>.
1775
+ // For any click within the select column (on the label, its children, or the input itself),
1776
+ // we call preventDefault() to let toggleRowSelection manage the checked state exclusively,
1777
+ // preventing the browser's native toggle from conflicting with our state management.
1778
+ _handleSelectColumnClick: function (e) {
1779
+ var $target = $(e.target);
1780
+ if ($target.is('input[name="gridMultiSelect"], input[rowSelectInput]') ||
1781
+ $target.closest('label').find('input[name="gridMultiSelect"], input[rowSelectInput]').length) {
1782
+ e.preventDefault();
1783
+ }
1784
+ },
1785
+
1786
+ // Normalizes e.target to the closest <td> cell so that event handlers and user callbacks
1787
+ // receive a consistent target regardless of which inner element was actually clicked.
1788
+ _normalizeEventTarget: function (e) {
1789
+ var $cell = $(e.target).closest('td.app-datagrid-cell');
1790
+ if ($cell.length) {
1791
+ Object.defineProperty(e, 'target', { value: $cell[0], configurable: true });
1792
+ }
1793
+ },
1794
+
1795
+ // triggered on capture phase of click listener.
1796
+ // sets the selected rowdata on click.
1797
+ rowClickHandlerOnCapture: function (e, $row, options) {
1798
+ this._handleSelectColumnClick(e);
1799
+ this._normalizeEventTarget(e);
1800
+ // If 'isrowselectable' property is enabled, clicking anywhere on the row will trigger its selection. Otherwise, the row will not be selected on click.
1801
+ // Also this flag works if mutliselect or radioselect is enabled.
1802
+ // In quick edit mode, clicking any part of the row switches it to edit mode, regardless of the flag setting.
1803
+ if (this.options.editmode !== this.CONSTANTS.QUICK_EDIT) {
1804
+ if ((this.options.multiselect || this.options.showRadioColumn) && !this.options.isrowselectable) {
1805
+ if (Number(this.getColInfo(e))) {
1806
+ e.stopPropagation();
1807
+ this.closeDropdown(e);
1808
+ return;
1809
+ }
1810
+ }
1811
+ }
1812
+ $row = $row || $(e.target).closest('tr.app-datagrid-row');
1813
+ var gridRow = this.gridElement.find($row);
1814
+ // WMS-21139 trigger selectedItems change when the captured click is on the current table but not on child table
1815
+ if (gridRow.length && gridRow.closest('tbody').attr('id') === this.gridElement.attr('id')) {
1816
+ var rowId = $row.attr('data-row-id');
1817
+ var rowData = this.preparedData[rowId];
1818
+ var data = this.options.data[rowId];
1819
+ this.options.assignSelectedItems(data, e, {'rowId': rowId, '_selected': rowData?._selected});
1820
+ }
1821
+ },
1822
+
1823
+ /* Handles row selection. */
1824
+ rowSelectionHandler: function (e, $row, options) {
1825
+ this._handleSelectColumnClick(e);
1826
+ this._normalizeEventTarget(e);
1827
+ // If 'isrowselectable' property is enabled, clicking anywhere on the row will trigger its selection. Otherwise, the row will not be selected on click.
1828
+ // Also this flag works if mutliselect or radioselect is enabled.
1829
+ // In quick edit mode, clicking any part of the row switches it to edit mode, regardless of the flag setting.
1830
+ if (this.options.editmode !== this.CONSTANTS.QUICK_EDIT) {
1831
+ if ((this.options.multiselect || this.options.showRadioColumn) && !this.options.isrowselectable) {
1832
+ if (Number(this.getColInfo(e))) {
1833
+ e.stopPropagation();
1834
+ this.closeDropdown(e);
1835
+ return;
1836
+ }
1837
+ }
1838
+ }
1839
+ options = options || {};
1840
+ var rowId,
1841
+ rowData,
1842
+ data,
1843
+ selected,
1844
+ self = this,
1845
+ action = options.action,
1846
+ $target = $(e.target),
1847
+ isQuickEdit = this.options.editmode === this.CONSTANTS.QUICK_EDIT;
1848
+
1849
+ function callRowSelectionEvents() {
1850
+ if (selected && _.isFunction(self.options.onRowSelect)) {
1851
+ self.options.onRowSelect(data, e);
1852
+ }
1853
+ if (!selected && _.isFunction(self.options.onRowDeselect)) {
1854
+ self.options.onRowDeselect(data, e);
1855
+ }
1856
+ }
1857
+
1858
+ $row = $row || $target.closest('tr.app-datagrid-row');
1859
+
1860
+ // Fix for [WMS-20546]: If column has a value expression, an extra div is getting added inside <td>.
1861
+ // so checking if target or its parent element has the class '.app-datagrid-cell'
1862
+ if (action || (isQuickEdit && ($target.hasClass('app-datagrid-cell') || $target.closest("td.app-datagrid-cell").length) && !$row.hasClass('always-new-row'))) {
1863
+ //In case of advanced edit, Edit the row on click of a row
1864
+ options.action = options.action || 'edit';
1865
+
1866
+ if (options.operation === 'new' || self.options.actionsEnabled.edit) {
1867
+ self.toggleEditRow(e, options)
1868
+ }
1869
+
1870
+ if (options.skipSelect) {
1871
+ return;
1872
+ }
1873
+ }
1874
+ rowId = $row.attr('data-row-id');
1875
+ rowData = this.preparedData[rowId];
1876
+ data = this.options.data[rowId];
1877
+ selected = (rowData && rowData._selected) || false;
1878
+ if (!options.skipSingleCheck && (($row.hasClass('active') && !this.options.multiselect) || !rowData)) {
1879
+ if (!isQuickEdit && options.operation !== 'new') { //For quick edit, row will be in edit mode. So, no need to call events.
1880
+ callRowSelectionEvents();
1881
+ }
1882
+ return;
1883
+ }
1884
+ this.options.callOnRowClickEvent(data, e);
1885
+ selected = !selected;
1886
+ this.options.assignSelectedItems(data, e, {'rowId': rowId, '_selected': selected});
1887
+ this.toggleRowSelection($row, selected, e);
1888
+ callRowSelectionEvents();
1889
+ },
1890
+ /*Handles the double click of the grid row*/
1891
+ rowDblClickHandler: function (e, $row) {
1892
+ e.stopPropagation();
1893
+ $row = $row || $(e.target).closest('tr.app-datagrid-row');
1894
+ var rowData, rowId = $row.attr('data-row-id');
1895
+ rowData = this.preparedData[rowId];
1896
+ if (!rowData) {
1897
+ return;
1898
+ }
1899
+ if (_.isFunction(this.options.onRowDblClick)) {
1900
+ this.options.onRowDblClick(rowData, e);
1901
+ }
1902
+ },
1903
+ closePopover: function() {
1904
+ //If the DataTable is in the popover, popover shouldn't be closed
1905
+ this.options.closePopover(this.element);
1906
+ },
1907
+ closeDropdown: function(e){
1908
+ this.element[0].querySelectorAll('.app-menu').forEach(el => {
1909
+ if (el && el.classList.contains('open') && el.getAttribute('autoclose') === 'outsideClick' && e?.originalEvent?.isTrusted &&
1910
+ e.target !== el.querySelector('[dropdowntoggle]')&& e.target.parentElement!== el.querySelector('[dropdowntoggle]')) {
1911
+ el?.widget?.bsDropdown?.hide();
1912
+ }
1913
+ });
1914
+ },
1915
+ headerClickHandler: function (e) {
1916
+ var $th = $(e.target).closest('th.app-datagrid-header-cell'),
1917
+ id = $th.attr('data-col-id');
1918
+ //Closing the popovers if any present when clicked on header or while sorting
1919
+ this.closePopover();
1920
+ this.options.onHeaderClick(this.preparedHeaderData[id], e);
1921
+ },
1922
+ /* Handles column selection. */
1923
+ columnSelectionHandler: function (e, $headerCell) {
1924
+ if (e) {
1925
+ e.stopImmediatePropagation();
1926
+ }
1927
+ var $th = e ? $(e.target).closest('th.app-datagrid-header-cell') : $headerCell,
1928
+ id = $th.attr('data-col-id'),
1929
+ colDef = this.preparedHeaderData[id],
1930
+ field = colDef.field,
1931
+ selector = 'td[data-col-id="' + id + '"]',
1932
+ $column = this.gridElement.find(selector),
1933
+ selected = $column.data('selected') || false,
1934
+ colInfo = {
1935
+ colDef: colDef,
1936
+ data: this.options.data.map(function (data) {
1937
+ return data[field];
1938
+ }),
1939
+ sortDirection: this._getColumnSortDirection(colDef.field)
1940
+ },
1941
+ selectedClass = this.options.cssClassNames.selectedColumn;
1942
+ selected = !selected;
1943
+ colDef.selected = selected;
1944
+ $column.data('selected', selected);
1945
+
1946
+ if (selected) {
1947
+ $column.addClass(selectedClass);
1948
+ $th.addClass(selectedClass);
1949
+ if (_.isFunction(this.options.onColumnSelect) && e) {
1950
+ this.options.onColumnSelect(colInfo, e);
1951
+ }
1952
+ } else {
1953
+ $column.removeClass(selectedClass);
1954
+ $th.removeClass(selectedClass);
1955
+ if (_.isFunction(this.options.onColumnDeselect) && e) {
1956
+ this.options.onColumnDeselect(colInfo, e);
1957
+ }
1958
+ }
1959
+ },
1960
+ getTextValue: function (fieldName, alwaysNewRow) {
1961
+ return this.options.getFieldValue(alwaysNewRow ? fieldName + '_new' : fieldName);
1962
+ },
1963
+ getUploadedFiles: function ($el, fieldName) {
1964
+ return _.get(document.forms, [$el.find('form').attr('name'), fieldName, 'files', 0]);
1965
+ },
1966
+ isDataModified: function ($editableElements, rowData, alwaysNewRow) {
1967
+ var isDataChanged = false,
1968
+ self = this;
1969
+
1970
+ function getEpoch(val) {
1971
+ return val ? moment(val).valueOf() : val;
1972
+ }
1973
+
1974
+ $editableElements.each(function () {
1975
+ var $el = $(this),
1976
+ colId = $el.attr('data-col-id'),
1977
+ colDef = self.preparedHeaderData[colId],
1978
+ text = self.getTextValue(colDef.field, alwaysNewRow),
1979
+ originalData = _.get(rowData, colDef.field);
1980
+ if (colDef.editWidgetType === 'upload') {
1981
+ //For upload widget, check if any file is uploaded
1982
+ isDataChanged = self.getUploadedFiles($el, colDef.field) instanceof File;
1983
+ } else {
1984
+ //If new value and old value are not defined, then data is not changed
1985
+ if (!self.Utils.isDefined(text) && (originalData === null || originalData === undefined)) {
1986
+ isDataChanged = false;
1987
+ } else {
1988
+ //For datetime, compare the values in epoch format
1989
+ if (colDef.editWidgetType === 'datetime') {
1990
+ isDataChanged = !(getEpoch(originalData) === getEpoch(text));
1991
+ } else {
1992
+ isDataChanged = !(originalData == text);
1993
+ }
1994
+ }
1995
+ }
1996
+ if (isDataChanged) {
1997
+ return !isDataChanged;
1998
+ }
1999
+ });
2000
+ return isDataChanged;
2001
+ },
2002
+ //Focus the active row
2003
+ focusActiveRow: function () {
2004
+ this.gridElement.find('tr.app-datagrid-row.active').focus();
2005
+ },
2006
+ focusNewRow: function () {
2007
+ var newRow = this.gridElement.find('tr.always-new-row');
2008
+ var newRowInputs = newRow && newRow.find("input") || [];
2009
+ newRowInputs.length && newRowInputs[0].focus();
2010
+ },
2011
+ disableActions: function (val) {
2012
+ var $deleteBtns = this.gridElement.find('.delete-row-button'),
2013
+ $editBtns = this.gridElement.find('.edit-row-button');
2014
+ if (val) {
2015
+ //Disable edit and delete actions while editing a row
2016
+ $editBtns.addClass('disabled-action');
2017
+ $deleteBtns.addClass('disabled-action');
2018
+ } else {
2019
+ $editBtns.removeClass('disabled-action');
2020
+ $deleteBtns.removeClass('disabled-action');
2021
+ }
2022
+ },
2023
+ //Function to the first input element in a row
2024
+ setFocusOnElement: function (e, $el, skipDelay) {
2025
+ var $firstEl,
2026
+ $target = e && $(e.target),
2027
+ $focusEl;
2028
+ //If focused directly on the cell, focus the input in the cell
2029
+ if ($target && $target.hasClass('app-datagrid-cell')) {
2030
+ $firstEl = $target.find('input');
2031
+ } else {
2032
+ if (!$el) {
2033
+ $el = $target.closest('tr.app-datagrid-row').find('td.cell-editing');
2034
+ } else if ($el.hasClass('app-datagrid-row')) {
2035
+ $el = $el.find('td.cell-editing');
2036
+ }
2037
+
2038
+ $firstEl = $($el).first().find('input');
2039
+ if (!$firstEl.length) {
2040
+ $firstEl = $($el).first().find('textarea');
2041
+ }
2042
+ if (!$firstEl.length) {
2043
+ $firstEl = $($el).first().find('select');
2044
+ }
2045
+ if(!($(e?.target).find('td').first().hasClass('td.cell-editing'))){
2046
+ $firstEl=$el.find('td');
2047
+ }
2048
+ }
2049
+ //Focus and select the first element
2050
+ if ($firstEl.length) {
2051
+ $focusEl = $firstEl.first();
2052
+ if (skipDelay) {
2053
+ $focusEl.focus();
2054
+ $focusEl.select();
2055
+ } else {
2056
+ this.options.timeoutCall(function () {
2057
+ $focusEl.focus();
2058
+ $focusEl.select();
2059
+ });
2060
+ }
2061
+ }
2062
+ },
2063
+ removeNewRow: function ($row) {
2064
+ this.disableActions(false);
2065
+ this._setGridEditMode(false);
2066
+
2067
+ //Don't remove the always new row
2068
+ if ($row.hasClass('always-new-row')) {
2069
+ return;
2070
+ }
2071
+
2072
+ $row.attr('data-removed', true);
2073
+ $row.remove();
2074
+ if (!this.preparedData.length) {
2075
+ this.setStatus('nodata', this.dataStatus.nodata);
2076
+ }
2077
+ this.addOrRemoveScroll();
2078
+ this.toggleNewRowActions(false);
2079
+ },
2080
+ //Method to save a row which is in editable state
2081
+ saveRow: function (callBack) {
2082
+ this.gridElement.find('tr.app-datagrid-row.row-editing:not(.always-new-row)').each(function () {
2083
+ $(this).trigger('click', [undefined, {action: 'save', skipSelect: true, noMsg: true, success: callBack}]);
2084
+ });
2085
+ },
2086
+ //Method to make row editable with widgets
2087
+ makeRowEditable: function ($row, rowData, alwaysNewRow) {
2088
+ var self = this,
2089
+ $originalElements = $row.find('td.app-datagrid-cell'),
2090
+ rowId = parseInt($row.attr('data-row-id'), 10),
2091
+ $editableElements,
2092
+ _rowData = _.clone(rowData);
2093
+
2094
+ _rowData.$index = rowId + 1;
2095
+ // Function to remove validators and set form state to untouched for inline form control
2096
+ this.options.removeValidations(alwaysNewRow);
2097
+ this.options.generateInlineEditRow(_rowData, alwaysNewRow);
2098
+
2099
+ $originalElements.each(function () {
2100
+ var $el = $(this),
2101
+ cellText = $el.text(),
2102
+ id = $el.attr('data-col-id'),
2103
+ colDef = self.preparedHeaderData[id],
2104
+ value,
2105
+ editableTemplate;
2106
+
2107
+ if (!colDef.readonly) {
2108
+ value = _.get(rowData, colDef.field);
2109
+ editableTemplate = self.options.getInlineEditWidget(colDef.field, value, alwaysNewRow);
2110
+ // Fix for [WMS-27289]: In Edit mode (inline and quick edit),
2111
+ // pressing the Tab key initially focuses on the `<td>` element, and pressing Tab again moves the focus to the input widget.
2112
+ // To address this, the `tabindex` and `title` attributes are removed from the `<td>` element during Edit mode
2113
+ // and are re-applied when switching back to View mode.
2114
+ $el.removeAttr('title');
2115
+ $el.removeAttr('tabindex');
2116
+ if (!(colDef.customExpression || (colDef.formatpattern && colDef.formatpattern !== 'None'))) {
2117
+ $el.addClass('cell-editing').html(editableTemplate).data('originalText', cellText);
2118
+ } else {
2119
+ $el.addClass('cell-editing editable-expression').data('originalValue', {
2120
+ 'rowIndex': rowId,
2121
+ 'fieldName': colDef.field
2122
+ });
2123
+ $el.addClass('cell-editing editable-expression').html(editableTemplate).data('originalText', cellText);
2124
+ }
2125
+ $el.addClass('form-group');
2126
+ // Function to apply validators to Inline form controls
2127
+ if (colDef.binding !== 'rowOperations') {
2128
+ self.options.timeoutCall(function () {
2129
+ self.options.applyValidations(colDef, alwaysNewRow);
2130
+ if (colDef.required) {
2131
+ $el.addClass('required-field');
2132
+ }
2133
+ });
2134
+ } else if (colDef.required) {
2135
+ $el.addClass('required-field');
2136
+ }
2137
+ }
2138
+ });
2139
+
2140
+ $editableElements = $row.find('td.cell-editing');
2141
+ // PERFORMANCE FIX: Use event delegation on row instead of individual cell listeners
2142
+ $row.on('click.cellEdit', 'td.cell-editing', function (e) {
2143
+ e.stopPropagation();
2144
+ });
2145
+ $row.on('keydown.cellEdit', 'td.cell-editing', function (e) {
2146
+ //To prevent up and down arrows, navigating to other rows in edit mode
2147
+ if ((e.which === 38 || e.which === 40) && (e.currentTarget && !e.currentTarget.closest('.always-new-row'))) {
2148
+ e.stopPropagation();
2149
+ }
2150
+ });
2151
+ },
2152
+ // WMS-18568 changes added Save and Cancel buttons for Inline Data Table with no actions
2153
+ toggleNewRowActions: function (saveInd) {
2154
+ var self = this,
2155
+ $gridActions = $(this.element).siblings('div.panel-footer, div.panel-heading').find('div.app-datagrid-actions'),
2156
+ $newRow = this.gridElement.find('tr.app-datagrid-row.row-editing'),
2157
+ $newRowButton = $gridActions.find('i.wi-plus').closest('.app-button');
2158
+ if (this.options.editmode === this.CONSTANTS.INLINE && (this.options.rowActions.length === 0 || !_.some(this.options.rowActions, { action: 'editRow($event)' }))) {
2159
+ if (saveInd) {
2160
+ $gridActions.append('<button type="button" wmbutton="" class="btn app-button btn-default cancelNewRow" tabindex="0" accesskey="" title="Cancel">'+
2161
+ '<i aria-hidden="true" class="app-icon wi wi-cancel"></i>'+
2162
+ '<span class="sr-only">Cancel Icon</span><span class="btn-caption">Cancel</span>'+
2163
+ '</button>'+
2164
+ '<button type="button" wmbutton="" class="btn app-button btn-primary saveNewRow" tabindex="0" accesskey="" title="Save">'+
2165
+ '<i aria-hidden="true" class="app-icon wi wi-done"></i>'+
2166
+ '<span class="sr-only">Save Icon</span><span class="btn-caption">Save</span>'+
2167
+ '</button>');
2168
+ $gridActions.find('.cancelNewRow').on('click', function (event) {
2169
+ self.toggleEditRow(event, {action: 'cancel', $row: $newRow});
2170
+ });
2171
+ $gridActions.find('.saveNewRow').on('click', function (event) {
2172
+ self.toggleEditRow(event, {action: 'save', $row: $newRow});
2173
+ });
2174
+ $newRowButton.hide();
2175
+ } else {
2176
+ $('typeahead-container').removeClass('open');
2177
+ $gridActions.find('.cancelNewRow').remove();
2178
+ $gridActions.find('.saveNewRow').remove();
2179
+ $newRowButton.show();
2180
+ }
2181
+ }
2182
+ },
2183
+ _isNewRow: function ($row) {
2184
+ var rowId = parseInt($row.attr('data-row-id'), 10);
2185
+ return rowId >= this.preparedData.length || $row.hasClass('always-new-row');
2186
+ },
2187
+ /* Toggles the edit state of a row. */
2188
+ toggleEditRow: function (e, options) {
2189
+ if(e?.target && $(e.target).closest('.app-menu').length) {
2190
+ return;
2191
+ }
2192
+ options = options || {};
2193
+ this.closeDropdown(e);
2194
+ if (e) {
2195
+ e.stopPropagation();
2196
+ }
2197
+ //Closing the popovers if clicked on any row for Quick edit
2198
+ this.closePopover();
2199
+ var $row = options.$row || $(e.target).closest('tr.app-datagrid-row'),
2200
+ $editButton = $row.find('.edit-row-button'),
2201
+ $cancelButton = $row.find('.cancel-edit-row-button'),
2202
+ $saveButton = $row.find('.save-edit-row-button'),
2203
+ $deleteButton = $row.find('.delete-row-button'),
2204
+ rowData = _.cloneDeep(this.options.data[$row.attr('data-row-id')]) || {},
2205
+ self = this,
2206
+ action,
2207
+ isNewRow,
2208
+ $editableElements,
2209
+ isDataChanged = false,
2210
+ isValid,
2211
+ $requiredEls,
2212
+ alwaysNewRow = $row.hasClass('always-new-row'),
2213
+ advancedEdit = self.options.editmode === self.CONSTANTS.QUICK_EDIT,
2214
+ editOptions = {},
2215
+ rowindex=$row.attr('data-row-id');
2216
+
2217
+ // when a row is edited set actionrow variables
2218
+ this.options.setActionRowIndex($row.attr('data-row-id'));
2219
+ this.options.setLastActionPerformed(this.options.ACTIONS.EDIT);
2220
+
2221
+ //On success of update or delete
2222
+ function onSaveSuccess(skipFocus, error) {
2223
+ if (_.isFunction(options.success)) {
2224
+ options.success(skipFocus, error);
2225
+ }
2226
+ if (!advancedEdit || self.options.actionsEnabled.edit) {
2227
+ self.focusActiveRow();
2228
+ }
2229
+ }
2230
+
2231
+ if ($row.attr('data-removed') === 'true') {
2232
+ //Even after removing row, focus out is triggered and edit is called. In this case, return here
2233
+ return;
2234
+ }
2235
+ //Select the current edited row
2236
+ if (options.selectRow) {
2237
+ this.selectRow(rowData, true,rowindex);
2238
+ }
2239
+ e = e || {};
2240
+ e.data = e.data || {};
2241
+ action = e.data.action || options.action;
2242
+ if (action === 'edit') {
2243
+ if (this.options.editmode === this.CONSTANTS.INLINE) {
2244
+ this.options.callLoadInlineWidgetData();
2245
+ }
2246
+ if (advancedEdit && self.gridElement.find('tr.app-datagrid-row.row-editing:not(.always-new-row)').length) {
2247
+ //In case of advanced edit, save the previous row
2248
+ self.saveRow(function (skipFocus, error) {
2249
+ self.editSuccessHandler(skipFocus, error, e, $row, true);
2250
+ });
2251
+ return;
2252
+ }
2253
+ $row.addClass('row-editing');
2254
+ if (_.isFunction(this.options.beforeRowUpdate)) {
2255
+ this.options.beforeRowUpdate(rowData, e);
2256
+ }
2257
+
2258
+ if (self.options.editmode === self.CONSTANTS.FORM || self.options.editmode === self.CONSTANTS.DIALOG) {
2259
+ return;
2260
+ }
2261
+ //For new operation, set the rowdata from the default values
2262
+ if (options.operation === 'new') {
2263
+ self.setDefaultRowData(rowData);
2264
+ self.toggleNewRowActions(true);
2265
+ }
2266
+ //Event for on before form render. User can update row data here.
2267
+ if (_.isFunction(this.options.onBeforeFormRender)) {
2268
+ isValid = this.options.onBeforeFormRender(rowData, e, options.operation || action);
2269
+ if (isValid === false) {
2270
+ return;
2271
+ }
2272
+ }
2273
+ this._setGridEditMode(true);
2274
+ this.disableActions(true);
2275
+ $deleteButton.removeClass('disabled-action');
2276
+ this.options.runInNgZone(function () {
2277
+ self.makeRowEditable($row, rowData);
2278
+ });
2279
+ // Show editable row.
2280
+ $editButton.addClass('hidden');
2281
+ $cancelButton.removeClass('hidden');
2282
+ $saveButton.removeClass('hidden');
2283
+ $editableElements = $row.find('td.cell-editing');
2284
+ if (!options.skipFocus && $editableElements) {
2285
+ this.options.timeoutCall(function () {
2286
+ self.setFocusOnElement(e, $editableElements);
2287
+ });
2288
+ }
2289
+ //Event for on before form render. User can access form widgets here.
2290
+ if (_.isFunction(this.options.onFormRender)) {
2291
+ this.options.onFormRender($row, e, options.operation || action, $row.hasClass('always-new-row'));
2292
+ }
2293
+ } else {
2294
+ $editableElements = $row.find('td.cell-editing');
2295
+ isNewRow = self._isNewRow($row);
2296
+ if (action === 'save') {
2297
+
2298
+ if (isNewRow) {
2299
+ isDataChanged = true;
2300
+ } else {
2301
+ isDataChanged = this.isDataModified($editableElements, rowData, alwaysNewRow);
2302
+ }
2303
+
2304
+ if (isDataChanged) {
2305
+ $editableElements.each(function () {
2306
+ var $el = $(this),
2307
+ colId = $el.attr('data-col-id'),
2308
+ colDef = self.preparedHeaderData[colId],
2309
+ fields = _.split(colDef.field, '.'),
2310
+ text;
2311
+ text = self.getTextValue(colDef.field, alwaysNewRow);
2312
+ if (fields.length === 1 && colDef.editWidgetType === 'upload') {
2313
+ _.set(rowData, colDef.field, self.getUploadedFiles($el, colDef.field));
2314
+ } else {
2315
+ text = ((fields.length === 1 || isNewRow) && text === '') ? undefined : text; //Set empty values as undefined
2316
+ if (self.Utils.isDefined(text)) {
2317
+ text = text === 'null' ? null : text; //For select, null is returned as string null. Set this back to ull
2318
+ if (text === null) {
2319
+ if (fields.length > 1) {
2320
+ _.set(rowData, fields[0], text); //For related fields, set the object to null
2321
+ } else {
2322
+ if (!isNewRow) {
2323
+ _.set(rowData, colDef.field, ''); //Set to empty for normal fields
2324
+ }
2325
+ }
2326
+ } else {
2327
+ _.set(rowData, colDef.field, text);
2328
+ }
2329
+ } else {
2330
+ //Set undefined while editing the rows
2331
+ if (fields.length === 1 && !isNewRow) {
2332
+ _.set(rowData, colDef.field, text);
2333
+ }
2334
+ }
2335
+ }
2336
+ });
2337
+
2338
+ // Check for form control async state and recall save function
2339
+ if ($editableElements.find('.ng-pending').length > 0) {
2340
+ setTimeout(this.toggleEditRow.bind(this, e, options), 200);
2341
+ return;
2342
+ }
2343
+
2344
+ $requiredEls = $editableElements.find('.ng-invalid');
2345
+ //If required fields are present and value is not filled, return here
2346
+ if ($requiredEls.length > 0) {
2347
+ $requiredEls.each(function (index) {
2348
+ var $invalidTd = $(this).closest('td.app-datagrid-cell');
2349
+ if (index === 0) {
2350
+ $invalidTd.find('[focus-target]').focus();
2351
+ }
2352
+ self.options.setTouched($invalidTd.find('[formcontrolname]').attr('formcontrolname'));
2353
+ });
2354
+ if (_.isFunction(options.success)) {
2355
+ options.success(false, true);
2356
+ }
2357
+ return;
2358
+ }
2359
+
2360
+ if (isNewRow && advancedEdit && _.isEmpty(rowData)) {
2361
+ self.removeNewRow($row);
2362
+ if (_.isFunction(options.success)) {
2363
+ options.success(false, undefined, true);
2364
+ }
2365
+ return;
2366
+ }
2367
+
2368
+ if (isNewRow) {
2369
+ if (_.isFunction(this.options.onBeforeRowInsert)) {
2370
+ isValid = this.options.onBeforeRowInsert(rowData, e, editOptions);
2371
+ if (isValid === false) {
2372
+ return;
2373
+ }
2374
+ }
2375
+ this.options.onRowInsert(rowData, e, onSaveSuccess, editOptions);
2376
+ self.toggleNewRowActions(false);
2377
+ /**
2378
+ * In case of on demand and scroll paginations in inline edit mode
2379
+ * Once the new row is added remove it from the view
2380
+ * As the newly added data will be shown as the last record of the whole dataset
2381
+ */
2382
+ if (!$row.hasClass('always-new-row') && (self.options.isNavTypeScrollOrOndemand())) {
2383
+ self.removeNewRow($row);
2384
+ }
2385
+ } else {
2386
+ if (_.isFunction(this.options.onBeforeRowUpdate)) {
2387
+ isValid = this.options.onBeforeRowUpdate(rowData, e, editOptions);
2388
+ if (isValid === false) {
2389
+ return;
2390
+ }
2391
+ }
2392
+ if(this.options?.getDataSource()?.category== "wm.Variable") {
2393
+ editOptions.rowindex = rowindex;
2394
+ }
2395
+ this.options.afterRowUpdate(rowData, e, onSaveSuccess, editOptions);
2396
+ }
2397
+ } else {
2398
+ this.cancelEdit($row);
2399
+ if (!options.noMsg) {
2400
+ this.options.noChangesDetected();
2401
+ }
2402
+ if (_.isFunction(options.success)) {
2403
+ options.success(false);
2404
+ }
2405
+ }
2406
+ } else {
2407
+ if (isNewRow) {
2408
+ // close the typeahead dropdown when cancel btn is clicked
2409
+ $("typeahead-container").removeClass("open");
2410
+ self.removeNewRow($row);
2411
+ return;
2412
+ }
2413
+ // Cancel edit.
2414
+ this.cancelEdit($row);
2415
+ }
2416
+ }
2417
+ this.addOrRemoveScroll();
2418
+ },
2419
+ cancelEdit: function ($row) {
2420
+ var self = this,
2421
+ $editableElements = $row.find('td.cell-editing'),
2422
+ $cancelButton = $row.find('.cancel-edit-row-button'),
2423
+ $saveButton = $row.find('.save-edit-row-button'),
2424
+ $editButton = $row.find('.edit-row-button');
2425
+
2426
+ // when edit action is cancelled on the row clear actionrow variables
2427
+ this.options.clearActionRowIndex();
2428
+
2429
+ this.disableActions(false);
2430
+ $row.removeClass('row-editing');
2431
+ // PERFORMANCE FIX: Remove namespaced event listeners from row
2432
+ $row.off('.cellEdit');
2433
+ $editableElements.off('click');
2434
+ $editableElements.each(function () {
2435
+ var $el = $(this),
2436
+ value = $el.data('originalValue');
2437
+ // Fix for [WMS-27289]: Reassigning `tabindex` and `title` attributes to the `<td>` element when the cancel button is clicked in Edit mode.
2438
+ $el.attr('tabindex', 0);
2439
+ $el.removeClass('datetime-wrapper cell-editing required-field form-group');
2440
+ if (!value) {
2441
+ $el.text($el.data('originalText') || '');
2442
+ $el.attr('title', $el.text());
2443
+ } else {
2444
+ $el.html(self.options.getCustomExpression(value.fieldName, value.rowIndex));
2445
+ }
2446
+ });
2447
+ $('typeahead-container').removeClass('open');
2448
+ $editButton.removeClass('hidden');
2449
+ $cancelButton.addClass('hidden');
2450
+ $saveButton.addClass('hidden');
2451
+ this._setGridEditMode(false);
2452
+ },
2453
+ //Function to close the current editing row
2454
+ closeEditedRow: function () {
2455
+ var $row = this.gridElement.find('tr.app-datagrid-row.row-editing');
2456
+ if ($row.length) {
2457
+ //If new row, remove the row. Else, cancel the row edit
2458
+ if (this._isNewRow($row)) {
2459
+ this.removeNewRow($row);
2460
+ } else {
2461
+ this.cancelEdit($row);
2462
+ }
2463
+ }
2464
+ },
2465
+ hideRowEditMode: function ($row) {
2466
+ /**
2467
+ * In case of on demand and scroll paginations in quick edit mode
2468
+ * Once the new row is added, reset the row values
2469
+ * Row will always be shown to have a provision of inserting new reccords
2470
+ */
2471
+ if ($row.hasClass('always-new-row') && (this.options.isNavTypeScrollOrOndemand())) {
2472
+ this.resetNewRow($row);
2473
+ return;
2474
+ }
2475
+ var $editableElements = $row.find('td.cell-editing'),
2476
+ $editButton = $row.find('.edit-row-button'),
2477
+ $cancelButton = $row.find('.cancel-edit-row-button'),
2478
+ $saveButton = $row.find('.save-edit-row-button'),
2479
+ self = this;
2480
+ $row.removeClass('row-editing');
2481
+ // PERFORMANCE FIX: Remove namespaced event listeners from row
2482
+ $row.off('.cellEdit');
2483
+ $editableElements.off('click');
2484
+ this.disableActions(false);
2485
+ this._setGridEditMode(false);
2486
+ $editableElements.each(function () {
2487
+ var $el = $(this),
2488
+ value = $el.data('originalValue'),
2489
+ text,
2490
+ colDef;
2491
+ //Fix for [WMS-27289]: Reassigning `tabindex` and `title` attributes to the `<td>` element when the save button is clicked in Edit mode.
2492
+ $el.attr('tabindex', 0);
2493
+ $el.removeClass('datetime-wrapper cell-editing required-field form-group');
2494
+ if (!value) {
2495
+ colDef = self.preparedHeaderData[$el.attr('data-col-id')];
2496
+ text = self.getTextValue(colDef.field);
2497
+ $el.text(self.Utils.isDefined(text) ? text : '');
2498
+ $el.attr('title', $el.text());
2499
+ } else {
2500
+ $el.html(self.options.getCustomExpression(value.fieldName, value.rowIndex));
2501
+ }
2502
+ });
2503
+ $editButton.removeClass('hidden');
2504
+ $cancelButton.addClass('hidden');
2505
+ $saveButton.addClass('hidden');
2506
+ this.addOrRemoveScroll();
2507
+ },
2508
+ /* Deletes a row. */
2509
+ deleteRow: function (e) {
2510
+ e.stopPropagation();
2511
+ var $row = $(e.target).closest('tr.app-datagrid-row'),
2512
+ rowId = $row.attr('data-row-id'),
2513
+ rowData = this.options.data[rowId],
2514
+ isNewRow = this._isNewRow($row),
2515
+ className,
2516
+ isActiveRow,
2517
+ isValid,
2518
+ options = {},
2519
+ self = this;
2520
+ // when delete is clicked on the row set actionrow variables
2521
+ this.options.setActionRowIndex(rowId);
2522
+ this.options.setLastActionPerformed(this.options.ACTIONS.DELETE);
2523
+
2524
+ if (_.isFunction(this.options.beforeRowDelete)) {
2525
+ this.options.beforeRowDelete(rowData, e);
2526
+ }
2527
+ if (isNewRow) {
2528
+ this.disableActions(false);
2529
+ this._setGridEditMode(false);
2530
+ $row.attr('data-removed', true);
2531
+ $row.remove();
2532
+ if (!this.preparedData.length) {
2533
+ //On delete of a new row with no data, show no data message
2534
+ this.setStatus('nodata', this.dataStatus.nodata);
2535
+ }
2536
+ this.addOrRemoveScroll();
2537
+ return;
2538
+ }
2539
+ /* calling onbeforerowDelete callback function.*/
2540
+ if(_.isFunction(this.options.onBeforeRowDelete)) {
2541
+ isValid = this.options.onBeforeRowDelete(rowData, e, options);
2542
+ if (isValid === false) {
2543
+ return;
2544
+ }
2545
+ }
2546
+ if (_.isFunction(this.options.onRowDelete)) {
2547
+ className = this.options.cssClassNames.deleteRow;
2548
+ isActiveRow = $row.attr('class').indexOf('active') !== -1;
2549
+ if (isActiveRow) {
2550
+ $row.removeClass('active');
2551
+ }
2552
+ $row.addClass(className);
2553
+ this.options.onRowDelete(rowData, function () {
2554
+ if (isActiveRow) {
2555
+ $row.addClass('active');
2556
+ }
2557
+ $row.removeClass(className);
2558
+ self.addOrRemoveScroll();
2559
+ }, e, function (skipFocus, error) {
2560
+ if (self.options.isNavTypeScrollOrOndemand()) {
2561
+ var rowId = +$(e.target).closest("tr.app-datagrid-row").attr("data-row-id");
2562
+ // remove existing row from tbody
2563
+ var $row = self.gridElement.find('tr.app-datagrid-row[data-row-id="' + rowId + '"]');
2564
+ self.options.setDeletedRowIndex(rowId);
2565
+ // remove data
2566
+ self.preparedData.splice(rowId,1);
2567
+ // storing the data of deleted row in "options.deletedRowData"
2568
+ self.options.data.splice(rowId,1);
2569
+ // decrementing index values and data-row-id for remaining rows
2570
+ self.gridElement.find('tr.app-datagrid-row:gt(' + rowId + ')').each(function(index, row) {
2571
+ if (!$row.is(':last-child') && (!$(row).hasClass('always-new-row'))) {
2572
+ $(row).attr("data-row-id", rowId);
2573
+ self.preparedData[rowId].$$pk--;
2574
+ self.preparedData[rowId].$$index--;
2575
+ self.preparedData[rowId].$index--;
2576
+ rowId++;
2577
+ }
2578
+ });
2579
+ $row.remove();
2580
+ }
2581
+
2582
+
2583
+ //For quick edit, on clicking of delete button or DELETE key, edit the next row
2584
+ if (self.options.editmode !== self.CONSTANTS.QUICK_EDIT || !($(e.target).hasClass('delete-row-button') || self.Utils.isDeleteKey(e))) {
2585
+ return;
2586
+ }
2587
+ //Call set status, so that the rows are visible for fom operations
2588
+ self.__setStatus();
2589
+ var rowID,
2590
+ $nextRow;
2591
+ if (error) {
2592
+ return;
2593
+ }
2594
+ //On success, Focus the next row. If row is not present, focus the previous row
2595
+ rowID = +$(e.target).closest('tr.app-datagrid-row').attr('data-row-id');
2596
+ $nextRow = self.gridElement.find('tr.app-datagrid-row[data-row-id="' + rowID + '"]');
2597
+ if (!$nextRow.length) {
2598
+ $nextRow = self.gridElement.find('tr.app-datagrid-row[data-row-id="' + (rowID - 1) + '"]');
2599
+ }
2600
+ $nextRow.trigger('click', [undefined, {action: 'edit', skipFocus: skipFocus}]);
2601
+ }, options);
2602
+ }
2603
+ },
2604
+
2605
+ /* Deletes a row and updates the header checkbox if multiselect is true. */
2606
+ deleteRowAndUpdateSelectAll: function (e) {
2607
+ this.deleteRow(e);
2608
+ this.updateSelectAllCheckboxState();
2609
+ },
2610
+
2611
+ /* Keeps a track of the currently selected row, and deselects the previous row, if multiselect is false. */
2612
+ _deselectPreviousSelection: function ($row, e) {
2613
+ var selectedRows = this.gridElement.find('tr.app-datagrid-row.active'),
2614
+ rowId = $row.attr('data-row-id'),
2615
+ self = this;
2616
+ selectedRows.each(function () {
2617
+ var id = $(this).attr('data-row-id'),
2618
+ preparedData = self.preparedData[id];
2619
+ if (id !== rowId && preparedData) {
2620
+ $(this).find('input[rowSelectInput]:radio').prop('checked', false);
2621
+ preparedData._selected = preparedData._checked = false;
2622
+ $(this).removeClass('active');
2623
+ self.options.callOnRowDeselectEvent(preparedData, e);
2624
+ }
2625
+ });
2626
+ },
2627
+ //Method to remove sort icons from the column header cells
2628
+ resetSortIcons: function ($el) {
2629
+ this.isResetSortIconsDone = true;
2630
+ var $sortContainer;
2631
+ //If sort icon is not passed, find out the sort icon from the active class
2632
+ if (!$el && this.gridHeaderElement) {
2633
+ $sortContainer = this.gridHeaderElement.find('.sort-buttons-container.active');
2634
+ $el = $sortContainer.find('i.sort-icon');
2635
+ $sortContainer.removeClass('active');
2636
+ }
2637
+ $el.removeClass('desc asc').removeClass(this.options.cssClassNames.descIcon).removeClass(this.options.cssClassNames.ascIcon);
2638
+ },
2639
+ setSortIconDefault: function() {
2640
+ const sortInfo = this.options.sortInfo,
2641
+ $e = this.tableContainer,
2642
+ $th = $e.find("[data-col-field='" + sortInfo.field + "']"),
2643
+ $sortContainer = $th.find('.sort-buttons-container'),
2644
+ $sortIcon = $sortContainer.find('i.sort-icon'),
2645
+ direction = sortInfo.direction;
2646
+ if (direction === 'asc') {
2647
+ $sortIcon.addClass(direction + ' ' + this.options.cssClassNames.ascIcon);
2648
+ $sortContainer.addClass('active');
2649
+ } else if (direction === 'desc'){
2650
+ $sortIcon.addClass(direction + ' ' + this.options.cssClassNames.descIcon);
2651
+ $sortContainer.addClass('active');
2652
+ }
2653
+
2654
+ },
2655
+ /* Handles table sorting. */
2656
+ sortHandler: function (e) {
2657
+ e.stopImmediatePropagation();
2658
+ // If header span is clicked and column selection is enabled, call header click
2659
+ if ($(e.target).hasClass('header-data') && this.options.enableColumnSelection) {
2660
+ this.headerClickHandler(e);
2661
+ }
2662
+ var $e = $(e.target),
2663
+ $th = $e.closest('th.app-datagrid-header-cell'),
2664
+ id = $th.attr('data-col-id'),
2665
+ $sortContainer = $th.find('.sort-buttons-container'),
2666
+ $sortIcon = $sortContainer.find('i.sort-icon'),
2667
+ direction = $sortIcon.hasClass('asc') ? 'desc' : 'asc',
2668
+ sortInfo = this.options.sortInfo,
2669
+ $previousSortMarker = this.gridHeaderElement.find('.sort-buttons-container.active'),
2670
+ field = $th.attr('data-col-field'),
2671
+ $previousSortedColumn,
2672
+ $previousSortIcon,
2673
+ colId,
2674
+ colDef;
2675
+ this.resetSortIcons($sortIcon);
2676
+ $sortIcon.addClass(direction);
2677
+ //Add the classes based on the direction
2678
+ if (direction === 'asc') {
2679
+ $sortIcon.addClass(this.options.cssClassNames.ascIcon);
2680
+ $sortContainer.addClass('active');
2681
+ } else if (direction === 'desc') {
2682
+ $sortIcon.addClass(this.options.cssClassNames.descIcon);
2683
+ $sortContainer.addClass('active');
2684
+ }
2685
+ if ($previousSortMarker.length) {
2686
+ //Reset the previous sorted column icons and info
2687
+ $previousSortedColumn = $previousSortMarker.closest('th.app-datagrid-header-cell');
2688
+ colId = $previousSortedColumn.attr('data-col-id');
2689
+ colDef = this.preparedHeaderData[colId];
2690
+ $previousSortIcon = $previousSortMarker.find('i.sort-icon');
2691
+ if (colDef.field !== field) {
2692
+ $previousSortMarker.removeClass('active');
2693
+ this.resetSortIcons($previousSortIcon);
2694
+ }
2695
+ colDef.sortInfo = {'sorted': false, 'direction': ''};
2696
+ }
2697
+ sortInfo.direction = direction;
2698
+ sortInfo.field = this.preparedHeaderData && this.preparedHeaderData[e.currentTarget.getAttribute('data-col-id')].sortby || field;
2699
+ sortInfo.sortBy = this.preparedHeaderData && this.preparedHeaderData[e.currentTarget.getAttribute('data-col-id')].sortby ? field : '';
2700
+ if (direction !== '') {
2701
+ this.preparedHeaderData[id].sortInfo = {'sorted': true, 'direction': direction};
2702
+ }
2703
+ this._setGridEditMode(false);
2704
+ this.closeEditedRow();
2705
+ this.options.sortHandler.call(this, this.options.sortInfo, e, 'sort');
2706
+ },
2707
+ //Method to handle up and next key presses
2708
+ processUpDownKeys: function (event, $row, direction) {
2709
+ var self = this;
2710
+ var rowData = $row.find('input').val();
2711
+ if ($row.hasClass('row-editing') && self.options.editmode === self.CONSTANTS.QUICK_EDIT && rowData) {
2712
+ self.toggleEditRow(event, {
2713
+ 'action': 'save',
2714
+ 'noMsg': true,
2715
+ 'success': function (skipFocus, error) {
2716
+ self.editSuccessHandler(skipFocus, error, event, $row, true, direction);
2717
+ }
2718
+ });
2719
+ } else {
2720
+ $row = direction === 'down' ? $row.next() : $row.prev();
2721
+ if (this.options.rowExpansionEnabled && !$row.is(':visible')) {
2722
+ $row = direction === 'down' ? $row.next() : $row.prev();
2723
+ }
2724
+ $row.focus();
2725
+ }
2726
+ },
2727
+ //Reset new row data
2728
+ resetNewRow: function ($row) {
2729
+ var rowData = {},
2730
+ self = this;
2731
+
2732
+ this.options.clearForm(true);
2733
+
2734
+ self.setDefaultRowData(rowData);
2735
+
2736
+ //Set the default values for widgets in the row
2737
+ $row.find('[data-field-name]').each(function () {
2738
+ var $input = $(this),
2739
+ fieldName = $input.attr('data-field-name') + '_new';
2740
+ self.options.setFieldValue(fieldName, rowData[$input.attr('data-field-name')] || '')
2741
+ });
2742
+ self.options.safeApply();
2743
+ self.setFocusOnElement(undefined, $row, true);
2744
+ },
2745
+ _onEnter: function ($target, $row, quickEdit, event) {
2746
+ var self = this;
2747
+ if($target.is('button')){
2748
+ return;
2749
+ }
2750
+ if (quickEdit && $target.hasClass('app-datagrid-row') && !$target.hasClass('row-editing')) {
2751
+ $row.trigger('click', [undefined, {action: 'edit'}]);
2752
+ } else {
2753
+ //On click of enter while inside a widget in editing row, save the row
2754
+ if ($row.hasClass('row-editing') && $target.closest('[data-field-name]').length) {
2755
+ const $editingRow = $row;
2756
+ $target.blur(); //Blur the input, to update the model
2757
+ self.toggleEditRow(event, {
2758
+ 'action': 'save',
2759
+ 'success': function (skipFocus, error) {
2760
+ //On error, focus the same field. Else, focus the row
2761
+ if (error) {
2762
+ $target.focus();
2763
+ } else {
2764
+ if(!quickEdit){
2765
+ self.focusActiveRow();
2766
+ }
2767
+ self.options.timeoutCall(function () {
2768
+ if(quickEdit){
2769
+ var rowId = $editingRow[0]?.getAttribute('data-row-id');
2770
+ if($editingRow.hasClass("always-new-row")){
2771
+ rowId= self.gridElement[0].querySelector("tr.always-new-row")?.getAttribute('data-row-id')-1;
2772
+ }
2773
+ var matchingRow = self.gridElement[0].querySelector("tr[data-row-id='" + rowId + "']");
2774
+ if($(matchingRow).hasClass('always-new-row')){return;}
2775
+ if (matchingRow) {
2776
+ if (!self.options.multiselect) {
2777
+ $(self.gridElement).find('tr.app-datagrid-row.active').removeClass('active');
2778
+ }
2779
+ matchingRow.classList.remove('active');
2780
+ self.hideRowEditMode($(matchingRow));
2781
+ }
2782
+ }
2783
+ self.focusNewRow();
2784
+ }, 400);
2785
+ }
2786
+ }
2787
+ });
2788
+ } else {
2789
+ $row.trigger('click');
2790
+ // When enter event is recived on the new row focus the row to enter text
2791
+ if (quickEdit && $target.hasClass('always-new-row') && $target.hasClass('row-editing')) {
2792
+ self.focusNewRow();
2793
+ }
2794
+ }
2795
+ }
2796
+ //Stop the enter keypress from submitting any parent form. If target is button, event should not be stopped as this stops click event on button
2797
+ if (!$target.is('button')) {
2798
+ event.stopPropagation();
2799
+ }
2800
+ },
2801
+ // Handles keydown event on row items.
2802
+ onKeyDown: function (event) {
2803
+ var $target = $(event.target),
2804
+ $row = $target.closest('tr.app-datagrid-row'),
2805
+ self = this,
2806
+ quickEdit = this.options.editmode === this.CONSTANTS.QUICK_EDIT,
2807
+ isNewRow;
2808
+ if (this.options.rowExpansionEnabled && !$row.length) {
2809
+ $row = $target.closest('tr.app-datagrid-detail-row')
2810
+ }
2811
+
2812
+ if (this.Utils.isDeleteKey(event)) { //Delete Key
2813
+ //For input elements, dont delete the row. If delete button is not present, dont allowe deleting by keyboard shortcut
2814
+ if (!this.options.actionsEnabled.delete || $target.is('input') || $target.hasClass('form-control')) {
2815
+ return;
2816
+ }
2817
+ this.deleteRow(event);
2818
+ return;
2819
+ }
2820
+ if (event.which === 27) { //Escape key
2821
+ isNewRow = this._isNewRow($row);
2822
+ //On Escape, cancel the row edit
2823
+ if (isNewRow && $row.hasClass('always-new-row')) {
2824
+ $target.blur();
2825
+ self.resetNewRow($row);
2826
+ } else {
2827
+ $row.trigger('click', [undefined, {action: 'cancel'}]);
2828
+ }
2829
+
2830
+ if (!isNewRow && self.options.editmode!==this.CONSTANTS.QUICK_EDIT) {
2831
+ $row.focus();
2832
+ }
2833
+ return;
2834
+ }
2835
+ if (event.which === 13) { //Enter key
2836
+ event.stopPropagation();
2837
+ // Fix for [WMS-28247]: prevent row getting selected when pressing Enter on a data table field in view mode when isrowselectable flag is false.
2838
+ if (this.options.editmode !== this.CONSTANTS.QUICK_EDIT && !$row.hasClass('row-editing')) {
2839
+ if ((this.options.multiselect || this.options.showRadioColumn) && !this.options.isrowselectable && Number(this.getColInfo(event))) {
2840
+ return;
2841
+ }
2842
+ }
2843
+ this._debounceOnEnter($target, $row, quickEdit, event);
2844
+ return;
2845
+ }
2846
+ if (event.which === 38) { // up-arrow action
2847
+ this.processUpDownKeys(event, $row, 'up');
2848
+ return;
2849
+ }
2850
+ if (event.which === 40) { // down-arrow action
2851
+ this.processUpDownKeys(event, $row, 'down');
2852
+ }
2853
+ },
2854
+ editSuccessHandler: function (skipFocus, error, e, $row, isSameRow, direction) {
2855
+ var self = this,
2856
+ rowID,
2857
+ $nextRow;
2858
+ //Call set status, so that the rows are visible for fom operations
2859
+ self.__setStatus();
2860
+ //On error, focus the current row first element
2861
+ if (error) {
2862
+ self.setFocusOnElement(e);
2863
+ return;
2864
+ }
2865
+ //On success, make next row editable. If next row is not present, add new row
2866
+ rowID = +$row.attr('data-row-id');
2867
+ if (direction) {
2868
+ rowID = direction === 'down' ? ++rowID : --rowID;
2869
+ $nextRow = self.gridElement.find('tr.app-datagrid-row[data-row-id="' + rowID + '"]');
2870
+ if ($nextRow.length) {
2871
+ $nextRow.focus();
2872
+ } else {
2873
+ $row.focus();
2874
+ }
2875
+ return;
2876
+ }
2877
+ // Fix for [WMS-20545]: The deselect/select event is being triggered twice when isSameRow is undefined
2878
+ if (!isSameRow && !_.isUndefined(isSameRow)) {
2879
+ rowID++;
2880
+ }
2881
+ $nextRow = self.gridElement.find('tr.app-datagrid-row[data-row-id="' + rowID + '"]');
2882
+
2883
+ //For always new row, dont trigger the edit action
2884
+ if ($nextRow.hasClass('always-new-row')) {
2885
+ if (self.options.formPosition !== 'top' || $row.hasClass('always-new-row')) {
2886
+ self.addNewRow(skipFocus);
2887
+ }
2888
+ } else if ($nextRow.length) {
2889
+ $nextRow.trigger('click', [undefined, {
2890
+ action: 'edit',
2891
+ skipFocus: skipFocus,
2892
+ skipSelect: self.options.multiselect
2893
+ }]);
2894
+ } else if (self.options.actionsEnabled.new) {
2895
+ self.addNewRow(skipFocus);
2896
+ }
2897
+ },
2898
+ //Method to check if the docus is on last column
2899
+ isLastColumn: function ($target) {
2900
+ var $cell = $target.closest('td.app-datagrid-cell'),
2901
+ $editCells;
2902
+
2903
+ if ($cell.is(':last-child') || $cell.nextAll('td.app-datagrid-cell:visible').length === 0) {
2904
+ return true;
2905
+ }
2906
+
2907
+ if ($cell.hasClass('cell-editing')) {
2908
+ //Find and compare the last editable column which is not disabled
2909
+ $editCells = $cell.closest('tr.app-datagrid-row').find('.cell-editing').has('> :not([disabled="disabled"])');
2910
+ return $cell.attr('data-col-id') === $editCells.last().attr('data-col-id');
2911
+ }
2912
+ return false;
2913
+ },
2914
+ getColInfo: function(event) {
2915
+ var column = $(event.target).closest('td.app-datagrid-cell');
2916
+ var colId = column.attr('data-col-id');
2917
+ return colId;
2918
+ },
2919
+ keydownHandler: function(event) {
2920
+ if (event && event.key === 'Enter') {
2921
+ this.sortHandler(event);
2922
+ }
2923
+ },
2924
+ /* Attaches all event handlers for the table. */
2925
+ attachEventHandlers: function ($htm) {
2926
+ var $header = this.gridHeaderElement,
2927
+ self = this;
2928
+
2929
+ if (this.options.enableRowSelection) {
2930
+ $htm[0].removeEventListener('click', this.rowClickHandlerOnCapture.bind(this));
2931
+ // MEMORY LEAK FIX: Remove old listener if exists before adding new one
2932
+ // if (this.boundRowClickHandlerOnCapture && $htm[0]) {
2933
+ // $htm[0].removeEventListener('click', this.boundRowClickHandlerOnCapture, true);
2934
+ // }
2935
+ $htm.off();
2936
+ $htm[0].addEventListener('click', this.rowClickHandlerOnCapture.bind(this));
2937
+
2938
+ // MEMORY LEAK FIX: Store bound function reference for proper removal
2939
+ // this.boundRowClickHandlerOnCapture = this.rowClickHandlerOnCapture.bind(this);
2940
+ // $htm[0].addEventListener('click', this.boundRowClickHandlerOnCapture, true);
2941
+
2942
+ // add js click handler for capture phase in order to first listen on grid and
2943
+ // assign selectedItems so that any child actions can have access to the selectedItems.
2944
+ $htm.on('click', this.rowSelectionHandler.bind(this));
2945
+ $htm.on('dblclick', this.rowDblClickHandler.bind(this));
2946
+ $htm.on('keydown', this.onKeyDown.bind(this));
2947
+ }
2948
+
2949
+ if ($header) {
2950
+ if (this.options.enableColumnSelection) {
2951
+ $header.find('th[data-col-selectable]').off('click', this.columnSelectionHandler.bind(this));
2952
+ $header.find('th[data-col-selectable]').on('click', this.columnSelectionHandler.bind(this));
2953
+ } else {
2954
+ $header.find('th[data-col-selectable]').off('click');
2955
+ }
2956
+
2957
+ if (this.options.enableSort) {
2958
+ if (this.options.enableColumnSelection) {
2959
+ $header.find('th[data-col-sortable] .header-data').off('click', this.sortHandler.bind(this));
2960
+ $header.find('th[data-col-sortable] .header-data').on('click', this.sortHandler.bind(this));
2961
+ $header.find('th[data-col-sortable]').off('keydown', this.keydownHandler.bind(this));
2962
+ $header.find('th[data-col-sortable]').on('keydown', this.keydownHandler.bind(this));
2963
+ } else {
2964
+ $header.find('th[data-col-sortable]').off('click', this.sortHandler.bind(this));
2965
+ $header.find('th[data-col-sortable]').on('click', this.sortHandler.bind(this));
2966
+ $header.find('th[data-col-sortable]').off('keydown', this.keydownHandler.bind(this));
2967
+ $header.find('th[data-col-sortable]').on('keydown', this.keydownHandler.bind(this));
2968
+ }
2969
+ } else {
2970
+ if (this.options.enableColumnSelection) {
2971
+ $header.find('th[data-col-sortable] .header-data').off('click');
2972
+ } else {
2973
+ $header.find('th[data-col-sortable]').off('click');
2974
+ }
2975
+ }
2976
+ }
2977
+ if (this.options.rowActions.length) {
2978
+ $htm.find('.cancel-edit-row-button').off('click');
2979
+ $htm.find('.save-edit-row-button').off('click');
2980
+ $htm.find('.cancel-edit-row-button').on('click', {action: 'cancel'}, this.toggleEditRow.bind(this));
2981
+ $htm.find('.save-edit-row-button').on('click', {action: 'save'}, this.toggleEditRow.bind(this));
2982
+ }
2983
+ if (self.options.editmode === self.CONSTANTS.QUICK_EDIT) {
2984
+ $htm.on('focus', 'tr.app-datagrid-row', function (e) {
2985
+ var $row = $(e.currentTarget);
2986
+ if (!$row.hasClass('row-editing')) {
2987
+ if(e.target===e.currentTarget && (e.which===0||!e.which)) {
2988
+ return;
2989
+ }
2990
+ self.toggleEditRow(e, { $row: $row, action: 'edit'});
2991
+ }
2992
+ });
2993
+ //On tab out of a row, save the current row and make next row editable
2994
+ $htm.on('focusout', 'tr.app-datagrid-row','thead.table-header', function (e) {
2995
+ var $target = $(e.target),
2996
+ $row = $target.closest('tr.app-datagrid-row'),
2997
+ $relatedTarget = $(e.relatedTarget),
2998
+ isLastColumn = self.isLastColumn($target, $relatedTarget),
2999
+ isTargetRowAction = $target.closest('span.actions-column').length>0,
3000
+ isRelatedTargetRowAction = $relatedTarget.closest('span.actions-column').length>0,
3001
+ isTargetGridAction = $relatedTarget.closest('div.app-datagrid-actions').length>0,
3002
+ isRelatedTargetGridAction = $relatedTarget.closest('div.app-datagrid-actions').length>0,
3003
+ currentGridId = $($target.closest('.app-grid'))?.attr('widget-id'),
3004
+ relatedGrid = $relatedTarget.closest('.app-grid')[0],
3005
+ relatedGridId = relatedGrid ? $(relatedGrid).attr('widget-id') : null,
3006
+ isRelatedGridDifferent = relatedGrid && relatedGridId !== currentGridId,
3007
+ invalidTargets = '.row-editing:not(".always-new-row"), .row-action-button, .app-datagrid-cell, .caption, button.btn-time, button.btn-date';
3008
+
3009
+ //Check if the focus out element is outside the grid or some special elements
3010
+ function isInvalidTarget() {
3011
+ // If relatedTarget is not in any grid, it's invalid (outside all tables)
3012
+ if (!relatedGrid) {
3013
+ return true;
3014
+ }
3015
+ // If relatedTarget is in a different grid, allow save (return false)
3016
+ if (isRelatedGridDifferent) {
3017
+ return false; // NOT invalid - we should save the grid
3018
+ }
3019
+ // If relatedTarget is in SAME grid, check if it's an invalid target within this grid
3020
+ return $relatedTarget.is(invalidTargets);
3021
+ }
3022
+
3023
+ //If focus is on the same row, return here
3024
+ if ($relatedTarget.is('tr.app-datagrid-row')) {
3025
+ if ($relatedTarget.attr('data-row-id') === $row.attr('data-row-id')) {
3026
+ return;
3027
+ }
3028
+ }
3029
+ // If class has danger, confirm dialog is opened, so dont save the row.
3030
+ //If focusout is because of input element or row action or current row, dont save the row
3031
+ if (isRelatedTargetRowAction || $row.hasClass("danger") || isRelatedTargetGridAction || (isTargetRowAction && isRelatedTargetRowAction) || (isTargetRowAction && e.relatedTarget ===null) || isInvalidTarget() || $relatedTarget.attr("focus-target") === "") {
3032
+ return;
3033
+ }
3034
+ // Save the Row if any button from Grid action is clicked / AddRow action is
3035
+ // triggered from the Row Actions
3036
+ if (!isTargetGridAction && !isTargetRowAction && !isRelatedGridDifferent) {
3037
+ // If focus moved to a DIFFERENT grid, allow save (skip isLastColumn check)
3038
+ // Otherwise Save the row on last column of the data table. Do not save the row if focus is out of input file.
3039
+ if (!isLastColumn || (isLastColumn && (e.relatedTarget === null || $(e.target).is('tr.app-datagrid-row'))) || $target.hasClass("file-upload")) {
3040
+ return;
3041
+ }
3042
+ }
3043
+ self.options.timeoutCall(function () {
3044
+ self.toggleEditRow(e, {
3045
+ 'action': 'save',
3046
+ 'noMsg': true,
3047
+ 'success': function (skipFocus, error, isNewRow) {
3048
+ // Only navigate to next row if staying in SAME grid
3049
+ // If switching to DIFFERENT grid, let that grid's click handler take over
3050
+ if (!isNewRow && !isRelatedGridDifferent) {
3051
+ self.editSuccessHandler(skipFocus, error, e, $row,false);
3052
+ }
3053
+ }
3054
+ });
3055
+ });
3056
+ });
3057
+ }
3058
+
3059
+ // row selection
3060
+ $htm.find('[data-identifier="rowExpansionButtons"]').off("click");
3061
+ $htm.find('[data-identifier="rowExpansionButtons"]').on('click', function (e) {
3062
+ var $row = $(e.target).closest('tr.app-datagrid-row');
3063
+ if ($(this).find('.app-button').attr('disabled')) {
3064
+ return;
3065
+ }
3066
+ self.toggleExpandRow(+$row.attr('data-row-id'), undefined, e);
3067
+ });
3068
+ },
3069
+ expandRow: function(rowId) {
3070
+ this.toggleExpandRow(rowId, true)
3071
+ },
3072
+ collapseRow: function(rowId) {
3073
+ this.toggleExpandRow(rowId, false)
3074
+ },
3075
+ hasAllClasses: function (element, classNames) { // function to check if all the class names are present in the element
3076
+ return classNames && classNames.every(cls => element.hasClass(cls));
3077
+ },
3078
+ _collapseRow: function(e, rowData, rowId, $nextDetailRow, $icon) {
3079
+ var self = this,
3080
+ $tbody = self.gridElement,
3081
+ $row = $($tbody.find('> tr.app-datagrid-row[data-row-id="'+ rowId +'"]'));
3082
+ $row.removeClass(self.options.cssClassNames.expandedRowClass);
3083
+ $row.find( 'button, a').attr('aria-expanded', 'false').attr('aria-live', 'polite');
3084
+ if (this.options.onBeforeRowCollapse(e, rowData, rowId) === false) {
3085
+ return;
3086
+ }
3087
+ if ($icon.length && this.hasAllClasses($icon, this.options.cssClassNames.rowExpandIcon?.split(' '))) {
3088
+ $icon.removeClass(this.options.cssClassNames.rowExpandIcon).addClass(this.options.cssClassNames.rowCollapseIcon);
3089
+ }
3090
+ $nextDetailRow.hide();
3091
+ this.options.onRowCollapse(e, rowData)
3092
+ },
3093
+ toggleExpandRow: function(rowId, isExpand, e) {
3094
+ var self = this,
3095
+ $tbody = self.gridElement,
3096
+ $row = $($tbody.find('> tr.app-datagrid-row[data-row-id="'+ rowId +'"]')),
3097
+ rowData = _.clone(self.options.data[rowId]),
3098
+ $nextDetailRow = $row.next('tr.app-datagrid-detail-row'),
3099
+ isClosed = !$nextDetailRow.is(':visible'),
3100
+ $icon = $row.find('[data-identifier="rowExpansionButtons"] i.app-icon'),
3101
+ expandRowBtn = $row.find( 'button, a');
3102
+ rowData.$index = rowId + 1;
3103
+ if (isExpand && !isClosed) {
3104
+ return;
3105
+ }
3106
+ if (isExpand === false && isClosed) {
3107
+ return;
3108
+ }
3109
+ if (isClosed) {
3110
+ $row.addClass(self.options.cssClassNames.expandedRowClass);
3111
+ if(self.options.rowDef.collapsetitle) expandRowBtn.attr('title', self.options.rowDef.collapsetitle);
3112
+ else {
3113
+ expandRowBtn.attr('title', expandRowBtn.attr('collapsetitle'));
3114
+ }
3115
+ $row.find( 'button, a').attr('aria-expanded', 'true');
3116
+ if (e && self.preparedData[rowId]._selected) {
3117
+ e.stopPropagation();
3118
+ }
3119
+ if (self.options.rowDef.closeothers) {
3120
+ $tbody.find('> tr.app-datagrid-detail-row:visible').each(function() {
3121
+ var $otherDetailRow = $(this),
3122
+ $otherIcon = $otherDetailRow.prev('tr.app-datagrid-row').find('[data-identifier="rowExpansionButtons"] i.app-icon'),
3123
+ otherRowId = +$otherDetailRow.attr('data-row-id'),
3124
+ otherRowData = self.options.data[otherRowId];
3125
+ $otherDetailRow.hide();
3126
+ self._collapseRow(e, otherRowData, otherRowId, $otherDetailRow, $otherIcon);
3127
+ });
3128
+ }
3129
+ self.options.generateRowDetailView(e, rowData, rowId, $nextDetailRow.find('td.app-datagrid-row-details-cell .details-section'),
3130
+ $nextDetailRow.find('td.app-datagrid-row-details-cell .row-overlay'), function () {
3131
+ if ($icon.length && self.hasAllClasses($icon, self.options.cssClassNames.rowCollapseIcon?.split(' '))) {
3132
+ $icon.removeClass(self.options.cssClassNames.rowCollapseIcon).addClass(self.options.cssClassNames.rowExpandIcon);
3133
+ }
3134
+ $nextDetailRow.show();
3135
+ });
3136
+ } else {
3137
+ if(self.options.rowDef.expandtitle) expandRowBtn.attr('title', self.options.rowDef.expandtitle);
3138
+ else {
3139
+ expandRowBtn.attr('title', expandRowBtn.attr('expandtitle'));
3140
+ }
3141
+ self._collapseRow(e, rowData, rowId, $nextDetailRow, $icon);
3142
+ }
3143
+ },
3144
+ /* Replaces all the templates needing angular compilation with the actual compiled templates. */
3145
+ _findAndReplaceCompiledTemplates: function () {
3146
+ if (!this.gridElement) {
3147
+ return;
3148
+ }
3149
+ var $compiledCells = this.gridElement.find('td[data-compiled-template]'),
3150
+ self = this;
3151
+
3152
+ $compiledCells.each(function () {
3153
+ var $cell = $(this),
3154
+ id = $cell.attr('data-compiled-template');
3155
+
3156
+ $cell.replaceWith(self.compiledCellTemplates[id]);
3157
+ });
3158
+ },
3159
+
3160
+ /* Renders the search box. */
3161
+ _renderSearch: function () {
3162
+ var $htm = $(this._getSearchEl()),
3163
+ self = this,
3164
+ $searchBox;
3165
+
3166
+ function search(e) {
3167
+ e.stopPropagation();
3168
+ var searchText = $htm.find('[data-element="dgSearchText"]')[0].value,
3169
+ $filterField = $htm.find('[data-element="dgFilterValue"]'),
3170
+ field = $filterField[0].value,
3171
+ colDefIndex = $htm.find('option:selected').attr('data-coldef-index'),
3172
+ colDef = self.options.colDefs[colDefIndex],
3173
+ type = colDef && colDef.type ? colDef.type : '';
3174
+
3175
+ self.searchObj = {
3176
+ 'field': field,
3177
+ 'value': searchText,
3178
+ 'type': type,
3179
+ 'event': e
3180
+ };
3181
+ self.options.searchHandler.call(self, self.searchObj, e, 'search');
3182
+ }
3183
+
3184
+ this.element.find('.form-search').remove();
3185
+ $htm.insertBefore(this.gridContainer);
3186
+ this.gridSearch = this.element.find('.form-search');
3187
+
3188
+ $searchBox = this.gridSearch.find('[data-element="dgSearchText"]');
3189
+ this.gridSearch.find('.app-search-button').on('click', search);
3190
+ this.gridSearch.find('[data-element="dgFilterValue"]').on('change', function (e) {
3191
+ // If "No data found" message is shown, and user changes the selection, then fetch all data.
3192
+ if (self.dataStatusContainer.find('.status').text() === self.options.dataStates.nodata) {
3193
+ search(e);
3194
+ }
3195
+ });
3196
+ $searchBox.on('keyup', function (e) {
3197
+ e.stopPropagation();
3198
+ // If the search text is empty then show all the rows.
3199
+ if (!$(this).val()) {
3200
+ self.emptySearch = true;
3201
+ if (self.searchObj.value) {
3202
+ self.searchObj.value = '';
3203
+ search(e);
3204
+ }
3205
+ } else {
3206
+ self.emptySearch = false;
3207
+ }
3208
+
3209
+ /* Search only when enter key is pressed. */
3210
+ if (e.which === 13 || self.options.filteronkeypress) {
3211
+ search(e);
3212
+ }
3213
+ });
3214
+ },
3215
+ //Generate the row level filter
3216
+ _renderRowFilter: function () {
3217
+ var $row = $('<tr class="filter-row"></tr>'),
3218
+ self = this,
3219
+ $headerElement = (this.options.isMobile && !this.options.showHeader) ? this.gridElement : this.gridHeaderElement;
3220
+ $headerElement.find('.filter-row').remove();
3221
+ this.options.generateFilterRow();
3222
+ this.preparedHeaderData.forEach(function (field, index) {
3223
+ var fieldName = field.field,
3224
+ $th = $('<th data-col-id="' + index + '"></th>');
3225
+ if (!field.searchable) {
3226
+ $row.append($th);
3227
+ return;
3228
+ }
3229
+ $th.append(self.options.getFilterWidget(fieldName));
3230
+ $row.append($th);
3231
+ }, this);
3232
+ if (this.options.showHeader) {
3233
+ this.gridHeaderElement.append($row);
3234
+ } else {
3235
+ if (this.options.isMobile) {
3236
+ $headerElement.empty().append($row);
3237
+ } else {
3238
+ $headerElement.empty().append($row);
3239
+ }
3240
+ }
3241
+ this.gridSearch = $headerElement.find('.filter-row');
3242
+ },
3243
+ /* Renders the table header. */
3244
+ _renderHeader: function () {
3245
+ var headerTemplate = this._getHeaderTemplate(),
3246
+ $colgroup = headerTemplate.colgroup,
3247
+ self = this,
3248
+ $header;
3249
+ /*On scroll of the content table, scroll the header*/
3250
+ this.gridElement.parent().scroll(function () {
3251
+ self.gridHeaderElement.parent().prop('scrollLeft', this.scrollLeft);
3252
+ });
3253
+ if (!this.options.showHeader) {
3254
+ this.tableContainer.append($colgroup);
3255
+ this.gridHeaderElement.hide();
3256
+ //this.gridElement.prepend($colgroup.clone());
3257
+ return;
3258
+ } else {
3259
+ this.gridHeaderElement.show();
3260
+ }
3261
+ $header = headerTemplate.header;
3262
+
3263
+ function toggleSelectAll(e) {
3264
+ var $checkboxes = $('tr.app-datagrid-row:not(.always-new-row):visible td input[name="gridMultiSelect"]:checkbox', self.gridElement),
3265
+ checked = this.checked,
3266
+ $headerCheckbox = self.gridHeaderElement.find("th.app-datagrid-header-cell input:checkbox");
3267
+ $headerCheckbox.siblings('span.sr-only').text(checked ? 'All Rows Selected' : 'All Rows Deselected');
3268
+ $checkboxes.prop('checked', checked);
3269
+ $checkboxes.each(function () {
3270
+ var $row = $(this).closest('tr.app-datagrid-row'),
3271
+ rowId = $row.attr('data-row-id'),
3272
+ rowData = self.options.data[rowId];
3273
+ self.toggleRowSelection($row, checked, e, true);
3274
+ // If we enable multiselect and check header checkbox then updating selecteditem in datatable.
3275
+ self.options.assignSelectedItems(rowData, e, {
3276
+ 'rowId': rowId,
3277
+ '_selected': self.preparedData[rowId]?._selected
3278
+ });
3279
+ if(!(self.options.headerselectall && self.options.multiselect)){
3280
+ if (checked && _.isFunction(self.options.onRowSelect)) {
3281
+ self.options.onRowSelect(rowData, e);
3282
+ }
3283
+ if (!checked && _.isFunction(self.options.onRowDeselect)) {
3284
+ self.options.onRowDeselect(rowData, e);
3285
+ }
3286
+ }
3287
+ });
3288
+ self.options.selectAllRows(checked,e);
3289
+ }
3290
+
3291
+ // WMS-17629: Hiding the table header column when show property is set to false
3292
+ var headerCells = $header.find("th.app-datagrid-header-cell");
3293
+ var headerCols = $colgroup.find('col');
3294
+ headerCells.each(function () {
3295
+ var id = Number($(this).attr('data-col-id')),
3296
+ colDef = self.preparedHeaderData[id],
3297
+ $headerCol = $(headerCols[id]);
3298
+ if (!colDef) {
3299
+ return;
3300
+ }
3301
+ if (!_.isUndefined(colDef.show) && !colDef.show) {
3302
+ //Hide the header and column if show is false
3303
+ $(this).hide();
3304
+ $headerCol.hide();
3305
+ }
3306
+ });
3307
+
3308
+ /*For mobile view, append header to the main table only*/
3309
+ if (this.options.isMobile) {
3310
+ this.tableContainer.append($colgroup);
3311
+ } else {
3312
+ /**Append the colgroup to the header and the body.
3313
+ * Colgroup is used to maintain the consistent widths between the header table and body table**/
3314
+ this.tableContainer.append($colgroup);
3315
+ /**As jquery references the colgroup, clone the colgroup and add it to the table body**/
3316
+ }
3317
+ /**Add event handler, to the select all checkbox on the header**/
3318
+ $header.on('click', '.app-datagrid-header-cell input:checkbox', toggleSelectAll);
3319
+ $header.on('keydown', '.app-datagrid-header-cell input:checkbox', function(event) {
3320
+ if (event.key === 'Enter' || event.keyCode === 13) {
3321
+ event.preventDefault(); // Prevent default behavior
3322
+
3323
+ // Simulate a click on the checkbox
3324
+ const checkbox = this;
3325
+ setTimeout(() => checkbox.click(), 0);
3326
+ }
3327
+ });
3328
+
3329
+ if (_.isFunction(this.options.onHeaderClick)) {
3330
+ this.gridHeaderElement.find('th.app-datagrid-header-cell').on('click', this.headerClickHandler.bind(this));
3331
+ this.gridHeaderElement.find('th.app-datagrid-header-cell').on('keydown', function (e) {
3332
+ if (e.key === 'Enter' || e.keyCode === 13) {
3333
+ var $target = $(e.target);
3334
+ // Only run if on the checkbox column
3335
+ if ($target.attr('data-col-field') === 'checkbox') {
3336
+ e.preventDefault();
3337
+ // Trigger native click on the checkbox inside the header
3338
+ $target.find('input[type="checkbox"]').trigger('click');
3339
+ }
3340
+ }
3341
+ });
3342
+ }
3343
+
3344
+ if (!this.options.isMobile && this.gridHeaderElement.length) {
3345
+ this.gridHeaderElement.find('th[data-col-resizable]').resizable({
3346
+ handles: 'e',
3347
+ minWidth: 50,
3348
+ // set COL width
3349
+ /* This is needed because if width is initially set on col from coldefs,
3350
+ * then that column was not getting resized.*/
3351
+ resize: function (evt, ui) {
3352
+ var $colElement,
3353
+ $colHeaderElement,
3354
+ $cellElements,
3355
+ colIndex = +ui.helper.attr('data-col-id') + 1,
3356
+ originalWidth = ui.helper.width(),
3357
+ newWidth = ui.size.width,
3358
+ originalTableWidth,
3359
+ newTableWidth;
3360
+ $colHeaderElement = self.tableContainer.find('colgroup > col:nth-child(' + colIndex + ')');
3361
+ $colElement = self.tableContainer.find('colgroup > col:nth-child(' + colIndex + ')');
3362
+ $cellElements = self.gridElement.find('tr.app-datagrid-row > td:nth-child(' + colIndex + ') > div');
3363
+ $colElement.width(newWidth);
3364
+ $colHeaderElement.width(newWidth);
3365
+ $cellElements.width(newWidth);
3366
+ // height must be set in order to prevent IE9 to set wrong height
3367
+ $(this).css('height', 'auto');
3368
+ /*Adjust the table width only if the column width is increased*/
3369
+ if (newWidth > ui.originalSize.width) {
3370
+ /*Increase or decrease table width on resizing the column*/
3371
+ originalTableWidth = self.gridHeaderElement.width();
3372
+ newTableWidth = originalTableWidth + newWidth - originalWidth;
3373
+ self.gridHeaderElement.width(newTableWidth);
3374
+ self.gridElement.width(newTableWidth);
3375
+ }
3376
+ self.addOrRemoveScroll();
3377
+ self.options.redrawWidgets();
3378
+ }
3379
+ });
3380
+ }
3381
+ if(!this.isResetSortIconsDone) {
3382
+ this.setSortIconDefault();
3383
+ }
3384
+ },
3385
+ addOrRemoveScroll: function () {
3386
+ var gridContent = this.gridContainer.find('tbody'),
3387
+ gridHeader = this.gridContainer.find('.table-header');
3388
+ /*If scroll bar is present on the grid content, add padding to the header*/
3389
+ if ((gridContent.scrollHeight > gridContent.clientHeight) && !this.Utils.isMac()) {
3390
+ gridHeader.addClass('scroll-visible');
3391
+ } else {
3392
+ gridHeader.removeClass('scroll-visible');
3393
+ }
3394
+ },
3395
+
3396
+ //Triggers actual function in scope
3397
+ _handleCustomEvents: function (e, options) {
3398
+ this.options.handleCustomEvents(e, options);
3399
+ },
3400
+
3401
+ //Generates markup for row operations
3402
+ _setActionsEnabled: function () {
3403
+ var self = this;
3404
+ _.forEach(this.options.rowActions, function (def) {
3405
+ if (_.includes(def.action, 'editRow(')) {
3406
+ self.options.actionsEnabled.edit = true;
3407
+ } else if (_.includes(def.action, 'deleteRow(')) {
3408
+ self.options.actionsEnabled.delete = true;
3409
+ }
3410
+ });
3411
+ },
3412
+
3413
+ //Appends row operations markup to grid template
3414
+ _appendRowActions: function ($htm, isNewRow, rowData) {
3415
+ var self,
3416
+ rowOperationsCol = this._getRowActionsColumnDef();
3417
+ if (this.options.rowActions.length || rowOperationsCol) {
3418
+ this._setActionsEnabled();
3419
+ self = this;
3420
+ $htm.find("[data-identifier='actionButtons']").each(function (index) {
3421
+ var _rowData, $row, rowId, rowIndex = index;
3422
+ if (isNewRow) {
3423
+ _rowData = rowData;
3424
+ } else {
3425
+ $row = $(this).closest('tr.app-datagrid-row');
3426
+ rowId = parseInt($row.attr('data-row-id'), 10);
3427
+ _rowData = _.clone(self.options.data[rowId]);
3428
+ _rowData.$index = rowIndex + 1;
3429
+ }
3430
+ self.options.generateRowActions(_rowData, rowIndex);
3431
+ $(this).empty().append(self.options.getRowAction(rowIndex));
3432
+ });
3433
+ }
3434
+ },
3435
+ /* Renders the table body. */
3436
+ _renderGrid: function (isCreated) {
3437
+ var $htm, isScrollorOnDemand = this.options.isNavTypeScrollOrOndemand(), pageStartIndex = this.getPageStartIndex();
3438
+ $('table.table-bordered').parents('.app-grid-header-inner').addClass('table_border');
3439
+ if(isScrollorOnDemand) {
3440
+ var $tbody = this.gridElement;
3441
+ // get markup for new rows and append it to tbod
3442
+ var template = this._getGridTemplate();
3443
+ $htm = $(template);
3444
+ if (template && !$tbody.length) {
3445
+ // initally append tbody to gridElement
3446
+ this.gridElement.append($htm);
3447
+ }
3448
+
3449
+ } else {
3450
+ var templates = this._getGridTemplate();
3451
+ $htm = $(templates);
3452
+ if(templates) {
3453
+ this.gridElement.append($htm);
3454
+ }
3455
+ }
3456
+
3457
+ if (this.options.summaryRow) {
3458
+ var $summaryRowHtm = $(this._getSummaryRowTemplate());
3459
+ this.tableContainer.find('tfoot').remove();
3460
+ if (this.options.data.length){
3461
+ this.tableContainer.append($summaryRowHtm);
3462
+ }
3463
+ }
3464
+ // Set proper data status messages after the grid is rendered.
3465
+ if (!this.options.data.length && this.dataStatus.state === 'nodata') {
3466
+ this.setStatus('nodata');
3467
+ } else {
3468
+ this.dataStatus.state = this.dataStatus.state || 'loading';
3469
+ this.dataStatus.message = this.dataStatus.message || this.options.dataStates.loading;
3470
+ this.setStatus(this.dataStatus.state, this.dataStatus.message, isCreated);
3471
+ }
3472
+ this.gridBody = this.gridElement.find('tbody');
3473
+ this.gridFooter = this.tableContainer.find('tfoot');
3474
+ this._findAndReplaceCompiledTemplates();
3475
+ this.options.clearRowActions();
3476
+ // attach event handlers
3477
+ this._appendRowExpansionButtons($htm);
3478
+ this._appendRowActions($htm);
3479
+ this.attachEventHandlers($htm);
3480
+ this.__setStatus(isCreated);
3481
+ //Add new row, if always show new row is present for quick edit
3482
+ if (this.options.editmode === this.CONSTANTS.QUICK_EDIT && this.options.showNewRow) {
3483
+ this.addNewRow(false, true);
3484
+ }
3485
+ if (isCreated) {
3486
+ this._setColSpan(this.options.headerConfig);
3487
+ }
3488
+ if (_.isFunction(this.options.onDataRender)) {
3489
+ this.options.onDataRender();
3490
+ }
3491
+ if (!isCreated && this.options.selectFirstRow) {
3492
+ if (this.options.multiselect) {
3493
+ //Set selectFirstRow to false, to prevent first item being selected in next page
3494
+ this.options.selectFirstRow = false;
3495
+ }
3496
+ if (this.gridElement.find('tr.app-datagrid-row.active').length <= 0) {
3497
+ this.selectFirstRow(true, true);
3498
+ }
3499
+ }
3500
+ },
3501
+
3502
+ /* Renders the table container. */
3503
+ _render: function (isCreated) {
3504
+ if (!this.tableId) {
3505
+ this.tableId = this.Utils.generateGuid();
3506
+ }
3507
+ var overflow = (this.options.isNavTypeScrollOrOndemand() && (this.options.height === '100%' || this.options.height === 'auto')) ? 'hidden' : 'auto';
3508
+ var statusContainer =
3509
+ '<div class="overlay">' +
3510
+ '<div class="status"><i class="' + this.options.loadingicon + '"></i><span class="message"></span></div>' +
3511
+ '</div>',
3512
+
3513
+ table = '<div class="table-container table-responsive">' +
3514
+ '<div class="app-grid-header">' +
3515
+ '<div class="app-grid-header-inner">' +
3516
+ '<table tabindex="0" class="' + this.options.cssClassNames.gridDefault + ' ' + this.options.cssClassNames.grid + '">' +
3517
+ '<thead class="table-header thead-sticky" id="table_header_' + this.tableId + '" role="rowgroup">' +
3518
+ '</thead><tbody class="app-grid-content app-datagrid-body" id="table_' + this.tableId + '" role="rowgroup">' +
3519
+ '</tbody></table>' +
3520
+ '</div></div></div>',
3521
+ $statusContainer = $(statusContainer),
3522
+ $tableContainer = this.element.find('.table-container');
3523
+ this.gridContainer = $(table);
3524
+ this.gridHeaderElement = this.gridContainer.find('.table-header');
3525
+ this._setStyles($statusContainer.find('div.overlay'), "display:none");
3526
+ this._setStyles(this.gridContainer.find('div.app-grid-header-inner'), 'height:' + this.options.height + '; overflow: auto;');
3527
+ this.tableContainer = this.gridContainer.find('table');
3528
+ this.gridElement = this.gridContainer.find('.app-grid-content');
3529
+
3530
+
3531
+ if ((this.options.isNavTypeScrollOrOndemand() && (!$tableContainer.length || !this.options.isNextPageData)) || (!this.options.isNavTypeScrollOrOndemand())) {
3532
+ this.element.find('.table-container').remove();
3533
+ this.element.append(this.gridContainer);
3534
+
3535
+ }
3536
+ // Fix for [WMS-23263]: reset the 'isNextPageData' flag
3537
+
3538
+ this.options.setIsNextPageData(false);
3539
+
3540
+ // Fix for [WMS-23263]: Adding data status container
3541
+ if (!this.gridContainer.find('.overlay').length) {
3542
+ this.dataStatusContainer = $(statusContainer);
3543
+ this.gridContainer.append(this.dataStatusContainer);
3544
+ }
3545
+
3546
+ // Fix for [WMS-23263]: clear the header template for removing existing colgroup in case of dynamictable
3547
+ if (this.gridHeaderElement) {
3548
+ this.gridHeaderElement.empty();
3549
+ this.gridElement.find('colgroup').remove();
3550
+ }
3551
+ this._renderHeader();
3552
+ if (this.options.filtermode === this.CONSTANTS.SEARCH && (_.isEmpty(this.searchObj) || (this.searchObj && !this.searchObj.field && !this.searchObj.value))) {
3553
+ this._renderSearch();
3554
+ } else if (this.options.filtermode === this.CONSTANTS.MULTI_COLUMN) {
3555
+ this._renderRowFilter();
3556
+ }
3557
+ if (this.options.spacing === 'condensed') {
3558
+ this._toggleSpacingClasses('condensed');
3559
+ }
3560
+ this._renderGrid(isCreated);
3561
+ this.addNavigationControls();
3562
+ },
3563
+ addNavigationControls: function() {
3564
+ /**
3565
+ * bind on demand / scroll events to the table in case of dynamictable in render fn
3566
+ * Render is called everytime when there is a change in dataset and the previously binded events are lost
3567
+ */
3568
+ if (this.options.isdynamictable) {
3569
+ this.element.find('.on-demand-datagrid').remove();
3570
+ if (this.options.navigation === 'On-Demand' && (!this.element.find('.on-demand-datagrid').length)) {
3571
+ this.options.addLoadMoreBtn();
3572
+ } else if (this.options.navigation === 'Scroll') {
3573
+ this.options.bindScrollEvt();
3574
+ }
3575
+ }
3576
+ },
3577
+ __setStatus: function (isCreated) {
3578
+ var loadingIndicator = this.dataStatusContainer.find('i'),
3579
+ state = this.dataStatus.state,
3580
+ isScrollOrOndemand = this.options.isNavTypeScrollOrOndemand();
3581
+ this.dataStatusContainer.find('.message').text(this.dataStatus.message);
3582
+ if (state === 'loading') {
3583
+ loadingIndicator.removeClass('hidden');
3584
+ } else {
3585
+ loadingIndicator.addClass('hidden');
3586
+ }
3587
+ if (state === 'ready') {
3588
+ this.dataStatusContainer.hide();
3589
+ } else {
3590
+ // [WMS-23839] always show load more btn if show view less btn is true
3591
+ if (this.options.isNavTypeScrollOrOndemand() &&
3592
+ (state === 'nodata' ||
3593
+ (this.options.getCurrentPage && typeof this.options.getCurrentPage === 'function' &&
3594
+ this.options.getPageCount && typeof this.options.getPageCount === 'function' &&
3595
+ (this.options.getCurrentPage() == this.options.getPageCount()) && !this.options.showviewlessbutton))) {
3596
+ this.element.find('.on-demand-datagrid a').hide();
3597
+ }
3598
+ this.dataStatusContainer.show();
3599
+ }
3600
+ if (state === 'nodata' || state === 'loading' || state === 'error') {
3601
+ if (this.options.height === '100%' || this.options.height === 'auto') { //If height is auto or 100%, Set the loading overlay height as present grid content height
3602
+ if (state === 'nodata') {
3603
+ this.dataStatusContainer.css('height', 'auto');
3604
+ this.dataStatus.contentHeight = 0;
3605
+ } else if (this.options.isNavTypeScrollOrOndemand() &&
3606
+ this.options.getCurrentPage && typeof this.options.getCurrentPage === 'function' &&
3607
+ this.options.getCurrentPage() > 1){
3608
+ // showing the loading icon only for the first page
3609
+ // from second page there is another loader which is being shown instead of LoadMore btn
3610
+ this.dataStatusContainer.hide();
3611
+ } else {
3612
+ this.dataStatus.height = this.dataStatus.height || this.dataStatusContainer.outerHeight();
3613
+ this.dataStatus.contentHeight = this.gridElement.outerHeight() || this.dataStatus.contentHeight;
3614
+ this.dataStatusContainer.css('height', this.dataStatus.height > this.dataStatus.contentHeight ? 'auto' : this.dataStatus.contentHeight);
3615
+ }
3616
+ }
3617
+ if (!isScrollOrOndemand || (isScrollOrOndemand &&
3618
+ this.options.getCurrentPage && typeof this.options.getCurrentPage === 'function' &&
3619
+ this.options.getCurrentPage() === 1)) {
3620
+ this.gridContainer.addClass("show-msg");
3621
+ }
3622
+ } else {
3623
+ this.gridContainer.removeClass('show-msg');
3624
+
3625
+ // In case of quickeditmode, if active row is found, focus the row and bind the event listeners to the row
3626
+ if (this.options.editmode === this.CONSTANTS.QUICK_EDIT) {
3627
+ if (this.options.activeRow) {
3628
+ this.attachHandlersToActiveRow(this.options.activeRow);
3629
+ }
3630
+ this.options.activeRow = undefined;
3631
+ }
3632
+ }
3633
+ if (!isCreated) {
3634
+ this.setColGroupWidths();
3635
+ }
3636
+ this.addOrRemoveScroll();
3637
+ },
3638
+ /**
3639
+ *
3640
+ * @param {*} rowObj Contains the object which is part of options.data
3641
+ * In this method, active row will be focused and event handlers are attached.
3642
+ * If object is recieved, node extraction will be done and if found operations on the row are performed
3643
+ */
3644
+ attachHandlersToActiveRow(rowObj) {
3645
+ var rowIndex = this.Utils.getObjectIndex(this.options.data, rowObj);
3646
+ var row = this.gridElement.find('tr.app-datagrid-row[data-row-id=' + rowIndex + ']');
3647
+ if (!row.length) {
3648
+ return;
3649
+ } else if (!row.hasClass('active')) {
3650
+ row.addClass('active');
3651
+ }
3652
+ this.focusActiveRow();
3653
+ this.attachEventHandlers(row);
3654
+ },
3655
+ // This method sets the activerow on which save operation is performed in quickeditmode
3656
+ setActiveRow(row) {
3657
+ this.options.activeRow = row;
3658
+ },
3659
+ //This method is used to show or hide data loading/ no data found overlay
3660
+ setStatus: function (state, message, isCreated) {
3661
+ var $newRow;
3662
+ //If state is nodata and always new row is present, change state to ready
3663
+ if (state === 'nodata') {
3664
+ $newRow = this.gridElement && this.gridElement.find('tr.app-datagrid-row.always-new-row');
3665
+ state = ($newRow && $newRow.length) ? 'ready' : state;
3666
+ }
3667
+
3668
+ this.dataStatus.state = state;
3669
+ this.options.setGridState(state);
3670
+ this.dataStatus.message = message || this.options.dataStates[state];
3671
+ //First time call the status function, afterwards use debounce with 100 ms wait
3672
+ if (this._setStatusCalled) {
3673
+ this._setStatus(isCreated);
3674
+ } else {
3675
+ this.__setStatus(isCreated);
3676
+ this._setStatusCalled = true;
3677
+ }
3678
+ },
3679
+
3680
+ setGridDimensions: function (key, value) {
3681
+ if (value.indexOf('px') === -1 && value.indexOf('%') === -1 && value.indexOf('em') === -1 && value != 'auto') {
3682
+ value = value + 'px';
3683
+ }
3684
+ this.options[key] = value;
3685
+ if (key === 'height') {
3686
+ // if(this.dataStatus.state != 'loading') {
3687
+ var elements = this.gridHeaderElement.find('th');
3688
+ // this._setStyles(this.tableContainer, 'border-collapse: separate;');
3689
+
3690
+ // for (var i = 0; i < elements.length; i += 1) {
3691
+ // this._setStyles($(elements[i]), 'border: 1px solid #eee');
3692
+ // }
3693
+ //}
3694
+ this.gridContainer.find('.app-grid-header-inner').css(key, value);
3695
+ // this.gridContainer.find('.app-grid-header-inner').css('border', '1px solid #eee');
3696
+ if (this.options.isNavTypeScrollOrOndemand() && (this.options.height != '100%' && this.options.height != 'auto')) {
3697
+ this.gridContainer.find('.app-grid-header-inner').css('overflow', 'auto');
3698
+ }
3699
+ this.dataStatusContainer.css(key, value);
3700
+ }
3701
+ this.addOrRemoveScroll();
3702
+ },
3703
+ /*Change the column header title. function will be called if display name changes in runmode*/
3704
+ setColumnProp: function (fieldName, property, val, isGroup) {
3705
+ var $col;
3706
+ if (property === 'displayName') {
3707
+ if (isGroup) {
3708
+ $col = this.gridHeaderElement.find('th[data-col-group="' + fieldName + '"]');
3709
+ } else {
3710
+ $col = this.gridHeaderElement.find('th[data-col-field="' + fieldName + '"]');
3711
+ }
3712
+ $col.attr('title', val);
3713
+ $col.find('.header-data').html(val);
3714
+
3715
+ //Change the display name in the search filter options
3716
+ if (this.options.filtermode === this.CONSTANTS.SEARCH && this.gridSearch) {
3717
+ this.gridSearch.find('select option[value="' + fieldName + '"]').text(val);
3718
+ }
3719
+ }
3720
+ },
3721
+
3722
+ applyRowNgClass: function (val, index) {
3723
+ var $row = this.gridElement.find('tr.app-datagrid-row[data-row-id="' + index + '"]');
3724
+ $row.removeClass(val.toRemove);
3725
+ $row.addClass(val.toAdd);
3726
+ },
3727
+
3728
+ applyColNgClass: function (val, rowIndex, colIndex) {
3729
+ var $cell = this.gridElement.find('tr.app-datagrid-row[data-row-id="' + rowIndex + '"] td.app-datagrid-cell[data-col-id="' + colIndex + '"]');
3730
+ var $head = this.tableContainer.find('thead tr th.app-datagrid-header-cell[data-col-id="' + colIndex + '"]');
3731
+ $cell.removeClass(val.toRemove);
3732
+ $cell.addClass(val.toAdd);
3733
+ $head.removeClass(val.toRemove);
3734
+ $head.addClass(val.toAdd);
3735
+ },
3736
+
3737
+ _destroy: function () {
3738
+ // MEMORY LEAK FIX: Remove native event listener using stored bound function
3739
+ // if (this.gridElement && this.gridElement[0] && this.boundRowClickHandlerOnCapture) {
3740
+ // this.gridElement[0].removeEventListener('click', this.boundRowClickHandlerOnCapture, true);
3741
+ // this.boundRowClickHandlerOnCapture = null;
3742
+ // }
3743
+
3744
+ // MEMORY LEAK FIX: Remove all jQuery event handlers
3745
+ if (this.gridHeaderElement) {
3746
+ this.gridHeaderElement.off();
3747
+ }
3748
+ if (this.gridElement) {
3749
+ this.gridElement.off();
3750
+ }
3751
+ if (this.gridSearch) {
3752
+ this.gridSearch.off();
3753
+ }
3754
+ if (this.tableContainer) {
3755
+ this.tableContainer.off();
3756
+ }
3757
+ if (this.gridContainer) {
3758
+ this.gridContainer.off();
3759
+ }
3760
+
3761
+ // MEMORY LEAK FIX: Clear all internal structures
3762
+ this.preparedData = [];
3763
+ this.preparedHeaderData = [];
3764
+ this.compiledCellTemplates = {};
3765
+
3766
+ this.element.text('');
3767
+ window.clearTimeout(this.refreshGridTimeout);
3768
+ }
3769
+ });