@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,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { IbStorageService } from './storage.service';
3
+ import { IbStorageServiceStub } from './storage.stub.spec';
4
+ import * as i0 from "@angular/core";
5
+ export class IbStorageTestModule {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbStorageTestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: IbStorageTestModule });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbStorageTestModule, providers: [
9
+ { provide: IbStorageService, useClass: IbStorageServiceStub }
10
+ ] });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbStorageTestModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: [],
16
+ exports: [],
17
+ declarations: [],
18
+ providers: [
19
+ { provide: IbStorageService, useClass: IbStorageServiceStub }
20
+ ],
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS10ZXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS9zdG9yYWdlL3N0b3JhZ2UtdGVzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFXM0QsTUFBTSxPQUFPLG1CQUFtQjt1R0FBbkIsbUJBQW1CO3dHQUFuQixtQkFBbUI7d0dBQW5CLG1CQUFtQixhQUpuQjtZQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBQztTQUM3RDs7MkZBRVUsbUJBQW1CO2tCQVIvQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFDO3FCQUM3RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJYlN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWJTdG9yYWdlU2VydmljZVN0dWIgfSBmcm9tICcuL3N0b3JhZ2Uuc3R1Yi5zcGVjJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogSWJTdG9yYWdlU2VydmljZSwgdXNlQ2xhc3M6IEliU3RvcmFnZVNlcnZpY2VTdHVifVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJYlN0b3JhZ2VUZXN0TW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,22 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { IbStorageService } from './storage.service';
3
+ import * as i0 from "@angular/core";
4
+ export class IbStorageModule {
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbStorageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: IbStorageModule });
7
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbStorageModule, providers: [
8
+ IbStorageService
9
+ ] });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbStorageModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ imports: [],
15
+ exports: [],
16
+ declarations: [],
17
+ providers: [
18
+ IbStorageService
19
+ ],
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvc3RvcmFnZS9zdG9yYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQVdyRCxNQUFNLE9BQU8sZUFBZTt1R0FBZixlQUFlO3dHQUFmLGVBQWU7d0dBQWYsZUFBZSxhQUpmO1lBQ1QsZ0JBQWdCO1NBQ2pCOzsyRkFFVSxlQUFlO2tCQVIzQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxFQUFFO29CQUNYLFlBQVksRUFBRSxFQUFFO29CQUNoQixTQUFTLEVBQUU7d0JBQ1QsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJYlN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgSWJTdG9yYWdlU2VydmljZVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJYlN0b3JhZ2VNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,105 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Handles storage operations such as setting and getting data
5
+ * in either localStorage or cookies.
6
+ *
7
+ * Usage:
8
+ * - Inject the `IbStorageService` service in your component or service.
9
+ * - Use the `set` method to store data and the `get` method to retrieve data.
10
+ *
11
+ * Example:
12
+ * ```typescript
13
+ * constructor(private storageService: IbStorageService) {}
14
+ *
15
+ * saveData() {
16
+ * const data = { key: 'value' };
17
+ * this.storageService.set('myKey', data);
18
+ * }
19
+ *
20
+ * retrieveData() {
21
+ * const savedData = this.storageService.get('myKey');
22
+ * console.log(savedData);
23
+ * }
24
+ * ```
25
+ */
26
+ export class IbStorageService {
27
+ /**
28
+ * Method to set data in storage (localStorage or cookies).
29
+ *
30
+ * @param key The key under which to store the data
31
+ * @param object The data object to be stored
32
+ * @param storageType The type of storage to use (IbStorageTypes.LOCALSTORAGE or IbStorageTypes.COOKIESTORAGE)
33
+ */
34
+ set(key, object, storageType = IbStorageTypes.LOCALSTORAGE) {
35
+ switch (storageType) {
36
+ case IbStorageTypes.LOCALSTORAGE:
37
+ localStorage.setItem(key, JSON.stringify(object));
38
+ break;
39
+ case IbStorageTypes.COOKIESTORAGE:
40
+ this.setCookie(key, JSON.stringify(object));
41
+ break;
42
+ }
43
+ }
44
+ /**
45
+ * Method to get data from storage (localStorage or cookies).
46
+ *
47
+ * @param key The key under which the data is stored
48
+ * @param storageType The type of storage to use (IbStorageTypes.LOCALSTORAGE or IbStorageTypes.COOKIESTORAGE)
49
+ * @returns The retrieved data object or null if not found
50
+ */
51
+ get(key, storageType = IbStorageTypes.LOCALSTORAGE) {
52
+ let data;
53
+ switch (storageType) {
54
+ case IbStorageTypes.LOCALSTORAGE:
55
+ data = localStorage.getItem(key);
56
+ break;
57
+ case IbStorageTypes.COOKIESTORAGE:
58
+ data = this.getCookie(key);
59
+ break;
60
+ }
61
+ if (data) {
62
+ return JSON.parse(data);
63
+ }
64
+ return null;
65
+ }
66
+ /**
67
+ * Set a cookie with the provided name and value.
68
+ *
69
+ * @param name The name of the cookie
70
+ * @param val The value to be stored in the cookie
71
+ */
72
+ setCookie(name, val) {
73
+ const date = new Date();
74
+ const value = val;
75
+ date.setTime(date.getTime() + 7 * 24 * 60 * 60 * 1000); // Cookie expiration time: 7 days
76
+ document.cookie =
77
+ name + "=" + value + "; expires=" + date.toUTCString() + "; path=/";
78
+ }
79
+ /**
80
+ * Get the value of a cookie with the provided name.
81
+ *
82
+ * @param name The name of the cookie
83
+ * @returns The value of the cookie or undefined if not found
84
+ */
85
+ getCookie(name) {
86
+ const value = "; " + document.cookie;
87
+ const parts = value.split("; " + name + "=");
88
+ if (parts.length === 2) {
89
+ return parts.pop().split(";").shift();
90
+ }
91
+ return undefined;
92
+ }
93
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
94
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbStorageService, providedIn: "root" });
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbStorageService, decorators: [{
97
+ type: Injectable,
98
+ args: [{ providedIn: "root" }]
99
+ }] });
100
+ export var IbStorageTypes;
101
+ (function (IbStorageTypes) {
102
+ IbStorageTypes[IbStorageTypes["LOCALSTORAGE"] = 0] = "LOCALSTORAGE";
103
+ IbStorageTypes[IbStorageTypes["COOKIESTORAGE"] = 1] = "COOKIESTORAGE";
104
+ })(IbStorageTypes || (IbStorageTypes = {}));
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9pbm9iZXRhLXVpL3N0b3JhZ2Uvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQjs7Ozs7O09BTUc7SUFDSCxHQUFHLENBQ0QsR0FBVyxFQUNYLE1BQVcsRUFDWCxjQUE4QixjQUFjLENBQUMsWUFBWTtRQUV6RCxRQUFRLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLEtBQUssY0FBYyxDQUFDLFlBQVk7Z0JBQzlCLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDbEQsTUFBTTtZQUNSLEtBQUssY0FBYyxDQUFDLGFBQWE7Z0JBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDNUMsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsR0FBRyxDQUNELEdBQVcsRUFDWCxjQUE4QixjQUFjLENBQUMsWUFBWTtRQUV6RCxJQUFJLElBQVksQ0FBQztRQUNqQixRQUFRLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLEtBQUssY0FBYyxDQUFDLFlBQVk7Z0JBQzlCLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsS0FBSyxjQUFjLENBQUMsYUFBYTtnQkFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNCLE1BQU07UUFDVixDQUFDO1FBQ0QsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxTQUFTLENBQUMsSUFBWSxFQUFFLEdBQVc7UUFDekMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsaUNBQWlDO1FBQ3pGLFFBQVEsQ0FBQyxNQUFNO1lBQ2IsSUFBSSxHQUFHLEdBQUcsR0FBRyxLQUFLLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssU0FBUyxDQUFDLElBQVk7UUFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDeEMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7dUdBNUVVLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBREgsTUFBTTs7MkZBQ25CLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBZ0ZsQyxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLG1FQUFZLENBQUE7SUFDWixxRUFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbi8qKlxuICogSGFuZGxlcyBzdG9yYWdlIG9wZXJhdGlvbnMgc3VjaCBhcyBzZXR0aW5nIGFuZCBnZXR0aW5nIGRhdGFcbiAqIGluIGVpdGhlciBsb2NhbFN0b3JhZ2Ugb3IgY29va2llcy5cbiAqXG4gKiBVc2FnZTpcbiAqIC0gSW5qZWN0IHRoZSBgSWJTdG9yYWdlU2VydmljZWAgc2VydmljZSBpbiB5b3VyIGNvbXBvbmVudCBvciBzZXJ2aWNlLlxuICogLSBVc2UgdGhlIGBzZXRgIG1ldGhvZCB0byBzdG9yZSBkYXRhIGFuZCB0aGUgYGdldGAgbWV0aG9kIHRvIHJldHJpZXZlIGRhdGEuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IEliU3RvcmFnZVNlcnZpY2UpIHt9XG4gKlxuICogc2F2ZURhdGEoKSB7XG4gKiAgIGNvbnN0IGRhdGEgPSB7IGtleTogJ3ZhbHVlJyB9O1xuICogICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldCgnbXlLZXknLCBkYXRhKTtcbiAqIH1cbiAqXG4gKiByZXRyaWV2ZURhdGEoKSB7XG4gKiAgIGNvbnN0IHNhdmVkRGF0YSA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCdteUtleScpO1xuICogICBjb25zb2xlLmxvZyhzYXZlZERhdGEpO1xuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcbmV4cG9ydCBjbGFzcyBJYlN0b3JhZ2VTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIE1ldGhvZCB0byBzZXQgZGF0YSBpbiBzdG9yYWdlIChsb2NhbFN0b3JhZ2Ugb3IgY29va2llcykuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIGtleSB1bmRlciB3aGljaCB0byBzdG9yZSB0aGUgZGF0YVxuICAgKiBAcGFyYW0gb2JqZWN0IFRoZSBkYXRhIG9iamVjdCB0byBiZSBzdG9yZWRcbiAgICogQHBhcmFtIHN0b3JhZ2VUeXBlIFRoZSB0eXBlIG9mIHN0b3JhZ2UgdG8gdXNlIChJYlN0b3JhZ2VUeXBlcy5MT0NBTFNUT1JBR0Ugb3IgSWJTdG9yYWdlVHlwZXMuQ09PS0lFU1RPUkFHRSlcbiAgICovXG4gIHNldChcbiAgICBrZXk6IHN0cmluZyxcbiAgICBvYmplY3Q6IGFueSxcbiAgICBzdG9yYWdlVHlwZTogSWJTdG9yYWdlVHlwZXMgPSBJYlN0b3JhZ2VUeXBlcy5MT0NBTFNUT1JBR0VcbiAgKTogdm9pZCB7XG4gICAgc3dpdGNoIChzdG9yYWdlVHlwZSkge1xuICAgICAgY2FzZSBJYlN0b3JhZ2VUeXBlcy5MT0NBTFNUT1JBR0U6XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkob2JqZWN0KSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBJYlN0b3JhZ2VUeXBlcy5DT09LSUVTVE9SQUdFOlxuICAgICAgICB0aGlzLnNldENvb2tpZShrZXksIEpTT04uc3RyaW5naWZ5KG9iamVjdCkpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIGdldCBkYXRhIGZyb20gc3RvcmFnZSAobG9jYWxTdG9yYWdlIG9yIGNvb2tpZXMpLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdW5kZXIgd2hpY2ggdGhlIGRhdGEgaXMgc3RvcmVkXG4gICAqIEBwYXJhbSBzdG9yYWdlVHlwZSBUaGUgdHlwZSBvZiBzdG9yYWdlIHRvIHVzZSAoSWJTdG9yYWdlVHlwZXMuTE9DQUxTVE9SQUdFIG9yIEliU3RvcmFnZVR5cGVzLkNPT0tJRVNUT1JBR0UpXG4gICAqIEByZXR1cm5zIFRoZSByZXRyaWV2ZWQgZGF0YSBvYmplY3Qgb3IgbnVsbCBpZiBub3QgZm91bmRcbiAgICovXG4gIGdldChcbiAgICBrZXk6IHN0cmluZyxcbiAgICBzdG9yYWdlVHlwZTogSWJTdG9yYWdlVHlwZXMgPSBJYlN0b3JhZ2VUeXBlcy5MT0NBTFNUT1JBR0VcbiAgKTogYW55IHtcbiAgICBsZXQgZGF0YTogc3RyaW5nO1xuICAgIHN3aXRjaCAoc3RvcmFnZVR5cGUpIHtcbiAgICAgIGNhc2UgSWJTdG9yYWdlVHlwZXMuTE9DQUxTVE9SQUdFOlxuICAgICAgICBkYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEliU3RvcmFnZVR5cGVzLkNPT0tJRVNUT1JBR0U6XG4gICAgICAgIGRhdGEgPSB0aGlzLmdldENvb2tpZShrZXkpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKGRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYSBjb29raWUgd2l0aCB0aGUgcHJvdmlkZWQgbmFtZSBhbmQgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBjb29raWVcbiAgICogQHBhcmFtIHZhbCBUaGUgdmFsdWUgdG8gYmUgc3RvcmVkIGluIHRoZSBjb29raWVcbiAgICovXG4gIHByaXZhdGUgc2V0Q29va2llKG5hbWU6IHN0cmluZywgdmFsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCB2YWx1ZSA9IHZhbDtcbiAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyA3ICogMjQgKiA2MCAqIDYwICogMTAwMCk7IC8vIENvb2tpZSBleHBpcmF0aW9uIHRpbWU6IDcgZGF5c1xuICAgIGRvY3VtZW50LmNvb2tpZSA9XG4gICAgICBuYW1lICsgXCI9XCIgKyB2YWx1ZSArIFwiOyBleHBpcmVzPVwiICsgZGF0ZS50b1VUQ1N0cmluZygpICsgXCI7IHBhdGg9L1wiO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdmFsdWUgb2YgYSBjb29raWUgd2l0aCB0aGUgcHJvdmlkZWQgbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNvb2tpZVxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGNvb2tpZSBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kXG4gICAqL1xuICBwcml2YXRlIGdldENvb2tpZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZhbHVlID0gXCI7IFwiICsgZG9jdW1lbnQuY29va2llO1xuICAgIGNvbnN0IHBhcnRzID0gdmFsdWUuc3BsaXQoXCI7IFwiICsgbmFtZSArIFwiPVwiKTtcbiAgICBpZiAocGFydHMubGVuZ3RoID09PSAyKSB7XG4gICAgICByZXR1cm4gcGFydHMucG9wKCkuc3BsaXQoXCI7XCIpLnNoaWZ0KCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gSWJTdG9yYWdlVHlwZXMge1xuICBMT0NBTFNUT1JBR0UsXG4gIENPT0tJRVNUT1JBR0UsXG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { IbStorageTypes } from './storage.service';
2
+ export class IbStorageServiceStub {
3
+ set(key, object, storageType = IbStorageTypes.LOCALSTORAGE) {
4
+ }
5
+ get(key, storageType = IbStorageTypes.LOCALSTORAGE) {
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zdHViLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvc3RvcmFnZS9zdG9yYWdlLnN0dWIuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixHQUFHLENBQUMsR0FBVyxFQUFFLE1BQVcsRUFBRSxjQUE4QixjQUFjLENBQUMsWUFBWTtJQUN2RixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxjQUE4QixjQUFjLENBQUMsWUFBWTtJQUMxRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJYlN0b3JhZ2VUeXBlcyB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIEliU3RvcmFnZVNlcnZpY2VTdHVie1xuICBzZXQoa2V5OiBzdHJpbmcsIG9iamVjdDogYW55LCBzdG9yYWdlVHlwZTogSWJTdG9yYWdlVHlwZXMgPSBJYlN0b3JhZ2VUeXBlcy5MT0NBTFNUT1JBR0Upe1xuICB9XG5cbiAgZ2V0KGtleTogc3RyaW5nLCBzdG9yYWdlVHlwZTogSWJTdG9yYWdlVHlwZXMgPSBJYlN0b3JhZ2VUeXBlcy5MT0NBTFNUT1JBR0UpOiBhbnl7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './translate-loader.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdHJhbnNsYXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0ZS1sb2FkZXIuc2VydmljZSdcbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { map } from "rxjs/operators";
3
+ import { ibHttpTranslations } from "../http/translations";
4
+ import { ibMaterialFormTranslations } from "../ui/material-forms/translations";
5
+ import { ibKaiFilterTranslations } from "../ui/kai-filter/translations";
6
+ import { ibViewTranslations } from "../ui/views/translations";
7
+ import { ibKaiTableTranslations } from "../ui/kai-table/translations";
8
+ import { ibModalTranslations } from "../ui/modal/translations";
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common/http";
11
+ export class IbTranslateModuleLoader {
12
+ http;
13
+ constructor(http) {
14
+ this.http = http;
15
+ }
16
+ getTranslation(lang) {
17
+ return this.http.get(`./assets/i18n/${lang}.json`).pipe(map(tran => ({
18
+ ...tran,
19
+ shared: {
20
+ ...ibHttpTranslations[lang],
21
+ ...ibMaterialFormTranslations[lang],
22
+ ...ibKaiFilterTranslations[lang],
23
+ ...ibViewTranslations[lang],
24
+ ...ibKaiTableTranslations[lang],
25
+ ...ibModalTranslations[lang],
26
+ ...(tran['shared'] ?? {})
27
+ }
28
+ })));
29
+ }
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTranslateModuleLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTranslateModuleLoader, providedIn: 'root' });
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbTranslateModuleLoader, decorators: [{
34
+ type: Injectable,
35
+ args: [{ providedIn: 'root' }]
36
+ }], ctorParameters: () => [{ type: i1.HttpClient }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9pbm9iZXRhLXVpL3RyYW5zbGF0ZS90cmFuc2xhdGUtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUcvRCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2Q7SUFBcEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFFLENBQUM7SUFDdkMsY0FBYyxDQUFDLElBQVk7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3JELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDWCxHQUFHLElBQUk7WUFDUCxNQUFNLEVBQUU7Z0JBQ04sR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7Z0JBQzNCLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDO2dCQUNuQyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQztnQkFDaEMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7Z0JBQzNCLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDO2dCQUMvQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQztnQkFDNUIsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDMUI7U0FDRixDQUFDLENBQUMsQ0FDSixDQUFBO0lBQ0gsQ0FBQzt1R0FqQlUsdUJBQXVCOzJHQUF2Qix1QkFBdUIsY0FEWCxNQUFNOzsyRkFDbEIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBpYkh0dHBUcmFuc2xhdGlvbnMgfSBmcm9tIFwiLi4vaHR0cC90cmFuc2xhdGlvbnNcIjtcbmltcG9ydCB7IGliTWF0ZXJpYWxGb3JtVHJhbnNsYXRpb25zIH0gZnJvbSBcIi4uL3VpL21hdGVyaWFsLWZvcm1zL3RyYW5zbGF0aW9uc1wiO1xuaW1wb3J0IHsgaWJLYWlGaWx0ZXJUcmFuc2xhdGlvbnMgfSBmcm9tIFwiLi4vdWkva2FpLWZpbHRlci90cmFuc2xhdGlvbnNcIjtcbmltcG9ydCB7IGliVmlld1RyYW5zbGF0aW9ucyB9IGZyb20gXCIuLi91aS92aWV3cy90cmFuc2xhdGlvbnNcIjtcbmltcG9ydCB7IGliS2FpVGFibGVUcmFuc2xhdGlvbnMgfSBmcm9tIFwiLi4vdWkva2FpLXRhYmxlL3RyYW5zbGF0aW9uc1wiO1xuaW1wb3J0IHsgaWJNb2RhbFRyYW5zbGF0aW9ucyB9IGZyb20gXCIuLi91aS9tb2RhbC90cmFuc2xhdGlvbnNcIjtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgSWJUcmFuc2xhdGVNb2R1bGVMb2FkZXIgaW1wbGVtZW50cyBUcmFuc2xhdGVMb2FkZXJ7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCl7fVxuICBnZXRUcmFuc2xhdGlvbihsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAuL2Fzc2V0cy9pMThuLyR7bGFuZ30uanNvbmApLnBpcGUoXG4gICAgICBtYXAodHJhbiA9PiAoe1xuICAgICAgICAuLi50cmFuLFxuICAgICAgICBzaGFyZWQ6IHtcbiAgICAgICAgICAuLi5pYkh0dHBUcmFuc2xhdGlvbnNbbGFuZ10sXG4gICAgICAgICAgLi4uaWJNYXRlcmlhbEZvcm1UcmFuc2xhdGlvbnNbbGFuZ10sXG4gICAgICAgICAgLi4uaWJLYWlGaWx0ZXJUcmFuc2xhdGlvbnNbbGFuZ10sXG4gICAgICAgICAgLi4uaWJWaWV3VHJhbnNsYXRpb25zW2xhbmddLFxuICAgICAgICAgIC4uLmliS2FpVGFibGVUcmFuc2xhdGlvbnNbbGFuZ10sXG4gICAgICAgICAgLi4uaWJNb2RhbFRyYW5zbGF0aW9uc1tsYW5nXSxcbiAgICAgICAgICAuLi4odHJhblsnc2hhcmVkJ10gPz8ge30pXG4gICAgICAgIH1cbiAgICAgIH0pKVxuICAgIClcbiAgfVxufVxuIl19
@@ -0,0 +1,63 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NavigationEnd } from '@angular/router';
3
+ import { filter } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ import * as i2 from "@angular/common";
7
+ export class IbBreadcrumbComponent {
8
+ router;
9
+ activatedRoute;
10
+ static ROUTE_DATA_BREADCRUMB = 'breadcrumb';
11
+ /**
12
+ * Edit icon or label of the first crumb
13
+ */
14
+ home = { url: '/', icon: 'home' };
15
+ items = [];
16
+ /**
17
+ * Whether create breadcrumbs looking up the routes (`auto`), or define them through the `items` input ('static')
18
+ */
19
+ mode;
20
+ constructor(router, activatedRoute) {
21
+ this.router = router;
22
+ this.activatedRoute = activatedRoute;
23
+ }
24
+ ngOnInit() {
25
+ if (this.mode === 'static') {
26
+ return;
27
+ }
28
+ this.items = this.createBreadcrumbs(this.activatedRoute.root);
29
+ this.router.events
30
+ .pipe(filter(event => event instanceof NavigationEnd))
31
+ .subscribe(() => this.items = this.createBreadcrumbs(this.activatedRoute.root));
32
+ }
33
+ createBreadcrumbs(route, url = '', breadcrumbs = []) {
34
+ const children = route.children;
35
+ if (children.length === 0) {
36
+ return breadcrumbs;
37
+ }
38
+ for (const child of children) {
39
+ const routeURL = child.snapshot.url.map(segment => segment.path).join('/');
40
+ if (routeURL !== '') {
41
+ url += `/${routeURL}`;
42
+ }
43
+ const label = child.snapshot.data[IbBreadcrumbComponent.ROUTE_DATA_BREADCRUMB];
44
+ if (label) {
45
+ breadcrumbs.push({ label, url });
46
+ }
47
+ return this.createBreadcrumbs(child, url, breadcrumbs);
48
+ }
49
+ }
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbBreadcrumbComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
51
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: IbBreadcrumbComponent, selector: "ib-breadcrumb", inputs: { home: "home", items: "items", mode: "mode" }, ngImport: i0, template: "<div class=\"ibBreadcrumbs\">\n <a class=\"ibBreadcrumbs-link\" [routerLink]=\"['/']\">Home</a>\n <a class=\"ibBreadcrumbs-link\" [routerLink]=\"[item.url]\" *ngFor=\"let item of items\" style=\"margin: 5px;\">{{item.label}}</a>\n</div>", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbBreadcrumbComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'ib-breadcrumb', template: "<div class=\"ibBreadcrumbs\">\n <a class=\"ibBreadcrumbs-link\" [routerLink]=\"['/']\">Home</a>\n <a class=\"ibBreadcrumbs-link\" [routerLink]=\"[item.url]\" *ngFor=\"let item of items\" style=\"margin: 5px;\">{{item.label}}</a>\n</div>" }]
56
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }], propDecorators: { home: [{
57
+ type: Input
58
+ }], items: [{
59
+ type: Input
60
+ }], mode: [{
61
+ type: Input
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUEwQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFZeEMsTUFBTSxPQUFPLHFCQUFxQjtJQVlaO0lBQXdCO0lBWDVDLE1BQU0sQ0FBVSxxQkFBcUIsR0FBRyxZQUFZLENBQUM7SUFDckQ7O09BRUc7SUFDTSxJQUFJLEdBQXFCLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLENBQUM7SUFDbEQsS0FBSyxHQUF1QixFQUFFLENBQUM7SUFDeEM7O09BRUc7SUFDTSxJQUFJLENBQW9CO0lBRWpDLFlBQW9CLE1BQWMsRUFBVSxjQUE4QjtRQUF0RCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQUcsQ0FBQztJQUU5RSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDO2FBQ3JELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQXFCLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxjQUFrQyxFQUFFO1FBQzdGLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFaEMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLE1BQU0sUUFBUSxHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkYsSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLEdBQUcsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLENBQUM7WUFFRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQy9FLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO3VHQTVDVSxxQkFBcUI7MkZBQXJCLHFCQUFxQiw2R0NkbEMsZ1BBR007OzJGRFdPLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxlQUFlO3dHQVFoQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUlHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgSWJCcmVhZGNydW1iSXRlbSA9IHtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWItYnJlYWRjcnVtYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgSWJCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc3RhdGljIHJlYWRvbmx5IFJPVVRFX0RBVEFfQlJFQURDUlVNQiA9ICdicmVhZGNydW1iJztcbiAgLyoqXG4gICAqIEVkaXQgaWNvbiBvciBsYWJlbCBvZiB0aGUgZmlyc3QgY3J1bWJcbiAgICovXG4gIEBJbnB1dCgpIGhvbWU6IEliQnJlYWRjcnVtYkl0ZW0gPSB7dXJsOiAnLycsIGljb246ICdob21lJ307XG4gIEBJbnB1dCgpIGl0ZW1zOiBJYkJyZWFkY3J1bWJJdGVtW10gPSBbXTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgY3JlYXRlIGJyZWFkY3J1bWJzIGxvb2tpbmcgdXAgdGhlIHJvdXRlcyAoYGF1dG9gKSwgb3IgZGVmaW5lIHRoZW0gdGhyb3VnaCB0aGUgYGl0ZW1zYCBpbnB1dCAoJ3N0YXRpYycpXG4gICAqL1xuICBASW5wdXQoKSBtb2RlOiAnc3RhdGljJyB8ICdhdXRvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5tb2RlID09PSAnc3RhdGljJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLml0ZW1zID0gdGhpcy5jcmVhdGVCcmVhZGNydW1icyh0aGlzLmFjdGl2YXRlZFJvdXRlLnJvb3QpO1xuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuaXRlbXMgPSB0aGlzLmNyZWF0ZUJyZWFkY3J1bWJzKHRoaXMuYWN0aXZhdGVkUm91dGUucm9vdCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVCcmVhZGNydW1icyhyb3V0ZTogQWN0aXZhdGVkUm91dGUsIHVybCA9ICcnLCBicmVhZGNydW1iczogSWJCcmVhZGNydW1iSXRlbVtdID0gW10pIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHJvdXRlLmNoaWxkcmVuO1xuXG4gICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcbiAgICAgIGNvbnN0IHJvdXRlVVJMOiBzdHJpbmcgPSBjaGlsZC5zbmFwc2hvdC51cmwubWFwKHNlZ21lbnQgPT4gc2VnbWVudC5wYXRoKS5qb2luKCcvJyk7XG4gICAgICBpZiAocm91dGVVUkwgIT09ICcnKSB7XG4gICAgICAgIHVybCArPSBgLyR7cm91dGVVUkx9YDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGFiZWwgPSBjaGlsZC5zbmFwc2hvdC5kYXRhW0liQnJlYWRjcnVtYkNvbXBvbmVudC5ST1VURV9EQVRBX0JSRUFEQ1JVTUJdO1xuICAgICAgaWYgKGxhYmVsKSB7XG4gICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe2xhYmVsLCB1cmx9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnMoY2hpbGQsIHVybCwgYnJlYWRjcnVtYnMpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImliQnJlYWRjcnVtYnNcIj5cbiAgPGEgY2xhc3M9XCJpYkJyZWFkY3J1bWJzLWxpbmtcIiBbcm91dGVyTGlua109XCJbJy8nXVwiPkhvbWU8L2E+XG4gIDxhIGNsYXNzPVwiaWJCcmVhZGNydW1icy1saW5rXCIgW3JvdXRlckxpbmtdPVwiW2l0ZW0udXJsXVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCIgc3R5bGU9XCJtYXJnaW46IDVweDtcIj57e2l0ZW0ubGFiZWx9fTwvYT5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { IbBreadcrumbComponent } from './breadcrumb.component';
4
+ import { RouterModule } from '@angular/router';
5
+ import { IbMaterialBreadcrumbComponent } from './material-breadcrumb/material-breadcrumb.component';
6
+ import { TranslateModule } from '@ngx-translate/core';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngx-translate/core";
10
+ export class IbBreadcrumbModule {
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: IbBreadcrumbModule, declarations: [IbBreadcrumbComponent,
13
+ IbMaterialBreadcrumbComponent], imports: [CommonModule,
14
+ RouterModule, i1.TranslateModule, MatIconModule], exports: [IbBreadcrumbComponent,
15
+ IbMaterialBreadcrumbComponent] });
16
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbBreadcrumbModule, imports: [CommonModule,
17
+ RouterModule,
18
+ TranslateModule.forChild({
19
+ extend: true
20
+ }),
21
+ MatIconModule] });
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbBreadcrumbModule, decorators: [{
24
+ type: NgModule,
25
+ args: [{
26
+ declarations: [
27
+ IbBreadcrumbComponent,
28
+ IbMaterialBreadcrumbComponent
29
+ ],
30
+ imports: [
31
+ CommonModule,
32
+ RouterModule,
33
+ TranslateModule.forChild({
34
+ extend: true
35
+ }),
36
+ MatIconModule
37
+ ],
38
+ exports: [
39
+ IbBreadcrumbComponent,
40
+ IbMaterialBreadcrumbComponent
41
+ ]
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDcEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBb0J2RCxNQUFNLE9BQU8sa0JBQWtCO3VHQUFsQixrQkFBa0I7d0dBQWxCLGtCQUFrQixpQkFoQjNCLHFCQUFxQjtZQUNyQiw2QkFBNkIsYUFHN0IsWUFBWTtZQUNaLFlBQVksc0JBSVosYUFBYSxhQUdiLHFCQUFxQjtZQUNyQiw2QkFBNkI7d0dBR3BCLGtCQUFrQixZQVozQixZQUFZO1lBQ1osWUFBWTtZQUNaLGVBQWUsQ0FBQyxRQUFRLENBQUM7Z0JBQ3JCLE1BQU0sRUFBRSxJQUFJO2FBQ2YsQ0FBQztZQUNGLGFBQWE7OzJGQU9KLGtCQUFrQjtrQkFsQjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsNkJBQTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGVBQWUsQ0FBQyxRQUFRLENBQUM7NEJBQ3JCLE1BQU0sRUFBRSxJQUFJO3lCQUNmLENBQUM7d0JBQ0YsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQiw2QkFBNkI7cUJBQzlCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJYkJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIuY29tcG9uZW50JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJYk1hdGVyaWFsQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vbWF0ZXJpYWwtYnJlYWRjcnVtYi9tYXRlcmlhbC1icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgSWJCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgIEliTWF0ZXJpYWxCcmVhZGNydW1iQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICAgIGV4dGVuZDogdHJ1ZVxuICAgIH0pLFxuICAgIE1hdEljb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEliQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBJYk1hdGVyaWFsQnJlYWRjcnVtYkNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEliQnJlYWRjcnVtYk1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './breadcrumb.module';
2
+ export * from './breadcrumb.component';
3
+ export * from './material-breadcrumb/material-breadcrumb.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvYnJlYWRjcnVtYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxREFBcUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21hdGVyaWFsLWJyZWFkY3J1bWIvbWF0ZXJpYWwtYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,16 @@
1
+ import { Component } from '@angular/core';
2
+ import { IbBreadcrumbComponent } from '../breadcrumb.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/router";
6
+ import * as i3 from "@angular/material/icon";
7
+ import * as i4 from "@ngx-translate/core";
8
+ export class IbMaterialBreadcrumbComponent extends IbBreadcrumbComponent {
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMaterialBreadcrumbComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: IbMaterialBreadcrumbComponent, selector: "ib-material-breadcrumb", usesInheritance: true, ngImport: i0, template: "<ul class=\"ibBreadcrumbs\">\n <li class=\"ibBreadcrumbs-link\">\n <ng-container *ngIf=\"!home.icon; else iconTemplate\">\n <a [routerLink]=\"[home.url]\">{{home.label | translate}}</a>\n </ng-container>\n <ng-template #iconTemplate>\n <a mat-icon-button aria-label=\"Homepage\" [routerLink]=\"[home.url]\"><mat-icon>{{home.icon}}</mat-icon></a>\n </ng-template>\n </li>\n <li *ngFor=\"let item of items\" class=\"ibBreadcrumbs-link\">\n <mat-icon>chevron_right</mat-icon>\n <a [routerLink]=\"[item.url]\">{{item.label | translate}}</a>\n </li>\n</ul>", styles: [".ibBreadcrumbs{background:#f9f9f9;box-shadow:0 0 0 1px #f0f0f0;margin:10px;padding:5px 10px;border-radius:4px;list-style:none;display:flex;align-items:center;align-content:center;font-family:Roboto,sans-serif}.ibBreadcrumbs-link{display:flex;align-items:center}.ibBreadcrumbs-link a:not(:first-child){color:#000;outline:none;text-decoration:none;margin-left:5px}.ibBreadcrumbs-link a:visited{color:#000}.ibBreadcrumbs-link>mat-icon{color:#bbb;margin-left:5px}\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: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbMaterialBreadcrumbComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'ib-material-breadcrumb', template: "<ul class=\"ibBreadcrumbs\">\n <li class=\"ibBreadcrumbs-link\">\n <ng-container *ngIf=\"!home.icon; else iconTemplate\">\n <a [routerLink]=\"[home.url]\">{{home.label | translate}}</a>\n </ng-container>\n <ng-template #iconTemplate>\n <a mat-icon-button aria-label=\"Homepage\" [routerLink]=\"[home.url]\"><mat-icon>{{home.icon}}</mat-icon></a>\n </ng-template>\n </li>\n <li *ngFor=\"let item of items\" class=\"ibBreadcrumbs-link\">\n <mat-icon>chevron_right</mat-icon>\n <a [routerLink]=\"[item.url]\">{{item.label | translate}}</a>\n </li>\n</ul>", styles: [".ibBreadcrumbs{background:#f9f9f9;box-shadow:0 0 0 1px #f0f0f0;margin:10px;padding:5px 10px;border-radius:4px;list-style:none;display:flex;align-items:center;align-content:center;font-family:Roboto,sans-serif}.ibBreadcrumbs-link{display:flex;align-items:center}.ibBreadcrumbs-link a:not(:first-child){color:#000;outline:none;text-decoration:none;margin-left:5px}.ibBreadcrumbs-link a:visited{color:#000}.ibBreadcrumbs-link>mat-icon{color:#bbb;margin-left:5px}\n"] }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2lub2JldGEtdWkvdWkvYnJlYWRjcnVtYi9tYXRlcmlhbC1icmVhZGNydW1iL21hdGVyaWFsLWJyZWFkY3J1bWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9pbm9iZXRhLXVpL3VpL2JyZWFkY3J1bWIvbWF0ZXJpYWwtYnJlYWRjcnVtYi9tYXRlcmlhbC1icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQU9oRSxNQUFNLE9BQU8sNkJBQThCLFNBQVEscUJBQXFCO3VHQUEzRCw2QkFBNkI7MkZBQTdCLDZCQUE2QixxRkNSMUMseWtCQWFLOzsyRkRMUSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0Usd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJYkJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2liLW1hdGVyaWFsLWJyZWFkY3J1bWInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWF0ZXJpYWwtYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hdGVyaWFsLWJyZWFkY3J1bWIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEliTWF0ZXJpYWxCcmVhZGNydW1iQ29tcG9uZW50IGV4dGVuZHMgSWJCcmVhZGNydW1iQ29tcG9uZW50IHt9XG4iLCI8dWwgY2xhc3M9XCJpYkJyZWFkY3J1bWJzXCI+XG4gIDxsaSBjbGFzcz1cImliQnJlYWRjcnVtYnMtbGlua1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaG9tZS5pY29uOyBlbHNlIGljb25UZW1wbGF0ZVwiPlxuICAgICAgPGEgW3JvdXRlckxpbmtdPVwiW2hvbWUudXJsXVwiPnt7aG9tZS5sYWJlbCB8IHRyYW5zbGF0ZX19PC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjaWNvblRlbXBsYXRlPlxuICAgICAgPGEgbWF0LWljb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJIb21lcGFnZVwiIFtyb3V0ZXJMaW5rXT1cIltob21lLnVybF1cIj48bWF0LWljb24+e3tob21lLmljb259fTwvbWF0LWljb24+PC9hPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG4gIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiIGNsYXNzPVwiaWJCcmVhZGNydW1icy1saW5rXCI+XG4gICAgPG1hdC1pY29uPmNoZXZyb25fcmlnaHQ8L21hdC1pY29uPlxuICAgIDxhIFtyb3V0ZXJMaW5rXT1cIltpdGVtLnVybF1cIj57e2l0ZW0ubGFiZWwgfCB0cmFuc2xhdGV9fTwvYT5cbiAgPC9saT5cbjwvdWw+Il19
@@ -0,0 +1,92 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { NgModule } from "@angular/core";
3
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
4
+ import { MatButtonModule } from "@angular/material/button";
5
+ import { MatDialogModule } from "@angular/material/dialog";
6
+ import { MatFormFieldModule } from "@angular/material/form-field";
7
+ import { MatIconModule } from "@angular/material/icon";
8
+ import { MatRadioModule } from "@angular/material/radio";
9
+ import { MatSelectModule } from "@angular/material/select";
10
+ import { MatTooltipModule } from "@angular/material/tooltip";
11
+ import { TranslateModule } from "@ngx-translate/core";
12
+ import { IbTableActionModule } from "../kai-table";
13
+ import { IbDataExportService } from "./data-export.service";
14
+ import { IbCSVExportProvider } from "./formats/csv-export.service";
15
+ import { IbPDFExportProvider } from "./formats/pdf-export.service";
16
+ import { IbXLXSExportProvider } from "./formats/xlsx-export.service";
17
+ import { IbTableDataExportDialog } from "./table-data-export-dialog.component";
18
+ import { IbTableDataExportAction } from "./table-data-export.component";
19
+ import { IbDataTransformer } from "./transformer";
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "@ngx-translate/core";
22
+ export class IbDataExportModule {
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDataExportModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: IbDataExportModule, declarations: [IbTableDataExportAction,
25
+ IbTableDataExportDialog,
26
+ IbDataTransformer], imports: [FormsModule,
27
+ CommonModule,
28
+ MatIconModule,
29
+ MatButtonModule,
30
+ MatDialogModule,
31
+ MatSelectModule,
32
+ MatRadioModule,
33
+ MatTooltipModule,
34
+ MatFormFieldModule,
35
+ ReactiveFormsModule,
36
+ IbTableActionModule, i1.TranslateModule], exports: [IbTableDataExportAction,
37
+ IbTableDataExportDialog,
38
+ IbDataTransformer] });
39
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDataExportModule, providers: [
40
+ IbDataExportService,
41
+ IbXLXSExportProvider,
42
+ IbPDFExportProvider,
43
+ IbCSVExportProvider,
44
+ ], imports: [FormsModule,
45
+ CommonModule,
46
+ MatIconModule,
47
+ MatButtonModule,
48
+ MatDialogModule,
49
+ MatSelectModule,
50
+ MatRadioModule,
51
+ MatTooltipModule,
52
+ MatFormFieldModule,
53
+ ReactiveFormsModule,
54
+ IbTableActionModule,
55
+ TranslateModule.forChild()] });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDataExportModule, decorators: [{
58
+ type: NgModule,
59
+ args: [{
60
+ imports: [
61
+ FormsModule,
62
+ CommonModule,
63
+ MatIconModule,
64
+ MatButtonModule,
65
+ MatDialogModule,
66
+ MatSelectModule,
67
+ MatRadioModule,
68
+ MatTooltipModule,
69
+ MatFormFieldModule,
70
+ ReactiveFormsModule,
71
+ IbTableActionModule,
72
+ TranslateModule.forChild(),
73
+ ],
74
+ exports: [
75
+ IbTableDataExportAction,
76
+ IbTableDataExportDialog,
77
+ IbDataTransformer,
78
+ ],
79
+ declarations: [
80
+ IbTableDataExportAction,
81
+ IbTableDataExportDialog,
82
+ IbDataTransformer,
83
+ ],
84
+ providers: [
85
+ IbDataExportService,
86
+ IbXLXSExportProvider,
87
+ IbPDFExportProvider,
88
+ IbCSVExportProvider,
89
+ ],
90
+ }]
91
+ }] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1leHBvcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9pbm9iZXRhLXVpL3VpL2RhdGEtZXhwb3J0L2RhdGEtZXhwb3J0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBa0NsRCxNQUFNLE9BQU8sa0JBQWtCO3VHQUFsQixrQkFBa0I7d0dBQWxCLGtCQUFrQixpQkFYM0IsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2QixpQkFBaUIsYUFyQmpCLFdBQVc7WUFDWCxZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixtQkFBbUIsaUNBSW5CLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsaUJBQWlCO3dHQWNSLGtCQUFrQixhQVBsQjtZQUNULG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLG1CQUFtQjtTQUNwQixZQTVCQyxXQUFXO1lBQ1gsWUFBWTtZQUNaLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGVBQWU7WUFDZixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLGVBQWUsQ0FBQyxRQUFRLEVBQUU7OzJGQW1CakIsa0JBQWtCO2tCQWhDOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGVBQWUsQ0FBQyxRQUFRLEVBQUU7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3FCQUNsQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW9cIjtcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEliVGFibGVBY3Rpb25Nb2R1bGUgfSBmcm9tIFwiLi4va2FpLXRhYmxlXCI7XG5pbXBvcnQgeyBJYkRhdGFFeHBvcnRTZXJ2aWNlIH0gZnJvbSBcIi4vZGF0YS1leHBvcnQuc2VydmljZVwiO1xuaW1wb3J0IHsgSWJDU1ZFeHBvcnRQcm92aWRlciB9IGZyb20gXCIuL2Zvcm1hdHMvY3N2LWV4cG9ydC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBJYlBERkV4cG9ydFByb3ZpZGVyIH0gZnJvbSBcIi4vZm9ybWF0cy9wZGYtZXhwb3J0LnNlcnZpY2VcIjtcbmltcG9ydCB7IEliWExYU0V4cG9ydFByb3ZpZGVyIH0gZnJvbSBcIi4vZm9ybWF0cy94bHN4LWV4cG9ydC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBJYlRhYmxlRGF0YUV4cG9ydERpYWxvZyB9IGZyb20gXCIuL3RhYmxlLWRhdGEtZXhwb3J0LWRpYWxvZy5jb21wb25lbnRcIjtcbmltcG9ydCB7IEliVGFibGVEYXRhRXhwb3J0QWN0aW9uIH0gZnJvbSBcIi4vdGFibGUtZGF0YS1leHBvcnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBJYkRhdGFUcmFuc2Zvcm1lciB9IGZyb20gXCIuL3RyYW5zZm9ybWVyXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEliVGFibGVBY3Rpb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBJYlRhYmxlRGF0YUV4cG9ydEFjdGlvbixcbiAgICBJYlRhYmxlRGF0YUV4cG9ydERpYWxvZyxcbiAgICBJYkRhdGFUcmFuc2Zvcm1lcixcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgSWJUYWJsZURhdGFFeHBvcnRBY3Rpb24sXG4gICAgSWJUYWJsZURhdGFFeHBvcnREaWFsb2csXG4gICAgSWJEYXRhVHJhbnNmb3JtZXIsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIEliRGF0YUV4cG9ydFNlcnZpY2UsXG4gICAgSWJYTFhTRXhwb3J0UHJvdmlkZXIsXG4gICAgSWJQREZFeHBvcnRQcm92aWRlcixcbiAgICBJYkNTVkV4cG9ydFByb3ZpZGVyLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJYkRhdGFFeHBvcnRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,83 @@
1
+ import { Inject, Injectable, InjectionToken } from "@angular/core";
2
+ import { IbTableDataExportDialog, } from "./table-data-export-dialog.component";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ export const OVERRIDE_EXPORT_FORMATS = new InjectionToken("overrideExportFormats");
6
+ export class IbDataExportService {
7
+ dialog;
8
+ providers;
9
+ formats;
10
+ constructor(dialog, providers) {
11
+ this.dialog = dialog;
12
+ this.providers = providers;
13
+ this.formats = this.providers.map((p) => ({
14
+ value: p.format,
15
+ label: p.label,
16
+ }));
17
+ }
18
+ openExportDialog(data) {
19
+ return this.dialog
20
+ .open(IbTableDataExportDialog, {
21
+ width: "350px",
22
+ data: {
23
+ ...data,
24
+ formats: this.formats,
25
+ },
26
+ })
27
+ .afterClosed();
28
+ }
29
+ /**
30
+ * Internal use for IbTable
31
+ *
32
+ * @ignore
33
+ */
34
+ _exportFromTable(tableName, dataSource, settings) {
35
+ let data;
36
+ if (settings.dataset === "all") {
37
+ data = dataSource._orderData(dataSource.filteredData);
38
+ }
39
+ if (settings.dataset === "selected") {
40
+ data = dataSource._orderData(dataSource.selectionColumn?.selection.selected);
41
+ }
42
+ if (settings.dataset === "current") {
43
+ data = dataSource._pageData(dataSource._orderData(dataSource.filteredData));
44
+ }
45
+ const columns = Object.values(dataSource.columns).filter((c) => !c.name.startsWith("ib-"));
46
+ const displayHeader = columns.reduce((acc, column) => ({ ...acc, [column.name]: column.headerText }), {});
47
+ const dataAccessor = this.getDataAccessorForFormat(settings.format);
48
+ const output = data.map((row) => columns.reduce((acc, column) => ({
49
+ ...acc,
50
+ [displayHeader[column.name]]: dataAccessor(row, column),
51
+ }), {}));
52
+ this.export(output, tableName, settings.format);
53
+ }
54
+ /**
55
+ *
56
+ * @param data Array of object to export
57
+ * @param filename Name of the output file
58
+ * @param format Output file format. By default, only `xlsx`, `pdf`, and `csv` are supported
59
+ */
60
+ export(data, filename, format) {
61
+ const provider = this.providers.find((p) => p.format === format);
62
+ return provider.export(data, filename);
63
+ }
64
+ /** @ignore */
65
+ getDataAccessorForFormat = (format) => (row, column) => {
66
+ const data = column.dataAccessor(row, column.name);
67
+ const fn = column?.["transform"]?.[format] ?? column?.["transform"]?.["ibAny"];
68
+ if (!fn) {
69
+ return data;
70
+ }
71
+ return fn(data);
72
+ };
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDataExportService, deps: [{ token: i1.MatDialog }, { token: OVERRIDE_EXPORT_FORMATS }], target: i0.ɵɵFactoryTarget.Injectable });
74
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDataExportService, providedIn: "root" });
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: IbDataExportService, decorators: [{
77
+ type: Injectable,
78
+ args: [{ providedIn: "root" }]
79
+ }], ctorParameters: () => [{ type: i1.MatDialog }, { type: undefined, decorators: [{
80
+ type: Inject,
81
+ args: [OVERRIDE_EXPORT_FORMATS]
82
+ }] }] });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1leHBvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvaW5vYmV0YS11aS91aS9kYXRhLWV4cG9ydC9kYXRhLWV4cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtuRSxPQUFPLEVBQ0wsdUJBQXVCLEdBRXhCLE1BQU0sc0NBQXNDLENBQUM7OztBQU85QyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDdkQsdUJBQXVCLENBQ3hCLENBQUM7QUFHRixNQUFNLE9BQU8sbUJBQW1CO0lBSXBCO0lBQ2lDO0lBSjNDLE9BQU8sQ0FBTTtJQUViLFlBQ1UsTUFBaUIsRUFDZ0IsU0FBaUM7UUFEbEUsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNnQixjQUFTLEdBQVQsU0FBUyxDQUF3QjtRQUUxRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3hDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtZQUNmLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztTQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQTBDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLE1BQU07YUFDZixJQUFJLENBQUMsdUJBQXVCLEVBQUU7WUFDN0IsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxJQUFJO2dCQUNQLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QjtTQUNGLENBQUM7YUFDRCxXQUFXLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUNkLFNBQWlCLEVBQ2pCLFVBQXNDLEVBQ3RDLFFBQTZCO1FBRTdCLElBQUksSUFBZSxDQUFDO1FBQ3BCLElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMvQixJQUFJLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNwQyxJQUFJLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FDMUIsVUFBVSxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUMvQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxJQUFJLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FDekIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQy9DLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUN0RCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FDakMsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQ2xDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUMvRCxFQUFFLENBQ0gsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFcEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzlCLE9BQU8sQ0FBQyxNQUFNLENBQ1osQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hCLEdBQUcsR0FBRztZQUNOLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDO1NBQ3hELENBQUMsRUFDRixFQUFFLENBQ0gsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsSUFBVyxFQUFFLFFBQWdCLEVBQUUsTUFBYztRQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsQ0FBQztRQUNqRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxjQUFjO0lBQ04sd0JBQXdCLEdBQzlCLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQVksRUFBRSxNQUF5QixFQUFFLEVBQUU7UUFDOUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELE1BQU0sRUFBRSxHQUNOLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDUixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUM7dUdBaEdPLG1CQUFtQiwyQ0FLcEIsdUJBQXVCOzJHQUx0QixtQkFBbUIsY0FETixNQUFNOzsyRkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBTTdCLE1BQU07MkJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQgeyBJYkNvbHVtbiB9IGZyb20gXCIuLi9rYWktdGFibGUvY29sdW1ucy9jb2x1bW5cIjtcbmltcG9ydCB7IEliVGFibGVEYXRhU291cmNlIH0gZnJvbSBcIi4uL2thaS10YWJsZS90YWJsZS1kYXRhLXNvdXJjZVwiO1xuaW1wb3J0IHsgSWJEYXRhRXhwb3J0UHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlclwiO1xuaW1wb3J0IHtcbiAgSWJUYWJsZURhdGFFeHBvcnREaWFsb2csXG4gIEliVGFibGVEYXRhRXhwb3J0RGlhbG9nRGF0YSxcbn0gZnJvbSBcIi4vdGFibGUtZGF0YS1leHBvcnQtZGlhbG9nLmNvbXBvbmVudFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhRXhwb3J0U2V0dGluZ3Mge1xuICBmb3JtYXQ6IFwieGxzeFwiIHwgXCJwZGZcIiB8IFwiY3N2XCI7XG4gIGRhdGFzZXQ6IFwiYWxsXCIgfCBcInNlbGVjdGVkXCIgfCBcImN1cnJlbnRcIjtcbn1cblxuZXhwb3J0IGNvbnN0IE9WRVJSSURFX0VYUE9SVF9GT1JNQVRTID0gbmV3IEluamVjdGlvblRva2VuPEliRGF0YUV4cG9ydFByb3ZpZGVyPihcbiAgXCJvdmVycmlkZUV4cG9ydEZvcm1hdHNcIlxuKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIEliRGF0YUV4cG9ydFNlcnZpY2Uge1xuICBmb3JtYXRzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBASW5qZWN0KE9WRVJSSURFX0VYUE9SVF9GT1JNQVRTKSBwcml2YXRlIHByb3ZpZGVyczogSWJEYXRhRXhwb3J0UHJvdmlkZXJbXVxuICApIHtcbiAgICB0aGlzLmZvcm1hdHMgPSB0aGlzLnByb3ZpZGVycy5tYXAoKHApID0+ICh7XG4gICAgICB2YWx1ZTogcC5mb3JtYXQsXG4gICAgICBsYWJlbDogcC5sYWJlbCxcbiAgICB9KSk7XG4gIH1cblxuICBvcGVuRXhwb3J0RGlhbG9nKGRhdGE6IFBhcnRpYWw8SWJUYWJsZURhdGFFeHBvcnREaWFsb2dEYXRhPikge1xuICAgIHJldHVybiB0aGlzLmRpYWxvZ1xuICAgICAgLm9wZW4oSWJUYWJsZURhdGFFeHBvcnREaWFsb2csIHtcbiAgICAgICAgd2lkdGg6IFwiMzUwcHhcIixcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgZm9ybWF0czogdGhpcy5mb3JtYXRzLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5hZnRlckNsb3NlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHVzZSBmb3IgSWJUYWJsZVxuICAgKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfZXhwb3J0RnJvbVRhYmxlKFxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxuICAgIGRhdGFTb3VyY2U6IEliVGFibGVEYXRhU291cmNlPHVua25vd24+LFxuICAgIHNldHRpbmdzOiBJRGF0YUV4cG9ydFNldHRpbmdzXG4gICkge1xuICAgIGxldCBkYXRhOiB1bmtub3duW107XG4gICAgaWYgKHNldHRpbmdzLmRhdGFzZXQgPT09IFwiYWxsXCIpIHtcbiAgICAgIGRhdGEgPSBkYXRhU291cmNlLl9vcmRlckRhdGEoZGF0YVNvdXJjZS5maWx0ZXJlZERhdGEpO1xuICAgIH1cblxuICAgIGlmIChzZXR0aW5ncy5kYXRhc2V0ID09PSBcInNlbGVjdGVkXCIpIHtcbiAgICAgIGRhdGEgPSBkYXRhU291cmNlLl9vcmRlckRhdGEoXG4gICAgICAgIGRhdGFTb3VyY2Uuc2VsZWN0aW9uQ29sdW1uPy5zZWxlY3Rpb24uc2VsZWN0ZWRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHNldHRpbmdzLmRhdGFzZXQgPT09IFwiY3VycmVudFwiKSB7XG4gICAgICBkYXRhID0gZGF0YVNvdXJjZS5fcGFnZURhdGEoXG4gICAgICAgIGRhdGFTb3VyY2UuX29yZGVyRGF0YShkYXRhU291cmNlLmZpbHRlcmVkRGF0YSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgY29sdW1ucyA9IE9iamVjdC52YWx1ZXMoZGF0YVNvdXJjZS5jb2x1bW5zKS5maWx0ZXIoXG4gICAgICAoYykgPT4gIWMubmFtZS5zdGFydHNXaXRoKFwiaWItXCIpXG4gICAgKTtcbiAgICBjb25zdCBkaXNwbGF5SGVhZGVyID0gY29sdW1ucy5yZWR1Y2UoXG4gICAgICAoYWNjLCBjb2x1bW4pID0+ICh7IC4uLmFjYywgW2NvbHVtbi5uYW1lXTogY29sdW1uLmhlYWRlclRleHQgfSksXG4gICAgICB7fVxuICAgICk7XG5cbiAgICBjb25zdCBkYXRhQWNjZXNzb3IgPSB0aGlzLmdldERhdGFBY2Nlc3NvckZvckZvcm1hdChzZXR0aW5ncy5mb3JtYXQpO1xuXG4gICAgY29uc3Qgb3V0cHV0ID0gZGF0YS5tYXAoKHJvdykgPT5cbiAgICAgIGNvbHVtbnMucmVkdWNlKFxuICAgICAgICAoYWNjLCBjb2x1bW4pID0+ICh7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIFtkaXNwbGF5SGVhZGVyW2NvbHVtbi5uYW1lXV06IGRhdGFBY2Nlc3Nvcihyb3csIGNvbHVtbiksXG4gICAgICAgIH0pLFxuICAgICAgICB7fVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLmV4cG9ydChvdXRwdXQsIHRhYmxlTmFtZSwgc2V0dGluZ3MuZm9ybWF0KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSBBcnJheSBvZiBvYmplY3QgdG8gZXhwb3J0XG4gICAqIEBwYXJhbSBmaWxlbmFtZSBOYW1lIG9mIHRoZSBvdXRwdXQgZmlsZVxuICAgKiBAcGFyYW0gZm9ybWF0IE91dHB1dCBmaWxlIGZvcm1hdC4gQnkgZGVmYXVsdCwgb25seSBgeGxzeGAsIGBwZGZgLCBhbmQgYGNzdmAgYXJlIHN1cHBvcnRlZFxuICAgKi9cbiAgZXhwb3J0KGRhdGE6IGFueVtdLCBmaWxlbmFtZTogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZykge1xuICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5wcm92aWRlcnMuZmluZCgocCkgPT4gcC5mb3JtYXQgPT09IGZvcm1hdCk7XG4gICAgcmV0dXJuIHByb3ZpZGVyLmV4cG9ydChkYXRhLCBmaWxlbmFtZSk7XG4gIH1cblxuICAvKiogQGlnbm9yZSAqL1xuICBwcml2YXRlIGdldERhdGFBY2Nlc3NvckZvckZvcm1hdCA9XG4gICAgKGZvcm1hdDogc3RyaW5nKSA9PiAocm93OiB1bmtub3duLCBjb2x1bW46IEliQ29sdW1uPHVua25vd24+KSA9PiB7XG4gICAgICBjb25zdCBkYXRhID0gY29sdW1uLmRhdGFBY2Nlc3Nvcihyb3csIGNvbHVtbi5uYW1lKTtcbiAgICAgIGNvbnN0IGZuID1cbiAgICAgICAgY29sdW1uPy5bXCJ0cmFuc2Zvcm1cIl0/Lltmb3JtYXRdID8/IGNvbHVtbj8uW1widHJhbnNmb3JtXCJdPy5bXCJpYkFueVwiXTtcbiAgICAgIGlmICghZm4pIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG4gICAgICByZXR1cm4gZm4oZGF0YSk7XG4gICAgfTtcbn1cbiJdfQ==