@elderbyte/ngx-starter 15.19.4 → 16.0.0

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 (949) hide show
  1. package/esm2022/lib/common/async/refreshing-entity.mjs +86 -0
  2. package/esm2022/lib/common/csv/csv-spec.mjs +99 -0
  3. package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +76 -0
  4. package/esm2022/lib/common/data/data-context/data-context-builder.mjs +247 -0
  5. package/esm2022/lib/common/data/data-context/data-context-status.mjs +46 -0
  6. package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +139 -0
  7. package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +55 -0
  8. package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +24 -0
  9. package/esm2022/lib/common/data/datasource/data-source-processor.mjs +199 -0
  10. package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +127 -0
  11. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +141 -0
  12. package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +73 -0
  13. package/esm2022/lib/common/data/entity-set-patch.mjs +164 -0
  14. package/esm2022/lib/common/data/field-comparator.mjs +99 -0
  15. package/esm2022/lib/common/data/http-params-builder.mjs +118 -0
  16. package/esm2022/lib/common/data/sort.mjs +11 -0
  17. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +81 -0
  18. package/esm2022/lib/common/format/bytes-format.mjs +22 -0
  19. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +181 -0
  20. package/esm2022/lib/common/forms/elder-from-field-base.mjs +94 -0
  21. package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +52 -0
  22. package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +39 -0
  23. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +47 -0
  24. package/esm2022/lib/common/forms/form-field-base.component.mjs +112 -0
  25. package/esm2022/lib/common/forms/multi-model-base.component.mjs +32 -0
  26. package/esm2022/lib/common/forms/template-composite-control.mjs +133 -0
  27. package/esm2022/lib/common/forms/value-accessor-base.mjs +146 -0
  28. package/esm2022/lib/common/forms/view-providers.mjs +30 -0
  29. package/esm2022/lib/common/http/http-client-builder.service.mjs +14 -0
  30. package/esm2022/lib/common/http/http-client-pristine.mjs +21 -0
  31. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +95 -0
  32. package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +49 -0
  33. package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +17 -0
  34. package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +82 -0
  35. package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +132 -0
  36. package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +16 -0
  37. package/esm2022/lib/common/i18n/entity/locale.mjs +12 -0
  38. package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +30 -0
  39. package/esm2022/lib/common/objects.mjs +41 -0
  40. package/esm2022/lib/common/selection/selection-model.mjs +212 -0
  41. package/esm2022/lib/common/suggestion-provider.mjs +12 -0
  42. package/esm2022/lib/common/time/date-util.mjs +93 -0
  43. package/esm2022/lib/common/time/time-util.mjs +41 -0
  44. package/esm2022/lib/common/url/elder-router.service.mjs +54 -0
  45. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +119 -0
  46. package/esm2022/lib/common/url/url-query-params.mjs +133 -0
  47. package/esm2022/lib/common/utils/collection-util.mjs +109 -0
  48. package/esm2022/lib/common/utils/filter-util.mjs +52 -0
  49. package/esm2022/lib/common/utils/focus-util.mjs +23 -0
  50. package/esm2022/lib/common/utils/query-list-binding.mjs +67 -0
  51. package/esm2022/lib/common/utils/url-builder.mjs +275 -0
  52. package/esm2022/lib/common/utils/value-wrapper.mjs +19 -0
  53. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +16 -0
  54. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +30 -0
  55. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +39 -0
  56. package/esm2022/lib/components/auditing/elder-audit.module.mjs +42 -0
  57. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +39 -0
  58. package/esm2022/lib/components/badge/elder-badge.directive.mjs +48 -0
  59. package/esm2022/lib/components/badge/elder-badge.module.mjs +40 -0
  60. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +15 -0
  61. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +35 -0
  62. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +123 -0
  63. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +15 -0
  64. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +211 -0
  65. package/esm2022/lib/components/card-organizer/card-stack.mjs +176 -0
  66. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +49 -0
  67. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +17 -0
  68. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +145 -0
  69. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +66 -0
  70. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +170 -0
  71. package/esm2022/lib/components/chips/elder-chips.module.mjs +48 -0
  72. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +56 -0
  73. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +63 -0
  74. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +46 -0
  75. package/esm2022/lib/components/containers/elder-containers.module.mjs +25 -0
  76. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +24 -0
  77. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +77 -0
  78. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +38 -0
  79. package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +114 -0
  80. package/esm2022/lib/components/csv/elder-csv.module.mjs +37 -0
  81. package/esm2022/lib/components/currency/elder-currency.module.mjs +24 -0
  82. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +33 -0
  83. package/esm2022/lib/components/currency/model/currency-unit.mjs +10 -0
  84. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +76 -0
  85. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +91 -0
  86. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +91 -0
  87. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +34 -0
  88. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +47 -0
  89. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +26 -0
  90. package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +67 -0
  91. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +266 -0
  92. package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +45 -0
  93. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +45 -0
  94. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +90 -0
  95. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +137 -0
  96. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +89 -0
  97. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +98 -0
  98. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +38 -0
  99. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +307 -0
  100. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +82 -0
  101. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +69 -0
  102. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +49 -0
  103. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +76 -0
  104. package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +20 -0
  105. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +125 -0
  106. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +116 -0
  107. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +88 -0
  108. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +22 -0
  109. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +19 -0
  110. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +78 -0
  111. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +113 -0
  112. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +299 -0
  113. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +29 -0
  114. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +72 -0
  115. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +18 -0
  116. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +325 -0
  117. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +17 -0
  118. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +96 -0
  119. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +29 -0
  120. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +153 -0
  121. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +20 -0
  122. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +146 -0
  123. package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +110 -0
  124. package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +81 -0
  125. package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +40 -0
  126. package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +87 -0
  127. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +165 -0
  128. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +25 -0
  129. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +64 -0
  130. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +202 -0
  131. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +43 -0
  132. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +43 -0
  133. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +46 -0
  134. package/esm2022/lib/components/errors/elder-error.module.mjs +41 -0
  135. package/esm2022/lib/components/errors/error-util.mjs +94 -0
  136. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +66 -0
  137. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +55 -0
  138. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +28 -0
  139. package/esm2022/lib/components/files/blob-url.mjs +10 -0
  140. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +225 -0
  141. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +43 -0
  142. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +84 -0
  143. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +144 -0
  144. package/esm2022/lib/components/files/elder-file-select.directive.mjs +166 -0
  145. package/esm2022/lib/components/files/elder-file.module.mjs +77 -0
  146. package/esm2022/lib/components/files/file-select/file-select.component.mjs +55 -0
  147. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +67 -0
  148. package/esm2022/lib/components/files/listing/file-entry.mjs +76 -0
  149. package/esm2022/lib/components/files/listing/file-listing-rx.mjs +104 -0
  150. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +51 -0
  151. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +34 -0
  152. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +35 -0
  153. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +42 -0
  154. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +82 -0
  155. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +83 -0
  156. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +41 -0
  157. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +34 -0
  158. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +132 -0
  159. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +77 -0
  160. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +111 -0
  161. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +101 -0
  162. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +36 -0
  163. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +29 -0
  164. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +157 -0
  165. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +27 -0
  166. package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +108 -0
  167. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +85 -0
  168. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +47 -0
  169. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +48 -0
  170. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +55 -0
  171. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +40 -0
  172. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +40 -0
  173. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +96 -0
  174. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +68 -0
  175. package/esm2022/lib/components/forms/elder-forms.module.mjs +22 -0
  176. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +146 -0
  177. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +185 -0
  178. package/esm2022/lib/components/forms/search/elder-search.module.mjs +66 -0
  179. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +125 -0
  180. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +16 -0
  181. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +126 -0
  182. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +32 -0
  183. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +93 -0
  184. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +90 -0
  185. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +26 -0
  186. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +28 -0
  187. package/esm2022/lib/components/headers/elder-header.module.mjs +43 -0
  188. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +68 -0
  189. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +123 -0
  190. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +144 -0
  191. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +29 -0
  192. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +30 -0
  193. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +152 -0
  194. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +28 -0
  195. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +56 -0
  196. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +39 -0
  197. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +30 -0
  198. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +74 -0
  199. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +69 -0
  200. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +72 -0
  201. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +121 -0
  202. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +65 -0
  203. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +53 -0
  204. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +130 -0
  205. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +138 -0
  206. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +103 -0
  207. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +41 -0
  208. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +51 -0
  209. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +136 -0
  210. package/esm2022/lib/components/iframes/iframe-messages.mjs +5 -0
  211. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +78 -0
  212. package/esm2022/lib/components/iframes/iframe.service.mjs +52 -0
  213. package/esm2022/lib/components/iframes/typed-event-message.mjs +42 -0
  214. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +61 -0
  215. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +158 -0
  216. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +29 -0
  217. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +186 -0
  218. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +197 -0
  219. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +114 -0
  220. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +58 -0
  221. package/esm2022/lib/components/labels/elder-labels.module.mjs +30 -0
  222. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +229 -0
  223. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +273 -0
  224. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +91 -0
  225. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +64 -0
  226. package/esm2022/lib/components/measures/elder-measures.module.mjs +140 -0
  227. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +41 -0
  228. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +73 -0
  229. package/esm2022/lib/components/measures/elder-unit.service.mjs +115 -0
  230. package/esm2022/lib/components/measures/model/unit-registry.mjs +81 -0
  231. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +33 -0
  232. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +176 -0
  233. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +87 -0
  234. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +76 -0
  235. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +237 -0
  236. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +164 -0
  237. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +55 -0
  238. package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +37 -0
  239. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +53 -0
  240. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +127 -0
  241. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +161 -0
  242. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +68 -0
  243. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +46 -0
  244. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +76 -0
  245. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +68 -0
  246. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +66 -0
  247. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +39 -0
  248. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +85 -0
  249. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +43 -0
  250. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +72 -0
  251. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +204 -0
  252. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +41 -0
  253. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +12 -0
  254. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +12 -0
  255. package/esm2022/lib/components/panels/elder-panel.module.mjs +58 -0
  256. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +26 -0
  257. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +69 -0
  258. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +68 -0
  259. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +62 -0
  260. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +17 -0
  261. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +77 -0
  262. package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +62 -0
  263. package/esm2022/lib/components/select/elder-select-base.mjs +284 -0
  264. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +45 -0
  265. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +133 -0
  266. package/esm2022/lib/components/select/elder-select-value.directive.mjs +15 -0
  267. package/esm2022/lib/components/select/elder-select.module.mjs +146 -0
  268. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +350 -0
  269. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +287 -0
  270. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +91 -0
  271. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +86 -0
  272. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +126 -0
  273. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +47 -0
  274. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +57 -0
  275. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +443 -0
  276. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +45 -0
  277. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +149 -0
  278. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +48 -0
  279. package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +60 -0
  280. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +117 -0
  281. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +128 -0
  282. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +46 -0
  283. package/esm2022/lib/components/shell/elder-shell.module.mjs +96 -0
  284. package/esm2022/lib/components/shell/elder-shell.service.mjs +145 -0
  285. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +73 -0
  286. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +209 -0
  287. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +137 -0
  288. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +25 -0
  289. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +256 -0
  290. package/esm2022/lib/components/tabs/elder-tab.module.mjs +32 -0
  291. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +62 -0
  292. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +74 -0
  293. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +74 -0
  294. package/esm2022/lib/components/theme/elder-theme.directive.mjs +61 -0
  295. package/esm2022/lib/components/theme/elder-theme.module.mjs +74 -0
  296. package/esm2022/lib/components/theme/elder-theme.service.mjs +123 -0
  297. package/esm2022/lib/components/theme/known-elder-themes.mjs +6 -0
  298. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +23 -0
  299. package/esm2022/lib/components/time/duration/duration-format.mjs +271 -0
  300. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +122 -0
  301. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +89 -0
  302. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +108 -0
  303. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +173 -0
  304. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +264 -0
  305. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +95 -0
  306. package/esm2022/lib/components/time/elder-time.module.mjs +120 -0
  307. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +131 -0
  308. package/esm2022/lib/components/time/period/period-format.mjs +89 -0
  309. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +38 -0
  310. package/esm2022/lib/components/toasts/elder-toast.module.mjs +23 -0
  311. package/esm2022/lib/components/toasts/elder-toast.service.mjs +171 -0
  312. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +74 -0
  313. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +54 -0
  314. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +84 -0
  315. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +65 -0
  316. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +25 -0
  317. package/esm2022/lib/features/event-source/elder-event-source.service.mjs +56 -0
  318. package/esm2022/lib/features/event-source/reactive-event-source.mjs +198 -0
  319. package/esm2022/lib/features/kafent/access-token-provider.mjs +20 -0
  320. package/esm2022/lib/features/kafent/kafent-config.mjs +24 -0
  321. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +25 -0
  322. package/esm2022/lib/features/kafent/kafent-event.service.mjs +107 -0
  323. package/esm2022/lib/features/kafent/kafent.module.mjs +61 -0
  324. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +128 -0
  325. package/esm2022/lib/pipes/bytes.pipe.mjs +24 -0
  326. package/esm2022/lib/pipes/elder-pipes.module.mjs +67 -0
  327. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +21 -0
  328. package/esm2022/lib/pipes/elder-round.pipe.mjs +35 -0
  329. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +20 -0
  330. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +40 -0
  331. package/esm2022/lib/pipes/iso-duration.pipe.mjs +58 -0
  332. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +49 -0
  333. package/esm2022/lib/pipes/iso-interval.pipe.mjs +110 -0
  334. package/esm2022/lib/pipes/time-ago.pipe.mjs +104 -0
  335. package/esm2022/lib/pipes/time-duration.pipe.mjs +98 -0
  336. package/esm2022/lib/pipes/weight.pipe.mjs +56 -0
  337. package/fesm2022/elderbyte-ngx-starter.mjs +30269 -0
  338. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -0
  339. package/lib/common/data/field-comparator.d.ts +1 -1
  340. package/lib/common/forms/elder-form-field-control-base.directive.d.ts +1 -1
  341. package/lib/common/forms/elder-from-field-base.d.ts +1 -1
  342. package/lib/common/forms/elder-from-field-customizable-base.d.ts +1 -1
  343. package/lib/common/forms/form-field-base.component.d.ts +1 -1
  344. package/lib/common/forms/template-composite-control.d.ts +1 -1
  345. package/lib/common/forms/value-accessor-base.d.ts +1 -1
  346. package/lib/common/i18n/entity/language-tag.d.ts +1 -1
  347. package/lib/common/i18n/entity/translated.d.ts +1 -1
  348. package/lib/common/json-map.d.ts +1 -1
  349. package/lib/common/selection/selection-model.d.ts +1 -1
  350. package/lib/common/theme-sizes.d.ts +1 -1
  351. package/lib/common/time/date-util.d.ts +1 -1
  352. package/lib/common/time/interval.d.ts +1 -1
  353. package/lib/components/auditing/audited-entity/elder-audited-entity.component.d.ts +1 -1
  354. package/lib/components/badge/elder-badge/elder-badge.component.d.ts +1 -1
  355. package/lib/components/badge/elder-badge.directive.d.ts +1 -1
  356. package/lib/components/card-organizer/card-organizer/elder-card-organizer.component.d.ts +1 -1
  357. package/lib/components/card-organizer/card-stack/elder-card-stack.component.d.ts +1 -1
  358. package/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.d.ts +1 -1
  359. package/lib/components/cards/elder-card/elder-card.component.d.ts +3 -3
  360. package/lib/components/chips/elder-chip-label.directive.d.ts +4 -4
  361. package/lib/components/containers/elder-scroll-container/elder-scroll-container.component.d.ts +2 -2
  362. package/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.d.ts +1 -1
  363. package/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.d.ts +1 -1
  364. package/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.d.ts +1 -1
  365. package/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.d.ts +1 -1
  366. package/lib/components/data-view/base/elder-data-view-base.d.ts +1 -1
  367. package/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.d.ts +1 -1
  368. package/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.d.ts +3 -3
  369. package/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.d.ts +1 -1
  370. package/lib/components/data-view/common/selection/data-context-selection.directive.d.ts +1 -1
  371. package/lib/components/data-view/elder-data-view-interaction-mode.d.ts +1 -1
  372. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +1 -1
  373. package/lib/components/data-view/master-detail/elder-master-detail-mode.d.ts +1 -1
  374. package/lib/components/data-view/master-detail/elder-master-detail.component.d.ts +1 -1
  375. package/lib/components/data-view/table/activation/elder-delete-active.directive.d.ts +1 -1
  376. package/lib/components/data-view/table/activation/elder-table-activation-options.d.ts +2 -2
  377. package/lib/components/data-view/table/activation/elder-table-activation.directive.d.ts +1 -1
  378. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +1 -1
  379. package/lib/components/data-view/table/elder-table-extension.directive.d.ts +1 -1
  380. package/lib/components/data-view/table/elder-table-row.directive.d.ts +1 -1
  381. package/lib/components/data-view/table/model/elder-column-layout.d.ts +1 -1
  382. package/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.d.ts +1 -1
  383. package/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.d.ts +1 -1
  384. package/lib/components/errors/exception-detail/elder-exception-detail.component.d.ts +1 -1
  385. package/lib/components/expand-toggle-button/elder-expand-toggle-button.component.d.ts +1 -1
  386. package/lib/components/files/blob-viewer/elder-blob-viewer.component.d.ts +1 -1
  387. package/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.d.ts +1 -1
  388. package/lib/components/files/elder-file-drop-zone.directive.d.ts +1 -1
  389. package/lib/components/files/elder-file-select.directive.d.ts +1 -1
  390. package/lib/components/files/file-select/file-select.component.d.ts +1 -1
  391. package/lib/components/files/file-upload/file-upload.component.d.ts +1 -1
  392. package/lib/components/forms/directives/elder-clipboard-put.directive.d.ts +1 -1
  393. package/lib/components/forms/directives/elder-delayed-focus.directive.d.ts +1 -1
  394. package/lib/components/forms/directives/elder-form-field-dense.directive.d.ts +1 -1
  395. package/lib/components/forms/directives/elder-form-field-label.directive.d.ts +1 -1
  396. package/lib/components/forms/directives/elder-form-field-no-hint.directive.d.ts +1 -1
  397. package/lib/components/forms/directives/elder-form-field-no-spinner.directive.d.ts +1 -1
  398. package/lib/components/forms/directives/elder-input-pattern.directive.d.ts +1 -1
  399. package/lib/components/forms/directives/elder-key-event.directive.d.ts +1 -1
  400. package/lib/components/forms/directives/elder-next-focusable.directive.d.ts +1 -1
  401. package/lib/components/forms/directives/elder-tab-focus-trap.directive.d.ts +1 -1
  402. package/lib/components/forms/directives/validation/validators/elder-max.validator.d.ts +1 -1
  403. package/lib/components/forms/directives/validation/validators/elder-min.validator.d.ts +1 -1
  404. package/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.d.ts +1 -1
  405. package/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.d.ts +1 -1
  406. package/lib/components/forms/search/elder-search-context.directive.d.ts +1 -1
  407. package/lib/components/forms/search/elder-search-input.directive.d.ts +1 -1
  408. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +1 -1
  409. package/lib/components/global-search/elder-global-search.component.d.ts +1 -1
  410. package/lib/components/graph/elder-progress-bar/elder-progress-bar.component.d.ts +1 -1
  411. package/lib/components/headers/elder-header/elder-header.component.d.ts +1 -1
  412. package/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.d.ts +1 -1
  413. package/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.d.ts +1 -1
  414. package/lib/components/i18n/entities/elder-localized-text-column.directive.d.ts +1 -1
  415. package/lib/components/i18n/language/language-switcher/elder-language-switcher.component.d.ts +1 -1
  416. package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +1 -1
  417. package/lib/components/iframes/iframe-close.directive.d.ts +1 -1
  418. package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +2 -2
  419. package/lib/components/iframes/typed-event-message.d.ts +1 -1
  420. package/lib/components/infinitescroll/elder-infinite-scroll.directive.d.ts +1 -1
  421. package/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.d.ts +2 -2
  422. package/lib/components/input/autocomplete/elder-autocomplete-many.directive.d.ts +1 -1
  423. package/lib/components/input/autocomplete/elder-autocomplete.directive.d.ts +1 -1
  424. package/lib/components/labels/labels-input/labels-input.component.d.ts +1 -1
  425. package/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.d.ts +2 -2
  426. package/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.d.ts +1 -1
  427. package/lib/components/measures/directives/elder-unit-select.directive.d.ts +1 -1
  428. package/lib/components/measures/model/unit.d.ts +1 -1
  429. package/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.d.ts +1 -1
  430. package/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.d.ts +1 -1
  431. package/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.d.ts +1 -1
  432. package/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.d.ts +1 -1
  433. package/lib/components/navigation/nav/nav-group/elder-nav-group.component.d.ts +1 -1
  434. package/lib/components/navigation/nav/nav-link/elder-nav-link.component.d.ts +1 -1
  435. package/lib/components/navigation/nav/nav-list/elder-nav-list.component.d.ts +1 -1
  436. package/lib/components/navigation/toolbar/elder-toolbar-column.directive.d.ts +1 -1
  437. package/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.d.ts +1 -1
  438. package/lib/components/navigation/toolbar/toolbar-column-position.d.ts +1 -1
  439. package/lib/components/overlays/elder-overlay-origin.directive.d.ts +1 -1
  440. package/lib/components/overlays/elder-overlay-trigger.directive.d.ts +1 -1
  441. package/lib/components/overlays/elder-overlay.component.d.ts +1 -1
  442. package/lib/components/panels/flat/elder-panel.component.d.ts +1 -1
  443. package/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.d.ts +1 -1
  444. package/lib/components/scrollbar/elder-scrollbar.directive.d.ts +1 -1
  445. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +1 -1
  446. package/lib/components/select/elder-select-base.d.ts +2 -2
  447. package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
  448. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +1 -1
  449. package/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.d.ts +1 -1
  450. package/lib/components/select/popup/selection-model-popup.directive.d.ts +1 -1
  451. package/lib/components/select/single/elder-select/elder-select.component.d.ts +1 -1
  452. package/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.d.ts +1 -1
  453. package/lib/components/shell/elder-shell-slot.directive.d.ts +1 -1
  454. package/lib/components/shell/header/elder-app-header/elder-app-header.component.d.ts +1 -1
  455. package/lib/components/shell/shell/elder-shell.component.d.ts +1 -1
  456. package/lib/components/shell/shell-content-slot.d.ts +1 -1
  457. package/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.d.ts +1 -1
  458. package/lib/components/tabs/elder-tab/elder-tab.directive.d.ts +1 -1
  459. package/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.d.ts +1 -1
  460. package/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.d.ts +2 -2
  461. package/lib/components/time/duration/elder-duration-input/elder-duration-input.component.d.ts +1 -1
  462. package/lib/components/time/duration/iso-duration-str.d.ts +1 -1
  463. package/lib/components/time/elder-date-switcher/elder-date-switcher.component.d.ts +1 -1
  464. package/lib/components/time/elder-date-time-input/elder-date-time-input.component.d.ts +1 -1
  465. package/lib/components/time/elder-interval-input/elder-interval-input.component.d.ts +2 -2
  466. package/lib/components/time/elder-local-date-input/elder-local-date-input.component.d.ts +1 -1
  467. package/lib/components/time/elder-local-time-input/elder-local-time-input.component.d.ts +1 -1
  468. package/lib/components/time/period/elder-period-input/elder-period-input.component.d.ts +1 -1
  469. package/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.d.ts +1 -1
  470. package/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.d.ts +1 -1
  471. package/lib/pipes/elder-truncate.pipe.d.ts +1 -1
  472. package/package.json +12 -18
  473. package/esm2020/lib/common/async/refreshing-entity.mjs +0 -86
  474. package/esm2020/lib/common/csv/csv-spec.mjs +0 -99
  475. package/esm2020/lib/common/data/data-context/data-context-auto-starter.mjs +0 -76
  476. package/esm2020/lib/common/data/data-context/data-context-builder.mjs +0 -247
  477. package/esm2020/lib/common/data/data-context/data-context-status.mjs +0 -46
  478. package/esm2020/lib/common/data/data-context/mat-table-data-context-binding.mjs +0 -139
  479. package/esm2020/lib/common/data/datasource/data-source-adapter.mjs +0 -55
  480. package/esm2020/lib/common/data/datasource/data-source-change-event.mjs +0 -24
  481. package/esm2020/lib/common/data/datasource/data-source-processor.mjs +0 -199
  482. package/esm2020/lib/common/data/datasource/fetcher/delegate-data-source.mjs +0 -127
  483. package/esm2020/lib/common/data/datasource/local/local-list-data-source.mjs +0 -141
  484. package/esm2020/lib/common/data/datasource/local/local-paged-data-source.mjs +0 -73
  485. package/esm2020/lib/common/data/entity-set-patch.mjs +0 -164
  486. package/esm2020/lib/common/data/field-comparator.mjs +0 -99
  487. package/esm2020/lib/common/data/http-params-builder.mjs +0 -118
  488. package/esm2020/lib/common/data/sort.mjs +0 -11
  489. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +0 -81
  490. package/esm2020/lib/common/format/bytes-format.mjs +0 -22
  491. package/esm2020/lib/common/forms/elder-form-field-control-base.directive.mjs +0 -181
  492. package/esm2020/lib/common/forms/elder-from-field-base.mjs +0 -94
  493. package/esm2020/lib/common/forms/elder-from-field-customizable-base.mjs +0 -52
  494. package/esm2020/lib/common/forms/elder-from-field-entity-base.mjs +0 -39
  495. package/esm2020/lib/common/forms/elder-from-field-multi-entity-base.mjs +0 -47
  496. package/esm2020/lib/common/forms/form-field-base.component.mjs +0 -112
  497. package/esm2020/lib/common/forms/multi-model-base.component.mjs +0 -32
  498. package/esm2020/lib/common/forms/template-composite-control.mjs +0 -133
  499. package/esm2020/lib/common/forms/value-accessor-base.mjs +0 -146
  500. package/esm2020/lib/common/forms/view-providers.mjs +0 -30
  501. package/esm2020/lib/common/http/http-client-builder.service.mjs +0 -14
  502. package/esm2020/lib/common/http/http-client-pristine.mjs +0 -21
  503. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +0 -95
  504. package/esm2020/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +0 -49
  505. package/esm2020/lib/common/http/transfer/data-transfer-progress.mjs +0 -17
  506. package/esm2020/lib/common/http/transfer/data-transfer-state.mjs +0 -82
  507. package/esm2020/lib/common/http/transfer/http-data-transfer.mjs +0 -132
  508. package/esm2020/lib/common/i18n/entity/impl/i18n-text.mjs +0 -16
  509. package/esm2020/lib/common/i18n/entity/locale.mjs +0 -12
  510. package/esm2020/lib/common/i18n/entity/localisation-picker.mjs +0 -30
  511. package/esm2020/lib/common/objects.mjs +0 -41
  512. package/esm2020/lib/common/selection/selection-model.mjs +0 -212
  513. package/esm2020/lib/common/suggestion-provider.mjs +0 -12
  514. package/esm2020/lib/common/time/date-util.mjs +0 -93
  515. package/esm2020/lib/common/time/time-util.mjs +0 -41
  516. package/esm2020/lib/common/url/elder-router.service.mjs +0 -54
  517. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +0 -119
  518. package/esm2020/lib/common/url/url-query-params.mjs +0 -133
  519. package/esm2020/lib/common/utils/collection-util.mjs +0 -109
  520. package/esm2020/lib/common/utils/filter-util.mjs +0 -52
  521. package/esm2020/lib/common/utils/focus-util.mjs +0 -23
  522. package/esm2020/lib/common/utils/query-list-binding.mjs +0 -67
  523. package/esm2020/lib/common/utils/url-builder.mjs +0 -275
  524. package/esm2020/lib/common/utils/value-wrapper.mjs +0 -19
  525. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +0 -16
  526. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +0 -30
  527. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +0 -39
  528. package/esm2020/lib/components/auditing/elder-audit.module.mjs +0 -42
  529. package/esm2020/lib/components/badge/elder-badge/elder-badge.component.mjs +0 -39
  530. package/esm2020/lib/components/badge/elder-badge.directive.mjs +0 -48
  531. package/esm2020/lib/components/badge/elder-badge.module.mjs +0 -40
  532. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +0 -15
  533. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +0 -35
  534. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +0 -123
  535. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +0 -15
  536. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +0 -211
  537. package/esm2020/lib/components/card-organizer/card-stack.mjs +0 -176
  538. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +0 -49
  539. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +0 -17
  540. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +0 -145
  541. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +0 -66
  542. package/esm2020/lib/components/chips/elder-chip-label.directive.mjs +0 -170
  543. package/esm2020/lib/components/chips/elder-chips.module.mjs +0 -48
  544. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +0 -56
  545. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +0 -63
  546. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +0 -46
  547. package/esm2020/lib/components/containers/elder-containers.module.mjs +0 -25
  548. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +0 -24
  549. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +0 -77
  550. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +0 -38
  551. package/esm2020/lib/components/csv/elder-csv-stream-exporter.mjs +0 -114
  552. package/esm2020/lib/components/csv/elder-csv.module.mjs +0 -37
  553. package/esm2020/lib/components/currency/elder-currency.module.mjs +0 -24
  554. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +0 -33
  555. package/esm2020/lib/components/currency/model/currency-unit.mjs +0 -10
  556. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +0 -76
  557. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +0 -91
  558. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +0 -91
  559. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +0 -34
  560. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +0 -47
  561. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +0 -26
  562. package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +0 -67
  563. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +0 -266
  564. package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +0 -45
  565. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +0 -45
  566. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +0 -90
  567. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +0 -137
  568. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +0 -89
  569. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +0 -98
  570. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +0 -38
  571. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +0 -307
  572. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +0 -82
  573. package/esm2020/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +0 -69
  574. package/esm2020/lib/components/data-view/master-detail/elder-detail.directive.mjs +0 -49
  575. package/esm2020/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +0 -76
  576. package/esm2020/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +0 -20
  577. package/esm2020/lib/components/data-view/master-detail/elder-master-detail.component.mjs +0 -125
  578. package/esm2020/lib/components/data-view/master-detail/elder-master-detail.module.mjs +0 -116
  579. package/esm2020/lib/components/data-view/master-detail/elder-master-detail.service.mjs +0 -88
  580. package/esm2020/lib/components/data-view/master-detail/elder-master.directive.mjs +0 -22
  581. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +0 -19
  582. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +0 -78
  583. package/esm2020/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +0 -113
  584. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +0 -299
  585. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +0 -29
  586. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +0 -72
  587. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +0 -18
  588. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +0 -325
  589. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +0 -17
  590. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +0 -96
  591. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +0 -29
  592. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +0 -153
  593. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +0 -20
  594. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +0 -146
  595. package/esm2020/lib/components/data-view/table/model/elder-column-layout.mjs +0 -110
  596. package/esm2020/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +0 -81
  597. package/esm2020/lib/components/data-view/table/model/elder-table-model-provider.mjs +0 -40
  598. package/esm2020/lib/components/data-view/table/model/elder-table-model-query-group.mjs +0 -87
  599. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +0 -165
  600. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +0 -25
  601. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +0 -64
  602. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +0 -202
  603. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +0 -43
  604. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +0 -43
  605. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +0 -46
  606. package/esm2020/lib/components/errors/elder-error.module.mjs +0 -41
  607. package/esm2020/lib/components/errors/error-util.mjs +0 -94
  608. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +0 -66
  609. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +0 -55
  610. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +0 -28
  611. package/esm2020/lib/components/files/blob-url.mjs +0 -10
  612. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +0 -225
  613. package/esm2020/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +0 -43
  614. package/esm2020/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +0 -84
  615. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +0 -144
  616. package/esm2020/lib/components/files/elder-file-select.directive.mjs +0 -166
  617. package/esm2020/lib/components/files/elder-file.module.mjs +0 -77
  618. package/esm2020/lib/components/files/file-select/file-select.component.mjs +0 -55
  619. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +0 -67
  620. package/esm2020/lib/components/files/listing/file-entry.mjs +0 -76
  621. package/esm2020/lib/components/files/listing/file-listing-rx.mjs +0 -104
  622. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +0 -51
  623. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +0 -34
  624. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +0 -35
  625. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +0 -42
  626. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +0 -82
  627. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +0 -83
  628. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +0 -41
  629. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +0 -34
  630. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +0 -132
  631. package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +0 -77
  632. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +0 -111
  633. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +0 -101
  634. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +0 -36
  635. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +0 -29
  636. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +0 -157
  637. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +0 -27
  638. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +0 -108
  639. package/esm2020/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +0 -85
  640. package/esm2020/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +0 -47
  641. package/esm2020/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +0 -48
  642. package/esm2020/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +0 -55
  643. package/esm2020/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +0 -40
  644. package/esm2020/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +0 -40
  645. package/esm2020/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +0 -96
  646. package/esm2020/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +0 -68
  647. package/esm2020/lib/components/forms/elder-forms.module.mjs +0 -22
  648. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +0 -146
  649. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +0 -185
  650. package/esm2020/lib/components/forms/search/elder-search.module.mjs +0 -66
  651. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +0 -125
  652. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +0 -16
  653. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +0 -126
  654. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +0 -32
  655. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +0 -93
  656. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +0 -90
  657. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +0 -26
  658. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +0 -28
  659. package/esm2020/lib/components/headers/elder-header.module.mjs +0 -43
  660. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +0 -68
  661. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +0 -123
  662. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +0 -144
  663. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +0 -29
  664. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +0 -30
  665. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +0 -152
  666. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +0 -28
  667. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +0 -56
  668. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +0 -39
  669. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +0 -30
  670. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +0 -74
  671. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +0 -69
  672. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +0 -72
  673. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +0 -121
  674. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +0 -65
  675. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +0 -53
  676. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +0 -130
  677. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +0 -138
  678. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +0 -103
  679. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +0 -41
  680. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +0 -51
  681. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +0 -136
  682. package/esm2020/lib/components/iframes/iframe-messages.mjs +0 -5
  683. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +0 -78
  684. package/esm2020/lib/components/iframes/iframe.service.mjs +0 -52
  685. package/esm2020/lib/components/iframes/typed-event-message.mjs +0 -42
  686. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +0 -61
  687. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +0 -158
  688. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +0 -29
  689. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +0 -186
  690. package/esm2020/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +0 -197
  691. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +0 -114
  692. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +0 -58
  693. package/esm2020/lib/components/labels/elder-labels.module.mjs +0 -30
  694. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +0 -229
  695. package/esm2020/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +0 -273
  696. package/esm2020/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +0 -91
  697. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +0 -64
  698. package/esm2020/lib/components/measures/elder-measures.module.mjs +0 -140
  699. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +0 -41
  700. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +0 -73
  701. package/esm2020/lib/components/measures/elder-unit.service.mjs +0 -115
  702. package/esm2020/lib/components/measures/model/unit-registry.mjs +0 -81
  703. package/esm2020/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +0 -33
  704. package/esm2020/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +0 -176
  705. package/esm2020/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +0 -87
  706. package/esm2020/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +0 -76
  707. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +0 -237
  708. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +0 -164
  709. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +0 -55
  710. package/esm2020/lib/components/navigation/bread-crumbs/path/path.mjs +0 -37
  711. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +0 -53
  712. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +0 -127
  713. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +0 -161
  714. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +0 -68
  715. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +0 -46
  716. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +0 -76
  717. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +0 -68
  718. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +0 -66
  719. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +0 -39
  720. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +0 -85
  721. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +0 -43
  722. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +0 -72
  723. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +0 -204
  724. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +0 -41
  725. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +0 -12
  726. package/esm2020/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +0 -12
  727. package/esm2020/lib/components/panels/elder-panel.module.mjs +0 -58
  728. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +0 -26
  729. package/esm2020/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +0 -69
  730. package/esm2020/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +0 -68
  731. package/esm2020/lib/components/scrollbar/elder-scrollbar.directive.mjs +0 -62
  732. package/esm2020/lib/components/scrollbar/elder-scrollbar.module.mjs +0 -17
  733. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +0 -77
  734. package/esm2020/lib/components/select/auto/elder-select-first-util.mjs +0 -62
  735. package/esm2020/lib/components/select/elder-select-base.mjs +0 -284
  736. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +0 -45
  737. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +0 -133
  738. package/esm2020/lib/components/select/elder-select-value.directive.mjs +0 -15
  739. package/esm2020/lib/components/select/elder-select.module.mjs +0 -146
  740. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +0 -350
  741. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +0 -287
  742. package/esm2020/lib/components/select/multi/elder-multi-select-form-field.mjs +0 -91
  743. package/esm2020/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +0 -86
  744. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +0 -126
  745. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +0 -47
  746. package/esm2020/lib/components/select/single/elder-clear-select.directive.mjs +0 -57
  747. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +0 -443
  748. package/esm2020/lib/components/select/single/elder-select-form-field.mjs +0 -45
  749. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +0 -149
  750. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +0 -48
  751. package/esm2020/lib/components/shell/drawers/drawer-outlet-binding.mjs +0 -60
  752. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +0 -117
  753. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +0 -128
  754. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +0 -46
  755. package/esm2020/lib/components/shell/elder-shell.module.mjs +0 -96
  756. package/esm2020/lib/components/shell/elder-shell.service.mjs +0 -145
  757. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +0 -73
  758. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +0 -209
  759. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +0 -137
  760. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +0 -25
  761. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +0 -256
  762. package/esm2020/lib/components/tabs/elder-tab.module.mjs +0 -32
  763. package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +0 -62
  764. package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +0 -74
  765. package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +0 -74
  766. package/esm2020/lib/components/theme/elder-theme.directive.mjs +0 -61
  767. package/esm2020/lib/components/theme/elder-theme.module.mjs +0 -74
  768. package/esm2020/lib/components/theme/elder-theme.service.mjs +0 -123
  769. package/esm2020/lib/components/theme/known-elder-themes.mjs +0 -6
  770. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +0 -23
  771. package/esm2020/lib/components/time/duration/duration-format.mjs +0 -271
  772. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +0 -122
  773. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +0 -89
  774. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +0 -108
  775. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +0 -173
  776. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +0 -264
  777. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +0 -95
  778. package/esm2020/lib/components/time/elder-time.module.mjs +0 -120
  779. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +0 -131
  780. package/esm2020/lib/components/time/period/period-format.mjs +0 -89
  781. package/esm2020/lib/components/time/pipes/to-iso-date-string.pipe.mjs +0 -38
  782. package/esm2020/lib/components/toasts/elder-toast.module.mjs +0 -23
  783. package/esm2020/lib/components/toasts/elder-toast.service.mjs +0 -171
  784. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +0 -74
  785. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +0 -54
  786. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +0 -84
  787. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +0 -65
  788. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +0 -25
  789. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +0 -56
  790. package/esm2020/lib/features/event-source/reactive-event-source.mjs +0 -198
  791. package/esm2020/lib/features/kafent/access-token-provider.mjs +0 -20
  792. package/esm2020/lib/features/kafent/kafent-config.mjs +0 -24
  793. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +0 -25
  794. package/esm2020/lib/features/kafent/kafent-event.service.mjs +0 -107
  795. package/esm2020/lib/features/kafent/kafent.module.mjs +0 -61
  796. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +0 -128
  797. package/esm2020/lib/pipes/bytes.pipe.mjs +0 -24
  798. package/esm2020/lib/pipes/elder-pipes.module.mjs +0 -67
  799. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +0 -21
  800. package/esm2020/lib/pipes/elder-round.pipe.mjs +0 -35
  801. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +0 -20
  802. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +0 -40
  803. package/esm2020/lib/pipes/iso-duration.pipe.mjs +0 -58
  804. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +0 -49
  805. package/esm2020/lib/pipes/iso-interval.pipe.mjs +0 -110
  806. package/esm2020/lib/pipes/time-ago.pipe.mjs +0 -104
  807. package/esm2020/lib/pipes/time-duration.pipe.mjs +0 -98
  808. package/esm2020/lib/pipes/weight.pipe.mjs +0 -56
  809. package/fesm2015/elderbyte-ngx-starter.mjs +0 -30444
  810. package/fesm2015/elderbyte-ngx-starter.mjs.map +0 -1
  811. package/fesm2020/elderbyte-ngx-starter.mjs +0 -30270
  812. package/fesm2020/elderbyte-ngx-starter.mjs.map +0 -1
  813. /package/{esm2020 → esm2022}/elderbyte-ngx-starter.mjs +0 -0
  814. /package/{esm2020 → esm2022}/lib/common/arrays.mjs +0 -0
  815. /package/{esm2020 → esm2022}/lib/common/async/public_api.mjs +0 -0
  816. /package/{esm2020 → esm2022}/lib/common/csv/csv-serializer.mjs +0 -0
  817. /package/{esm2020 → esm2022}/lib/common/csv/public_api.mjs +0 -0
  818. /package/{esm2020 → esm2022}/lib/common/data/continuable-listing.mjs +0 -0
  819. /package/{esm2020 → esm2022}/lib/common/data/data-context/data-context-active-page.mjs +0 -0
  820. /package/{esm2020 → esm2022}/lib/common/data/data-context/data-context-base.mjs +0 -0
  821. /package/{esm2020 → esm2022}/lib/common/data/data-context/data-context-continuable-base.mjs +0 -0
  822. /package/{esm2020 → esm2022}/lib/common/data/data-context/data-context-continuable-paged.mjs +0 -0
  823. /package/{esm2020 → esm2022}/lib/common/data/data-context/data-context-continuable-token.mjs +0 -0
  824. /package/{esm2020 → esm2022}/lib/common/data/data-context/data-context-life-cycle-binding.mjs +0 -0
  825. /package/{esm2020 → esm2022}/lib/common/data/data-context/data-context-simple.mjs +0 -0
  826. /package/{esm2020 → esm2022}/lib/common/data/data-context/data-context-source-event-binding.mjs +0 -0
  827. /package/{esm2020 → esm2022}/lib/common/data/data-context/data-context.mjs +0 -0
  828. /package/{esm2020 → esm2022}/lib/common/data/data-context/indexed-entities.mjs +0 -0
  829. /package/{esm2020 → esm2022}/lib/common/data/data-context/public_api.mjs +0 -0
  830. /package/{esm2020 → esm2022}/lib/common/data/datasource/data-source-base.mjs +0 -0
  831. /package/{esm2020 → esm2022}/lib/common/data/datasource/data-source.mjs +0 -0
  832. /package/{esm2020 → esm2022}/lib/common/data/datasource/entity-id-util.mjs +0 -0
  833. /package/{esm2020 → esm2022}/lib/common/data/datasource/public_api.mjs +0 -0
  834. /package/{esm2020 → esm2022}/lib/common/data/datasource/rest/public_api.mjs +0 -0
  835. /package/{esm2020 → esm2022}/lib/common/data/datasource/rest/rest-client.mjs +0 -0
  836. /package/{esm2020 → esm2022}/lib/common/data/filters/filter-context.mjs +0 -0
  837. /package/{esm2020 → esm2022}/lib/common/data/filters/filter.mjs +0 -0
  838. /package/{esm2020 → esm2022}/lib/common/data/page.mjs +0 -0
  839. /package/{esm2020 → esm2022}/lib/common/data/public_api.mjs +0 -0
  840. /package/{esm2020 → esm2022}/lib/common/data/required-filter-evaluator.mjs +0 -0
  841. /package/{esm2020 → esm2022}/lib/common/data/sort-context.mjs +0 -0
  842. /package/{esm2020 → esm2022}/lib/common/data/token-chunk-request.mjs +0 -0
  843. /package/{esm2020 → esm2022}/lib/common/enums/public_api.mjs +0 -0
  844. /package/{esm2020 → esm2022}/lib/common/errors/exception-detail.mjs +0 -0
  845. /package/{esm2020 → esm2022}/lib/common/errors/public_api.mjs +0 -0
  846. /package/{esm2020 → esm2022}/lib/common/errors/standard-error-detail.mjs +0 -0
  847. /package/{esm2020 → esm2022}/lib/common/format/bytes-per-second-format.mjs +0 -0
  848. /package/{esm2020 → esm2022}/lib/common/format/public_api.mjs +0 -0
  849. /package/{esm2020 → esm2022}/lib/common/forms/elder-entity-value-accessor.mjs +0 -0
  850. /package/{esm2020 → esm2022}/lib/common/forms/elder-multi-entity-value-accessor.mjs +0 -0
  851. /package/{esm2020 → esm2022}/lib/common/forms/public_api.mjs +0 -0
  852. /package/{esm2020 → esm2022}/lib/common/http/public_api.mjs +0 -0
  853. /package/{esm2020 → esm2022}/lib/common/http/transfer/data-transfer-base.mjs +0 -0
  854. /package/{esm2020 → esm2022}/lib/common/http/transfer/data-transfer-status.mjs +0 -0
  855. /package/{esm2020 → esm2022}/lib/common/http/transfer/data-transfer.mjs +0 -0
  856. /package/{esm2020 → esm2022}/lib/common/http/transfer/public_api.mjs +0 -0
  857. /package/{esm2020 → esm2022}/lib/common/http/upload/file-upload-client.mjs +0 -0
  858. /package/{esm2020 → esm2022}/lib/common/i18n/entity/impl/i18n-base.mjs +0 -0
  859. /package/{esm2020 → esm2022}/lib/common/i18n/entity/impl/translated.mjs +0 -0
  860. /package/{esm2020 → esm2022}/lib/common/i18n/entity/language-tag.mjs +0 -0
  861. /package/{esm2020 → esm2022}/lib/common/i18n/entity/localized.mjs +0 -0
  862. /package/{esm2020 → esm2022}/lib/common/i18n/entity/public_api.mjs +0 -0
  863. /package/{esm2020 → esm2022}/lib/common/i18n/entity/translated-converter.mjs +0 -0
  864. /package/{esm2020 → esm2022}/lib/common/i18n/entity/translated.mjs +0 -0
  865. /package/{esm2020 → esm2022}/lib/common/i18n/public_api.mjs +0 -0
  866. /package/{esm2020 → esm2022}/lib/common/json-map.mjs +0 -0
  867. /package/{esm2020 → esm2022}/lib/common/public_api.mjs +0 -0
  868. /package/{esm2020 → esm2022}/lib/common/reactive-map.mjs +0 -0
  869. /package/{esm2020 → esm2022}/lib/common/rxjs/operators/lazy-sample.mjs +0 -0
  870. /package/{esm2020 → esm2022}/lib/common/rxjs/public_api.mjs +0 -0
  871. /package/{esm2020 → esm2022}/lib/common/selection/public_api.mjs +0 -0
  872. /package/{esm2020 → esm2022}/lib/common/sets.mjs +0 -0
  873. /package/{esm2020 → esm2022}/lib/common/templates/template-slot-manager.mjs +0 -0
  874. /package/{esm2020 → esm2022}/lib/common/theme-sizes.mjs +0 -0
  875. /package/{esm2020 → esm2022}/lib/common/time/interval.mjs +0 -0
  876. /package/{esm2020 → esm2022}/lib/common/time/period-duration.mjs +0 -0
  877. /package/{esm2020 → esm2022}/lib/common/time/public_api.mjs +0 -0
  878. /package/{esm2020 → esm2022}/lib/common/url/public_api.mjs +0 -0
  879. /package/{esm2020 → esm2022}/lib/common/utils/batcher.mjs +0 -0
  880. /package/{esm2020 → esm2022}/lib/common/utils/next-number-util.mjs +0 -0
  881. /package/{esm2020 → esm2022}/lib/common/utils/ng-zone-utils.mjs +0 -0
  882. /package/{esm2020 → esm2022}/lib/common/utils/parse-util.mjs +0 -0
  883. /package/{esm2020 → esm2022}/lib/common/utils/property-path-util.mjs +0 -0
  884. /package/{esm2020 → esm2022}/lib/common/utils/public_api.mjs +0 -0
  885. /package/{esm2020 → esm2022}/lib/common/utils/sort-util.mjs +0 -0
  886. /package/{esm2020 → esm2022}/lib/common/utils/uuid-util.mjs +0 -0
  887. /package/{esm2020 → esm2022}/lib/components/auditing/i-audited-entity.mjs +0 -0
  888. /package/{esm2020 → esm2022}/lib/components/card-organizer/card-organizer-data.mjs +0 -0
  889. /package/{esm2020 → esm2022}/lib/components/connectivity/public_api.mjs +0 -0
  890. /package/{esm2020 → esm2022}/lib/components/containers/public_api.mjs +0 -0
  891. /package/{esm2020 → esm2022}/lib/components/csv/elder-csv-stream-exporter-builder.mjs +0 -0
  892. /package/{esm2020 → esm2022}/lib/components/currency/model/currency-code.mjs +0 -0
  893. /package/{esm2020 → esm2022}/lib/components/currency/model/currency-unit-registry.mjs +0 -0
  894. /package/{esm2020 → esm2022}/lib/components/currency/model/currency.mjs +0 -0
  895. /package/{esm2020 → esm2022}/lib/components/currency/public_api.mjs +0 -0
  896. /package/{esm2020 → esm2022}/lib/components/data-view/base/elder-data-view-options-provider.mjs +0 -0
  897. /package/{esm2020 → esm2022}/lib/components/data-view/base/elder-data-view.mjs +0 -0
  898. /package/{esm2020 → esm2022}/lib/components/data-view/base/public_api.mjs +0 -0
  899. /package/{esm2020 → esm2022}/lib/components/data-view/common/selection/master-selection-state.mjs +0 -0
  900. /package/{esm2020 → esm2022}/lib/components/data-view/elder-data-view-interaction-mode.mjs +0 -0
  901. /package/{esm2020 → esm2022}/lib/components/data-view/master-detail/elder-master-detail-mode.mjs +0 -0
  902. /package/{esm2020 → esm2022}/lib/components/data-view/master-detail/master-detail-activation-event.mjs +0 -0
  903. /package/{esm2020 → esm2022}/lib/components/data-view/public_api.mjs +0 -0
  904. /package/{esm2020 → esm2022}/lib/components/data-view/table/activation/activation-event-source.mjs +0 -0
  905. /package/{esm2020 → esm2022}/lib/components/data-view/table/activation/elder-activation-context.mjs +0 -0
  906. /package/{esm2020 → esm2022}/lib/components/data-view/table/activation/elder-table-activation-options.mjs +0 -0
  907. /package/{esm2020 → esm2022}/lib/components/data-view/table/activation/item-activation-event.mjs +0 -0
  908. /package/{esm2020 → esm2022}/lib/components/data-view/table/activation/item-activation-options.mjs +0 -0
  909. /package/{esm2020 → esm2022}/lib/components/data-view/table/activation/public_api.mjs +0 -0
  910. /package/{esm2020 → esm2022}/lib/components/dialogs/elder-dialog-config.mjs +0 -0
  911. /package/{esm2020 → esm2022}/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +0 -0
  912. /package/{esm2020 → esm2022}/lib/components/forms/directives/validation/validation-message-strategy.mjs +0 -0
  913. /package/{esm2020 → esm2022}/lib/components/forms/public_api.mjs +0 -0
  914. /package/{esm2020 → esm2022}/lib/components/forms/search/model/search-input-state.mjs +0 -0
  915. /package/{esm2020 → esm2022}/lib/components/forms/search/model/search-input.mjs +0 -0
  916. /package/{esm2020 → esm2022}/lib/components/graph/elder-progress-bar/sub-bar.mjs +0 -0
  917. /package/{esm2020 → esm2022}/lib/components/graph/public_api.mjs +0 -0
  918. /package/{esm2020 → esm2022}/lib/components/http-support/public_api.mjs +0 -0
  919. /package/{esm2020 → esm2022}/lib/components/i18n/language/elder-language-config.mjs +0 -0
  920. /package/{esm2020 → esm2022}/lib/components/i18n/public_api.mjs +0 -0
  921. /package/{esm2020 → esm2022}/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +0 -0
  922. /package/{esm2020 → esm2022}/lib/components/input/autocomplete/many/word-position-finder.mjs +0 -0
  923. /package/{esm2020 → esm2022}/lib/components/input/public_api.mjs +0 -0
  924. /package/{esm2020 → esm2022}/lib/components/measures/model/dimensions.mjs +0 -0
  925. /package/{esm2020 → esm2022}/lib/components/measures/model/quantity.mjs +0 -0
  926. /package/{esm2020 → esm2022}/lib/components/measures/model/unit-dimension.mjs +0 -0
  927. /package/{esm2020 → esm2022}/lib/components/measures/model/unit.mjs +0 -0
  928. /package/{esm2020 → esm2022}/lib/components/measures/public_api.mjs +0 -0
  929. /package/{esm2020 → esm2022}/lib/components/navigation/public_api.mjs +0 -0
  930. /package/{esm2020 → esm2022}/lib/components/navigation/toolbar/toolbar-column-position.mjs +0 -0
  931. /package/{esm2020 → esm2022}/lib/components/public_api.mjs +0 -0
  932. /package/{esm2020 → esm2022}/lib/components/select/public_api.mjs +0 -0
  933. /package/{esm2020 → esm2022}/lib/components/shell/shell-content-slot.mjs +0 -0
  934. /package/{esm2020 → esm2022}/lib/components/theme/public_api.mjs +0 -0
  935. /package/{esm2020 → esm2022}/lib/components/theme/theme-spec.mjs +0 -0
  936. /package/{esm2020 → esm2022}/lib/components/time/duration/duration-bucket.mjs +0 -0
  937. /package/{esm2020 → esm2022}/lib/components/time/duration/iso-duration-str.mjs +0 -0
  938. /package/{esm2020 → esm2022}/lib/components/time/period/period-bucket.mjs +0 -0
  939. /package/{esm2020 → esm2022}/lib/components/time/public_api.mjs +0 -0
  940. /package/{esm2020 → esm2022}/lib/components/toasts/toast-type.mjs +0 -0
  941. /package/{esm2020 → esm2022}/lib/components/toasts/toast.mjs +0 -0
  942. /package/{esm2020 → esm2022}/lib/components/url-fragment/elder-url-fragment.mjs +0 -0
  943. /package/{esm2020 → esm2022}/lib/features/event-source/public_api.mjs +0 -0
  944. /package/{esm2020 → esm2022}/lib/features/kafent/kafent-event.mjs +0 -0
  945. /package/{esm2020 → esm2022}/lib/features/kafent/kafent-live-event-request.mjs +0 -0
  946. /package/{esm2020 → esm2022}/lib/features/kafent/sse/kafent-topic-sse.mjs +0 -0
  947. /package/{esm2020 → esm2022}/lib/features/public_api.mjs +0 -0
  948. /package/{esm2020 → esm2022}/lib/pipes/public_api.mjs +0 -0
  949. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
@@ -0,0 +1,152 @@
1
+ import { Component, ChangeDetectionStrategy, ContentChildren, Input } from '@angular/core';
2
+ import { LoggerFactory } from '@elderbyte/ts-logger';
3
+ import { FormFieldBaseComponent } from '../../../../common/forms/form-field-base.component';
4
+ import { buildFormIntegrationProviders } from '../../../../common/forms/template-composite-control';
5
+ import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
6
+ import { map, takeUntil } from 'rxjs/operators';
7
+ import { LocalListDataSource } from '../../../../common/data/datasource/local/local-list-data-source';
8
+ import { SortUtil } from '../../../../common/utils/sort-util';
9
+ import { FilterUtil } from '../../../../common/utils/filter-util';
10
+ import { DataContextBuilder } from '../../../../common/data/data-context/data-context-builder';
11
+ import { Sort } from '../../../../common/data/sort';
12
+ import { QueryListBinding } from '../../../../common/utils/query-list-binding';
13
+ import { ElderLocalizedTextColumnDirective } from '../elder-localized-text-column.directive';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "../../../toasts/elder-toast.service";
16
+ import * as i2 from "../../language/elder-language.service";
17
+ import * as i3 from "@angular/common";
18
+ import * as i4 from "@angular/material/table";
19
+ import * as i5 from "@angular/material/sort";
20
+ import * as i6 from "@angular/material/input";
21
+ import * as i7 from "@angular/material/form-field";
22
+ import * as i8 from "@angular/forms";
23
+ import * as i9 from "../../../data-view/table/elder-table/elder-table.component";
24
+ import * as i10 from "../../../data-view/table/elder-table/elder-table-toolbar.directive";
25
+ import * as i11 from "../../../data-view/common/elder-data-toolbar/elder-data-toolbar.component";
26
+ import * as i12 from "@angular/material/chips";
27
+ import * as i13 from "../../../cards/elder-card/elder-card.component";
28
+ import * as i14 from "../../../forms/directives/elder-form-field-dense.directive";
29
+ import * as i15 from "@ngx-translate/core";
30
+ export class ElderLocalizedInputTableComponent extends FormFieldBaseComponent {
31
+ /***************************************************************************
32
+ * *
33
+ * Constructor *
34
+ * *
35
+ **************************************************************************/
36
+ constructor(toastService, languageService) {
37
+ super();
38
+ this.toastService = toastService;
39
+ this.languageService = languageService;
40
+ /***************************************************************************
41
+ * *
42
+ * Fields *
43
+ * *
44
+ **************************************************************************/
45
+ this.log = LoggerFactory.getLogger(this.constructor.name);
46
+ this.textColumns$ = new BehaviorSubject([]);
47
+ this.defaultLanguageTags$ = new BehaviorSubject([]);
48
+ this.dense = false;
49
+ this.float = false;
50
+ this.embedded = false;
51
+ this.destroy$ = new Subject();
52
+ this.defaultLanguageTags = languageService.languages;
53
+ this.dataSource = LocalListDataSource.from([], 'locale', SortUtil.sortData, FilterUtil.filterData);
54
+ const localizables$ = combineLatest([
55
+ this.value$.pipe(map(value => value ?? [])),
56
+ this.defaultLanguageTags$
57
+ ]).pipe(map(([localizables, desiredTags]) => this.ensureDesiredTagsPresent(localizables, desiredTags)));
58
+ localizables$.pipe(takeUntil(this.destroy$)).subscribe(values => this.dataSource.data = values);
59
+ this.data = DataContextBuilder.start()
60
+ .reloadOnLocalChanges()
61
+ .build(this.dataSource);
62
+ }
63
+ /***************************************************************************
64
+ * *
65
+ * Life Cycle *
66
+ * *
67
+ **************************************************************************/
68
+ ngOnInit() {
69
+ this.data.start([new Sort('locale', 'asc')]);
70
+ }
71
+ ngAfterViewInit() {
72
+ QueryListBinding
73
+ .of(this.textColumnsQuery)
74
+ .updated(columns => {
75
+ if (columns?.length > 0) {
76
+ this.textColumns$.next(columns);
77
+ }
78
+ })
79
+ .bindUntil(this.destroy$);
80
+ }
81
+ ngOnDestroy() {
82
+ this.destroy$.next();
83
+ this.destroy$.complete();
84
+ }
85
+ /***************************************************************************
86
+ * *
87
+ * Properties *
88
+ * *
89
+ **************************************************************************/
90
+ set textColumns(cols) {
91
+ this.textColumns$.next(cols);
92
+ }
93
+ set defaultLanguageTags(tags) {
94
+ this.defaultLanguageTags$.next(tags);
95
+ }
96
+ get defaultLanguageTags() {
97
+ return this.defaultLanguageTags$.getValue();
98
+ }
99
+ /***************************************************************************
100
+ * *
101
+ * Public API *
102
+ * *
103
+ **************************************************************************/
104
+ onNewRequested() {
105
+ this.toastService.info('Adding new Translations not yet implemented!');
106
+ }
107
+ onRemoveRequested(toRemove) {
108
+ if (toRemove?.length > 0) {
109
+ if (this.value) {
110
+ const removeLocales = new Set(toRemove.map(r => r.locale));
111
+ this.updateValue(this.value
112
+ .filter(v => !removeLocales.has(v.locale)));
113
+ }
114
+ }
115
+ }
116
+ onColumnTextUpdated(localized, textColumn, newTextValue) {
117
+ localized[textColumn.name] = newTextValue;
118
+ this.updateValue([...this.data.snapshot.data]);
119
+ }
120
+ /***************************************************************************
121
+ * *
122
+ * Private methods *
123
+ * *
124
+ **************************************************************************/
125
+ ensureDesiredTagsPresent(localizables, desiredTags) {
126
+ const missing = desiredTags.filter(dT => !localizables.some(loc => loc.locale === dT)).map(dT => ({ locale: dT }));
127
+ if (missing?.length > 0) {
128
+ localizables = [...localizables, ...missing];
129
+ }
130
+ return localizables;
131
+ }
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderLocalizedInputTableComponent, deps: [{ token: i1.ElderToastService }, { token: i2.ElderLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
133
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: ElderLocalizedInputTableComponent, selector: "elder-localized-input-table", inputs: { dense: "dense", float: "float", embedded: "embedded", textColumns: "textColumns", defaultLanguageTags: "defaultLanguageTags" }, providers: buildFormIntegrationProviders(ElderLocalizedInputTableComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-col full\">\n <elder-table matSort class=\"flex\"\n [data]=\"data\"\n [selectionVisible]=\"true\"\n [selectionMultiEnabled]=\"true\"\n [dense]=\"dense\"\n [float]=\"float\"\n [embedded]=\"embedded\"\n >\n\n <elder-data-toolbar\n *elderTableToolbar\n [canAdd]=\"!isLocked\"\n [canRemove]=\"!isLocked\"\n [canMore]=\"false\"\n (requestNew)=\"onNewRequested()\"\n (requestRemove)=\"onRemoveRequested($event)\"\n >\n\n <ng-template elderToolbarContent=\"left.actions\">\n <div class=\"layout-col place-start-center\">\n <h4 elderCardSubtitle style=\"margin: 0\">{{label ?? placeholder}}</h4>\n </div>\n </ng-template>\n\n </elder-data-toolbar>\n\n <ng-container matColumnDef=\"locale\">\n <th mat-header-cell *matHeaderCellDef style=\"width: 100px\" mat-sort-header>Locale</th>\n <td mat-cell *matCellDef=\"let localized\">\n <mat-chip-set><mat-chip>{{localized.locale}}</mat-chip></mat-chip-set>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let textColumn of textColumns$ | async\" matColumnDef=\"{{textColumn.name}}\">\n <th mat-header-cell *matHeaderCellDef>{{textColumn.title | translate}}</th>\n <td mat-cell *matCellDef=\"let localized\">\n\n <div class=\"layout-row place-center-center\">\n <mat-form-field class=\"full-width\" appearance=\"fill\" elderDense>\n <!--\n <mat-label>{{textColumn.title | translate}} ({{localized.locale}})</mat-label>\n -->\n <!--\n <span matTextPrefix>{{textColumn.title | translate}}</span>\n -->\n <input\n matInput\n type=\"text\"\n name=\"i18n-{{localized.locale}}-{{textColumn.name}}\"\n [ngModel]=\"localized[textColumn.name]\" [ngModelOptions]=\"{updateOn: 'blur'}\"\n (ngModelChange)=\"onColumnTextUpdated(localized, textColumn, $event)\"\n [required]=\"required && textColumn.required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n />\n </mat-form-field>\n </div>\n\n\n\n </td>\n </ng-container>\n\n </elder-table>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "directive", type: i5.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.ElderTableComponent, selector: "elder-table", inputs: ["idField", "removingField", "hiddenField", "pageSizeOptions", "keepSelection", "showFooter", "toolbarTemplate", "data", "displayedColumns", "selectionVisible"] }, { kind: "directive", type: i10.ElderTableToolbarDirective, selector: "[elderTableToolbar]" }, { kind: "component", type: i11.ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: ["canAdd", "canRemove", "canMore", "confirmRemoval", "keepSelectionAfterRemoval", "selectionModel"], outputs: ["requestNew", "requestRemove"] }, { kind: "directive", type: i11.ElderToolbarContentDirective, selector: "[elderToolbarContent]", inputs: ["elderToolbarContent"] }, { kind: "component", type: i12.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "role", "id", "aria-label", "aria-description", "value", "removable", "highlighted"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i12.MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role"] }, { kind: "directive", type: i13.ElderCardSubtitleDirective, selector: "elder-card-subtitle, [elder-card-subtitle], [elderCardSubtitle]" }, { kind: "directive", type: i14.ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
134
+ }
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderLocalizedInputTableComponent, decorators: [{
136
+ type: Component,
137
+ args: [{ selector: 'elder-localized-input-table', changeDetection: ChangeDetectionStrategy.OnPush, providers: buildFormIntegrationProviders(ElderLocalizedInputTableComponent), template: "<div class=\"layout-col full\">\n <elder-table matSort class=\"flex\"\n [data]=\"data\"\n [selectionVisible]=\"true\"\n [selectionMultiEnabled]=\"true\"\n [dense]=\"dense\"\n [float]=\"float\"\n [embedded]=\"embedded\"\n >\n\n <elder-data-toolbar\n *elderTableToolbar\n [canAdd]=\"!isLocked\"\n [canRemove]=\"!isLocked\"\n [canMore]=\"false\"\n (requestNew)=\"onNewRequested()\"\n (requestRemove)=\"onRemoveRequested($event)\"\n >\n\n <ng-template elderToolbarContent=\"left.actions\">\n <div class=\"layout-col place-start-center\">\n <h4 elderCardSubtitle style=\"margin: 0\">{{label ?? placeholder}}</h4>\n </div>\n </ng-template>\n\n </elder-data-toolbar>\n\n <ng-container matColumnDef=\"locale\">\n <th mat-header-cell *matHeaderCellDef style=\"width: 100px\" mat-sort-header>Locale</th>\n <td mat-cell *matCellDef=\"let localized\">\n <mat-chip-set><mat-chip>{{localized.locale}}</mat-chip></mat-chip-set>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let textColumn of textColumns$ | async\" matColumnDef=\"{{textColumn.name}}\">\n <th mat-header-cell *matHeaderCellDef>{{textColumn.title | translate}}</th>\n <td mat-cell *matCellDef=\"let localized\">\n\n <div class=\"layout-row place-center-center\">\n <mat-form-field class=\"full-width\" appearance=\"fill\" elderDense>\n <!--\n <mat-label>{{textColumn.title | translate}} ({{localized.locale}})</mat-label>\n -->\n <!--\n <span matTextPrefix>{{textColumn.title | translate}}</span>\n -->\n <input\n matInput\n type=\"text\"\n name=\"i18n-{{localized.locale}}-{{textColumn.name}}\"\n [ngModel]=\"localized[textColumn.name]\" [ngModelOptions]=\"{updateOn: 'blur'}\"\n (ngModelChange)=\"onColumnTextUpdated(localized, textColumn, $event)\"\n [required]=\"required && textColumn.required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n />\n </mat-form-field>\n </div>\n\n\n\n </td>\n </ng-container>\n\n </elder-table>\n</div>\n" }]
138
+ }], ctorParameters: function () { return [{ type: i1.ElderToastService }, { type: i2.ElderLanguageService }]; }, propDecorators: { textColumnsQuery: [{
139
+ type: ContentChildren,
140
+ args: [ElderLocalizedTextColumnDirective]
141
+ }], dense: [{
142
+ type: Input
143
+ }], float: [{
144
+ type: Input
145
+ }], embedded: [{
146
+ type: Input
147
+ }], textColumns: [{
148
+ type: Input
149
+ }], defaultLanguageTags: [{
150
+ type: Input
151
+ }] } });
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtdGFibGUvZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtaW5wdXQtdGFibGUvZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsdUJBQXVCLEVBRXZCLGVBQWUsRUFBNEIsS0FBSyxFQUNqRCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDbEcsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdELE9BQU8sRUFBUyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDcEcsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUM3RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFFN0UsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzNGLE1BQU0sT0FBTyxpQ0FDWCxTQUFRLHNCQUEyQjtJQWdDbkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLFlBQStCLEVBQy9CLGVBQXFDO1FBRXRELEtBQUssRUFBRSxDQUFDO1FBSFMsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQy9CLG9CQUFlLEdBQWYsZUFBZSxDQUFzQjtRQXRDeEQ7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFRdEQsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBc0MsRUFBRSxDQUFDLENBQUM7UUFFNUUseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBR3ZFLFVBQUssR0FBRyxLQUFLLENBQUM7UUFHZCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBR2QsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdQLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBYzlDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO1FBRXJELElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUN4QyxFQUFFLEVBQ0YsUUFBUSxFQUNSLFFBQVEsQ0FBQyxRQUFRLEVBQ2pCLFVBQVUsQ0FBQyxVQUFVLENBQ3RCLENBQUM7UUFFRixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQ2pDO1lBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxvQkFBb0I7U0FDMUIsQ0FBQyxDQUFDLElBQUksQ0FDUCxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUMvRixDQUFDO1FBRUYsYUFBYSxDQUFDLElBQUksQ0FDaEIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekIsQ0FBQyxTQUFTLENBQ1QsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxNQUFNLENBQ3hDLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDLEtBQUssRUFBSzthQUN0QyxvQkFBb0IsRUFBRTthQUN0QixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sZUFBZTtRQUNwQixnQkFBZ0I7YUFDYixFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQ3pCLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqQixJQUFJLE9BQU8sRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNqQztRQUNILENBQUMsQ0FBQzthQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxXQUFXLENBQUMsSUFBeUM7UUFDOUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQ1csbUJBQW1CLENBQUMsSUFBbUI7UUFDaEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxjQUFjO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFFBQWE7UUFDcEMsSUFBSSxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsV0FBVyxDQUNkLElBQUksQ0FBQyxLQUFLO3FCQUNQLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDN0MsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sbUJBQW1CLENBQ3hCLFNBQVksRUFDWixVQUE2QyxFQUM3QyxZQUEwQjtRQUVwQixTQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsd0JBQXdCLENBQUMsWUFBaUIsRUFBRSxXQUEwQjtRQUM1RSxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUNoQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLENBQ25ELENBQUMsR0FBRyxDQUNILEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBVyxFQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQSxDQUM5QixDQUFDO1FBQ0YsSUFBSSxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QixZQUFZLEdBQUcsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFRLE9BQU8sQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs4R0F0S1UsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsZ01BRmpDLDZCQUE2QixDQUFDLGlDQUFpQyxDQUFDLDJEQWlCMUQsaUNBQWlDLG9EQy9DcEQsa3lFQWtFQTs7MkZEbENhLGlDQUFpQztrQkFQN0MsU0FBUzsrQkFDRSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsNkJBQTZCLG1DQUFtQzsySUFrQnBFLGdCQUFnQjtzQkFEdEIsZUFBZTt1QkFBQyxpQ0FBaUM7Z0JBTzNDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQStFSyxXQUFXO3NCQURyQixLQUFLO2dCQU1LLG1CQUFtQjtzQkFEN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT25EZXN0cm95LFxuICBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7Rm9ybUZpZWxkQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2Zvcm1zL2Zvcm0tZmllbGQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2NhbGl6ZWR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9pMThuL2VudGl0eS9sb2NhbGl6ZWQnO1xuaW1wb3J0IHtidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVyc30gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2Zvcm1zL3RlbXBsYXRlLWNvbXBvc2l0ZS1jb250cm9sJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7SURhdGFDb250ZXh0fSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0JztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2NhbExpc3REYXRhU291cmNlfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZGF0YS9kYXRhc291cmNlL2xvY2FsL2xvY2FsLWxpc3QtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtTb3J0VXRpbH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3V0aWxzL3NvcnQtdXRpbCc7XG5pbXBvcnQge0ZpbHRlclV0aWx9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9maWx0ZXItdXRpbCc7XG5pbXBvcnQge0RhdGFDb250ZXh0QnVpbGRlcn0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L2RhdGEtY29udGV4dC1idWlsZGVyJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge1F1ZXJ5TGlzdEJpbmRpbmd9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9xdWVyeS1saXN0LWJpbmRpbmcnO1xuaW1wb3J0IHtFbGRlclRvYXN0U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdG9hc3RzL2VsZGVyLXRvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmV9IGZyb20gJy4uL2VsZGVyLWxvY2FsaXplZC10ZXh0LWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtFbGRlckxhbmd1YWdlU2VydmljZX0gZnJvbSAnLi4vLi4vbGFuZ3VhZ2UvZWxkZXItbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQge0xhbmd1YWdlVGFnfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vaTE4bi9lbnRpdHkvbGFuZ3VhZ2UtdGFnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWxkZXItbG9jYWxpemVkLWlucHV0LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VsZGVyLWxvY2FsaXplZC1pbnB1dC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsZGVyLWxvY2FsaXplZC1pbnB1dC10YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBidWlsZEZvcm1JbnRlZ3JhdGlvblByb3ZpZGVycyhFbGRlckxvY2FsaXplZElucHV0VGFibGVDb21wb25lbnQpXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyTG9jYWxpemVkSW5wdXRUYWJsZUNvbXBvbmVudDxUIGV4dGVuZHMgTG9jYWxpemVkPlxuICBleHRlbmRzIEZvcm1GaWVsZEJhc2VDb21wb25lbnQ8VFtdPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhU291cmNlOiBMb2NhbExpc3REYXRhU291cmNlPFQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0YTogSURhdGFDb250ZXh0PFQ+O1xuXG5cbiAgQENvbnRlbnRDaGlsZHJlbihFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmUpXG4gIHB1YmxpYyB0ZXh0Q29sdW1uc1F1ZXJ5OiBRdWVyeUxpc3Q8RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlPjtcbiAgcHVibGljIHJlYWRvbmx5IHRleHRDb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlW10+KFtdKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdExhbmd1YWdlVGFncyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExhbmd1YWdlVGFnW10+KFtdKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVuc2UgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZmxvYXQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZW1iZWRkZWQgPSBmYWxzZTtcblxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RTZXJ2aWNlOiBFbGRlclRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbmd1YWdlU2VydmljZTogRWxkZXJMYW5ndWFnZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuZGVmYXVsdExhbmd1YWdlVGFncyA9IGxhbmd1YWdlU2VydmljZS5sYW5ndWFnZXM7XG5cbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBMb2NhbExpc3REYXRhU291cmNlLmZyb20oXG4gICAgICBbXSxcbiAgICAgICdsb2NhbGUnLFxuICAgICAgU29ydFV0aWwuc29ydERhdGEsXG4gICAgICBGaWx0ZXJVdGlsLmZpbHRlckRhdGFcbiAgICApO1xuXG4gICAgY29uc3QgbG9jYWxpemFibGVzJCA9IGNvbWJpbmVMYXRlc3QoXG4gICAgICBbXG4gICAgICAgIHRoaXMudmFsdWUkLnBpcGUobWFwKHZhbHVlID0+IHZhbHVlID8/IFtdKSksXG4gICAgICAgIHRoaXMuZGVmYXVsdExhbmd1YWdlVGFncyRcbiAgICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtsb2NhbGl6YWJsZXMsIGRlc2lyZWRUYWdzXSkgPT4gdGhpcy5lbnN1cmVEZXNpcmVkVGFnc1ByZXNlbnQobG9jYWxpemFibGVzLCBkZXNpcmVkVGFncykpXG4gICAgKTtcblxuICAgIGxvY2FsaXphYmxlcyQucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWVzID0+IHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdmFsdWVzXG4gICAgKTtcblxuICAgIHRoaXMuZGF0YSA9IERhdGFDb250ZXh0QnVpbGRlci5zdGFydDxUPigpXG4gICAgICAucmVsb2FkT25Mb2NhbENoYW5nZXMoKVxuICAgICAgLmJ1aWxkKHRoaXMuZGF0YVNvdXJjZSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhLnN0YXJ0KFtuZXcgU29ydCgnbG9jYWxlJywgJ2FzYycpXSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIFF1ZXJ5TGlzdEJpbmRpbmdcbiAgICAgIC5vZih0aGlzLnRleHRDb2x1bW5zUXVlcnkpXG4gICAgICAudXBkYXRlZChjb2x1bW5zID0+IHtcbiAgICAgICAgaWYgKGNvbHVtbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnRleHRDb2x1bW5zJC5uZXh0KGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgLmJpbmRVbnRpbCh0aGlzLmRlc3Ryb3kkKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRleHRDb2x1bW5zKGNvbHM6IEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZVtdKSB7XG4gICAgdGhpcy50ZXh0Q29sdW1ucyQubmV4dChjb2xzKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGVmYXVsdExhbmd1YWdlVGFncyh0YWdzOiBMYW5ndWFnZVRhZ1tdKSB7XG4gICAgdGhpcy5kZWZhdWx0TGFuZ3VhZ2VUYWdzJC5uZXh0KHRhZ3MpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZWZhdWx0TGFuZ3VhZ2VUYWdzKCk6IExhbmd1YWdlVGFnW10ge1xuICAgIHJldHVybiB0aGlzLmRlZmF1bHRMYW5ndWFnZVRhZ3MkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgb25OZXdSZXF1ZXN0ZWQoKSB7XG4gICAgdGhpcy50b2FzdFNlcnZpY2UuaW5mbygnQWRkaW5nIG5ldyBUcmFuc2xhdGlvbnMgbm90IHlldCBpbXBsZW1lbnRlZCEnKTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlbW92ZVJlcXVlc3RlZCh0b1JlbW92ZTogVFtdKSB7XG4gICAgaWYgKHRvUmVtb3ZlPy5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICBjb25zdCByZW1vdmVMb2NhbGVzID0gbmV3IFNldCh0b1JlbW92ZS5tYXAociA9PiByLmxvY2FsZSkpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgIHRoaXMudmFsdWVcbiAgICAgICAgICAgIC5maWx0ZXIodiA9PiAhcmVtb3ZlTG9jYWxlcy5oYXModi5sb2NhbGUpKVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNvbHVtblRleHRVcGRhdGVkKFxuICAgIGxvY2FsaXplZDogVCxcbiAgICB0ZXh0Q29sdW1uOiBFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmUsXG4gICAgbmV3VGV4dFZhbHVlOiBzdHJpbmcgfCBhbnlcbiAgKTogdm9pZCB7XG4gICAgKDxhbnk+bG9jYWxpemVkKVt0ZXh0Q29sdW1uLm5hbWVdID0gbmV3VGV4dFZhbHVlO1xuICAgIHRoaXMudXBkYXRlVmFsdWUoWy4uLnRoaXMuZGF0YS5zbmFwc2hvdC5kYXRhXSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGVuc3VyZURlc2lyZWRUYWdzUHJlc2VudChsb2NhbGl6YWJsZXM6IFRbXSwgZGVzaXJlZFRhZ3M6IExhbmd1YWdlVGFnW10pOiBUW10ge1xuICAgIGNvbnN0IG1pc3NpbmcgPSBkZXNpcmVkVGFncy5maWx0ZXIoXG4gICAgICBkVCA9PiAhbG9jYWxpemFibGVzLnNvbWUobG9jID0+IGxvYy5sb2NhbGUgPT09IGRUKVxuICAgICkubWFwKFxuICAgICAgZFQgPT4gPExvY2FsaXplZD57bG9jYWxlOiBkVH1cbiAgICApO1xuICAgIGlmIChtaXNzaW5nPy5sZW5ndGggPiAwKSB7XG4gICAgICBsb2NhbGl6YWJsZXMgPSBbLi4ubG9jYWxpemFibGVzLCAuLi48VFtdPm1pc3NpbmddO1xuICAgIH1cbiAgICByZXR1cm4gbG9jYWxpemFibGVzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmdWxsXCI+XG4gIDxlbGRlci10YWJsZSBtYXRTb3J0IGNsYXNzPVwiZmxleFwiXG4gICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcbiAgICAgICAgICAgICAgIFtzZWxlY3Rpb25WaXNpYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgW3NlbGVjdGlvbk11bHRpRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgIFtkZW5zZV09XCJkZW5zZVwiXG4gICAgICAgICAgICAgICBbZmxvYXRdPVwiZmxvYXRcIlxuICAgICAgICAgICAgICAgW2VtYmVkZGVkXT1cImVtYmVkZGVkXCJcbiAgPlxuXG4gICAgPGVsZGVyLWRhdGEtdG9vbGJhclxuICAgICAgKmVsZGVyVGFibGVUb29sYmFyXG4gICAgICBbY2FuQWRkXT1cIiFpc0xvY2tlZFwiXG4gICAgICBbY2FuUmVtb3ZlXT1cIiFpc0xvY2tlZFwiXG4gICAgICBbY2FuTW9yZV09XCJmYWxzZVwiXG4gICAgICAocmVxdWVzdE5ldyk9XCJvbk5ld1JlcXVlc3RlZCgpXCJcbiAgICAgIChyZXF1ZXN0UmVtb3ZlKT1cIm9uUmVtb3ZlUmVxdWVzdGVkKCRldmVudClcIlxuICAgID5cblxuICAgICAgPG5nLXRlbXBsYXRlIGVsZGVyVG9vbGJhckNvbnRlbnQ9XCJsZWZ0LmFjdGlvbnNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1jb2wgcGxhY2Utc3RhcnQtY2VudGVyXCI+XG4gICAgICAgICAgPGg0IGVsZGVyQ2FyZFN1YnRpdGxlIHN0eWxlPVwibWFyZ2luOiAwXCI+e3tsYWJlbCA/PyBwbGFjZWhvbGRlcn19PC9oND5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPC9lbGRlci1kYXRhLXRvb2xiYXI+XG5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImxvY2FsZVwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBzdHlsZT1cIndpZHRoOiAxMDBweFwiIG1hdC1zb3J0LWhlYWRlcj5Mb2NhbGU8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGxvY2FsaXplZFwiPlxuICAgICAgICA8bWF0LWNoaXAtc2V0PjxtYXQtY2hpcD57e2xvY2FsaXplZC5sb2NhbGV9fTwvbWF0LWNoaXA+PC9tYXQtY2hpcC1zZXQ+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGV4dENvbHVtbiBvZiB0ZXh0Q29sdW1ucyQgfCBhc3luY1wiIG1hdENvbHVtbkRlZj1cInt7dGV4dENvbHVtbi5uYW1lfX1cIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3t0ZXh0Q29sdW1uLnRpdGxlIHwgdHJhbnNsYXRlfX08L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGxvY2FsaXplZFwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWNlbnRlci1jZW50ZXJcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmdWxsLXdpZHRoXCIgYXBwZWFyYW5jZT1cImZpbGxcIiBlbGRlckRlbnNlPlxuICAgICAgICAgICAgPCEtLVxuICAgICAgICAgICAgPG1hdC1sYWJlbD57e3RleHRDb2x1bW4udGl0bGUgfCB0cmFuc2xhdGV9fSAoe3tsb2NhbGl6ZWQubG9jYWxlfX0pPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAtLT5cbiAgICAgICAgICAgIDwhLS1cbiAgICAgICAgICAgIDxzcGFuIG1hdFRleHRQcmVmaXg+e3t0ZXh0Q29sdW1uLnRpdGxlIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICAtLT5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJpMThuLXt7bG9jYWxpemVkLmxvY2FsZX19LXt7dGV4dENvbHVtbi5uYW1lfX1cIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJsb2NhbGl6ZWRbdGV4dENvbHVtbi5uYW1lXVwiIFtuZ01vZGVsT3B0aW9uc109XCJ7dXBkYXRlT246ICdibHVyJ31cIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNvbHVtblRleHRVcGRhdGVkKGxvY2FsaXplZCwgdGV4dENvbHVtbiwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZCAmJiB0ZXh0Q29sdW1uLnJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG5cblxuXG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDwvZWxkZXItdGFibGU+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ElderLocalizedTextColumnDirective {
4
+ static { this.DEFAULT_TEXT_COL = ElderLocalizedTextColumnDirective.defaultText(); }
5
+ static defaultText() {
6
+ const col = new ElderLocalizedTextColumnDirective();
7
+ col.name = 'text';
8
+ col.title = 'Text';
9
+ col.required = true;
10
+ return col;
11
+ }
12
+ constructor() {
13
+ this.required = false;
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderLocalizedTextColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
16
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: ElderLocalizedTextColumnDirective, selector: "elder-localized-text-column", inputs: { name: "name", title: "title", required: "required" }, ngImport: i0 }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderLocalizedTextColumnDirective, decorators: [{
19
+ type: Directive,
20
+ args: [{ selector: 'elder-localized-text-column' }]
21
+ }], ctorParameters: function () { return []; }, propDecorators: { name: [{
22
+ type: Input
23
+ }], title: [{
24
+ type: Input
25
+ }], required: [{
26
+ type: Input
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLXRleHQtY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtdGV4dC1jb2x1bW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUcvQyxNQUFNLE9BQU8saUNBQWlDO2FBRTlCLHFCQUFnQixHQUFzQyxpQ0FBaUMsQ0FBQyxXQUFXLEVBQUUsQUFBckYsQ0FBc0Y7SUFFcEgsTUFBTSxDQUFDLFdBQVc7UUFDaEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxpQ0FBaUMsRUFBRSxDQUFDO1FBQ3BELEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ25CLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQWlCRDtRQUZPLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFFUixDQUFDOzhHQTNCTixpQ0FBaUM7a0dBQWpDLGlDQUFpQzs7MkZBQWpDLGlDQUFpQztrQkFEN0MsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSw2QkFBNkIsRUFBQzswRUFpQjNDLElBQUk7c0JBRFYsS0FBSztnQkFPQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdlbGRlci1sb2NhbGl6ZWQtdGV4dC1jb2x1bW4nfSlcbmV4cG9ydCBjbGFzcyBFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmUge1xuXG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVF9URVhUX0NPTDogRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlID0gRWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlLmRlZmF1bHRUZXh0KCk7XG5cbiAgc3RhdGljIGRlZmF1bHRUZXh0KCkge1xuICAgIGNvbnN0IGNvbCA9IG5ldyBFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmUoKTtcbiAgICBjb2wubmFtZSA9ICd0ZXh0JztcbiAgICBjb2wudGl0bGUgPSAnVGV4dCc7XG4gICAgY29sLnJlcXVpcmVkID0gdHJ1ZTtcbiAgICByZXR1cm4gY29sO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbHVtbiAvIEZpZWxkIG5hbWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDb2x1bW4gdGl0bGVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbn1cblxuIl19
@@ -0,0 +1,56 @@
1
+ import { ContentChildren, Directive } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { ElderLocalizedTextColumnDirective } from './elder-localized-text-column.directive';
4
+ import { QueryListBinding } from '../../../common/utils/query-list-binding';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./elder-localized-input/elder-localized-input.component";
7
+ /**
8
+ * This directive collects all localized text columns in its host content
9
+ * and injects it into a parent elder-localized-input.
10
+ *
11
+ * This is useful if the same custom localizable is used multiple times,
12
+ * so that configuration of the columns must only be defined once.
13
+ *
14
+ */
15
+ export class ElderLocalizedTextsDirective {
16
+ /***************************************************************************
17
+ * *
18
+ * Constructor *
19
+ * *
20
+ **************************************************************************/
21
+ constructor(localizedInputComponent) {
22
+ this.localizedInputComponent = localizedInputComponent;
23
+ this.destroy$ = new Subject();
24
+ }
25
+ /***************************************************************************
26
+ * *
27
+ * Life Cycle *
28
+ * *
29
+ **************************************************************************/
30
+ ngAfterViewInit() {
31
+ QueryListBinding
32
+ .of(this.textColumnsQuery)
33
+ .updated(columns => {
34
+ if (columns?.length > 0) {
35
+ this.localizedInputComponent.textColumns = columns;
36
+ }
37
+ })
38
+ .bindUntil(this.destroy$);
39
+ }
40
+ ngOnDestroy() {
41
+ this.destroy$.next();
42
+ this.destroy$.complete();
43
+ }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderLocalizedTextsDirective, deps: [{ token: i1.ElderLocalizedInputComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
45
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: ElderLocalizedTextsDirective, selector: "[elderElderLocalizedTexts]", queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], ngImport: i0 }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderLocalizedTextsDirective, decorators: [{
48
+ type: Directive,
49
+ args: [{
50
+ selector: '[elderElderLocalizedTexts]'
51
+ }]
52
+ }], ctorParameters: function () { return [{ type: i1.ElderLocalizedInputComponent }]; }, propDecorators: { textColumnsQuery: [{
53
+ type: ContentChildren,
54
+ args: [ElderLocalizedTextColumnDirective]
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLXRleHRzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtdGV4dHMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLFNBQVMsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBRzFFOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQU8sNEJBQTRCO0lBYXZDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQix1QkFBcUQ7UUFBckQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUE4QjtRQVR2RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVU1QyxDQUFDO0lBRUw7Ozs7Z0ZBSTRFO0lBRXJFLGVBQWU7UUFDcEIsZ0JBQWdCO2FBQ2IsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQzthQUN6QixPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakIsSUFBSSxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7YUFDcEQ7UUFDSCxDQUFDLENBQUM7YUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQTNDVSw0QkFBNEI7a0dBQTVCLDRCQUE0QixtR0FRdEIsaUNBQWlDOzsyRkFSdkMsNEJBQTRCO2tCQUh4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3ZDO21IQVVRLGdCQUFnQjtzQkFEdEIsZUFBZTt1QkFBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWxvY2FsaXplZC10ZXh0LWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtRdWVyeUxpc3RCaW5kaW5nfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvcXVlcnktbGlzdC1iaW5kaW5nJztcbmltcG9ydCB7RWxkZXJMb2NhbGl6ZWRJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudCc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgY29sbGVjdHMgYWxsIGxvY2FsaXplZCB0ZXh0IGNvbHVtbnMgaW4gaXRzIGhvc3QgY29udGVudFxuICogYW5kIGluamVjdHMgaXQgaW50byBhIHBhcmVudCBlbGRlci1sb2NhbGl6ZWQtaW5wdXQuXG4gKlxuICogVGhpcyBpcyB1c2VmdWwgaWYgdGhlIHNhbWUgY3VzdG9tIGxvY2FsaXphYmxlIGlzIHVzZWQgbXVsdGlwbGUgdGltZXMsXG4gKiBzbyB0aGF0IGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNvbHVtbnMgbXVzdCBvbmx5IGJlIGRlZmluZWQgb25jZS5cbiAqXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlckVsZGVyTG9jYWxpemVkVGV4dHNdJ1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlckxvY2FsaXplZFRleHRzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAQ29udGVudENoaWxkcmVuKEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZSlcbiAgcHVibGljIHRleHRDb2x1bW5zUXVlcnk6IFF1ZXJ5TGlzdDxFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmU+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxpemVkSW5wdXRDb21wb25lbnQ6IEVsZGVyTG9jYWxpemVkSW5wdXRDb21wb25lbnRcbiAgKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIFF1ZXJ5TGlzdEJpbmRpbmdcbiAgICAgIC5vZih0aGlzLnRleHRDb2x1bW5zUXVlcnkpXG4gICAgICAudXBkYXRlZChjb2x1bW5zID0+IHtcbiAgICAgICAgaWYgKGNvbHVtbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmxvY2FsaXplZElucHV0Q29tcG9uZW50LnRleHRDb2x1bW5zID0gY29sdW1ucztcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5iaW5kVW50aWwodGhpcy5kZXN0cm95JCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./localisation-picker.service";
6
+ export class I18nPickAsyncPipe {
7
+ /***************************************************************************
8
+ * *
9
+ * Constructor *
10
+ * *
11
+ **************************************************************************/
12
+ constructor(pickerService) {
13
+ this.pickerService = pickerService;
14
+ }
15
+ /***************************************************************************
16
+ * *
17
+ * Public API *
18
+ * *
19
+ **************************************************************************/
20
+ transform(choices, field = 'text', desiredTag) {
21
+ let picked$;
22
+ if (desiredTag) {
23
+ picked$ = of(this.pickerService.pickText(choices, desiredTag));
24
+ }
25
+ else {
26
+ picked$ = this.pickerService.pickCurrentText(choices);
27
+ }
28
+ return picked$.pipe(map(picked => picked ?? '-'));
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: I18nPickAsyncPipe, deps: [{ token: i1.LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Pipe }); }
31
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: I18nPickAsyncPipe, name: "i18nPick$" }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: I18nPickAsyncPipe, decorators: [{
34
+ type: Pipe,
35
+ args: [{
36
+ name: 'i18nPick$'
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i1.LocalisationPickerService }]; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi1waWNrLWFzeW5jLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2kxOG4vZW50aXRpZXMvcGlja2VyL2kxOG4tcGljay1hc3luYy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSXBELE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFLbkMsTUFBTSxPQUFPLGlCQUFpQjtJQUU1Qjs7OztnRkFJNEU7SUFFNUUsWUFDbUIsYUFBd0M7UUFBeEMsa0JBQWEsR0FBYixhQUFhLENBQTJCO0lBRTNELENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsU0FBUyxDQUNkLE9BQW9CLEVBQ3BCLFFBQWdCLE1BQU0sRUFDdEIsVUFBd0I7UUFHeEIsSUFBSSxPQUF1QyxDQUFDO1FBRTVDLElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNoRTthQUFNO1lBQ0wsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNqQixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQzdCLENBQUM7SUFDSixDQUFDOzhHQXBDVSxpQkFBaUI7NEdBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFIN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvY2FsaXplZH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2kxOG4vZW50aXR5L2xvY2FsaXplZCc7XG5pbXBvcnQge0xvY2FsaXNhdGlvblBpY2tlclNlcnZpY2V9IGZyb20gJy4vbG9jYWxpc2F0aW9uLXBpY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7TGFuZ3VhZ2VUYWd9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9pMThuL2VudGl0eS9sYW5ndWFnZS10YWcnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdpMThuUGljayQnXG59KVxuZXhwb3J0IGNsYXNzIEkxOG5QaWNrQXN5bmNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwaWNrZXJTZXJ2aWNlOiBMb2NhbGlzYXRpb25QaWNrZXJTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHRyYW5zZm9ybShcbiAgICBjaG9pY2VzOiBMb2NhbGl6ZWRbXSxcbiAgICBmaWVsZDogc3RyaW5nID0gJ3RleHQnLFxuICAgIGRlc2lyZWRUYWc/OiBMYW5ndWFnZVRhZ1xuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuXG4gICAgbGV0IHBpY2tlZCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcblxuICAgIGlmIChkZXNpcmVkVGFnKSB7XG4gICAgICBwaWNrZWQkID0gb2YodGhpcy5waWNrZXJTZXJ2aWNlLnBpY2tUZXh0KGNob2ljZXMsIGRlc2lyZWRUYWcpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGlja2VkJCA9IHRoaXMucGlja2VyU2VydmljZS5waWNrQ3VycmVudFRleHQoY2hvaWNlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBpY2tlZCQucGlwZShcbiAgICAgIG1hcChwaWNrZWQgPT4gcGlja2VkID8/ICctJylcbiAgICApO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./localisation-picker.service";
4
+ export class I18nPickPipe {
5
+ /***************************************************************************
6
+ * *
7
+ * Constructor *
8
+ * *
9
+ **************************************************************************/
10
+ constructor(pickerService) {
11
+ this.pickerService = pickerService;
12
+ }
13
+ /***************************************************************************
14
+ * *
15
+ * Public API *
16
+ * *
17
+ **************************************************************************/
18
+ transform(choices, field = 'text', desiredTag) {
19
+ return this.pickerService.pickText(choices, field, desiredTag) ?? '-';
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: I18nPickPipe, deps: [{ token: i1.LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Pipe }); }
22
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: I18nPickPipe, name: "i18nPick" }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: I18nPickPipe, decorators: [{
25
+ type: Pipe,
26
+ args: [{
27
+ name: 'i18nPick'
28
+ }]
29
+ }], ctorParameters: function () { return [{ type: i1.LocalisationPickerService }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi1waWNrLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2kxOG4vZW50aXRpZXMvcGlja2VyL2kxOG4tcGljay5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFRcEQsTUFBTSxPQUFPLFlBQVk7SUFHdkI7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLGFBQXdDO1FBQXhDLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtJQUUzRCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFNBQVMsQ0FDZCxPQUFvQixFQUNwQixRQUFnQixNQUFNLEVBQ3RCLFVBQXdCO1FBRXhCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUM7SUFDeEUsQ0FBQzs4R0ExQlUsWUFBWTs0R0FBWixZQUFZOzsyRkFBWixZQUFZO2tCQUh4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxVQUFVO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9jYWxpc2F0aW9uUGlja2VyU2VydmljZX0gZnJvbSAnLi9sb2NhbGlzYXRpb24tcGlja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2NhbGl6ZWR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9pMThuL2VudGl0eS9sb2NhbGl6ZWQnO1xuaW1wb3J0IHtMYW5ndWFnZVRhZ30gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2kxOG4vZW50aXR5L2xhbmd1YWdlLXRhZyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2kxOG5QaWNrJ1xufSlcbmV4cG9ydCBjbGFzcyBJMThuUGlja1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGlja2VyU2VydmljZTogTG9jYWxpc2F0aW9uUGlja2VyU2VydmljZVxuICApIHtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgY2hvaWNlczogTG9jYWxpemVkW10sXG4gICAgZmllbGQ6IHN0cmluZyA9ICd0ZXh0JyxcbiAgICBkZXNpcmVkVGFnPzogTGFuZ3VhZ2VUYWdcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5waWNrZXJTZXJ2aWNlLnBpY2tUZXh0KGNob2ljZXMsIGZpZWxkLCBkZXNpcmVkVGFnKSA/PyAnLSc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { SimpleLocalisationPicker } from '../../../../common/i18n/entity/localisation-picker';
3
+ import { map, switchMap } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../language/elder-language.service";
6
+ export class LocalisationPickerService {
7
+ /***************************************************************************
8
+ * *
9
+ * Constructor *
10
+ * *
11
+ **************************************************************************/
12
+ constructor(languageService) {
13
+ this.languageService = languageService;
14
+ /***************************************************************************
15
+ * *
16
+ * Fields *
17
+ * *
18
+ **************************************************************************/
19
+ this.picker = SimpleLocalisationPicker.Instance;
20
+ }
21
+ /***************************************************************************
22
+ * *
23
+ * Public API *
24
+ * *
25
+ **************************************************************************/
26
+ pick(choices, desired) {
27
+ return this.picker.findBest(choices, desired ?? this.languageService.currentLanguage);
28
+ }
29
+ pickCurrent(choices) {
30
+ return this.languageService.currentLanguage$.pipe(map(current => this.pick(choices, current)));
31
+ }
32
+ pickCurrentRx(choices$) {
33
+ return choices$.pipe(switchMap(choices => this.pickCurrent(choices)));
34
+ }
35
+ /***************************************************************************
36
+ * *
37
+ * Public API (Text) *
38
+ * *
39
+ **************************************************************************/
40
+ pickText(choices, textField = 'text', desired) {
41
+ if (choices) {
42
+ const picked = this.pick(choices.filter(choice => this.hasText(choice, textField)), desired);
43
+ return this.extractText(picked, textField);
44
+ }
45
+ return undefined;
46
+ }
47
+ pickCurrentText(choices, textField = 'text') {
48
+ return this.languageService.currentLanguage$.pipe(map(current => this.pickText(choices, textField, current)));
49
+ }
50
+ /***************************************************************************
51
+ * *
52
+ * Private methods *
53
+ * *
54
+ **************************************************************************/
55
+ hasText(localized, textField) {
56
+ return !!this.extractText(localized, textField);
57
+ }
58
+ extractText(localized, textField) {
59
+ if (localized && textField) {
60
+ const anyLocalized = localized;
61
+ return anyLocalized[textField];
62
+ }
63
+ return undefined;
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: LocalisationPickerService, deps: [{ token: i1.ElderLanguageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
66
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: LocalisationPickerService, providedIn: 'root' }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: LocalisationPickerService, decorators: [{
69
+ type: Injectable,
70
+ args: [{
71
+ providedIn: 'root'
72
+ }]
73
+ }], ctorParameters: function () { return [{ type: i1.ElderLanguageService }]; } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpc2F0aW9uLXBpY2tlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9pMThuL2VudGl0aWVzL3BpY2tlci9sb2NhbGlzYXRpb24tcGlja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUs1RixPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFLOUMsTUFBTSxPQUFPLHlCQUF5QjtJQVVwQzs7OztnRkFJNEU7SUFFNUUsWUFDbUIsZUFBcUM7UUFBckMsb0JBQWUsR0FBZixlQUFlLENBQXNCO1FBZnhEOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsd0JBQXdCLENBQUMsUUFBUSxDQUFDO0lBVXhELENBQUM7SUFFTDs7OztnRkFJNEU7SUFFckUsSUFBSSxDQUFzQixPQUFZLEVBQUUsT0FBcUI7UUFDbEUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVNLFdBQVcsQ0FBc0IsT0FBWTtRQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUMvQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQztJQUVNLGFBQWEsQ0FBc0IsUUFBeUI7UUFDakUsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUNsQixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVEsQ0FDYixPQUFZLEVBQ1osWUFBb0IsTUFBTSxFQUMxQixPQUFxQjtRQUdyQixJQUFJLE9BQU8sRUFBRTtZQUNYLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQ3RCLE9BQU8sQ0FBQyxNQUFNLENBQ1osTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FDMUMsRUFDRCxPQUFPLENBQ1IsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDNUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sZUFBZSxDQUNwQixPQUFZLEVBQ1osWUFBb0IsTUFBTTtRQUUxQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUMvQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FDM0QsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsT0FBTyxDQUFDLFNBQW9CLEVBQUUsU0FBaUI7UUFDckQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxTQUFvQixFQUFFLFNBQWlCO1FBQ3pELElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRTtZQUMxQixNQUFNLFlBQVksR0FBUSxTQUFTLENBQUM7WUFDcEMsT0FBTyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDaEM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzhHQTNGVSx5QkFBeUI7a0hBQXpCLHlCQUF5QixjQUZ4QixNQUFNOzsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTaW1wbGVMb2NhbGlzYXRpb25QaWNrZXJ9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9pMThuL2VudGl0eS9sb2NhbGlzYXRpb24tcGlja2VyJztcbmltcG9ydCB7RWxkZXJMYW5ndWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uL2xhbmd1YWdlL2VsZGVyLWxhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHtMb2NhbGl6ZWR9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9pMThuL2VudGl0eS9sb2NhbGl6ZWQnO1xuaW1wb3J0IHtMYW5ndWFnZVRhZ30gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2kxOG4vZW50aXR5L2xhbmd1YWdlLXRhZyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGlzYXRpb25QaWNrZXJTZXJ2aWNlIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IHBpY2tlciA9IFNpbXBsZUxvY2FsaXNhdGlvblBpY2tlci5JbnN0YW5jZTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbmd1YWdlU2VydmljZTogRWxkZXJMYW5ndWFnZVNlcnZpY2VcbiAgKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgcGljazxUIGV4dGVuZHMgTG9jYWxpemVkPihjaG9pY2VzOiBUW10sIGRlc2lyZWQ/OiBMYW5ndWFnZVRhZyk6IFQge1xuICAgIHJldHVybiB0aGlzLnBpY2tlci5maW5kQmVzdChjaG9pY2VzLCBkZXNpcmVkID8/IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSk7XG4gIH1cblxuICBwdWJsaWMgcGlja0N1cnJlbnQ8VCBleHRlbmRzIExvY2FsaXplZD4oY2hvaWNlczogVFtdKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmN1cnJlbnRMYW5ndWFnZSQucGlwZShcbiAgICAgIG1hcChjdXJyZW50ID0+IHRoaXMucGljayhjaG9pY2VzLCBjdXJyZW50KSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBpY2tDdXJyZW50Ung8VCBleHRlbmRzIExvY2FsaXplZD4oY2hvaWNlcyQ6IE9ic2VydmFibGU8VFtdPik6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiBjaG9pY2VzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKGNob2ljZXMgPT4gdGhpcy5waWNrQ3VycmVudChjaG9pY2VzKSlcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgKFRleHQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHBpY2tUZXh0PFQgZXh0ZW5kcyBMb2NhbGl6ZWQ+KFxuICAgIGNob2ljZXM6IFRbXSxcbiAgICB0ZXh0RmllbGQ6IHN0cmluZyA9ICd0ZXh0JyxcbiAgICBkZXNpcmVkPzogTGFuZ3VhZ2VUYWdcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblxuICAgIGlmIChjaG9pY2VzKSB7XG4gICAgICBjb25zdCBwaWNrZWQgPSB0aGlzLnBpY2soXG4gICAgICAgIGNob2ljZXMuZmlsdGVyKFxuICAgICAgICAgIGNob2ljZSA9PiB0aGlzLmhhc1RleHQoY2hvaWNlLCB0ZXh0RmllbGQpXG4gICAgICAgICksXG4gICAgICAgIGRlc2lyZWRcbiAgICAgICk7XG4gICAgICByZXR1cm4gdGhpcy5leHRyYWN0VGV4dChwaWNrZWQsIHRleHRGaWVsZCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgcGlja0N1cnJlbnRUZXh0PFQgZXh0ZW5kcyBMb2NhbGl6ZWQ+KFxuICAgIGNob2ljZXM6IFRbXSxcbiAgICB0ZXh0RmllbGQ6IHN0cmluZyA9ICd0ZXh0J1xuICApOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlU2VydmljZS5jdXJyZW50TGFuZ3VhZ2UkLnBpcGUoXG4gICAgICBtYXAoY3VycmVudCA9PiB0aGlzLnBpY2tUZXh0KGNob2ljZXMsIHRleHRGaWVsZCwgY3VycmVudCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgaGFzVGV4dChsb2NhbGl6ZWQ6IExvY2FsaXplZCwgdGV4dEZpZWxkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmV4dHJhY3RUZXh0KGxvY2FsaXplZCwgdGV4dEZpZWxkKTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFRleHQobG9jYWxpemVkOiBMb2NhbGl6ZWQsIHRleHRGaWVsZDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAobG9jYWxpemVkICYmIHRleHRGaWVsZCkge1xuICAgICAgY29uc3QgYW55TG9jYWxpemVkID0gPGFueT5sb2NhbGl6ZWQ7XG4gICAgICByZXR1cm4gYW55TG9jYWxpemVkW3RleHRGaWVsZF07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,69 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import { ElderLanguageConfig } from './elder-language-config';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * This interceptor injects the current locale
8
+ * so the backend know what the current desired locale is of a request.
9
+ */
10
+ export class ElderLanguageInterceptor {
11
+ /***************************************************************************
12
+ * *
13
+ * Constructors *
14
+ * *
15
+ **************************************************************************/
16
+ constructor(inj) {
17
+ this.inj = inj;
18
+ this._queryParam = 'locale';
19
+ this._configLoaded = false;
20
+ }
21
+ /***************************************************************************
22
+ * *
23
+ * Public API *
24
+ * *
25
+ **************************************************************************/
26
+ intercept(req, next) {
27
+ const config = this.languageConfig;
28
+ const skipInterceptor = (config && config.interceptor && config.interceptor.disable);
29
+ if (!skipInterceptor && this.translate.currentLang) {
30
+ // Keeps the original request params. as a new HttpParams
31
+ let newParams = new HttpParams({ fromString: req.params.toString() });
32
+ newParams = newParams.set(this._queryParam, this.translate.currentLang);
33
+ // Clone the request with params instead of setParams
34
+ // Workaround for https://github.com/angular/angular/issues/18812
35
+ const requestClone = req.clone({
36
+ params: newParams
37
+ });
38
+ return next.handle(requestClone);
39
+ }
40
+ return next.handle(req);
41
+ }
42
+ /***************************************************************************
43
+ * *
44
+ * Private Methods *
45
+ * *
46
+ **************************************************************************/
47
+ get languageConfig() {
48
+ if (!this._configLoaded) {
49
+ const config = this.inj.get(ElderLanguageConfig); // Workaround for cyclic dependency
50
+ this._config = config;
51
+ this._queryParam = config && config.interceptor && config.interceptor.queryParam
52
+ ? config.interceptor.queryParam
53
+ : 'locale';
54
+ }
55
+ return this._config;
56
+ }
57
+ get translate() {
58
+ if (!this._translate) {
59
+ this._translate = this.inj.get(TranslateService); // Workaround for cyclic dependency
60
+ }
61
+ return this._translate;
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderLanguageInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
64
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderLanguageInterceptor }); }
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: ElderLanguageInterceptor, decorators: [{
67
+ type: Injectable
68
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbGFuZ3VhZ2UtaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2kxOG4vbGFuZ3VhZ2UvZWxkZXItbGFuZ3VhZ2UtaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQTBDLFVBQVUsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQUU1RDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBZW5DOzs7O2dGQUk0RTtJQUU1RSxZQUNVLEdBQWE7UUFBYixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBYmYsZ0JBQVcsR0FBRyxRQUFRLENBQUM7UUFHdkIsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFZOUIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUV2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ25DLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVyRixJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO1lBRWxELHlEQUF5RDtZQUN6RCxJQUFJLFNBQVMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFDLENBQUMsQ0FBQztZQUVwRSxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFeEUscURBQXFEO1lBQ3JELGlFQUFpRTtZQUNqRSxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUM3QixNQUFNLEVBQUUsU0FBUzthQUNsQixDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbEM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFZLGNBQWM7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFFdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLG1DQUFtQztZQUNyRixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUV0QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVTtnQkFDOUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVTtnQkFDL0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsbUNBQW1DO1NBQ3RGO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7OEdBaEZVLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge0luamVjdGFibGUsIEluamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUGFyYW1zLCBIdHRwUmVxdWVzdH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0VsZGVyTGFuZ3VhZ2VDb25maWd9IGZyb20gJy4vZWxkZXItbGFuZ3VhZ2UtY29uZmlnJztcblxuLyoqXG4gKiBUaGlzIGludGVyY2VwdG9yIGluamVjdHMgdGhlIGN1cnJlbnQgbG9jYWxlXG4gKiBzbyB0aGUgYmFja2VuZCBrbm93IHdoYXQgdGhlIGN1cnJlbnQgZGVzaXJlZCBsb2NhbGUgaXMgb2YgYSByZXF1ZXN0LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWxkZXJMYW5ndWFnZUludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2U7XG4gIHByaXZhdGUgX3F1ZXJ5UGFyYW0gPSAnbG9jYWxlJztcblxuXG4gIHByaXZhdGUgX2NvbmZpZ0xvYWRlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9jb25maWc6IEVsZGVyTGFuZ3VhZ2VDb25maWc7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbmo6IEluamVjdG9yLFxuICAgICkge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuXG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5sYW5ndWFnZUNvbmZpZztcbiAgICBjb25zdCBza2lwSW50ZXJjZXB0b3IgPSAoY29uZmlnICYmIGNvbmZpZy5pbnRlcmNlcHRvciAmJiBjb25maWcuaW50ZXJjZXB0b3IuZGlzYWJsZSk7XG5cbiAgICBpZiAoIXNraXBJbnRlcmNlcHRvciAmJiB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykge1xuXG4gICAgICAvLyBLZWVwcyB0aGUgb3JpZ2luYWwgcmVxdWVzdCBwYXJhbXMuIGFzIGEgbmV3IEh0dHBQYXJhbXNcbiAgICAgIGxldCBuZXdQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7ZnJvbVN0cmluZzogcmVxLnBhcmFtcy50b1N0cmluZygpfSk7XG5cbiAgICAgIG5ld1BhcmFtcyA9IG5ld1BhcmFtcy5zZXQodGhpcy5fcXVlcnlQYXJhbSwgdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcpO1xuXG4gICAgICAvLyBDbG9uZSB0aGUgcmVxdWVzdCB3aXRoIHBhcmFtcyBpbnN0ZWFkIG9mIHNldFBhcmFtc1xuICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTg4MTJcbiAgICAgIGNvbnN0IHJlcXVlc3RDbG9uZSA9IHJlcS5jbG9uZSh7XG4gICAgICAgIHBhcmFtczogbmV3UGFyYW1zXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3RDbG9uZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCBsYW5ndWFnZUNvbmZpZygpOiBFbGRlckxhbmd1YWdlQ29uZmlnIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZ0xvYWRlZCkge1xuXG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLmluai5nZXQoRWxkZXJMYW5ndWFnZUNvbmZpZyk7IC8vIFdvcmthcm91bmQgZm9yIGN5Y2xpYyBkZXBlbmRlbmN5XG4gICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG5cbiAgICAgIHRoaXMuX3F1ZXJ5UGFyYW0gPSBjb25maWcgJiYgY29uZmlnLmludGVyY2VwdG9yICYmIGNvbmZpZy5pbnRlcmNlcHRvci5xdWVyeVBhcmFtXG4gICAgICAgID8gY29uZmlnLmludGVyY2VwdG9yLnF1ZXJ5UGFyYW1cbiAgICAgICAgOiAnbG9jYWxlJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRyYW5zbGF0ZSgpOiBUcmFuc2xhdGVTZXJ2aWNlIHtcbiAgICBpZiAoIXRoaXMuX3RyYW5zbGF0ZSkge1xuICAgICAgdGhpcy5fdHJhbnNsYXRlID0gdGhpcy5pbmouZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpOyAvLyBXb3JrYXJvdW5kIGZvciBjeWNsaWMgZGVwZW5kZW5jeVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlO1xuICB9XG59XG4iXX0=