@inobeta/ui 18.0.1-build.1722007687

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 (369) hide show
  1. package/README.md +1 -0
  2. package/_index.scss +1 -0
  3. package/esm2022/inobeta-ui.mjs +5 -0
  4. package/esm2022/public_api.mjs +17 -0
  5. package/esm2022/src/app/inobeta-ui/core/filter.pipe.mjs +23 -0
  6. package/esm2022/src/app/inobeta-ui/core/index.mjs +2 -0
  7. package/esm2022/src/app/inobeta-ui/http/auth/guard.service.mjs +157 -0
  8. package/esm2022/src/app/inobeta-ui/http/auth/login.service.mjs +137 -0
  9. package/esm2022/src/app/inobeta-ui/http/auth/login.service.stub.spec.mjs +20 -0
  10. package/esm2022/src/app/inobeta-ui/http/auth/session.model.mjs +16 -0
  11. package/esm2022/src/app/inobeta-ui/http/http/auth.interceptor.mjs +79 -0
  12. package/esm2022/src/app/inobeta-ui/http/http/error.interceptor.mjs +76 -0
  13. package/esm2022/src/app/inobeta-ui/http/http/loader.interceptor.mjs +45 -0
  14. package/esm2022/src/app/inobeta-ui/http/http/loading-skeleton-container.component.mjs +36 -0
  15. package/esm2022/src/app/inobeta-ui/http/http/loading-skeleton.component.mjs +34 -0
  16. package/esm2022/src/app/inobeta-ui/http/http/loading-skeleton.directive.mjs +66 -0
  17. package/esm2022/src/app/inobeta-ui/http/http/loading-skeleton.directive.stub.spec.mjs +22 -0
  18. package/esm2022/src/app/inobeta-ui/http/http/messages.decorator.mjs +42 -0
  19. package/esm2022/src/app/inobeta-ui/http/http/role-check.directive.mjs +45 -0
  20. package/esm2022/src/app/inobeta-ui/http/http/spinner-loading.component.mjs +28 -0
  21. package/esm2022/src/app/inobeta-ui/http/http/spinner-loading.stub.spec.mjs +15 -0
  22. package/esm2022/src/app/inobeta-ui/http/http-test.module.mjs +35 -0
  23. package/esm2022/src/app/inobeta-ui/http/http.module.mjs +178 -0
  24. package/esm2022/src/app/inobeta-ui/http/index.mjs +26 -0
  25. package/esm2022/src/app/inobeta-ui/http/store/index.mjs +11 -0
  26. package/esm2022/src/app/inobeta-ui/http/store/loader/actions.mjs +7 -0
  27. package/esm2022/src/app/inobeta-ui/http/store/loader/interfaces.mjs +2 -0
  28. package/esm2022/src/app/inobeta-ui/http/store/loader/reducers.mjs +35 -0
  29. package/esm2022/src/app/inobeta-ui/http/store/loader/selectors.mjs +9 -0
  30. package/esm2022/src/app/inobeta-ui/http/store/session/actions.mjs +17 -0
  31. package/esm2022/src/app/inobeta-ui/http/store/session/effects.mjs +50 -0
  32. package/esm2022/src/app/inobeta-ui/http/store/session/interfaces.mjs +2 -0
  33. package/esm2022/src/app/inobeta-ui/http/store/session/reducers.mjs +12 -0
  34. package/esm2022/src/app/inobeta-ui/http/store/session/selectors.mjs +22 -0
  35. package/esm2022/src/app/inobeta-ui/http/translations.mjs +13 -0
  36. package/esm2022/src/app/inobeta-ui/hydration/actions.mjs +3 -0
  37. package/esm2022/src/app/inobeta-ui/hydration/effects.mjs +45 -0
  38. package/esm2022/src/app/inobeta-ui/hydration/index.mjs +21 -0
  39. package/esm2022/src/app/inobeta-ui/hydration/reducer.mjs +36 -0
  40. package/esm2022/src/app/inobeta-ui/storage/index.mjs +4 -0
  41. package/esm2022/src/app/inobeta-ui/storage/storage-test.module.mjs +23 -0
  42. package/esm2022/src/app/inobeta-ui/storage/storage.module.mjs +22 -0
  43. package/esm2022/src/app/inobeta-ui/storage/storage.service.mjs +105 -0
  44. package/esm2022/src/app/inobeta-ui/storage/storage.stub.spec.mjs +8 -0
  45. package/esm2022/src/app/inobeta-ui/translate/index.mjs +2 -0
  46. package/esm2022/src/app/inobeta-ui/translate/translate-loader.service.mjs +37 -0
  47. package/esm2022/src/app/inobeta-ui/ui/breadcrumb/breadcrumb.component.mjs +63 -0
  48. package/esm2022/src/app/inobeta-ui/ui/breadcrumb/breadcrumb.module.mjs +44 -0
  49. package/esm2022/src/app/inobeta-ui/ui/breadcrumb/index.mjs +4 -0
  50. package/esm2022/src/app/inobeta-ui/ui/breadcrumb/material-breadcrumb/material-breadcrumb.component.mjs +16 -0
  51. package/esm2022/src/app/inobeta-ui/ui/data-export/data-export.module.mjs +92 -0
  52. package/esm2022/src/app/inobeta-ui/ui/data-export/data-export.service.mjs +83 -0
  53. package/esm2022/src/app/inobeta-ui/ui/data-export/formats/csv-export.service.mjs +42 -0
  54. package/esm2022/src/app/inobeta-ui/ui/data-export/formats/pdf-export.service.mjs +66 -0
  55. package/esm2022/src/app/inobeta-ui/ui/data-export/formats/xlsx-export.service.mjs +26 -0
  56. package/esm2022/src/app/inobeta-ui/ui/data-export/index.mjs +10 -0
  57. package/esm2022/src/app/inobeta-ui/ui/data-export/provider.mjs +3 -0
  58. package/esm2022/src/app/inobeta-ui/ui/data-export/table-data-export-dialog.component.mjs +113 -0
  59. package/esm2022/src/app/inobeta-ui/ui/data-export/table-data-export.component.mjs +58 -0
  60. package/esm2022/src/app/inobeta-ui/ui/data-export/transformer.mjs +68 -0
  61. package/esm2022/src/app/inobeta-ui/ui/forms/array/array.mjs +26 -0
  62. package/esm2022/src/app/inobeta-ui/ui/forms/controls/checkbox.mjs +5 -0
  63. package/esm2022/src/app/inobeta-ui/ui/forms/controls/dropdown.mjs +5 -0
  64. package/esm2022/src/app/inobeta-ui/ui/forms/controls/form-control-base.mjs +80 -0
  65. package/esm2022/src/app/inobeta-ui/ui/forms/controls/radio.mjs +5 -0
  66. package/esm2022/src/app/inobeta-ui/ui/forms/controls/textbox.mjs +5 -0
  67. package/esm2022/src/app/inobeta-ui/ui/forms/dynamic-form/dynamic-form.component.mjs +118 -0
  68. package/esm2022/src/app/inobeta-ui/ui/forms/dynamic-form-array/dynamic-form-array.component.mjs +46 -0
  69. package/esm2022/src/app/inobeta-ui/ui/forms/dynamic-form-control/dynamic-form-control.component.mjs +28 -0
  70. package/esm2022/src/app/inobeta-ui/ui/forms/form-control.service.mjs +57 -0
  71. package/esm2022/src/app/inobeta-ui/ui/forms/forms.module.mjs +36 -0
  72. package/esm2022/src/app/inobeta-ui/ui/forms/forms.pipes.mjs +41 -0
  73. package/esm2022/src/app/inobeta-ui/ui/forms/forms.types.mjs +2 -0
  74. package/esm2022/src/app/inobeta-ui/ui/forms/index.mjs +12 -0
  75. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filter-button/filter-action-group.component.mjs +14 -0
  76. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filter-button/filter-button.component.mjs +31 -0
  77. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filter.component.mjs +149 -0
  78. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filter.types.mjs +30 -0
  79. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/base/filter-base.mjs +83 -0
  80. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/boolean/boolean-filter.component.mjs +48 -0
  81. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/date/filter-date.component.mjs +284 -0
  82. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/number/filter-number.component.mjs +111 -0
  83. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/search-bar/search-bar.component.mjs +99 -0
  84. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/tag/filter-tag.component.mjs +106 -0
  85. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters/text/filter-text.component.mjs +98 -0
  86. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters.mjs +109 -0
  87. package/esm2022/src/app/inobeta-ui/ui/kai-filter/filters.module.mjs +175 -0
  88. package/esm2022/src/app/inobeta-ui/ui/kai-filter/index.mjs +14 -0
  89. package/esm2022/src/app/inobeta-ui/ui/kai-filter/tokens.mjs +3 -0
  90. package/esm2022/src/app/inobeta-ui/ui/kai-filter/translations.mjs +51 -0
  91. package/esm2022/src/app/inobeta-ui/ui/kai-table/action.mjs +48 -0
  92. package/esm2022/src/app/inobeta-ui/ui/kai-table/cells.mjs +212 -0
  93. package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/action-column.mjs +23 -0
  94. package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/column.mjs +260 -0
  95. package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/date-column.mjs +93 -0
  96. package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/index.mjs +7 -0
  97. package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/number-column.mjs +112 -0
  98. package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/selection-column.mjs +149 -0
  99. package/esm2022/src/app/inobeta-ui/ui/kai-table/columns/text-column.mjs +90 -0
  100. package/esm2022/src/app/inobeta-ui/ui/kai-table/index.mjs +13 -0
  101. package/esm2022/src/app/inobeta-ui/ui/kai-table/paginator-intl.mjs +53 -0
  102. package/esm2022/src/app/inobeta-ui/ui/kai-table/remote-data-source.mjs +73 -0
  103. package/esm2022/src/app/inobeta-ui/ui/kai-table/rowgroup.mjs +17 -0
  104. package/esm2022/src/app/inobeta-ui/ui/kai-table/sort-header.mjs +37 -0
  105. package/esm2022/src/app/inobeta-ui/ui/kai-table/store/const.mjs +2 -0
  106. package/esm2022/src/app/inobeta-ui/ui/kai-table/store/index.mjs +9 -0
  107. package/esm2022/src/app/inobeta-ui/ui/kai-table/store/url-state/actions.mjs +13 -0
  108. package/esm2022/src/app/inobeta-ui/ui/kai-table/store/url-state/effects.mjs +47 -0
  109. package/esm2022/src/app/inobeta-ui/ui/kai-table/store/url-state/interfaces.mjs +2 -0
  110. package/esm2022/src/app/inobeta-ui/ui/kai-table/store/url-state/reducers.mjs +56 -0
  111. package/esm2022/src/app/inobeta-ui/ui/kai-table/store/url-state/selectors.mjs +19 -0
  112. package/esm2022/src/app/inobeta-ui/ui/kai-table/table-data-source.mjs +450 -0
  113. package/esm2022/src/app/inobeta-ui/ui/kai-table/table-url.service.mjs +129 -0
  114. package/esm2022/src/app/inobeta-ui/ui/kai-table/table.component.mjs +260 -0
  115. package/esm2022/src/app/inobeta-ui/ui/kai-table/table.module.mjs +150 -0
  116. package/esm2022/src/app/inobeta-ui/ui/kai-table/table.types.mjs +2 -0
  117. package/esm2022/src/app/inobeta-ui/ui/kai-table/tokens.mjs +13 -0
  118. package/esm2022/src/app/inobeta-ui/ui/kai-table/translations.mjs +41 -0
  119. package/esm2022/src/app/inobeta-ui/ui/main-menu/components/main-menu-bar/main-menu-bar.component.mjs +120 -0
  120. package/esm2022/src/app/inobeta-ui/ui/main-menu/components/main-menu-bar/main-menu-bar.stub.spec.mjs +38 -0
  121. package/esm2022/src/app/inobeta-ui/ui/main-menu/components/main-menu-dialog/main-menu-dialog.component.mjs +48 -0
  122. package/esm2022/src/app/inobeta-ui/ui/main-menu/components/main-menu-expanded/header-footer-buttons.component.mjs +139 -0
  123. package/esm2022/src/app/inobeta-ui/ui/main-menu/components/main-menu-expanded/main-menu-expanded.component.mjs +41 -0
  124. package/esm2022/src/app/inobeta-ui/ui/main-menu/index.mjs +13 -0
  125. package/esm2022/src/app/inobeta-ui/ui/main-menu/main-menu-test.module.mjs +24 -0
  126. package/esm2022/src/app/inobeta-ui/ui/main-menu/main-menu.module.mjs +63 -0
  127. package/esm2022/src/app/inobeta-ui/ui/main-menu/models/main-menu-button.model.mjs +2 -0
  128. package/esm2022/src/app/inobeta-ui/ui/main-menu/models/main-menu-data-set.model.mjs +2 -0
  129. package/esm2022/src/app/inobeta-ui/ui/main-menu/models/main-menu-data.model.mjs +2 -0
  130. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/autocomplete.mjs +108 -0
  131. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/button.mjs +80 -0
  132. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/checkbox.mjs +54 -0
  133. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/datepicker.mjs +96 -0
  134. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/dropdown.mjs +149 -0
  135. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/label.mjs +50 -0
  136. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/padding.mjs +26 -0
  137. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/radio.mjs +61 -0
  138. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/slide-toggle.mjs +62 -0
  139. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/textarea.mjs +63 -0
  140. package/esm2022/src/app/inobeta-ui/ui/material-forms/controls/textbox.mjs +205 -0
  141. package/esm2022/src/app/inobeta-ui/ui/material-forms/index.mjs +18 -0
  142. package/esm2022/src/app/inobeta-ui/ui/material-forms/intl/datepicker.intl.mjs +73 -0
  143. package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form/material-form.component.mjs +48 -0
  144. package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form/material-form.stub.spec.mjs +65 -0
  145. package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form-array/material-form-array.component.mjs +18 -0
  146. package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form-control/material-form-control.component.mjs +64 -0
  147. package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form-test.module.mjs +32 -0
  148. package/esm2022/src/app/inobeta-ui/ui/material-forms/material-form.module.mjs +168 -0
  149. package/esm2022/src/app/inobeta-ui/ui/material-forms/translations.mjs +26 -0
  150. package/esm2022/src/app/inobeta-ui/ui/modal/index.mjs +7 -0
  151. package/esm2022/src/app/inobeta-ui/ui/modal/modal-message.component.mjs +76 -0
  152. package/esm2022/src/app/inobeta-ui/ui/modal/modal-message.model.mjs +2 -0
  153. package/esm2022/src/app/inobeta-ui/ui/modal/modal-message.service.mjs +64 -0
  154. package/esm2022/src/app/inobeta-ui/ui/modal/modal-message.service.stub.spec.mjs +15 -0
  155. package/esm2022/src/app/inobeta-ui/ui/modal/modal-test.module.mjs +26 -0
  156. package/esm2022/src/app/inobeta-ui/ui/modal/modal.module.mjs +46 -0
  157. package/esm2022/src/app/inobeta-ui/ui/modal/translations.mjs +10 -0
  158. package/esm2022/src/app/inobeta-ui/ui/toast/index.mjs +5 -0
  159. package/esm2022/src/app/inobeta-ui/ui/toast/toast-test.module.mjs +23 -0
  160. package/esm2022/src/app/inobeta-ui/ui/toast/toast.module.mjs +21 -0
  161. package/esm2022/src/app/inobeta-ui/ui/toast/toast.service.mjs +54 -0
  162. package/esm2022/src/app/inobeta-ui/ui/toast/toast.service.stub.spec.mjs +4 -0
  163. package/esm2022/src/app/inobeta-ui/ui/uploader/index.mjs +3 -0
  164. package/esm2022/src/app/inobeta-ui/ui/uploader/uploader.component.mjs +41 -0
  165. package/esm2022/src/app/inobeta-ui/ui/uploader/uploader.module.mjs +42 -0
  166. package/esm2022/src/app/inobeta-ui/ui/views/components/default-table-view/default-table-view.component.mjs +20 -0
  167. package/esm2022/src/app/inobeta-ui/ui/views/components/index.mjs +6 -0
  168. package/esm2022/src/app/inobeta-ui/ui/views/components/table-view/table-view.component.mjs +37 -0
  169. package/esm2022/src/app/inobeta-ui/ui/views/components/table-view-group/table-view-group.component.mjs +186 -0
  170. package/esm2022/src/app/inobeta-ui/ui/views/components/view-dialog/view-dialog.component.mjs +110 -0
  171. package/esm2022/src/app/inobeta-ui/ui/views/components/view-list/view-list.component.mjs +43 -0
  172. package/esm2022/src/app/inobeta-ui/ui/views/index.mjs +5 -0
  173. package/esm2022/src/app/inobeta-ui/ui/views/store/actions.mjs +11 -0
  174. package/esm2022/src/app/inobeta-ui/ui/views/store/index.mjs +3 -0
  175. package/esm2022/src/app/inobeta-ui/ui/views/store/reducer.mjs +5 -0
  176. package/esm2022/src/app/inobeta-ui/ui/views/store/views/index.mjs +4 -0
  177. package/esm2022/src/app/inobeta-ui/ui/views/store/views/reducer.mjs +19 -0
  178. package/esm2022/src/app/inobeta-ui/ui/views/store/views/selectors.mjs +5 -0
  179. package/esm2022/src/app/inobeta-ui/ui/views/store/views/table-view.mjs +13 -0
  180. package/esm2022/src/app/inobeta-ui/ui/views/translations.mjs +34 -0
  181. package/esm2022/src/app/inobeta-ui/ui/views/view.module.mjs +98 -0
  182. package/esm2022/src/app/inobeta-ui/ui/views/view.service.mjs +137 -0
  183. package/fesm2022/inobeta-ui.mjs +8610 -0
  184. package/fesm2022/inobeta-ui.mjs.map +1 -0
  185. package/index.d.ts +5 -0
  186. package/package.json +55 -0
  187. package/public_api.d.ts +16 -0
  188. package/src/app/inobeta-ui/core/filter.pipe.d.ts +7 -0
  189. package/src/app/inobeta-ui/core/index.d.ts +1 -0
  190. package/src/app/inobeta-ui/http/auth/guard.service.d.ts +96 -0
  191. package/src/app/inobeta-ui/http/auth/login.service.d.ts +63 -0
  192. package/src/app/inobeta-ui/http/auth/login.service.stub.spec.d.ts +9 -0
  193. package/src/app/inobeta-ui/http/auth/session.model.d.ts +18 -0
  194. package/src/app/inobeta-ui/http/http/auth.interceptor.d.ts +21 -0
  195. package/src/app/inobeta-ui/http/http/error.interceptor.d.ts +18 -0
  196. package/src/app/inobeta-ui/http/http/loader.interceptor.d.ts +17 -0
  197. package/src/app/inobeta-ui/http/http/loading-skeleton-container.component.d.ts +13 -0
  198. package/src/app/inobeta-ui/http/http/loading-skeleton.component.d.ts +12 -0
  199. package/src/app/inobeta-ui/http/http/loading-skeleton.directive.d.ts +27 -0
  200. package/src/app/inobeta-ui/http/http/loading-skeleton.directive.stub.spec.d.ts +13 -0
  201. package/src/app/inobeta-ui/http/http/messages.decorator.d.ts +18 -0
  202. package/src/app/inobeta-ui/http/http/role-check.directive.d.ts +17 -0
  203. package/src/app/inobeta-ui/http/http/spinner-loading.component.d.ts +9 -0
  204. package/src/app/inobeta-ui/http/http/spinner-loading.stub.spec.d.ts +5 -0
  205. package/src/app/inobeta-ui/http/http-test.module.d.ts +8 -0
  206. package/src/app/inobeta-ui/http/http.module.d.ts +20 -0
  207. package/src/app/inobeta-ui/http/index.d.ts +23 -0
  208. package/src/app/inobeta-ui/http/store/index.d.ts +10 -0
  209. package/src/app/inobeta-ui/http/store/loader/actions.d.ts +17 -0
  210. package/src/app/inobeta-ui/http/store/loader/interfaces.d.ts +8 -0
  211. package/src/app/inobeta-ui/http/store/loader/reducers.d.ts +3 -0
  212. package/src/app/inobeta-ui/http/store/loader/selectors.d.ts +5 -0
  213. package/src/app/inobeta-ui/http/store/session/actions.d.ts +20 -0
  214. package/src/app/inobeta-ui/http/store/session/effects.d.ts +16 -0
  215. package/src/app/inobeta-ui/http/store/session/interfaces.d.ts +4 -0
  216. package/src/app/inobeta-ui/http/store/session/reducers.d.ts +3 -0
  217. package/src/app/inobeta-ui/http/store/session/selectors.d.ts +4 -0
  218. package/src/app/inobeta-ui/http/translations.d.ts +12 -0
  219. package/src/app/inobeta-ui/hydration/actions.d.ts +1 -0
  220. package/src/app/inobeta-ui/hydration/effects.d.ts +13 -0
  221. package/src/app/inobeta-ui/hydration/index.d.ts +13 -0
  222. package/src/app/inobeta-ui/hydration/reducer.d.ts +2 -0
  223. package/src/app/inobeta-ui/storage/index.d.ts +3 -0
  224. package/src/app/inobeta-ui/storage/storage-test.module.d.ts +6 -0
  225. package/src/app/inobeta-ui/storage/storage.module.d.ts +6 -0
  226. package/src/app/inobeta-ui/storage/storage.service.d.ts +62 -0
  227. package/src/app/inobeta-ui/storage/storage.stub.spec.d.ts +5 -0
  228. package/src/app/inobeta-ui/translate/index.d.ts +1 -0
  229. package/src/app/inobeta-ui/translate/translate-loader.service.d.ts +11 -0
  230. package/src/app/inobeta-ui/ui/_index.scss +87 -0
  231. package/src/app/inobeta-ui/ui/breadcrumb/breadcrumb.component.d.ts +28 -0
  232. package/src/app/inobeta-ui/ui/breadcrumb/breadcrumb.module.d.ts +12 -0
  233. package/src/app/inobeta-ui/ui/breadcrumb/index.d.ts +3 -0
  234. package/src/app/inobeta-ui/ui/breadcrumb/material-breadcrumb/material-breadcrumb.component.d.ts +6 -0
  235. package/src/app/inobeta-ui/ui/data-export/data-export.module.d.ts +20 -0
  236. package/src/app/inobeta-ui/ui/data-export/data-export.service.d.ts +35 -0
  237. package/src/app/inobeta-ui/ui/data-export/formats/csv-export.service.d.ts +19 -0
  238. package/src/app/inobeta-ui/ui/data-export/formats/pdf-export.service.d.ts +20 -0
  239. package/src/app/inobeta-ui/ui/data-export/formats/xlsx-export.service.d.ts +14 -0
  240. package/src/app/inobeta-ui/ui/data-export/index.d.ts +9 -0
  241. package/src/app/inobeta-ui/ui/data-export/provider.d.ts +15 -0
  242. package/src/app/inobeta-ui/ui/data-export/table-data-export-dialog.component.d.ts +23 -0
  243. package/src/app/inobeta-ui/ui/data-export/table-data-export.component.d.ts +13 -0
  244. package/src/app/inobeta-ui/ui/data-export/transformer.d.ts +50 -0
  245. package/src/app/inobeta-ui/ui/forms/array/array.d.ts +32 -0
  246. package/src/app/inobeta-ui/ui/forms/controls/checkbox.d.ts +4 -0
  247. package/src/app/inobeta-ui/ui/forms/controls/dropdown.d.ts +4 -0
  248. package/src/app/inobeta-ui/ui/forms/controls/form-control-base.d.ts +88 -0
  249. package/src/app/inobeta-ui/ui/forms/controls/radio.d.ts +4 -0
  250. package/src/app/inobeta-ui/ui/forms/controls/textbox.d.ts +4 -0
  251. package/src/app/inobeta-ui/ui/forms/dynamic-form/dynamic-form.component.d.ts +50 -0
  252. package/src/app/inobeta-ui/ui/forms/dynamic-form-array/dynamic-form-array.component.d.ts +18 -0
  253. package/src/app/inobeta-ui/ui/forms/dynamic-form-control/dynamic-form-control.component.d.ts +11 -0
  254. package/src/app/inobeta-ui/ui/forms/form-control.service.d.ts +13 -0
  255. package/src/app/inobeta-ui/ui/forms/forms.module.d.ts +12 -0
  256. package/src/app/inobeta-ui/ui/forms/forms.pipes.d.ts +20 -0
  257. package/src/app/inobeta-ui/ui/forms/forms.types.d.ts +3 -0
  258. package/src/app/inobeta-ui/ui/forms/index.d.ts +11 -0
  259. package/src/app/inobeta-ui/ui/kai-filter/filter-button/filter-action-group.component.d.ts +5 -0
  260. package/src/app/inobeta-ui/ui/kai-filter/filter-button/filter-button.component.d.ts +8 -0
  261. package/src/app/inobeta-ui/ui/kai-filter/filter.component.d.ts +41 -0
  262. package/src/app/inobeta-ui/ui/kai-filter/filter.types.d.ts +141 -0
  263. package/src/app/inobeta-ui/ui/kai-filter/filters/base/filter-base.d.ts +42 -0
  264. package/src/app/inobeta-ui/ui/kai-filter/filters/boolean/boolean-filter.component.d.ts +12 -0
  265. package/src/app/inobeta-ui/ui/kai-filter/filters/date/filter-date.component.d.ts +56 -0
  266. package/src/app/inobeta-ui/ui/kai-filter/filters/number/filter-number.component.d.ts +27 -0
  267. package/src/app/inobeta-ui/ui/kai-filter/filters/search-bar/search-bar.component.d.ts +16 -0
  268. package/src/app/inobeta-ui/ui/kai-filter/filters/tag/filter-tag.component.d.ts +28 -0
  269. package/src/app/inobeta-ui/ui/kai-filter/filters/text/filter-text.component.d.ts +21 -0
  270. package/src/app/inobeta-ui/ui/kai-filter/filters.d.ts +16 -0
  271. package/src/app/inobeta-ui/ui/kai-filter/filters.module.d.ts +35 -0
  272. package/src/app/inobeta-ui/ui/kai-filter/index.d.ts +13 -0
  273. package/src/app/inobeta-ui/ui/kai-filter/tokens.d.ts +2 -0
  274. package/src/app/inobeta-ui/ui/kai-filter/translations.d.ts +50 -0
  275. package/src/app/inobeta-ui/ui/kai-table/_table-theme.scss +123 -0
  276. package/src/app/inobeta-ui/ui/kai-table/action.d.ts +19 -0
  277. package/src/app/inobeta-ui/ui/kai-table/cells.d.ts +88 -0
  278. package/src/app/inobeta-ui/ui/kai-table/columns/action-column.d.ts +9 -0
  279. package/src/app/inobeta-ui/ui/kai-table/columns/column.d.ts +87 -0
  280. package/src/app/inobeta-ui/ui/kai-table/columns/date-column.d.ts +21 -0
  281. package/src/app/inobeta-ui/ui/kai-table/columns/index.d.ts +6 -0
  282. package/src/app/inobeta-ui/ui/kai-table/columns/number-column.d.ts +16 -0
  283. package/src/app/inobeta-ui/ui/kai-table/columns/selection-column.d.ts +26 -0
  284. package/src/app/inobeta-ui/ui/kai-table/columns/text-column.d.ts +16 -0
  285. package/src/app/inobeta-ui/ui/kai-table/index.d.ts +12 -0
  286. package/src/app/inobeta-ui/ui/kai-table/paginator-intl.d.ts +18 -0
  287. package/src/app/inobeta-ui/ui/kai-table/remote-data-source.d.ts +60 -0
  288. package/src/app/inobeta-ui/ui/kai-table/rowgroup.d.ts +8 -0
  289. package/src/app/inobeta-ui/ui/kai-table/sort-header.d.ts +20 -0
  290. package/src/app/inobeta-ui/ui/kai-table/store/const.d.ts +1 -0
  291. package/src/app/inobeta-ui/ui/kai-table/store/index.d.ts +8 -0
  292. package/src/app/inobeta-ui/ui/kai-table/store/url-state/actions.d.ts +59 -0
  293. package/src/app/inobeta-ui/ui/kai-table/store/url-state/effects.d.ts +15 -0
  294. package/src/app/inobeta-ui/ui/kai-table/store/url-state/interfaces.d.ts +16 -0
  295. package/src/app/inobeta-ui/ui/kai-table/store/url-state/reducers.d.ts +2 -0
  296. package/src/app/inobeta-ui/ui/kai-table/store/url-state/selectors.d.ts +3 -0
  297. package/src/app/inobeta-ui/ui/kai-table/table-data-source.d.ts +164 -0
  298. package/src/app/inobeta-ui/ui/kai-table/table-url.service.d.ts +51 -0
  299. package/src/app/inobeta-ui/ui/kai-table/table.component.d.ts +79 -0
  300. package/src/app/inobeta-ui/ui/kai-table/table.module.d.ts +30 -0
  301. package/src/app/inobeta-ui/ui/kai-table/table.types.d.ts +21 -0
  302. package/src/app/inobeta-ui/ui/kai-table/tokens.d.ts +22 -0
  303. package/src/app/inobeta-ui/ui/kai-table/translations.d.ts +40 -0
  304. package/src/app/inobeta-ui/ui/main-menu/_main-menu-theme.scss +226 -0
  305. package/src/app/inobeta-ui/ui/main-menu/components/main-menu-bar/main-menu-bar.component.d.ts +56 -0
  306. package/src/app/inobeta-ui/ui/main-menu/components/main-menu-bar/main-menu-bar.stub.spec.d.ts +18 -0
  307. package/src/app/inobeta-ui/ui/main-menu/components/main-menu-dialog/main-menu-dialog.component.d.ts +13 -0
  308. package/src/app/inobeta-ui/ui/main-menu/components/main-menu-expanded/header-footer-buttons.component.d.ts +9 -0
  309. package/src/app/inobeta-ui/ui/main-menu/components/main-menu-expanded/main-menu-expanded.component.d.ts +16 -0
  310. package/src/app/inobeta-ui/ui/main-menu/index.d.ts +10 -0
  311. package/src/app/inobeta-ui/ui/main-menu/main-menu-test.module.d.ts +8 -0
  312. package/src/app/inobeta-ui/ui/main-menu/main-menu.module.d.ts +16 -0
  313. package/src/app/inobeta-ui/ui/main-menu/models/main-menu-button.model.d.ts +8 -0
  314. package/src/app/inobeta-ui/ui/main-menu/models/main-menu-data-set.model.d.ts +14 -0
  315. package/src/app/inobeta-ui/ui/main-menu/models/main-menu-data.model.d.ts +4 -0
  316. package/src/app/inobeta-ui/ui/material-forms/controls/autocomplete.d.ts +14 -0
  317. package/src/app/inobeta-ui/ui/material-forms/controls/button.d.ts +28 -0
  318. package/src/app/inobeta-ui/ui/material-forms/controls/checkbox.d.ts +10 -0
  319. package/src/app/inobeta-ui/ui/material-forms/controls/datepicker.d.ts +17 -0
  320. package/src/app/inobeta-ui/ui/material-forms/controls/dropdown.d.ts +29 -0
  321. package/src/app/inobeta-ui/ui/material-forms/controls/label.d.ts +10 -0
  322. package/src/app/inobeta-ui/ui/material-forms/controls/padding.d.ts +10 -0
  323. package/src/app/inobeta-ui/ui/material-forms/controls/radio.d.ts +10 -0
  324. package/src/app/inobeta-ui/ui/material-forms/controls/slide-toggle.d.ts +10 -0
  325. package/src/app/inobeta-ui/ui/material-forms/controls/textarea.d.ts +17 -0
  326. package/src/app/inobeta-ui/ui/material-forms/controls/textbox.d.ts +21 -0
  327. package/src/app/inobeta-ui/ui/material-forms/index.d.ts +17 -0
  328. package/src/app/inobeta-ui/ui/material-forms/intl/datepicker.intl.d.ts +25 -0
  329. package/src/app/inobeta-ui/ui/material-forms/material-form/material-form.component.d.ts +26 -0
  330. package/src/app/inobeta-ui/ui/material-forms/material-form/material-form.stub.spec.d.ts +21 -0
  331. package/src/app/inobeta-ui/ui/material-forms/material-form-array/material-form-array.component.d.ts +6 -0
  332. package/src/app/inobeta-ui/ui/material-forms/material-form-control/material-form-control.component.d.ts +19 -0
  333. package/src/app/inobeta-ui/ui/material-forms/material-form-test.module.d.ts +9 -0
  334. package/src/app/inobeta-ui/ui/material-forms/material-form.module.d.ts +49 -0
  335. package/src/app/inobeta-ui/ui/material-forms/translations.d.ts +25 -0
  336. package/src/app/inobeta-ui/ui/modal/index.d.ts +6 -0
  337. package/src/app/inobeta-ui/ui/modal/modal-message.component.d.ts +10 -0
  338. package/src/app/inobeta-ui/ui/modal/modal-message.model.d.ts +32 -0
  339. package/src/app/inobeta-ui/ui/modal/modal-message.service.d.ts +49 -0
  340. package/src/app/inobeta-ui/ui/modal/modal-message.service.stub.spec.d.ts +6 -0
  341. package/src/app/inobeta-ui/ui/modal/modal-test.module.d.ts +7 -0
  342. package/src/app/inobeta-ui/ui/modal/modal.module.d.ts +11 -0
  343. package/src/app/inobeta-ui/ui/modal/translations.d.ts +9 -0
  344. package/src/app/inobeta-ui/ui/toast/_toast-theme.scss +56 -0
  345. package/src/app/inobeta-ui/ui/toast/index.d.ts +4 -0
  346. package/src/app/inobeta-ui/ui/toast/toast-test.module.d.ts +6 -0
  347. package/src/app/inobeta-ui/ui/toast/toast.module.d.ts +7 -0
  348. package/src/app/inobeta-ui/ui/toast/toast.service.d.ts +36 -0
  349. package/src/app/inobeta-ui/ui/toast/toast.service.stub.spec.d.ts +3 -0
  350. package/src/app/inobeta-ui/ui/uploader/index.d.ts +2 -0
  351. package/src/app/inobeta-ui/ui/uploader/uploader.component.d.ts +12 -0
  352. package/src/app/inobeta-ui/ui/uploader/uploader.module.d.ts +10 -0
  353. package/src/app/inobeta-ui/ui/views/components/default-table-view/default-table-view.component.d.ts +8 -0
  354. package/src/app/inobeta-ui/ui/views/components/index.d.ts +5 -0
  355. package/src/app/inobeta-ui/ui/views/components/table-view/table-view.component.d.ts +14 -0
  356. package/src/app/inobeta-ui/ui/views/components/table-view-group/table-view-group.component.d.ts +45 -0
  357. package/src/app/inobeta-ui/ui/views/components/view-dialog/view-dialog.component.d.ts +22 -0
  358. package/src/app/inobeta-ui/ui/views/components/view-list/view-list.component.d.ts +16 -0
  359. package/src/app/inobeta-ui/ui/views/index.d.ts +4 -0
  360. package/src/app/inobeta-ui/ui/views/store/actions.d.ts +27 -0
  361. package/src/app/inobeta-ui/ui/views/store/index.d.ts +2 -0
  362. package/src/app/inobeta-ui/ui/views/store/reducer.d.ts +7 -0
  363. package/src/app/inobeta-ui/ui/views/store/views/index.d.ts +3 -0
  364. package/src/app/inobeta-ui/ui/views/store/views/reducer.d.ts +3 -0
  365. package/src/app/inobeta-ui/ui/views/store/views/selectors.d.ts +4 -0
  366. package/src/app/inobeta-ui/ui/views/store/views/table-view.d.ts +22 -0
  367. package/src/app/inobeta-ui/ui/views/translations.d.ts +33 -0
  368. package/src/app/inobeta-ui/ui/views/view.module.d.ts +23 -0
  369. package/src/app/inobeta-ui/ui/views/view.service.d.ts +40 -0
@@ -0,0 +1,129 @@
1
+ import { ActivatedRoute, Router } from '@angular/router';
2
+ import { Injectable, inject } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class IbTableUrlService {
5
+ _emptyFilterSchema = {};
6
+ get emptyFilterSchema() {
7
+ return this._emptyFilterSchema;
8
+ }
9
+ set emptyFilterSchema(value) {
10
+ this._emptyFilterSchema = value;
11
+ }
12
+ router = inject(Router);
13
+ activatedRoute = inject(ActivatedRoute);
14
+ constructor() { }
15
+ getRawParams(tableName) {
16
+ return JSON.parse(this.activatedRoute.snapshot.queryParams?.[tableName]
17
+ ?? `{"ibfilter": ${JSON.stringify(this.emptyFilterSchema[tableName] ?? {})}, "ibview": "__ibTableView__all", "ibpage": 0, "ibpagesize": 10, "ibaggregatedcolumns": {}, "ibsort": {} }`) ?? {};
18
+ }
19
+ getFilters(tableName) {
20
+ return this.getRawParams(tableName).ibfilter ?? {};
21
+ }
22
+ setFilters(tableName, params) {
23
+ this.router.navigate([], {
24
+ queryParams: {
25
+ [tableName]: JSON.stringify({
26
+ ...this.getRawParams(tableName),
27
+ ibfilter: params
28
+ })
29
+ },
30
+ queryParamsHandling: 'merge',
31
+ });
32
+ }
33
+ getActiveView(tableName) {
34
+ return this.getRawParams(tableName).ibview ?? '__ibTableView__all';
35
+ }
36
+ setPaginator(tableName, params) {
37
+ this.router.navigate([], {
38
+ queryParams: {
39
+ [tableName]: JSON.stringify({
40
+ ...this.getRawParams(tableName),
41
+ ibpage: params.pageIndex,
42
+ ibpagesize: params.pageSize,
43
+ })
44
+ },
45
+ queryParamsHandling: 'merge',
46
+ });
47
+ }
48
+ getPaginator(tableName) {
49
+ return {
50
+ pageIndex: this.getRawParams(tableName).ibpage ?? 0,
51
+ pageSize: this.getRawParams(tableName).ibpagesize ?? 0,
52
+ };
53
+ }
54
+ setAggregatedColumns(tableName, params) {
55
+ this.router.navigate([], {
56
+ queryParams: {
57
+ [tableName]: JSON.stringify({
58
+ ...this.getRawParams(tableName),
59
+ ibaggregatedcolumns: params
60
+ })
61
+ },
62
+ queryParamsHandling: 'merge',
63
+ });
64
+ }
65
+ getAggregatedColumns(tableName) {
66
+ return this.getRawParams(tableName).ibaggregatedcolumns ?? {};
67
+ }
68
+ setSort(tableName, params) {
69
+ const ibsort = params.direction !== '' ? params : null;
70
+ this.router.navigate([], {
71
+ queryParams: {
72
+ [tableName]: JSON.stringify({
73
+ ...this.getRawParams(tableName),
74
+ ibsort
75
+ })
76
+ },
77
+ queryParamsHandling: 'merge',
78
+ });
79
+ }
80
+ getSort(tableName) {
81
+ return this.getRawParams(tableName).ibsort ?? { active: '', direction: '' };
82
+ }
83
+ handleViewChange(tableName, params) {
84
+ this.router.navigate([], {
85
+ queryParams: {
86
+ [tableName]: JSON.stringify({
87
+ ...this.getRawParams(tableName),
88
+ ibview: params.view,
89
+ ibpage: params.page,
90
+ ibpagesize: params.pageSize,
91
+ ibfilter: params.filters,
92
+ ibaggregatedcolumns: params.aggregatedColumns,
93
+ ibsort: params.sort,
94
+ })
95
+ },
96
+ queryParamsHandling: 'merge',
97
+ });
98
+ }
99
+ getViewState(tableName) {
100
+ return {
101
+ view: this.getActiveView(tableName),
102
+ pageSize: this.getPaginator(tableName).pageSize,
103
+ page: this.getPaginator(tableName).pageIndex,
104
+ filters: this.getFilters(tableName),
105
+ aggregatedColumns: this.getAggregatedColumns(tableName),
106
+ sort: this.getSort(tableName)
107
+ };
108
+ }
109
+ setFilterAndSort(tableName, ibfilter, sort) {
110
+ const ibsort = sort.direction !== '' ? sort : null;
111
+ this.router.navigate([], {
112
+ queryParams: {
113
+ [tableName]: JSON.stringify({
114
+ ...this.getRawParams(tableName),
115
+ ibfilter,
116
+ ibsort
117
+ })
118
+ },
119
+ queryParamsHandling: 'merge',
120
+ });
121
+ }
122
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTableUrlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
123
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTableUrlService, providedIn: 'root' });
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTableUrlService, decorators: [{
126
+ type: Injectable,
127
+ args: [{ providedIn: 'root' }]
128
+ }], ctorParameters: () => [] });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdXJsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkva2FpLXRhYmxlL3RhYmxlLXVybC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsa0JBQWtCLEdBQTJDLEVBQUUsQ0FBQztJQUVoRSxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxnQkFBZ0IsQ0FBQztJQUVqQixZQUFZLENBQUMsU0FBaUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQztlQUNsRSxnQkFBZ0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLDZHQUE2RyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25NLENBQUM7SUFHRCxVQUFVLENBQUMsU0FBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFpQixFQUFFLE1BQThCO1FBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUMxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO29CQUMvQixRQUFRLEVBQUUsTUFBTTtpQkFDakIsQ0FBQzthQUNIO1lBQ0QsbUJBQW1CLEVBQUUsT0FBTztTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQWlCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLElBQUksb0JBQW9CLENBQUM7SUFDckUsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQixFQUFFLE1BQTZDO1FBQzNFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUMxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO29CQUMvQixNQUFNLEVBQUUsTUFBTSxDQUFDLFNBQVM7b0JBQ3hCLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUTtpQkFDNUIsQ0FBQzthQUNIO1lBQ0QsbUJBQW1CLEVBQUUsT0FBTztTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUNuRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQztTQUN2RCxDQUFBO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLFNBQWlCLEVBQUMsTUFBOEI7UUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLFdBQVcsRUFBRTtnQkFDWCxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQzFCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7b0JBQy9CLG1CQUFtQixFQUFFLE1BQU07aUJBQzVCLENBQUM7YUFDSDtZQUNELG1CQUFtQixFQUFFLE9BQU87U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFDLFNBQWlCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFpQixFQUFDLE1BQVk7UUFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUMxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO29CQUMvQixNQUFNO2lCQUNQLENBQUM7YUFDSDtZQUNELG1CQUFtQixFQUFFLE9BQU87U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxTQUFpQjtRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQWlCLEVBQUMsTUFBNEQ7UUFDN0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLFdBQVcsRUFBRTtnQkFDWCxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQzFCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7b0JBQy9CLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDbkIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJO29CQUNuQixVQUFVLEVBQUUsTUFBTSxDQUFDLFFBQVE7b0JBQzNCLFFBQVEsRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDeEIsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtvQkFDN0MsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2lCQUNwQixDQUFDO2FBQ0g7WUFDRCxtQkFBbUIsRUFBRSxPQUFPO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRO1lBQy9DLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVM7WUFDNUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1lBQ25DLGlCQUFpQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUM7WUFDdkQsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQzlCLENBQUE7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBaUIsRUFBRSxRQUFnQyxFQUFFLElBQVU7UUFDOUUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUMxQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO29CQUMvQixRQUFRO29CQUNSLE1BQU07aUJBQ1AsQ0FBQzthQUNIO1lBQ0QsbUJBQW1CLEVBQUUsT0FBTztTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXRJVSxpQkFBaUI7MkdBQWpCLGlCQUFpQixjQURMLE1BQU07OzJGQUNsQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEliRmlsdGVyU3ludGF4RXh0ZW5kZWQgfSBmcm9tICcuLi9rYWktZmlsdGVyL2ZpbHRlci50eXBlcyc7XG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBJYkthaVRhYmxlUGFyYW1zIH0gZnJvbSAnLi9zdG9yZS91cmwtc3RhdGUvaW50ZXJmYWNlcyc7XG5cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgSWJUYWJsZVVybFNlcnZpY2Uge1xuICBfZW1wdHlGaWx0ZXJTY2hlbWE6IFJlY29yZDxzdHJpbmcsIEliRmlsdGVyU3ludGF4RXh0ZW5kZWQ+ID0ge307XG5cbiAgZ2V0IGVtcHR5RmlsdGVyU2NoZW1hKCkge1xuICAgIHJldHVybiB0aGlzLl9lbXB0eUZpbHRlclNjaGVtYTtcbiAgfVxuICBzZXQgZW1wdHlGaWx0ZXJTY2hlbWEodmFsdWUpIHtcbiAgICB0aGlzLl9lbXB0eUZpbHRlclNjaGVtYSA9IHZhbHVlO1xuICB9XG5cbiAgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIGFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBnZXRSYXdQYXJhbXModGFibGVOYW1lOiBzdHJpbmcpOiBJYlRhYmxlUXNQYXJhbXMge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXM/Llt0YWJsZU5hbWVdXG4gICAgICA/PyBge1wiaWJmaWx0ZXJcIjogJHtKU09OLnN0cmluZ2lmeSh0aGlzLmVtcHR5RmlsdGVyU2NoZW1hW3RhYmxlTmFtZV0gPz8ge30pfSwgXCJpYnZpZXdcIjogXCJfX2liVGFibGVWaWV3X19hbGxcIiwgXCJpYnBhZ2VcIjogMCwgXCJpYnBhZ2VzaXplXCI6IDEwLCBcImliYWdncmVnYXRlZGNvbHVtbnNcIjoge30sIFwiaWJzb3J0XCI6IHt9ICB9YCkgPz8ge307XG4gIH1cblxuXG4gIGdldEZpbHRlcnModGFibGVOYW1lOiBzdHJpbmcpOiBJYkZpbHRlclN5bnRheEV4dGVuZGVkIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKS5pYmZpbHRlciA/PyB7fTtcbiAgfVxuXG4gIHNldEZpbHRlcnModGFibGVOYW1lOiBzdHJpbmcsIHBhcmFtczogSWJGaWx0ZXJTeW50YXhFeHRlbmRlZCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBbdGFibGVOYW1lXTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIC4uLnRoaXMuZ2V0UmF3UGFyYW1zKHRhYmxlTmFtZSksXG4gICAgICAgICAgaWJmaWx0ZXI6IHBhcmFtc1xuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXRBY3RpdmVWaWV3KHRhYmxlTmFtZTogc3RyaW5nLCkgOiBzdHJpbmd7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmF3UGFyYW1zKHRhYmxlTmFtZSkuaWJ2aWV3ID8/ICdfX2liVGFibGVWaWV3X19hbGwnO1xuICB9XG5cbiAgc2V0UGFnaW5hdG9yKHRhYmxlTmFtZTogc3RyaW5nLCBwYXJhbXM6IHtwYWdlSW5kZXg6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcn0pIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgW3RhYmxlTmFtZV06IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAuLi50aGlzLmdldFJhd1BhcmFtcyh0YWJsZU5hbWUpLFxuICAgICAgICAgIGlicGFnZTogcGFyYW1zLnBhZ2VJbmRleCxcbiAgICAgICAgICBpYnBhZ2VzaXplOiBwYXJhbXMucGFnZVNpemUsXG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJyxcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBhZ2luYXRvcih0YWJsZU5hbWU6IHN0cmluZykgOiB7cGFnZUluZGV4OiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXJ9e1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlSW5kZXg6IHRoaXMuZ2V0UmF3UGFyYW1zKHRhYmxlTmFtZSkuaWJwYWdlID8/IDAsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKS5pYnBhZ2VzaXplID8/IDAsXG4gICAgfVxuICB9XG5cbiAgc2V0QWdncmVnYXRlZENvbHVtbnModGFibGVOYW1lOiBzdHJpbmcscGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIFt0YWJsZU5hbWVdOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgLi4udGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKSxcbiAgICAgICAgICBpYmFnZ3JlZ2F0ZWRjb2x1bW5zOiBwYXJhbXNcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0QWdncmVnYXRlZENvbHVtbnModGFibGVOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKS5pYmFnZ3JlZ2F0ZWRjb2x1bW5zID8/IHt9O1xuICB9XG5cbiAgc2V0U29ydCh0YWJsZU5hbWU6IHN0cmluZyxwYXJhbXM6IFNvcnQpIHtcbiAgICBjb25zdCBpYnNvcnQgPSBwYXJhbXMuZGlyZWN0aW9uICE9PSAnJyA/IHBhcmFtcyA6IG51bGxcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgW3RhYmxlTmFtZV06IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAuLi50aGlzLmdldFJhd1BhcmFtcyh0YWJsZU5hbWUpLFxuICAgICAgICAgIGlic29ydFxuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgfSk7XG4gIH1cblxuICBnZXRTb3J0KHRhYmxlTmFtZTogc3RyaW5nKSA6IFNvcnR7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmF3UGFyYW1zKHRhYmxlTmFtZSkuaWJzb3J0ID8/IHthY3RpdmU6ICcnLCBkaXJlY3Rpb246ICcnfTtcbiAgfVxuXG4gIGhhbmRsZVZpZXdDaGFuZ2UodGFibGVOYW1lOiBzdHJpbmcscGFyYW1zOiBPbWl0PEliS2FpVGFibGVQYXJhbXMsICd0YWJsZU5hbWUnPiAmIHt2aWV3OiBzdHJpbmd9KSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIFt0YWJsZU5hbWVdOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgLi4udGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKSxcbiAgICAgICAgICBpYnZpZXc6IHBhcmFtcy52aWV3LFxuICAgICAgICAgIGlicGFnZTogcGFyYW1zLnBhZ2UsXG4gICAgICAgICAgaWJwYWdlc2l6ZTogcGFyYW1zLnBhZ2VTaXplLFxuICAgICAgICAgIGliZmlsdGVyOiBwYXJhbXMuZmlsdGVycyxcbiAgICAgICAgICBpYmFnZ3JlZ2F0ZWRjb2x1bW5zOiBwYXJhbXMuYWdncmVnYXRlZENvbHVtbnMsXG4gICAgICAgICAgaWJzb3J0OiBwYXJhbXMuc29ydCxcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgIH0pO1xuICB9XG5cblxuICBnZXRWaWV3U3RhdGUodGFibGVOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdmlldzogdGhpcy5nZXRBY3RpdmVWaWV3KHRhYmxlTmFtZSksXG4gICAgICBwYWdlU2l6ZTogdGhpcy5nZXRQYWdpbmF0b3IodGFibGVOYW1lKS5wYWdlU2l6ZSxcbiAgICAgIHBhZ2U6IHRoaXMuZ2V0UGFnaW5hdG9yKHRhYmxlTmFtZSkucGFnZUluZGV4LFxuICAgICAgZmlsdGVyczogdGhpcy5nZXRGaWx0ZXJzKHRhYmxlTmFtZSksXG4gICAgICBhZ2dyZWdhdGVkQ29sdW1uczogdGhpcy5nZXRBZ2dyZWdhdGVkQ29sdW1ucyh0YWJsZU5hbWUpLFxuICAgICAgc29ydDogdGhpcy5nZXRTb3J0KHRhYmxlTmFtZSlcbiAgICB9XG4gIH1cblxuICBzZXRGaWx0ZXJBbmRTb3J0KHRhYmxlTmFtZTogc3RyaW5nLCBpYmZpbHRlcjogSWJGaWx0ZXJTeW50YXhFeHRlbmRlZCwgc29ydDogU29ydCkge1xuICAgIGNvbnN0IGlic29ydCA9IHNvcnQuZGlyZWN0aW9uICE9PSAnJyA/IHNvcnQgOiBudWxsXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgIFt0YWJsZU5hbWVdOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgLi4udGhpcy5nZXRSYXdQYXJhbXModGFibGVOYW1lKSxcbiAgICAgICAgICBpYmZpbHRlcixcbiAgICAgICAgICBpYnNvcnRcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgIH0pO1xuICB9XG59XG5cblxuZXhwb3J0IHR5cGUgSWJUYWJsZVFzUGFyYW1zID0ge1xuICBpYnBhZ2U6IG51bWJlcjtcbiAgaWJwYWdlc2l6ZTogbnVtYmVyO1xuICBpYmZpbHRlcjogSWJGaWx0ZXJTeW50YXhFeHRlbmRlZDtcbiAgaWJhZ2dyZWdhdGVkY29sdW1uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgaWJzb3J0OiBTb3J0O1xuICBpYnZpZXc6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,260 @@
1
+ import { animate, state, style, transition, trigger, } from "@angular/animations";
2
+ import { TemplatePortal } from "@angular/cdk/portal";
3
+ import { Component, ContentChild, ContentChildren, HostBinding, Input, ViewChild, ViewEncapsulation, booleanAttribute, inject, } from "@angular/core";
4
+ import { MatPaginator } from "@angular/material/paginator";
5
+ import { MatSort } from "@angular/material/sort";
6
+ import { MatTable } from "@angular/material/table";
7
+ import { Subject } from "rxjs";
8
+ import { takeUntil } from "rxjs/operators";
9
+ import { IbTableDataExportAction } from "../data-export/table-data-export.component";
10
+ import { IbFilter } from "../kai-filter";
11
+ import { IbTableViewGroup } from "../views";
12
+ import { IbColumn } from "./columns/column";
13
+ import { IbSelectionColumn } from "./columns/selection-column";
14
+ import { IbTableRemoteDataSource } from "./remote-data-source";
15
+ import { IbKaiRowGroupDirective } from "./rowgroup";
16
+ import { IbTableDataSource } from "./table-data-source";
17
+ import { IB_TABLE } from "./tokens";
18
+ import { IbTableUrlService } from "./table-url.service";
19
+ import { Store } from "@ngrx/store";
20
+ import { urlStateActions } from "./store/url-state/actions";
21
+ import * as i0 from "@angular/core";
22
+ import * as i1 from "@angular/common";
23
+ import * as i2 from "@angular/cdk/portal";
24
+ import * as i3 from "@angular/material/table";
25
+ import * as i4 from "@angular/material/sort";
26
+ import * as i5 from "@angular/material/icon";
27
+ import * as i6 from "@angular/material/paginator";
28
+ import * as i7 from "@angular/material/progress-bar";
29
+ import * as i8 from "@ngx-translate/core";
30
+ const defaultTableDef = {
31
+ paginator: {
32
+ pageSizeOptions: [5, 10, 25, 100],
33
+ showFirstLastButtons: true,
34
+ pageSize: 10,
35
+ },
36
+ };
37
+ export class IbTable {
38
+ _destroyed = new Subject();
39
+ columns;
40
+ selectionColumn;
41
+ rowGroup;
42
+ filter;
43
+ view;
44
+ exportAction;
45
+ matTable;
46
+ sort;
47
+ paginator;
48
+ expandedElement;
49
+ actionPortals = [];
50
+ state = "idle";
51
+ set data(data) {
52
+ this.dataSource.data = data;
53
+ }
54
+ dataSource = new IbTableDataSource([]);
55
+ tableName = btoa(window.location.pathname + window.location.hash);
56
+ tableUrl = inject(IbTableUrlService);
57
+ store = inject(Store);
58
+ /**
59
+ * Configuration for the table and its inner components. Currently supports only
60
+ * `paginator` and `sort` parameters.
61
+ *
62
+ * If left empty, the following default is used
63
+ *
64
+ * ```
65
+ * {
66
+ * paginator : {
67
+ * pageSizeOptions: [5, 10, 25, 100],
68
+ * showFirstLastButtons: true,
69
+ * pageSize: 10,
70
+ * hide: false,
71
+ * }
72
+ * }
73
+ *
74
+ * NB: querystring override these values
75
+ * ```
76
+ */
77
+ set tableDef(value) {
78
+ this._tableDef = {
79
+ ...defaultTableDef,
80
+ ...value,
81
+ };
82
+ }
83
+ get tableDef() {
84
+ return this._tableDef;
85
+ }
86
+ _tableDef = { ...defaultTableDef };
87
+ /**
88
+ * Columns to be displayed.
89
+ *
90
+ * The order of the columns present in this array is rendered
91
+ * as is in a language written from left-to-right. It is reversed
92
+ * in a language written from right-to-left.
93
+ */
94
+ set displayedColumns(columns) {
95
+ this._displayedColumns = columns.map((c) => c);
96
+ if (this.selectionColumn) {
97
+ this._displayedColumns.unshift("ib-selection");
98
+ }
99
+ if (this.columns?.find((c) => c.name === "ib-action")) {
100
+ this._displayedColumns.push("ib-action");
101
+ }
102
+ }
103
+ get displayedColumns() {
104
+ return this._displayedColumns;
105
+ }
106
+ _displayedColumns = [];
107
+ stripedRows = false;
108
+ isRemote = false;
109
+ ngOnInit() {
110
+ const paginatorFromUrl = this.tableUrl.getPaginator(this.tableName);
111
+ this.tableDef.paginator = {
112
+ ...this.tableDef.paginator,
113
+ ...paginatorFromUrl,
114
+ };
115
+ this.dataSource.tableName = this.tableName;
116
+ this.dataSource.paginator = this.paginator;
117
+ if (this.dataSource instanceof IbTableRemoteDataSource) {
118
+ this.isRemote = true;
119
+ this.dataSource._state
120
+ .pipe(takeUntil(this._destroyed))
121
+ .subscribe((s) => (this.state = s));
122
+ }
123
+ }
124
+ ngAfterViewInit() {
125
+ if (this.exportAction) {
126
+ this.setupExportAction();
127
+ }
128
+ }
129
+ ngAfterContentInit() {
130
+ const viewInit = () => {
131
+ this.view.viewGroupName = this.tableName;
132
+ this.dataSource.view = this.view;
133
+ this.setupViewGroup();
134
+ };
135
+ const dsInit = () => {
136
+ this.dataSource.sort = this.sort;
137
+ this.dataSource.aggregatedColumns = this.tableUrl.getAggregatedColumns(this.tableName);
138
+ this.dataSource.sortState = {
139
+ ...this.tableDef.initialSort,
140
+ ...this.tableUrl.getSort(this.tableName),
141
+ };
142
+ };
143
+ this.dataSource.selectionColumn = this.selectionColumn;
144
+ this.dataSource.filter = this.filter;
145
+ this.filter?.initialized.subscribe(() => {
146
+ this.tableUrl.emptyFilterSchema[this.tableName] = structuredClone(this.filter.initialRawValue);
147
+ //NG0100
148
+ setTimeout(() => dsInit());
149
+ const filtersFromUrl = this.tableUrl.getFilters(this.tableName);
150
+ this.filter.value = filtersFromUrl;
151
+ if (this.view) {
152
+ //NG0100
153
+ setTimeout(() => viewInit());
154
+ }
155
+ });
156
+ // If there is no filter, we need to set the viewGroupName to the table name
157
+ if (this.view && !this.filter) {
158
+ setTimeout(() => viewInit());
159
+ }
160
+ if (!this.filter) {
161
+ setTimeout(() => dsInit());
162
+ }
163
+ this.dataSource.columns = this.columns.toArray();
164
+ this.columns.changes
165
+ .pipe(takeUntil(this._destroyed))
166
+ .subscribe((columns) => {
167
+ this.dataSource.columns = columns.toArray();
168
+ });
169
+ }
170
+ ngOnDestroy() {
171
+ this._destroyed.next();
172
+ this._destroyed.complete();
173
+ }
174
+ setPaginatorState(params) {
175
+ this.store.dispatch(urlStateActions.setPaginator({ tableName: this.tableName, params }));
176
+ }
177
+ setupViewGroup() {
178
+ for (const action of [
179
+ this.filter.hideFilterAction,
180
+ ...this.view.actions.toArray(),
181
+ ]) {
182
+ this.actionPortals.push(new TemplatePortal(action.templateRef, action.viewContainerRef));
183
+ }
184
+ }
185
+ setupExportAction() {
186
+ this.exportAction.showSelectedRowsOption = !!this.selectionColumn;
187
+ this.exportAction.showAllRowsOption = !this.isRemote;
188
+ this.exportAction.ibDataExport
189
+ .pipe(takeUntil(this._destroyed))
190
+ .subscribe((settings) => {
191
+ this.exportAction.exportService._exportFromTable(this.tableName, this.dataSource, settings);
192
+ });
193
+ }
194
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTable, deps: [], target: i0.ɵɵFactoryTarget.Component });
195
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.1.1", type: IbTable, selector: "ib-kai-table", inputs: { state: "state", data: "data", dataSource: "dataSource", tableName: "tableName", tableDef: "tableDef", displayedColumns: "displayedColumns", stripedRows: ["stripedRows", "stripedRows", booleanAttribute] }, host: { properties: { "class.ib-table-striped-rows": "this.stripedRows" }, classAttribute: "ib-table__container" }, providers: [{ provide: IB_TABLE, useExisting: IbTable }], queries: [{ propertyName: "selectionColumn", first: true, predicate: IbSelectionColumn, descendants: true }, { propertyName: "rowGroup", first: true, predicate: IbKaiRowGroupDirective, descendants: true }, { propertyName: "filter", first: true, predicate: IbFilter, descendants: true }, { propertyName: "view", first: true, predicate: IbTableViewGroup, descendants: true }, { propertyName: "exportAction", first: true, predicate: IbTableDataExportAction, descendants: true }, { propertyName: "columns", predicate: IbColumn }], viewQueries: [{ propertyName: "matTable", first: true, predicate: MatTable, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], ngImport: i0, template: "<section class=\"ib-table__toolbar\">\n <ng-content select=\"ib-table-view-group\" />\n <section class=\"ib-table__toolbar__actions\">\n <ng-content select=\"ib-table-action-group, [ib-table-action-group]\" />\n <ng-template *ngFor=\"let portal of actionPortals\" [cdkPortalOutlet]=\"portal\" />\n </section>\n</section>\n\n<ng-content select=\"ib-filter\" />\n\n<section class=\"ib-table__content\" [class.ib-table__content--loading]=\"state === 'loading'\">\n <div class=\"ib-table__content__progress-bar\" *ngIf=\"state === 'loading'\">\n <mat-progress-bar mode=\"indeterminate\" />\n </div>\n\n <table class=\"ib-table\" mat-table matSort multiTemplateDataRows [matSortActive]=\"this.dataSource.sortState.active\"\n [matSortDirection]=\"this.dataSource.sortState.direction\" [dataSource]=\"dataSource\">\n <ng-content select=\"ib-selection-column\" />\n <ng-content />\n\n <ng-container matColumnDef=\"expandedDetail\" *ngIf=\"rowGroup\">\n <td mat-cell *matCellDef=\"let element\" [attr.colspan]=\"displayedColumns.length\">\n <div class=\"ib-table__cell-detail\" [@detailExpand]=\"element == expandedElement ? 'expanded' : 'collapsed'\">\n <ng-container *ngTemplateOutlet=\"rowGroup.templateRef; context: {'$implicit': element, 'row': element}\" />\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true;\"></tr>\n\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" class=\"ib-table__row\"\n [class.ib-table__row--expanded]=\"expandedElement === row\"\n (click)=\"rowGroup && (expandedElement = expandedElement === row ? null : row)\"></tr>\n <ng-container *ngIf=\"rowGroup\">\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"ib-table__row-group\"\n [class.ib-table__row-group--hidden]=\"expandedElement !== row\"></tr>\n </ng-container>\n\n <tr *matNoDataRow>\n <td [attr.colspan]=\"columns.length\">\n <div>\n <ng-container *ngIf=\"state === 'idle'\">\n <mat-icon style=\"color: #888\">inbox</mat-icon>\n {{ \"common.noItems\" | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"state === 'http_error'\">\n <mat-icon style=\"color: #888\">error</mat-icon>\n {{ \"common.httpError\" | translate }}\n </ng-container>\n </div>\n </td>\n </tr>\n\n <ng-container *ngIf=\"dataSource.shouldDisplayAggregationFooter\">\n <tr class=\"ib-table__rollup-row\" mat-footer-row *matFooterRowDef=\"displayedColumns; sticky: true\"></tr>\n </ng-container>\n </table>\n</section>\n<mat-paginator class=\"ib-table__paginator\"\n [disabled]=\"state !== 'idle'\"\n [style.display]=\"tableDef.paginator.hide ? 'none' : 'block'\"\n [pageSize]=\"tableDef.paginator.pageSize\"\n [showFirstLastButtons]=\"tableDef.paginator.showFirstLastButtons\"\n [pageSizeOptions]=\"tableDef.paginator.pageSizeOptions\"\n (page)=\"setPaginatorState({ pageIndex: $event.pageIndex, pageSize: $event.pageSize })\"\n />\n", styles: [".ib-table__container{--ib-table-minimum-rows-private: var(--ib-table-minimum-rows, 10);--ib-table-has-footer-row: 0;--ib-table-filter-max-height: 112px;--ib-table-content-max-height-private: var( --ib-table-content-max-height, calc( var(--mat-table-header-container-height) + var(--mat-table-row-item-container-height) * (var(--ib-table-minimum-rows-private) + var(--ib-table-has-footer-row)) ) );--ib-table-outline-color-private: var( --ib-table-outline-color, var(--mat-table-row-item-outline-color) );--ib-table-column-outline-width-private: var( --ib-table-column-outline-width, 0 );--ib-table-border-width: 1px;display:block;border:var(--ib-table-border-width) solid var(--ib-table-outline-color-private);overflow:hidden}.ib-table__container:has(.ib-table__rollup-row){--ib-table-has-footer-row: 1}.ib-table__container .ib-table__toolbar{display:flex;align-items:center;justify-content:flex-end}.ib-table__container .ib-table__toolbar:has(ib-table-view-group),.ib-table__container .ib-table__toolbar:has(>section:not(:empty)){height:56px;border-bottom:1px solid var(--ib-table-outline-color-private)}.ib-table__container .ib-table__toolbar__actions{padding-right:8px}.ib-table__container .ib-table__toolbar__actions ib-table-action-group{display:inline-block}.ib-table__container .ib-filter--hidden{max-height:0;opacity:0}.ib-table__container ib-filter:not(:has(.ib-filter--hidden))~.ib-table__content{max-height:calc(var(--ib-table-content-max-height-private) - var(--ib-table-filter-max-height))}.ib-table__container ib-filter:has(.ib-filter--hidden)~.ib-table__content{max-height:calc(var(--ib-table-content-max-height-private))}.ib-table__container .ib-table__content{overflow-y:auto;position:relative;max-height:var(--ib-table-content-max-height-private)}.ib-table__container .ib-table__content--loading{pointer-events:none;overflow:hidden;filter:brightness(.95)}.ib-table__container .ib-table__content__progress-bar{position:sticky;height:0;top:var(--mat-table-header-container-height)}.ib-table__container .ib-table__content .mat-mdc-header-cell{border-right-color:var(--ib-table-outline-color-private);border-right-width:var(--ib-table-column-outline-width-private);border-right-style:solid}.ib-table__container .ib-table__content .mat-mdc-header-cell:last-child{border-right-style:none}.ib-table__container .ib-table__content .mat-mdc-cell{border-right-color:var(--ib-table-outline-color-private);border-right-width:var(--ib-table-column-outline-width-private);border-right-style:solid}.ib-table__container .ib-table__content .mat-mdc-cell:last-child{border-right-style:none}.ib-table__container .ib-table__content .ib-table__row--expanded .mat-mdc-cell{border-bottom-width:0}.ib-table__container .ib-table__content .ib-table__cell-detail{overflow:hidden;display:flex}.ib-table__container .ib-table__content .ib-table__row-group{height:0}.ib-table__container .ib-table__content .ib-table__row-group--hidden .mat-mdc-cell{border-bottom-width:0}.ib-table__container .ib-table__content .mat-mdc-no-data-row>td>div{display:flex;flex-direction:column;gap:4px;align-items:center;padding:12px 0}.ib-table__container ib-aggregate{display:flex;align-items:center;justify-content:flex-end;gap:2em}.ib-table__container ib-aggregate .ib-aggregate__function{display:flex;align-items:center;width:fit-content}.ib-table__container ib-aggregate .ib-aggregate__display-value{text-align:end;font-weight:500;white-space:nowrap}.ib-table__container .ib-table__rollup-row{box-shadow:0 -1px var(--ib-table-outline-color-private)}.ib-table__container .ib-table__paginator{border-top:1px solid var(--ib-table-outline-color-private)}td.cdk-column-ib-action>:first-child,td.mat-column-ib-action>:first-child{display:flex;gap:4px;justify-content:flex-end;align-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i3.MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "directive", type: i3.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "directive", type: i4.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], animations: [
196
+ trigger("detailExpand", [
197
+ state("collapsed", style({ height: "0px", minHeight: "0" })),
198
+ state("expanded", style({ height: "*" })),
199
+ transition("expanded <=> collapsed", animate("225ms cubic-bezier(0.4, 0.0, 0.2, 1)")),
200
+ ]),
201
+ ], encapsulation: i0.ViewEncapsulation.None });
202
+ }
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTable, decorators: [{
204
+ type: Component,
205
+ args: [{ selector: "ib-kai-table", host: {
206
+ class: "ib-table__container",
207
+ }, animations: [
208
+ trigger("detailExpand", [
209
+ state("collapsed", style({ height: "0px", minHeight: "0" })),
210
+ state("expanded", style({ height: "*" })),
211
+ transition("expanded <=> collapsed", animate("225ms cubic-bezier(0.4, 0.0, 0.2, 1)")),
212
+ ]),
213
+ ], providers: [{ provide: IB_TABLE, useExisting: IbTable }], encapsulation: ViewEncapsulation.None, template: "<section class=\"ib-table__toolbar\">\n <ng-content select=\"ib-table-view-group\" />\n <section class=\"ib-table__toolbar__actions\">\n <ng-content select=\"ib-table-action-group, [ib-table-action-group]\" />\n <ng-template *ngFor=\"let portal of actionPortals\" [cdkPortalOutlet]=\"portal\" />\n </section>\n</section>\n\n<ng-content select=\"ib-filter\" />\n\n<section class=\"ib-table__content\" [class.ib-table__content--loading]=\"state === 'loading'\">\n <div class=\"ib-table__content__progress-bar\" *ngIf=\"state === 'loading'\">\n <mat-progress-bar mode=\"indeterminate\" />\n </div>\n\n <table class=\"ib-table\" mat-table matSort multiTemplateDataRows [matSortActive]=\"this.dataSource.sortState.active\"\n [matSortDirection]=\"this.dataSource.sortState.direction\" [dataSource]=\"dataSource\">\n <ng-content select=\"ib-selection-column\" />\n <ng-content />\n\n <ng-container matColumnDef=\"expandedDetail\" *ngIf=\"rowGroup\">\n <td mat-cell *matCellDef=\"let element\" [attr.colspan]=\"displayedColumns.length\">\n <div class=\"ib-table__cell-detail\" [@detailExpand]=\"element == expandedElement ? 'expanded' : 'collapsed'\">\n <ng-container *ngTemplateOutlet=\"rowGroup.templateRef; context: {'$implicit': element, 'row': element}\" />\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true;\"></tr>\n\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" class=\"ib-table__row\"\n [class.ib-table__row--expanded]=\"expandedElement === row\"\n (click)=\"rowGroup && (expandedElement = expandedElement === row ? null : row)\"></tr>\n <ng-container *ngIf=\"rowGroup\">\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"ib-table__row-group\"\n [class.ib-table__row-group--hidden]=\"expandedElement !== row\"></tr>\n </ng-container>\n\n <tr *matNoDataRow>\n <td [attr.colspan]=\"columns.length\">\n <div>\n <ng-container *ngIf=\"state === 'idle'\">\n <mat-icon style=\"color: #888\">inbox</mat-icon>\n {{ \"common.noItems\" | translate }}\n </ng-container>\n\n <ng-container *ngIf=\"state === 'http_error'\">\n <mat-icon style=\"color: #888\">error</mat-icon>\n {{ \"common.httpError\" | translate }}\n </ng-container>\n </div>\n </td>\n </tr>\n\n <ng-container *ngIf=\"dataSource.shouldDisplayAggregationFooter\">\n <tr class=\"ib-table__rollup-row\" mat-footer-row *matFooterRowDef=\"displayedColumns; sticky: true\"></tr>\n </ng-container>\n </table>\n</section>\n<mat-paginator class=\"ib-table__paginator\"\n [disabled]=\"state !== 'idle'\"\n [style.display]=\"tableDef.paginator.hide ? 'none' : 'block'\"\n [pageSize]=\"tableDef.paginator.pageSize\"\n [showFirstLastButtons]=\"tableDef.paginator.showFirstLastButtons\"\n [pageSizeOptions]=\"tableDef.paginator.pageSizeOptions\"\n (page)=\"setPaginatorState({ pageIndex: $event.pageIndex, pageSize: $event.pageSize })\"\n />\n", styles: [".ib-table__container{--ib-table-minimum-rows-private: var(--ib-table-minimum-rows, 10);--ib-table-has-footer-row: 0;--ib-table-filter-max-height: 112px;--ib-table-content-max-height-private: var( --ib-table-content-max-height, calc( var(--mat-table-header-container-height) + var(--mat-table-row-item-container-height) * (var(--ib-table-minimum-rows-private) + var(--ib-table-has-footer-row)) ) );--ib-table-outline-color-private: var( --ib-table-outline-color, var(--mat-table-row-item-outline-color) );--ib-table-column-outline-width-private: var( --ib-table-column-outline-width, 0 );--ib-table-border-width: 1px;display:block;border:var(--ib-table-border-width) solid var(--ib-table-outline-color-private);overflow:hidden}.ib-table__container:has(.ib-table__rollup-row){--ib-table-has-footer-row: 1}.ib-table__container .ib-table__toolbar{display:flex;align-items:center;justify-content:flex-end}.ib-table__container .ib-table__toolbar:has(ib-table-view-group),.ib-table__container .ib-table__toolbar:has(>section:not(:empty)){height:56px;border-bottom:1px solid var(--ib-table-outline-color-private)}.ib-table__container .ib-table__toolbar__actions{padding-right:8px}.ib-table__container .ib-table__toolbar__actions ib-table-action-group{display:inline-block}.ib-table__container .ib-filter--hidden{max-height:0;opacity:0}.ib-table__container ib-filter:not(:has(.ib-filter--hidden))~.ib-table__content{max-height:calc(var(--ib-table-content-max-height-private) - var(--ib-table-filter-max-height))}.ib-table__container ib-filter:has(.ib-filter--hidden)~.ib-table__content{max-height:calc(var(--ib-table-content-max-height-private))}.ib-table__container .ib-table__content{overflow-y:auto;position:relative;max-height:var(--ib-table-content-max-height-private)}.ib-table__container .ib-table__content--loading{pointer-events:none;overflow:hidden;filter:brightness(.95)}.ib-table__container .ib-table__content__progress-bar{position:sticky;height:0;top:var(--mat-table-header-container-height)}.ib-table__container .ib-table__content .mat-mdc-header-cell{border-right-color:var(--ib-table-outline-color-private);border-right-width:var(--ib-table-column-outline-width-private);border-right-style:solid}.ib-table__container .ib-table__content .mat-mdc-header-cell:last-child{border-right-style:none}.ib-table__container .ib-table__content .mat-mdc-cell{border-right-color:var(--ib-table-outline-color-private);border-right-width:var(--ib-table-column-outline-width-private);border-right-style:solid}.ib-table__container .ib-table__content .mat-mdc-cell:last-child{border-right-style:none}.ib-table__container .ib-table__content .ib-table__row--expanded .mat-mdc-cell{border-bottom-width:0}.ib-table__container .ib-table__content .ib-table__cell-detail{overflow:hidden;display:flex}.ib-table__container .ib-table__content .ib-table__row-group{height:0}.ib-table__container .ib-table__content .ib-table__row-group--hidden .mat-mdc-cell{border-bottom-width:0}.ib-table__container .ib-table__content .mat-mdc-no-data-row>td>div{display:flex;flex-direction:column;gap:4px;align-items:center;padding:12px 0}.ib-table__container ib-aggregate{display:flex;align-items:center;justify-content:flex-end;gap:2em}.ib-table__container ib-aggregate .ib-aggregate__function{display:flex;align-items:center;width:fit-content}.ib-table__container ib-aggregate .ib-aggregate__display-value{text-align:end;font-weight:500;white-space:nowrap}.ib-table__container .ib-table__rollup-row{box-shadow:0 -1px var(--ib-table-outline-color-private)}.ib-table__container .ib-table__paginator{border-top:1px solid var(--ib-table-outline-color-private)}td.cdk-column-ib-action>:first-child,td.mat-column-ib-action>:first-child{display:flex;gap:4px;justify-content:flex-end;align-content:center}\n"] }]
214
+ }], propDecorators: { columns: [{
215
+ type: ContentChildren,
216
+ args: [IbColumn]
217
+ }], selectionColumn: [{
218
+ type: ContentChild,
219
+ args: [IbSelectionColumn]
220
+ }], rowGroup: [{
221
+ type: ContentChild,
222
+ args: [IbKaiRowGroupDirective]
223
+ }], filter: [{
224
+ type: ContentChild,
225
+ args: [IbFilter]
226
+ }], view: [{
227
+ type: ContentChild,
228
+ args: [IbTableViewGroup]
229
+ }], exportAction: [{
230
+ type: ContentChild,
231
+ args: [IbTableDataExportAction]
232
+ }], matTable: [{
233
+ type: ViewChild,
234
+ args: [MatTable, { static: true }]
235
+ }], sort: [{
236
+ type: ViewChild,
237
+ args: [MatSort, { static: true }]
238
+ }], paginator: [{
239
+ type: ViewChild,
240
+ args: [MatPaginator, { static: true }]
241
+ }], state: [{
242
+ type: Input
243
+ }], data: [{
244
+ type: Input
245
+ }], dataSource: [{
246
+ type: Input
247
+ }], tableName: [{
248
+ type: Input
249
+ }], tableDef: [{
250
+ type: Input
251
+ }], displayedColumns: [{
252
+ type: Input
253
+ }], stripedRows: [{
254
+ type: HostBinding,
255
+ args: ["class.ib-table-striped-rows"]
256
+ }, {
257
+ type: Input,
258
+ args: [{ transform: booleanAttribute }]
259
+ }] } });
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9pbm9iZXRhLXVpL3VpL2thaS10YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkva2FpLXRhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFVLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixXQUFXLEVBQ1gsS0FBSyxFQUdMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFp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LE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ08sU0FBUztzQkFBbkQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUtoQyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0YsSUFBSTtzQkFEUCxLQUFLO2dCQU1OLFVBQVU7c0JBRFQsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQTJCRixRQUFRO3NCQURYLEtBQUs7Z0JBcUJGLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFpQk4sV0FBVztzQkFGVixXQUFXO3VCQUFDLDZCQUE2Qjs7c0JBQ3pDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIHRyYW5zaXRpb24sXG4gIHRyaWdnZXIsXG59IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XG5pbXBvcnQgeyBQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xuaW1wb3J0IHsgTWF0VGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcbmltcG9ydCB7IFN1YmplY3R9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEliVGFibGVEYXRhRXhwb3J0QWN0aW9uIH0gZnJvbSBcIi4uL2RhdGEtZXhwb3J0L3RhYmxlLWRhdGEtZXhwb3J0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgSWJGaWx0ZXIgfSBmcm9tIFwiLi4va2FpLWZpbHRlclwiO1xuaW1wb3J0IHsgSWJUYWJsZVZpZXdHcm91cCB9IGZyb20gXCIuLi92aWV3c1wiO1xuaW1wb3J0IHsgSWJDb2x1bW4gfSBmcm9tIFwiLi9jb2x1bW5zL2NvbHVtblwiO1xuaW1wb3J0IHsgSWJTZWxlY3Rpb25Db2x1bW4gfSBmcm9tIFwiLi9jb2x1bW5zL3NlbGVjdGlvbi1jb2x1bW5cIjtcbmltcG9ydCB7IEliVGFibGVSZW1vdGVEYXRhU291cmNlIH0gZnJvbSBcIi4vcmVtb3RlLWRhdGEtc291cmNlXCI7XG5pbXBvcnQgeyBJYkthaVJvd0dyb3VwRGlyZWN0aXZlIH0gZnJvbSBcIi4vcm93Z3JvdXBcIjtcbmltcG9ydCB7IEliVGFibGVEYXRhU291cmNlIH0gZnJvbSBcIi4vdGFibGUtZGF0YS1zb3VyY2VcIjtcbmltcG9ydCB7IEliS2FpVGFibGVTdGF0ZSwgSWJUYWJsZURlZiB9IGZyb20gXCIuL3RhYmxlLnR5cGVzXCI7XG5pbXBvcnQgeyBJQl9UQUJMRSB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgSWJUYWJsZVVybFNlcnZpY2UgfSBmcm9tIFwiLi90YWJsZS11cmwuc2VydmljZVwiO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcbmltcG9ydCB7IHVybFN0YXRlQWN0aW9ucyB9IGZyb20gXCIuL3N0b3JlL3VybC1zdGF0ZS9hY3Rpb25zXCI7XG5cbmNvbnN0IGRlZmF1bHRUYWJsZURlZjogSWJUYWJsZURlZiA9IHtcbiAgcGFnaW5hdG9yOiB7XG4gICAgcGFnZVNpemVPcHRpb25zOiBbNSwgMTAsIDI1LCAxMDBdLFxuICAgIHNob3dGaXJzdExhc3RCdXR0b25zOiB0cnVlLFxuICAgIHBhZ2VTaXplOiAxMCxcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJpYi1rYWktdGFibGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdGFibGUuY29tcG9uZW50LnNjc3NcIl0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogXCJpYi10YWJsZV9fY29udGFpbmVyXCIsXG4gIH0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFwiZGV0YWlsRXhwYW5kXCIsIFtcbiAgICAgIHN0YXRlKFwiY29sbGFwc2VkXCIsIHN0eWxlKHsgaGVpZ2h0OiBcIjBweFwiLCBtaW5IZWlnaHQ6IFwiMFwiIH0pKSxcbiAgICAgIHN0YXRlKFwiZXhwYW5kZWRcIiwgc3R5bGUoeyBoZWlnaHQ6IFwiKlwiIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oXG4gICAgICAgIFwiZXhwYW5kZWQgPD0+IGNvbGxhcHNlZFwiLFxuICAgICAgICBhbmltYXRlKFwiMjI1bXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpXCIpXG4gICAgICApLFxuICAgIF0pLFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IElCX1RBQkxFLCB1c2VFeGlzdGluZzogSWJUYWJsZSB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgSWJUYWJsZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJYkNvbHVtbikgY29sdW1uczogUXVlcnlMaXN0PEliQ29sdW1uPGFueT4+O1xuICBAQ29udGVudENoaWxkKEliU2VsZWN0aW9uQ29sdW1uKSBzZWxlY3Rpb25Db2x1bW4hOiBJYlNlbGVjdGlvbkNvbHVtbjtcbiAgQENvbnRlbnRDaGlsZChJYkthaVJvd0dyb3VwRGlyZWN0aXZlKSByb3dHcm91cCE6IEliS2FpUm93R3JvdXBEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChJYkZpbHRlcikgZmlsdGVyITogSWJGaWx0ZXI7XG4gIEBDb250ZW50Q2hpbGQoSWJUYWJsZVZpZXdHcm91cCkgdmlldyE6IEliVGFibGVWaWV3R3JvdXA7XG5cbiAgQENvbnRlbnRDaGlsZChJYlRhYmxlRGF0YUV4cG9ydEFjdGlvbikgZXhwb3J0QWN0aW9uOiBJYlRhYmxlRGF0YUV4cG9ydEFjdGlvbjtcblxuICBAVmlld0NoaWxkKE1hdFRhYmxlLCB7IHN0YXRpYzogdHJ1ZSB9KSBtYXRUYWJsZTogTWF0VGFibGU8YW55PjtcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG5cbiAgZXhwYW5kZWRFbGVtZW50OiBhbnk7XG4gIGFjdGlvblBvcnRhbHM6IFBvcnRhbDxhbnk+W10gPSBbXTtcblxuICBASW5wdXQoKSBzdGF0ZTogSWJLYWlUYWJsZVN0YXRlID0gXCJpZGxlXCI7XG5cbiAgQElucHV0KClcbiAgc2V0IGRhdGEoZGF0YTogYW55W10pIHtcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XG4gIH1cblxuICBASW5wdXQoKVxuICBkYXRhU291cmNlOiBJYlRhYmxlRGF0YVNvdXJjZTx1bmtub3duPiA9IG5ldyBJYlRhYmxlRGF0YVNvdXJjZShbXSk7XG5cbiAgQElucHV0KCkgdGFibGVOYW1lOiBzdHJpbmcgPSBidG9hKFxuICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArIHdpbmRvdy5sb2NhdGlvbi5oYXNoXG4gICk7XG5cbiAgdGFibGVVcmwgPSBpbmplY3QoSWJUYWJsZVVybFNlcnZpY2UpO1xuICBwcml2YXRlIHN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHRhYmxlIGFuZCBpdHMgaW5uZXIgY29tcG9uZW50cy4gQ3VycmVudGx5IHN1cHBvcnRzIG9ubHlcbiAgICogYHBhZ2luYXRvcmAgYW5kIGBzb3J0YCBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBJZiBsZWZ0IGVtcHR5LCB0aGUgZm9sbG93aW5nIGRlZmF1bHQgaXMgdXNlZFxuICAgKlxuICAgKiBgYGBcbiAgICoge1xuICAgKiAgIHBhZ2luYXRvciA6IHtcbiAgICogICAgIHBhZ2VTaXplT3B0aW9uczogWzUsIDEwLCAyNSwgMTAwXSxcbiAgICogICAgIHNob3dGaXJzdExhc3RCdXR0b25zOiB0cnVlLFxuICAgKiAgICAgcGFnZVNpemU6IDEwLFxuICAgKiAgICAgaGlkZTogZmFsc2UsXG4gICAqICAgfVxuICAgKiB9XG4gICAqXG4gICAqIE5COiBxdWVyeXN0cmluZyBvdmVycmlkZSB0aGVzZSB2YWx1ZXNcbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdGFibGVEZWYodmFsdWU6IFBhcnRpYWw8SWJUYWJsZURlZj4pIHtcbiAgICB0aGlzLl90YWJsZURlZiA9IHtcbiAgICAgIC4uLmRlZmF1bHRUYWJsZURlZixcbiAgICAgIC4uLnZhbHVlLFxuICAgIH07XG4gIH1cbiAgZ2V0IHRhYmxlRGVmKCkge1xuICAgIHJldHVybiB0aGlzLl90YWJsZURlZjtcbiAgfVxuICBwcml2YXRlIF90YWJsZURlZjogSWJUYWJsZURlZiA9IHsuLi5kZWZhdWx0VGFibGVEZWZ9O1xuXG5cbiAgLyoqXG4gICAqIENvbHVtbnMgdG8gYmUgZGlzcGxheWVkLlxuICAgKlxuICAgKiBUaGUgb3JkZXIgb2YgdGhlIGNvbHVtbnMgcHJlc2VudCBpbiB0aGlzIGFycmF5IGlzIHJlbmRlcmVkXG4gICAqIGFzIGlzIGluIGEgbGFuZ3VhZ2Ugd3JpdHRlbiBmcm9tIGxlZnQtdG8tcmlnaHQuIEl0IGlzIHJldmVyc2VkXG4gICAqIGluIGEgbGFuZ3VhZ2Ugd3JpdHRlbiBmcm9tIHJpZ2h0LXRvLWxlZnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZGlzcGxheWVkQ29sdW1ucyhjb2x1bW5zOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2Rpc3BsYXllZENvbHVtbnMgPSBjb2x1bW5zLm1hcCgoYykgPT4gYyk7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uQ29sdW1uKSB7XG4gICAgICB0aGlzLl9kaXNwbGF5ZWRDb2x1bW5zLnVuc2hpZnQoXCJpYi1zZWxlY3Rpb25cIik7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbHVtbnM/LmZpbmQoKGMpID0+IGMubmFtZSA9PT0gXCJpYi1hY3Rpb25cIikpIHtcbiAgICAgIHRoaXMuX2Rpc3BsYXllZENvbHVtbnMucHVzaChcImliLWFjdGlvblwiKTtcbiAgICB9XG4gIH1cbiAgZ2V0IGRpc3BsYXllZENvbHVtbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXllZENvbHVtbnM7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXTtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5pYi10YWJsZS1zdHJpcGVkLXJvd3NcIilcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHN0cmlwZWRSb3dzID0gZmFsc2U7XG5cbiAgaXNSZW1vdGUgPSBmYWxzZTtcblxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHBhZ2luYXRvckZyb21VcmwgPSB0aGlzLnRhYmxlVXJsLmdldFBhZ2luYXRvcih0aGlzLnRhYmxlTmFtZSk7XG4gICAgdGhpcy50YWJsZURlZi5wYWdpbmF0b3IgPSB7XG4gICAgICAuLi50aGlzLnRhYmxlRGVmLnBhZ2luYXRvcixcbiAgICAgIC4uLnBhZ2luYXRvckZyb21VcmwsXG4gICAgfVxuICAgIHRoaXMuZGF0YVNvdXJjZS50YWJsZU5hbWUgPSB0aGlzLnRhYmxlTmFtZTtcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XG5cblxuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UgaW5zdGFuY2VvZiBJYlRhYmxlUmVtb3RlRGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5pc1JlbW90ZSA9IHRydWU7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuX3N0YXRlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChzKSA9PiAodGhpcy5zdGF0ZSA9IHMpKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuZXhwb3J0QWN0aW9uKSB7XG4gICAgICB0aGlzLnNldHVwRXhwb3J0QWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuXG4gICAgY29uc3Qgdmlld0luaXQgPSAoKSA9PiB7XG4gICAgICB0aGlzLnZpZXcudmlld0dyb3VwTmFtZSA9IHRoaXMudGFibGVOYW1lO1xuICAgICAgdGhpcy5kYXRhU291cmNlLnZpZXcgPSB0aGlzLnZpZXc7XG4gICAgICB0aGlzLnNldHVwVmlld0dyb3VwKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZHNJbml0ID0gKCkgPT4ge1xuICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuYWdncmVnYXRlZENvbHVtbnMgPSB0aGlzLnRhYmxlVXJsLmdldEFnZ3JlZ2F0ZWRDb2x1bW5zKHRoaXMudGFibGVOYW1lKTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0U3RhdGUgPSB7XG4gICAgICAgIC4uLnRoaXMudGFibGVEZWYuaW5pdGlhbFNvcnQsXG4gICAgICAgIC4uLnRoaXMudGFibGVVcmwuZ2V0U29ydCh0aGlzLnRhYmxlTmFtZSksXG4gICAgICB9O1xuICAgIH1cblxuXG4gICAgdGhpcy5kYXRhU291cmNlLnNlbGVjdGlvbkNvbHVtbiA9IHRoaXMuc2VsZWN0aW9uQ29sdW1uO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSB0aGlzLmZpbHRlcjtcbiAgICB0aGlzLmZpbHRlcj8uaW5pdGlhbGl6ZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudGFibGVVcmwuZW1wdHlGaWx0ZXJTY2hlbWFbdGhpcy50YWJsZU5hbWVdID0gc3RydWN0dXJlZENsb25lKHRoaXMuZmlsdGVyLmluaXRpYWxSYXdWYWx1ZSk7XG4gICAgICAvL05HMDEwMFxuICAgICAgc2V0VGltZW91dCgoKSA9PiBkc0luaXQoKSlcblxuICAgICAgY29uc3QgZmlsdGVyc0Zyb21VcmwgPSB0aGlzLnRhYmxlVXJsLmdldEZpbHRlcnModGhpcy50YWJsZU5hbWUpXG4gICAgICB0aGlzLmZpbHRlci52YWx1ZSA9IGZpbHRlcnNGcm9tVXJsXG4gICAgICBpZiAodGhpcy52aWV3KSB7XG4gICAgICAgIC8vTkcwMTAwXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdmlld0luaXQoKSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgLy8gSWYgdGhlcmUgaXMgbm8gZmlsdGVyLCB3ZSBuZWVkIHRvIHNldCB0aGUgdmlld0dyb3VwTmFtZSB0byB0aGUgdGFibGUgbmFtZVxuICAgIGlmICh0aGlzLnZpZXcgJiYgIXRoaXMuZmlsdGVyKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHZpZXdJbml0KCkpXG4gICAgfVxuXG4gICAgaWYoIXRoaXMuZmlsdGVyKXtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gZHNJbml0KCkpXG4gICAgfVxuICAgIHRoaXMuZGF0YVNvdXJjZS5jb2x1bW5zID0gdGhpcy5jb2x1bW5zLnRvQXJyYXkoKTtcbiAgICB0aGlzLmNvbHVtbnMuY2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKChjb2x1bW5zKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5jb2x1bW5zID0gY29sdW1ucy50b0FycmF5KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzZXRQYWdpbmF0b3JTdGF0ZShwYXJhbXMpe1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2godXJsU3RhdGVBY3Rpb25zLnNldFBhZ2luYXRvcih7dGFibGVOYW1lOiB0aGlzLnRhYmxlTmFtZSwgcGFyYW1zfSkpXG4gIH1cbiAgcHJpdmF0ZSBzZXR1cFZpZXdHcm91cCgpIHtcbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBbXG4gICAgICB0aGlzLmZpbHRlci5oaWRlRmlsdGVyQWN0aW9uLFxuICAgICAgLi4udGhpcy52aWV3LmFjdGlvbnMudG9BcnJheSgpLFxuICAgIF0pIHtcbiAgICAgIHRoaXMuYWN0aW9uUG9ydGFscy5wdXNoKFxuICAgICAgICBuZXcgVGVtcGxhdGVQb3J0YWwoYWN0aW9uLnRlbXBsYXRlUmVmLCBhY3Rpb24udmlld0NvbnRhaW5lclJlZilcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEV4cG9ydEFjdGlvbigpIHtcbiAgICB0aGlzLmV4cG9ydEFjdGlvbi5zaG93U2VsZWN0ZWRSb3dzT3B0aW9uID0gISF0aGlzLnNlbGVjdGlvbkNvbHVtbjtcbiAgICB0aGlzLmV4cG9ydEFjdGlvbi5zaG93QWxsUm93c09wdGlvbiA9ICF0aGlzLmlzUmVtb3RlO1xuICAgIHRoaXMuZXhwb3J0QWN0aW9uLmliRGF0YUV4cG9ydFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKChzZXR0aW5ncykgPT4ge1xuICAgICAgICB0aGlzLmV4cG9ydEFjdGlvbi5leHBvcnRTZXJ2aWNlLl9leHBvcnRGcm9tVGFibGUoXG4gICAgICAgICAgdGhpcy50YWJsZU5hbWUsXG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLFxuICAgICAgICAgIHNldHRpbmdzXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJpYi10YWJsZV9fdG9vbGJhclwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJpYi10YWJsZS12aWV3LWdyb3VwXCIgLz5cbiAgPHNlY3Rpb24gY2xhc3M9XCJpYi10YWJsZV9fdG9vbGJhcl9fYWN0aW9uc1wiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImliLXRhYmxlLWFjdGlvbi1ncm91cCwgW2liLXRhYmxlLWFjdGlvbi1ncm91cF1cIiAvPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdGb3I9XCJsZXQgcG9ydGFsIG9mIGFjdGlvblBvcnRhbHNcIiBbY2RrUG9ydGFsT3V0bGV0XT1cInBvcnRhbFwiIC8+XG4gIDwvc2VjdGlvbj5cbjwvc2VjdGlvbj5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiaWItZmlsdGVyXCIgLz5cblxuPHNlY3Rpb24gY2xhc3M9XCJpYi10YWJsZV9fY29udGVudFwiIFtjbGFzcy5pYi10YWJsZV9fY29udGVudC0tbG9hZGluZ109XCJzdGF0ZSA9PT0gJ2xvYWRpbmcnXCI+XG4gIDxkaXYgY2xhc3M9XCJpYi10YWJsZV9fY29udGVudF9fcHJvZ3Jlc3MtYmFyXCIgKm5nSWY9XCJzdGF0ZSA9PT0gJ2xvYWRpbmcnXCI+XG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAvPlxuICA8L2Rpdj5cblxuICA8dGFibGUgY2xhc3M9XCJpYi10YWJsZVwiIG1hdC10YWJsZSBtYXRTb3J0IG11bHRpVGVtcGxhdGVEYXRhUm93cyBbbWF0U29ydEFjdGl2ZV09XCJ0aGlzLmRhdGFTb3VyY2Uuc29ydFN0YXRlLmFjdGl2ZVwiXG4gICAgW21hdFNvcnREaXJlY3Rpb25dPVwidGhpcy5kYXRhU291cmNlLnNvcnRTdGF0ZS5kaXJlY3Rpb25cIiBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaWItc2VsZWN0aW9uLWNvbHVtblwiIC8+XG4gICAgPG5nLWNvbnRlbnQgLz5cblxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZXhwYW5kZWREZXRhaWxcIiAqbmdJZj1cInJvd0dyb3VwXCI+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIFthdHRyLmNvbHNwYW5dPVwiZGlzcGxheWVkQ29sdW1ucy5sZW5ndGhcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImliLXRhYmxlX19jZWxsLWRldGFpbFwiIFtAZGV0YWlsRXhwYW5kXT1cImVsZW1lbnQgPT0gZXhwYW5kZWRFbGVtZW50ID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJvd0dyb3VwLnRlbXBsYXRlUmVmOyBjb250ZXh0OiB7JyRpbXBsaWNpdCc6IGVsZW1lbnQsICdyb3cnOiBlbGVtZW50fVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlO1wiPjwvdHI+XG5cbiAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIiBjbGFzcz1cImliLXRhYmxlX19yb3dcIlxuICAgICAgW2NsYXNzLmliLXRhYmxlX19yb3ctLWV4cGFuZGVkXT1cImV4cGFuZGVkRWxlbWVudCA9PT0gcm93XCJcbiAgICAgIChjbGljayk9XCJyb3dHcm91cCAmJiAoZXhwYW5kZWRFbGVtZW50ID0gZXhwYW5kZWRFbGVtZW50ID09PSByb3cgPyBudWxsIDogcm93KVwiPjwvdHI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd0dyb3VwXCI+XG4gICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogWydleHBhbmRlZERldGFpbCddXCIgY2xhc3M9XCJpYi10YWJsZV9fcm93LWdyb3VwXCJcbiAgICAgICAgW2NsYXNzLmliLXRhYmxlX19yb3ctZ3JvdXAtLWhpZGRlbl09XCJleHBhbmRlZEVsZW1lbnQgIT09IHJvd1wiPjwvdHI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgKm1hdE5vRGF0YVJvdz5cbiAgICAgIDx0ZCBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnMubGVuZ3RoXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXRlID09PSAnaWRsZSdcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBzdHlsZT1cImNvbG9yOiAjODg4XCI+aW5ib3g8L21hdC1pY29uPlxuICAgICAgICAgICAge3sgXCJjb21tb24ubm9JdGVtc1wiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGUgPT09ICdodHRwX2Vycm9yJ1wiPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN0eWxlPVwiY29sb3I6ICM4ODhcIj5lcnJvcjwvbWF0LWljb24+XG4gICAgICAgICAgICB7eyBcImNvbW1vbi5odHRwRXJyb3JcIiB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhU291cmNlLnNob3VsZERpc3BsYXlBZ2dyZWdhdGlvbkZvb3RlclwiPlxuICAgICAgPHRyIGNsYXNzPVwiaWItdGFibGVfX3JvbGx1cC1yb3dcIiBtYXQtZm9vdGVyLXJvdyAqbWF0Rm9vdGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90YWJsZT5cbjwvc2VjdGlvbj5cbjxtYXQtcGFnaW5hdG9yIGNsYXNzPVwiaWItdGFibGVfX3BhZ2luYXRvclwiXG4gIFtkaXNhYmxlZF09XCJzdGF0ZSAhPT0gJ2lkbGUnXCJcbiAgW3N0eWxlLmRpc3BsYXldPVwidGFibGVEZWYucGFnaW5hdG9yLmhpZGUgPyAnbm9uZScgOiAnYmxvY2snXCJcbiAgW3BhZ2VTaXplXT1cInRhYmxlRGVmLnBhZ2luYXRvci5wYWdlU2l6ZVwiXG4gIFtzaG93Rmlyc3RMYXN0QnV0dG9uc109XCJ0YWJsZURlZi5wYWdpbmF0b3Iuc2hvd0ZpcnN0TGFzdEJ1dHRvbnNcIlxuICBbcGFnZVNpemVPcHRpb25zXT1cInRhYmxlRGVmLnBhZ2luYXRvci5wYWdlU2l6ZU9wdGlvbnNcIlxuICAocGFnZSk9XCJzZXRQYWdpbmF0b3JTdGF0ZSh7IHBhZ2VJbmRleDogJGV2ZW50LnBhZ2VJbmRleCwgcGFnZVNpemU6ICRldmVudC5wYWdlU2l6ZSB9KVwiXG4gIC8+XG4iXX0=