@elderbyte/ngx-starter 14.3.0 → 14.3.3

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 (293) hide show
  1. package/esm2020/lib/common/data/data-context/data-context-base.mjs +1 -1
  2. package/esm2020/lib/common/data/data-context/data-context-continuable-paged.mjs +1 -1
  3. package/esm2020/lib/common/data/data-context/data-context-simple.mjs +1 -1
  4. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +3 -3
  5. package/esm2020/lib/common/forms/elder-form-field-control.mjs +139 -0
  6. package/esm2020/lib/common/forms/form-field-base.component.mjs +3 -3
  7. package/esm2020/lib/common/forms/multi-model-base.component.mjs +3 -3
  8. package/esm2020/lib/common/forms/public_api.mjs +2 -1
  9. package/esm2020/lib/common/forms/template-composite-control.mjs +3 -3
  10. package/esm2020/lib/common/forms/value-accessor-base.mjs +3 -3
  11. package/esm2020/lib/common/http/http-client-builder.service.mjs +3 -3
  12. package/esm2020/lib/common/http/http-client-pristine.mjs +3 -3
  13. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +3 -3
  14. package/esm2020/lib/common/http/transfer/http-data-transfer.mjs +1 -1
  15. package/esm2020/lib/common/public_api.mjs +1 -2
  16. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
  17. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
  18. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
  19. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
  20. package/esm2020/lib/components/auditing/elder-audit.module.mjs +4 -4
  21. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
  22. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +4 -4
  23. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
  24. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
  25. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +4 -4
  26. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
  27. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  28. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
  29. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
  30. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
  31. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
  32. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  33. package/esm2020/lib/components/containers/elder-containers.module.mjs +4 -4
  34. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
  35. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
  36. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
  37. package/esm2020/lib/components/csv/elder-csv.module.mjs +4 -4
  38. package/esm2020/lib/components/currency/elder-currency.module.mjs +4 -4
  39. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +3 -3
  40. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
  41. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
  42. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -3
  43. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  44. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  45. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  46. package/esm2020/lib/components/data-view/base/data-view-options-provider-binding.mjs +63 -0
  47. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +56 -13
  48. package/esm2020/lib/components/data-view/base/elder-data-view-options-provider.mjs +44 -0
  49. package/esm2020/lib/components/data-view/base/elder-data-view-options.mjs +42 -0
  50. package/esm2020/lib/components/data-view/base/public_api.mjs +6 -0
  51. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
  52. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +4 -4
  53. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
  54. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
  55. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
  56. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
  57. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +16 -30
  58. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
  59. package/esm2020/lib/components/data-view/public_api.mjs +2 -2
  60. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
  61. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
  62. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +4 -4
  63. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  64. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
  65. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
  66. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +12 -46
  67. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
  68. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +4 -4
  69. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
  70. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
  71. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
  72. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +4 -4
  73. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
  74. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
  75. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +7 -7
  76. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +3 -3
  77. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
  78. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
  79. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
  80. package/esm2020/lib/components/errors/elder-error.module.mjs +4 -4
  81. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
  82. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  83. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
  84. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +4 -4
  85. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
  86. package/esm2020/lib/components/files/elder-file-select.directive.mjs +3 -3
  87. package/esm2020/lib/components/files/elder-file.module.mjs +4 -4
  88. package/esm2020/lib/components/files/file-select/file-select.component.mjs +3 -3
  89. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +3 -3
  90. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
  91. package/esm2020/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +3 -3
  92. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
  93. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
  94. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
  95. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
  96. package/esm2020/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +3 -3
  97. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
  98. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +13 -13
  99. package/esm2020/lib/components/forms/directives/elder-input-pattern.directive.mjs +3 -3
  100. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
  101. package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +3 -3
  102. package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +3 -3
  103. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  104. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
  105. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
  106. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +4 -4
  107. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
  108. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
  109. package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +3 -3
  110. package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +3 -3
  111. package/esm2020/lib/components/forms/elder-forms.module.mjs +4 -4
  112. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +6 -6
  113. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +4 -4
  114. package/esm2020/lib/components/forms/search/elder-search.module.mjs +4 -4
  115. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +4 -4
  116. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
  117. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +3 -3
  118. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +4 -4
  119. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +3 -3
  120. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
  121. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
  122. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  123. package/esm2020/lib/components/headers/elder-header.module.mjs +4 -4
  124. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +3 -3
  125. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
  126. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +4 -4
  127. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
  128. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
  129. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +4 -4
  130. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
  131. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +4 -4
  132. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  133. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
  134. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
  135. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
  136. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +4 -4
  137. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +3 -3
  138. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +3 -3
  139. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
  140. package/esm2020/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +119 -0
  141. package/esm2020/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +137 -0
  142. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +22 -10
  143. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +3 -3
  144. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  145. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +58 -32
  146. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
  147. package/esm2020/lib/components/iframes/iframe.service.mjs +6 -8
  148. package/esm2020/lib/components/iframes/typed-event-message.mjs +42 -0
  149. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +7 -5
  150. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +4 -4
  151. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +7 -7
  152. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +3 -3
  153. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +4 -4
  154. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
  155. package/esm2020/lib/components/labels/elder-labels.module.mjs +4 -4
  156. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +3 -3
  157. package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +3 -3
  158. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +5 -5
  159. package/esm2020/lib/components/measures/elder-measures.module.mjs +8 -8
  160. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
  161. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +3 -3
  162. package/esm2020/lib/components/measures/elder-unit.service.mjs +3 -3
  163. package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +3 -3
  164. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +3 -3
  165. package/esm2020/lib/components/multi-autocomplete/elder-multi-auto-complete.module.mjs +4 -4
  166. package/esm2020/lib/components/multi-autocomplete/elder-multi-autocomplete.component.mjs +3 -3
  167. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +4 -4
  168. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
  169. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
  170. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +4 -4
  171. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
  172. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  173. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
  174. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
  175. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
  176. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +4 -4
  177. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
  178. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
  179. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
  180. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  181. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +4 -4
  182. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +4 -4
  183. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  184. package/esm2020/lib/components/panels/elder-panel.module.mjs +4 -4
  185. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +3 -3
  186. package/esm2020/lib/components/select/auto/elder-auto-select-first.directive.mjs +5 -5
  187. package/esm2020/lib/components/select/auto/elder-select-first-util.mjs +1 -1
  188. package/esm2020/lib/components/select/elder-select-base.mjs +3 -3
  189. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +6 -6
  190. package/esm2020/lib/components/select/elder-select-on-tab.directive.mjs +4 -4
  191. package/esm2020/lib/components/select/elder-select-value.directive.mjs +3 -3
  192. package/esm2020/lib/components/select/elder-select.module.mjs +8 -8
  193. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +3 -3
  194. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
  195. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +23 -28
  196. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  197. package/esm2020/lib/components/select/single/elder-select/elder-select.component.mjs +419 -0
  198. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +3 -3
  199. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
  200. package/esm2020/lib/components/select-list/elder-select-list.module.mjs +4 -4
  201. package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +3 -3
  202. package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +3 -3
  203. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
  204. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
  205. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
  206. package/esm2020/lib/components/shell/elder-shell.module.mjs +4 -4
  207. package/esm2020/lib/components/shell/elder-shell.service.mjs +3 -3
  208. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +4 -4
  209. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +13 -13
  210. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
  211. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
  212. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +4 -4
  213. package/esm2020/lib/components/tabs/elder-tab.module.mjs +4 -4
  214. package/esm2020/lib/components/theme/elder-theme-applier.directive.mjs +4 -4
  215. package/esm2020/lib/components/theme/elder-theme-preference.service.mjs +3 -3
  216. package/esm2020/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +3 -3
  217. package/esm2020/lib/components/theme/elder-theme.directive.mjs +4 -4
  218. package/esm2020/lib/components/theme/elder-theme.module.mjs +4 -4
  219. package/esm2020/lib/components/theme/elder-theme.service.mjs +3 -3
  220. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +3 -3
  221. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +3 -3
  222. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +3 -3
  223. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +3 -3
  224. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +3 -3
  225. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +3 -3
  226. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +3 -3
  227. package/esm2020/lib/components/time/elder-time.module.mjs +8 -8
  228. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +3 -3
  229. package/esm2020/lib/components/toasts/elder-toast.module.mjs +4 -4
  230. package/esm2020/lib/components/toasts/elder-toast.service.mjs +9 -9
  231. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  232. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
  233. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
  234. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
  235. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +4 -4
  236. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +3 -3
  237. package/esm2020/lib/features/kafent/access-token-provider.mjs +3 -3
  238. package/esm2020/lib/features/kafent/kafent-config.mjs +3 -3
  239. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +3 -3
  240. package/esm2020/lib/features/kafent/kafent-event.service.mjs +3 -3
  241. package/esm2020/lib/features/kafent/kafent.module.mjs +4 -4
  242. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
  243. package/esm2020/lib/pipes/bytes.pipe.mjs +3 -3
  244. package/esm2020/lib/pipes/elder-pipes.module.mjs +10 -10
  245. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +3 -3
  246. package/esm2020/lib/pipes/elder-round.pipe.mjs +3 -3
  247. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +3 -3
  248. package/esm2020/lib/pipes/elder-truncate.pipe.mjs +3 -3
  249. package/esm2020/lib/pipes/iso-duration.pipe.mjs +3 -3
  250. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
  251. package/esm2020/lib/pipes/iso-interval.pipe.mjs +3 -3
  252. package/esm2020/lib/pipes/time-ago.pipe.mjs +3 -3
  253. package/esm2020/lib/pipes/time-duration.pipe.mjs +3 -3
  254. package/esm2020/lib/pipes/weight.pipe.mjs +3 -3
  255. package/fesm2015/elderbyte-ngx-starter.mjs +2717 -2204
  256. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  257. package/fesm2020/elderbyte-ngx-starter.mjs +2472 -1962
  258. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  259. package/lib/common/data/data-context/data-context-base.d.ts +1 -1
  260. package/lib/common/forms/elder-form-field-control.d.ts +86 -0
  261. package/lib/common/forms/public_api.d.ts +1 -0
  262. package/lib/common/public_api.d.ts +0 -1
  263. package/lib/components/data-view/base/data-view-options-provider-binding.d.ts +39 -0
  264. package/lib/components/data-view/base/elder-data-view-base.d.ts +29 -6
  265. package/lib/{common/rxjs/lazy-behavior-subject.d.ts → components/data-view/base/elder-data-view-options-provider.d.ts} +20 -20
  266. package/lib/components/data-view/base/elder-data-view-options.d.ts +33 -0
  267. package/lib/components/data-view/base/public_api.d.ts +5 -0
  268. package/lib/components/data-view/grid/elder-grid/elder-grid.component.d.ts +4 -6
  269. package/lib/components/data-view/public_api.d.ts +1 -1
  270. package/lib/components/data-view/table/elder-table/elder-table.component.d.ts +5 -19
  271. package/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.d.ts +66 -0
  272. package/lib/components/iframes/data-view/data-view-iframe-adapter.directive.d.ts +62 -0
  273. package/lib/components/iframes/elder-iframe.module.d.ts +14 -10
  274. package/lib/components/iframes/iframe-host/iframe-host.component.d.ts +28 -10
  275. package/lib/components/iframes/iframe.service.d.ts +3 -3
  276. package/lib/components/iframes/typed-event-message.d.ts +26 -0
  277. package/lib/components/measures/directives/elder-unit-select.directive.d.ts +1 -1
  278. package/lib/components/select/auto/elder-auto-select-first.directive.d.ts +1 -1
  279. package/lib/components/select/auto/elder-select-first-util.d.ts +1 -1
  280. package/lib/components/select/elder-select.module.d.ts +3 -3
  281. package/lib/components/select/popup/selection-model-popup.directive.d.ts +5 -13
  282. package/lib/components/select/{elder-select → single/elder-select}/elder-select.component.d.ts +3 -3
  283. package/package.json +3 -2
  284. package/src/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.scss +0 -0
  285. package/src/lib/components/select/{elder-select → single/elder-select}/elder-select.component.scss +0 -0
  286. package/esm2020/lib/common/rxjs/lazy-behavior-subject.mjs +0 -59
  287. package/esm2020/lib/common/rxjs/public_api.mjs +0 -2
  288. package/esm2020/lib/components/data-view/base/elder-data-view-base.module.mjs +0 -18
  289. package/esm2020/lib/components/iframes/iframe-message.mjs +0 -2
  290. package/esm2020/lib/components/select/elder-select/elder-select.component.mjs +0 -411
  291. package/lib/common/rxjs/public_api.d.ts +0 -1
  292. package/lib/components/data-view/base/elder-data-view-base.module.d.ts +0 -9
  293. package/lib/components/iframes/iframe-message.d.ts +0 -5
@@ -42,9 +42,9 @@ export class ElderLocalizedTextsDirective {
42
42
  this.destroy$.complete();
43
43
  }
44
44
  }
45
- ElderLocalizedTextsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLocalizedTextsDirective, deps: [{ token: i1.ElderLocalizedInputComponent }], target: i0.ɵɵFactoryTarget.Directive });
46
- ElderLocalizedTextsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: ElderLocalizedTextsDirective, selector: "[elderElderLocalizedTexts]", queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], ngImport: i0 });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLocalizedTextsDirective, decorators: [{
45
+ ElderLocalizedTextsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLocalizedTextsDirective, deps: [{ token: i1.ElderLocalizedInputComponent }], target: i0.ɵɵFactoryTarget.Directive });
46
+ ElderLocalizedTextsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.0", type: ElderLocalizedTextsDirective, selector: "[elderElderLocalizedTexts]", queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], ngImport: i0 });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLocalizedTextsDirective, decorators: [{
48
48
  type: Directive,
49
49
  args: [{
50
50
  selector: '[elderElderLocalizedTexts]'
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
53
53
  type: ContentChildren,
54
54
  args: [ElderLocalizedTextColumnDirective]
55
55
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLXRleHRzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtdGV4dHMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLFNBQVMsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBRzFFOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQU8sNEJBQTRCO0lBYXZDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQix1QkFBcUQ7UUFBckQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUE4QjtRQVR2RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQVV0QyxDQUFDO0lBRUw7Ozs7Z0ZBSTRFO0lBRXJFLGVBQWU7UUFDcEIsZ0JBQWdCO2FBQ2IsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQzthQUN6QixPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakIsSUFBSSxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7YUFDcEQ7UUFDSCxDQUFDLENBQUM7YUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzt5SEEzQ1UsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsbUdBUXRCLGlDQUFpQzsyRkFSdkMsNEJBQTRCO2tCQUh4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3ZDO21IQVVRLGdCQUFnQjtzQkFEdEIsZUFBZTt1QkFBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWxvY2FsaXplZC10ZXh0LWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtRdWVyeUxpc3RCaW5kaW5nfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvcXVlcnktbGlzdC1iaW5kaW5nJztcbmltcG9ydCB7RWxkZXJMb2NhbGl6ZWRJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudCc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgY29sbGVjdHMgYWxsIGxvY2FsaXplZCB0ZXh0IGNvbHVtbnMgaW4gaXRzIGhvc3QgY29udGVudFxuICogYW5kIGluamVjdHMgaXQgaW50byBhIHBhcmVudCBlbGRlci1sb2NhbGl6ZWQtaW5wdXQuXG4gKlxuICogVGhpcyBpcyB1c2VmdWwgaWYgdGhlIHNhbWUgY3VzdG9tIGxvY2FsaXphYmxlIGlzIHVzZWQgbXVsdGlwbGUgdGltZXMsXG4gKiBzbyB0aGF0IGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNvbHVtbnMgbXVzdCBvbmx5IGJlIGRlZmluZWQgb25jZS5cbiAqXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlckVsZGVyTG9jYWxpemVkVGV4dHNdJ1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlckxvY2FsaXplZFRleHRzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAQ29udGVudENoaWxkcmVuKEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZSlcbiAgcHVibGljIHRleHRDb2x1bW5zUXVlcnk6IFF1ZXJ5TGlzdDxFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmU+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxpemVkSW5wdXRDb21wb25lbnQ6IEVsZGVyTG9jYWxpemVkSW5wdXRDb21wb25lbnRcbiAgKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIFF1ZXJ5TGlzdEJpbmRpbmdcbiAgICAgIC5vZih0aGlzLnRleHRDb2x1bW5zUXVlcnkpXG4gICAgICAudXBkYXRlZChjb2x1bW5zID0+IHtcbiAgICAgICAgaWYgKGNvbHVtbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmxvY2FsaXplZElucHV0Q29tcG9uZW50LnRleHRDb2x1bW5zID0gY29sdW1ucztcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5iaW5kVW50aWwodGhpcy5kZXN0cm95JCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbG9jYWxpemVkLXRleHRzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaTE4bi9lbnRpdGllcy9lbGRlci1sb2NhbGl6ZWQtdGV4dHMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLFNBQVMsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBRzFFOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQU8sNEJBQTRCO0lBYXZDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQix1QkFBcUQ7UUFBckQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUE4QjtRQVR2RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVU1QyxDQUFDO0lBRUw7Ozs7Z0ZBSTRFO0lBRXJFLGVBQWU7UUFDcEIsZ0JBQWdCO2FBQ2IsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQzthQUN6QixPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakIsSUFBSSxPQUFPLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7YUFDcEQ7UUFDSCxDQUFDLENBQUM7YUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzt5SEEzQ1UsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsbUdBUXRCLGlDQUFpQzsyRkFSdkMsNEJBQTRCO2tCQUh4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3ZDO21IQVVRLGdCQUFnQjtzQkFEdEIsZUFBZTt1QkFBQyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RWxkZXJMb2NhbGl6ZWRUZXh0Q29sdW1uRGlyZWN0aXZlfSBmcm9tICcuL2VsZGVyLWxvY2FsaXplZC10ZXh0LWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtRdWVyeUxpc3RCaW5kaW5nfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvcXVlcnktbGlzdC1iaW5kaW5nJztcbmltcG9ydCB7RWxkZXJMb2NhbGl6ZWRJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1sb2NhbGl6ZWQtaW5wdXQvZWxkZXItbG9jYWxpemVkLWlucHV0LmNvbXBvbmVudCc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgY29sbGVjdHMgYWxsIGxvY2FsaXplZCB0ZXh0IGNvbHVtbnMgaW4gaXRzIGhvc3QgY29udGVudFxuICogYW5kIGluamVjdHMgaXQgaW50byBhIHBhcmVudCBlbGRlci1sb2NhbGl6ZWQtaW5wdXQuXG4gKlxuICogVGhpcyBpcyB1c2VmdWwgaWYgdGhlIHNhbWUgY3VzdG9tIGxvY2FsaXphYmxlIGlzIHVzZWQgbXVsdGlwbGUgdGltZXMsXG4gKiBzbyB0aGF0IGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNvbHVtbnMgbXVzdCBvbmx5IGJlIGRlZmluZWQgb25jZS5cbiAqXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlckVsZGVyTG9jYWxpemVkVGV4dHNdJ1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlckxvY2FsaXplZFRleHRzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBAQ29udGVudENoaWxkcmVuKEVsZGVyTG9jYWxpemVkVGV4dENvbHVtbkRpcmVjdGl2ZSlcbiAgcHVibGljIHRleHRDb2x1bW5zUXVlcnk6IFF1ZXJ5TGlzdDxFbGRlckxvY2FsaXplZFRleHRDb2x1bW5EaXJlY3RpdmU+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxpemVkSW5wdXRDb21wb25lbnQ6IEVsZGVyTG9jYWxpemVkSW5wdXRDb21wb25lbnRcbiAgKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIFF1ZXJ5TGlzdEJpbmRpbmdcbiAgICAgIC5vZih0aGlzLnRleHRDb2x1bW5zUXVlcnkpXG4gICAgICAudXBkYXRlZChjb2x1bW5zID0+IHtcbiAgICAgICAgaWYgKGNvbHVtbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmxvY2FsaXplZElucHV0Q29tcG9uZW50LnRleHRDb2x1bW5zID0gY29sdW1ucztcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5iaW5kVW50aWwodGhpcy5kZXN0cm95JCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -28,9 +28,9 @@ export class I18nPickAsyncPipe {
28
28
  return picked$.pipe(map(picked => picked ?? '-'));
29
29
  }
30
30
  }
31
- I18nPickAsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: I18nPickAsyncPipe, deps: [{ token: i1.LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Pipe });
32
- I18nPickAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: I18nPickAsyncPipe, name: "i18nPick$" });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: I18nPickAsyncPipe, decorators: [{
31
+ I18nPickAsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: I18nPickAsyncPipe, deps: [{ token: i1.LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Pipe });
32
+ I18nPickAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: I18nPickAsyncPipe, name: "i18nPick$" });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: I18nPickAsyncPipe, decorators: [{
34
34
  type: Pipe,
35
35
  args: [{
36
36
  name: 'i18nPick$'
@@ -19,9 +19,9 @@ export class I18nPickPipe {
19
19
  return this.pickerService.pickText(choices, field, desiredTag) ?? '-';
20
20
  }
21
21
  }
22
- I18nPickPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: I18nPickPipe, deps: [{ token: i1.LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Pipe });
23
- I18nPickPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: I18nPickPipe, name: "i18nPick" });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: I18nPickPipe, decorators: [{
22
+ I18nPickPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: I18nPickPipe, deps: [{ token: i1.LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Pipe });
23
+ I18nPickPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: I18nPickPipe, name: "i18nPick" });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: I18nPickPipe, decorators: [{
25
25
  type: Pipe,
26
26
  args: [{
27
27
  name: 'i18nPick'
@@ -63,9 +63,9 @@ export class LocalisationPickerService {
63
63
  return undefined;
64
64
  }
65
65
  }
66
- LocalisationPickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: LocalisationPickerService, deps: [{ token: i1.ElderLanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
67
- LocalisationPickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: LocalisationPickerService, providedIn: 'root' });
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: LocalisationPickerService, decorators: [{
66
+ LocalisationPickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LocalisationPickerService, deps: [{ token: i1.ElderLanguageService }], target: i0.ɵɵFactoryTarget.Injectable });
67
+ LocalisationPickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LocalisationPickerService, providedIn: 'root' });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: LocalisationPickerService, decorators: [{
69
69
  type: Injectable,
70
70
  args: [{
71
71
  providedIn: 'root'
@@ -61,9 +61,9 @@ export class ElderLanguageInterceptor {
61
61
  return this._translate;
62
62
  }
63
63
  }
64
- ElderLanguageInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
65
- ElderLanguageInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageInterceptor });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageInterceptor, decorators: [{
64
+ ElderLanguageInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
65
+ ElderLanguageInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageInterceptor });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageInterceptor, decorators: [{
67
67
  type: Injectable
68
68
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
69
69
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItbGFuZ3VhZ2UtaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2kxOG4vbGFuZ3VhZ2UvZWxkZXItbGFuZ3VhZ2UtaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQTBDLFVBQVUsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQUU1RDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBZW5DOzs7O2dGQUk0RTtJQUU1RSxZQUNVLEdBQWE7UUFBYixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBYmYsZ0JBQVcsR0FBRyxRQUFRLENBQUM7UUFHdkIsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFZOUIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUV2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ25DLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVyRixJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFO1lBRWxELHlEQUF5RDtZQUN6RCxJQUFJLFNBQVMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFDLENBQUMsQ0FBQztZQUVwRSxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFeEUscURBQXFEO1lBQ3JELGlFQUFpRTtZQUNqRSxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUM3QixNQUFNLEVBQUUsU0FBUzthQUNsQixDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDbEM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFZLGNBQWM7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFFdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLG1DQUFtQztZQUNyRixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUV0QixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVTtnQkFDOUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVTtnQkFDL0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsbUNBQW1DO1NBQ3RGO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7O3FIQWhGVSx3QkFBd0I7eUhBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge0luamVjdGFibGUsIEluamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUGFyYW1zLCBIdHRwUmVxdWVzdH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0VsZGVyTGFuZ3VhZ2VDb25maWd9IGZyb20gJy4vZWxkZXItbGFuZ3VhZ2UtY29uZmlnJztcblxuLyoqXG4gKiBUaGlzIGludGVyY2VwdG9yIGluamVjdHMgdGhlIGN1cnJlbnQgbG9jYWxlXG4gKiBzbyB0aGUgYmFja2VuZCBrbm93IHdoYXQgdGhlIGN1cnJlbnQgZGVzaXJlZCBsb2NhbGUgaXMgb2YgYSByZXF1ZXN0LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWxkZXJMYW5ndWFnZUludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2U7XG4gIHByaXZhdGUgX3F1ZXJ5UGFyYW0gPSAnbG9jYWxlJztcblxuXG4gIHByaXZhdGUgX2NvbmZpZ0xvYWRlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9jb25maWc6IEVsZGVyTGFuZ3VhZ2VDb25maWc7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbmo6IEluamVjdG9yLFxuICAgICkge1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuXG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5sYW5ndWFnZUNvbmZpZztcbiAgICBjb25zdCBza2lwSW50ZXJjZXB0b3IgPSAoY29uZmlnICYmIGNvbmZpZy5pbnRlcmNlcHRvciAmJiBjb25maWcuaW50ZXJjZXB0b3IuZGlzYWJsZSk7XG5cbiAgICBpZiAoIXNraXBJbnRlcmNlcHRvciAmJiB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykge1xuXG4gICAgICAvLyBLZWVwcyB0aGUgb3JpZ2luYWwgcmVxdWVzdCBwYXJhbXMuIGFzIGEgbmV3IEh0dHBQYXJhbXNcbiAgICAgIGxldCBuZXdQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7ZnJvbVN0cmluZzogcmVxLnBhcmFtcy50b1N0cmluZygpfSk7XG5cbiAgICAgIG5ld1BhcmFtcyA9IG5ld1BhcmFtcy5zZXQodGhpcy5fcXVlcnlQYXJhbSwgdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcpO1xuXG4gICAgICAvLyBDbG9uZSB0aGUgcmVxdWVzdCB3aXRoIHBhcmFtcyBpbnN0ZWFkIG9mIHNldFBhcmFtc1xuICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTg4MTJcbiAgICAgIGNvbnN0IHJlcXVlc3RDbG9uZSA9IHJlcS5jbG9uZSh7XG4gICAgICAgIHBhcmFtczogbmV3UGFyYW1zXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3RDbG9uZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCBsYW5ndWFnZUNvbmZpZygpOiBFbGRlckxhbmd1YWdlQ29uZmlnIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZ0xvYWRlZCkge1xuXG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLmluai5nZXQoRWxkZXJMYW5ndWFnZUNvbmZpZyk7IC8vIFdvcmthcm91bmQgZm9yIGN5Y2xpYyBkZXBlbmRlbmN5XG4gICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG5cbiAgICAgIHRoaXMuX3F1ZXJ5UGFyYW0gPSBjb25maWcgJiYgY29uZmlnLmludGVyY2VwdG9yICYmIGNvbmZpZy5pbnRlcmNlcHRvci5xdWVyeVBhcmFtXG4gICAgICAgID8gY29uZmlnLmludGVyY2VwdG9yLnF1ZXJ5UGFyYW1cbiAgICAgICAgOiAnbG9jYWxlJztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRyYW5zbGF0ZSgpOiBUcmFuc2xhdGVTZXJ2aWNlIHtcbiAgICBpZiAoIXRoaXMuX3RyYW5zbGF0ZSkge1xuICAgICAgdGhpcy5fdHJhbnNsYXRlID0gdGhpcy5pbmouZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpOyAvLyBXb3JrYXJvdW5kIGZvciBjeWNsaWMgZGVwZW5kZW5jeVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlO1xuICB9XG59XG4iXX0=
@@ -35,8 +35,8 @@ export class ElderLanguageModule {
35
35
  };
36
36
  }
37
37
  }
38
- ElderLanguageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
39
- ElderLanguageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageModule, declarations: [ElderLanguageSwitcherComponent], imports: [CommonModule,
38
+ ElderLanguageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
39
+ ElderLanguageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageModule, declarations: [ElderLanguageSwitcherComponent], imports: [CommonModule,
40
40
  TranslateModule,
41
41
  SimpleWebStorageModule,
42
42
  MatSelectModule,
@@ -44,7 +44,7 @@ ElderLanguageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ver
44
44
  MatMenuModule,
45
45
  FlexLayoutModule,
46
46
  FormsModule], exports: [ElderLanguageSwitcherComponent] });
47
- ElderLanguageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageModule, imports: [CommonModule,
47
+ ElderLanguageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageModule, imports: [CommonModule,
48
48
  TranslateModule,
49
49
  SimpleWebStorageModule,
50
50
  MatSelectModule,
@@ -52,7 +52,7 @@ ElderLanguageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
52
52
  MatMenuModule,
53
53
  FlexLayoutModule,
54
54
  FormsModule] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageModule, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageModule, decorators: [{
56
56
  type: NgModule,
57
57
  args: [{
58
58
  imports: [
@@ -110,9 +110,9 @@ export class ElderLanguageService {
110
110
  this.translate.use(lang);
111
111
  }
112
112
  }
113
- ElderLanguageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageService, deps: [{ token: i1.TranslateService }, { token: i2.WebLocalStorage }], target: i0.ɵɵFactoryTarget.Injectable });
114
- ElderLanguageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageService, providedIn: 'root' });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageService, decorators: [{
113
+ ElderLanguageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageService, deps: [{ token: i1.TranslateService }, { token: i2.WebLocalStorage }], target: i0.ɵɵFactoryTarget.Injectable });
114
+ ElderLanguageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageService, providedIn: 'root' });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageService, decorators: [{
116
116
  type: Injectable,
117
117
  args: [{
118
118
  providedIn: 'root'
@@ -55,9 +55,9 @@ export class ElderLanguageSwitcherComponent {
55
55
  return this.language.isLanguageActive(lang);
56
56
  }
57
57
  }
58
- ElderLanguageSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageSwitcherComponent, deps: [{ token: i1.ElderLanguageService }], target: i0.ɵɵFactoryTarget.Component });
59
- ElderLanguageSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ElderLanguageSwitcherComponent, selector: "elder-language-switcher, ebs-language-switcher", inputs: { slimMode: "slimMode" }, ngImport: i0, template: "\n\n<mat-menu #languageMenu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let lang of languages\" (click)=\"currentLanguage = lang\">\n <mat-icon>language</mat-icon>\n <span [class.active]=\"isLanguageActive(lang)\">{{ 'language.' + lang | translate }}</span>\n </button>\n</mat-menu>\n\n<button mat-button type=\"button\"\n *ngIf=\"slimMode\" [matMenuTriggerFor]=\"languageMenu\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon>language</mat-icon>\n <span class=\"language\">{{currentLanguage}}</span>\n </div>\n</button>\n\n\n<mat-form-field *ngIf=\"!slimMode\">\n <mat-select placeholder=\"{{'language.language' | translate}}\" name=\"language\" [(ngModel)]=\"currentLanguage\">\n <mat-option *ngFor=\"let lang of languages\" [value]=\"lang\">{{ 'language.' + lang | translate }}</mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [".language{font-size:16px;text-transform:uppercase}.active{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i9.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLanguageSwitcherComponent, decorators: [{
58
+ ElderLanguageSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageSwitcherComponent, deps: [{ token: i1.ElderLanguageService }], target: i0.ɵɵFactoryTarget.Component });
59
+ ElderLanguageSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: ElderLanguageSwitcherComponent, selector: "elder-language-switcher, ebs-language-switcher", inputs: { slimMode: "slimMode" }, ngImport: i0, template: "\n\n<mat-menu #languageMenu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let lang of languages\" (click)=\"currentLanguage = lang\">\n <mat-icon>language</mat-icon>\n <span [class.active]=\"isLanguageActive(lang)\">{{ 'language.' + lang | translate }}</span>\n </button>\n</mat-menu>\n\n<button mat-button type=\"button\"\n *ngIf=\"slimMode\" [matMenuTriggerFor]=\"languageMenu\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon>language</mat-icon>\n <span class=\"language\">{{currentLanguage}}</span>\n </div>\n</button>\n\n\n<mat-form-field *ngIf=\"!slimMode\">\n <mat-select placeholder=\"{{'language.language' | translate}}\" name=\"language\" [(ngModel)]=\"currentLanguage\">\n <mat-option *ngFor=\"let lang of languages\" [value]=\"lang\">{{ 'language.' + lang | translate }}</mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [".language{font-size:16px;text-transform:uppercase}.active{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i9.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i9.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLanguageSwitcherComponent, decorators: [{
61
61
  type: Component,
62
62
  args: [{ selector: 'elder-language-switcher, ebs-language-switcher', template: "\n\n<mat-menu #languageMenu=\"matMenu\">\n <button mat-menu-item type=\"button\"\n *ngFor=\"let lang of languages\" (click)=\"currentLanguage = lang\">\n <mat-icon>language</mat-icon>\n <span [class.active]=\"isLanguageActive(lang)\">{{ 'language.' + lang | translate }}</span>\n </button>\n</mat-menu>\n\n<button mat-button type=\"button\"\n *ngIf=\"slimMode\" [matMenuTriggerFor]=\"languageMenu\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <mat-icon>language</mat-icon>\n <span class=\"language\">{{currentLanguage}}</span>\n </div>\n</button>\n\n\n<mat-form-field *ngIf=\"!slimMode\">\n <mat-select placeholder=\"{{'language.language' | translate}}\" name=\"language\" [(ngModel)]=\"currentLanguage\">\n <mat-option *ngFor=\"let lang of languages\" [value]=\"lang\">{{ 'language.' + lang | translate }}</mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [".language{font-size:16px;text-transform:uppercase}.active{font-weight:700}\n"] }]
63
63
  }], ctorParameters: function () { return [{ type: i1.ElderLanguageService }]; }, propDecorators: { slimMode: [{
@@ -32,14 +32,14 @@ export class ElderLocalesDeChModule {
32
32
  };
33
33
  }
34
34
  }
35
- ElderLocalesDeChModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLocalesDeChModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
- ElderLocalesDeChModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: ElderLocalesDeChModule, imports: [
35
+ ElderLocalesDeChModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLocalesDeChModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
+ ElderLocalesDeChModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.0", ngImport: i0, type: ElderLocalesDeChModule, imports: [
37
37
  // common
38
38
  CommonModule] });
39
- ElderLocalesDeChModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLocalesDeChModule, imports: [
39
+ ElderLocalesDeChModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLocalesDeChModule, imports: [
40
40
  // common
41
41
  CommonModule] });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElderLocalesDeChModule, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ElderLocalesDeChModule, decorators: [{
43
43
  type: NgModule,
44
44
  args: [{
45
45
  imports: [
@@ -0,0 +1,119 @@
1
+ import { ChangeDetectionStrategy, Component, Input, Optional, ViewChild } from '@angular/core';
2
+ import { IframeHostComponent } from '../../iframe-host/iframe-host.component';
3
+ import { BehaviorSubject, combineLatest, Subject } from 'rxjs';
4
+ import { filter, takeUntil } from 'rxjs/operators';
5
+ import { DataViewMessage, DataViewSelectionInit } from '../../typed-event-message';
6
+ import { LoggerFactory } from '@elderbyte/ts-logger';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../../common/selection/selection-model";
9
+ import * as i2 from "@angular/flex-layout/flex";
10
+ import * as i3 from "../../iframe-host/iframe-host.component";
11
+ /**
12
+ * Container for displaying a remote data view in an iframe.
13
+ * Provides capabilities to communicate between remote data view (child)
14
+ * and iframe parent.
15
+ */
16
+ export class DataViewIframeComponent {
17
+ /***************************************************************************
18
+ * *
19
+ * Constructor *
20
+ * *
21
+ **************************************************************************/
22
+ constructor(selectionModel) {
23
+ this.selectionModel = selectionModel;
24
+ /***************************************************************************
25
+ * *
26
+ * Fields *
27
+ * *
28
+ **************************************************************************/
29
+ this.log = LoggerFactory.getLogger(this.constructor.name);
30
+ this._dataViewOptions$ = new BehaviorSubject(null);
31
+ this._destroy$ = new Subject();
32
+ }
33
+ /***************************************************************************
34
+ * *
35
+ * Life Cycle *
36
+ * *
37
+ **************************************************************************/
38
+ ngOnInit() {
39
+ }
40
+ ngAfterViewInit() {
41
+ // iframe is only available after view init
42
+ this.setupDataViewOptionsBridge(this.iframeHost);
43
+ }
44
+ ngOnDestroy() {
45
+ this._destroy$.next();
46
+ this._destroy$.complete();
47
+ }
48
+ /***************************************************************************
49
+ * *
50
+ * Properties *
51
+ * *
52
+ **************************************************************************/
53
+ get dataViewOptions() {
54
+ return this._dataViewOptions$.getValue();
55
+ }
56
+ set dataViewOptions(options) {
57
+ this._dataViewOptions$.next(options);
58
+ }
59
+ get dataViewOptions$() {
60
+ return this._dataViewOptions$.asObservable();
61
+ }
62
+ /***************************************************************************
63
+ * *
64
+ * Public API *
65
+ * *
66
+ **************************************************************************/
67
+ onMessageFromChild(message) {
68
+ if (DataViewMessage.isOfType(message)) {
69
+ switch (message.type) {
70
+ case 'SELECTION_SELECTED':
71
+ this.handleSelectionMessage(message.data);
72
+ break;
73
+ }
74
+ }
75
+ }
76
+ sendMessageToChild(message) {
77
+ this.log.debug("Sending message to iframe child:", message);
78
+ this.iframeHost.sendMessageToChild(message);
79
+ }
80
+ /***************************************************************************
81
+ * *
82
+ * Private Methods *
83
+ * *
84
+ **************************************************************************/
85
+ handleSelectionMessage(dataViewSelection) {
86
+ if (this.selectionModel) {
87
+ this.selectionModel.replaceSelection(dataViewSelection.selection);
88
+ }
89
+ }
90
+ setupDataViewOptionsBridge(iframeHost) {
91
+ combineLatest([
92
+ this._dataViewOptions$,
93
+ iframeHost.iframeState$
94
+ ]).pipe(takeUntil(this._destroy$), filter(([options, state]) => !!options && state.hasLoaded)).subscribe(([options, state]) => this.sendMessageToChild(this.buildDataViewInitMessage(options, this.initialSelection)));
95
+ }
96
+ buildDataViewInitMessage(options, initialSelection) {
97
+ return DataViewMessage.initialSelection(new DataViewSelectionInit(options, initialSelection, this.idField));
98
+ }
99
+ }
100
+ DataViewIframeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DataViewIframeComponent, deps: [{ token: i1.SelectionModel, optional: true }], target: i0.ɵɵFactoryTarget.Component });
101
+ DataViewIframeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: DataViewIframeComponent, selector: "elder-data-view-iframe", inputs: { srcUrl: "srcUrl", idField: "idField", initialSelection: "initialSelection", dataViewOptions: "dataViewOptions" }, viewQueries: [{ propertyName: "iframeHost", first: true, predicate: IframeHostComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" fxFill>\n\n <elder-i-frame-host fxFlex\n [iframeParams]=\"{srcUrl: srcUrl, hideActionBar: true}\"\n (message)=\"onMessageFromChild($event)\">\n </elder-i-frame-host>\n\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i3.IframeHostComponent, selector: "elder-i-frame-host", inputs: ["iframeParams"], outputs: ["message", "close"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DataViewIframeComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'elder-data-view-iframe', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div fxLayout=\"column\" fxFill>\n\n <elder-i-frame-host fxFlex\n [iframeParams]=\"{srcUrl: srcUrl, hideActionBar: true}\"\n (message)=\"onMessageFromChild($event)\">\n </elder-i-frame-host>\n\n</div>\n" }]
105
+ }], ctorParameters: function () { return [{ type: i1.SelectionModel, decorators: [{
106
+ type: Optional
107
+ }] }]; }, propDecorators: { srcUrl: [{
108
+ type: Input
109
+ }], idField: [{
110
+ type: Input
111
+ }], initialSelection: [{
112
+ type: Input
113
+ }], iframeHost: [{
114
+ type: ViewChild,
115
+ args: [IframeHostComponent]
116
+ }], dataViewOptions: [{
117
+ type: Input
118
+ }] } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LWlmcmFtZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2lmcmFtZXMvZGF0YS12aWV3L2RhdGEtdmlldy1pZnJhbWUvZGF0YS12aWV3LWlmcmFtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2lmcmFtZXMvZGF0YS12aWV3L2RhdGEtdmlldy1pZnJhbWUvZGF0YS12aWV3LWlmcmFtZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBR0wsUUFBUSxFQUNSLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUU1RSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDekUsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZUFBZSxFQUFxQixxQkFBcUIsRUFBb0IsTUFBTSwyQkFBMkIsQ0FBQztBQUN2SCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBSW5EOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBMEJsQzs7OztnRkFJNEU7SUFFNUUsWUFDc0IsY0FBbUM7UUFBbkMsbUJBQWMsR0FBZCxjQUFjLENBQXFCO1FBL0J6RDs7OztvRkFJNEU7UUFFM0QsUUFBRyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFD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QUFDLE1BQU07OzBCQW1DNUMsUUFBUTs0Q0FsQkosTUFBTTtzQkFEWixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsU0FBUzt1QkFBQyxtQkFBbUI7Z0JBNENuQixlQUFlO3NCQUR6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJZnJhbWVIb3N0Q29tcG9uZW50fSBmcm9tICcuLi8uLi9pZnJhbWUtaG9zdC9pZnJhbWUtaG9zdC5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3Rpb25Nb2RlbH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaWx0ZXIsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtEYXRhVmlld01lc3NhZ2UsIERhdGFWaWV3U2VsZWN0aW9uLCBEYXRhVmlld1NlbGVjdGlvbkluaXQsIFR5cGVkRXZlbnRNZXNzYWdlfSBmcm9tICcuLi8uLi90eXBlZC1ldmVudC1tZXNzYWdlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyfSBmcm9tICcuLi8uLi8uLi9kYXRhLXZpZXcvYmFzZS9lbGRlci1kYXRhLXZpZXctb3B0aW9ucy1wcm92aWRlcic7XG5pbXBvcnQge0VsZGVyRGF0YVZpZXdPcHRpb25zfSBmcm9tICcuLi8uLi8uLi9kYXRhLXZpZXcvYmFzZS9lbGRlci1kYXRhLXZpZXctb3B0aW9ucyc7XG5cbi8qKlxuICogQ29udGFpbmVyIGZvciBkaXNwbGF5aW5nIGEgcmVtb3RlIGRhdGEgdmlldyBpbiBhbiBpZnJhbWUuXG4gKiBQcm92aWRlcyBjYXBhYmlsaXRpZXMgdG8gY29tbXVuaWNhdGUgYmV0d2VlbiByZW1vdGUgZGF0YSB2aWV3IChjaGlsZClcbiAqIGFuZCBpZnJhbWUgcGFyZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbGRlci1kYXRhLXZpZXctaWZyYW1lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdmlldy1pZnJhbWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXZpZXctaWZyYW1lLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3SWZyYW1lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhVmlld09wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFbGRlckRhdGFWaWV3T3B0aW9ucz4obnVsbCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzcmNVcmw6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaWRGaWVsZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFsU2VsZWN0aW9uOiBhbnlbXTtcblxuICBAVmlld0NoaWxkKElmcmFtZUhvc3RDb21wb25lbnQpXG4gIHB1YmxpYyBpZnJhbWVIb3N0OiBJZnJhbWVIb3N0Q29tcG9uZW50O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPGFueT5cbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIGlmcmFtZSBpcyBvbmx5IGF2YWlsYWJsZSBhZnRlciB2aWV3IGluaXRcbiAgICB0aGlzLnNldHVwRGF0YVZpZXdPcHRpb25zQnJpZGdlKHRoaXMuaWZyYW1lSG9zdCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFWaWV3T3B0aW9ucygpOiBFbGRlckRhdGFWaWV3T3B0aW9ucyB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFWaWV3T3B0aW9ucyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGF0YVZpZXdPcHRpb25zKG9wdGlvbnM6IEVsZGVyRGF0YVZpZXdPcHRpb25zKSB7XG4gICAgdGhpcy5fZGF0YVZpZXdPcHRpb25zJC5uZXh0KG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhVmlld09wdGlvbnMkKCk6IE9ic2VydmFibGU8RWxkZXJEYXRhVmlld09wdGlvbnM+IHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVZpZXdPcHRpb25zJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBvbk1lc3NhZ2VGcm9tQ2hpbGQobWVzc2FnZTogVHlwZWRFdmVudE1lc3NhZ2U8YW55LGFueT4pOiB2b2lkIHtcbiAgICBpZiAoRGF0YVZpZXdNZXNzYWdlLmlzT2ZUeXBlKG1lc3NhZ2UpKXtcbiAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICAgIGNhc2UgJ1NFTEVDVElPTl9TRUxFQ1RFRCc6XG4gICAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3Rpb25NZXNzYWdlKG1lc3NhZ2UuZGF0YSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBwdWJsaWMgc2VuZE1lc3NhZ2VUb0NoaWxkKG1lc3NhZ2U6IERhdGFWaWV3TWVzc2FnZTxhbnk+KSB7XG4gICAgdGhpcy5sb2cuZGVidWcoXCJTZW5kaW5nIG1lc3NhZ2UgdG8gaWZyYW1lIGNoaWxkOlwiLCBtZXNzYWdlKTtcbiAgICB0aGlzLmlmcmFtZUhvc3Quc2VuZE1lc3NhZ2VUb0NoaWxkKG1lc3NhZ2UpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGhhbmRsZVNlbGVjdGlvbk1lc3NhZ2UoZGF0YVZpZXdTZWxlY3Rpb246IERhdGFWaWV3U2VsZWN0aW9uPGFueT4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlbCkge1xuICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5yZXBsYWNlU2VsZWN0aW9uKGRhdGFWaWV3U2VsZWN0aW9uLnNlbGVjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cERhdGFWaWV3T3B0aW9uc0JyaWRnZShcbiAgICBpZnJhbWVIb3N0OiBJZnJhbWVIb3N0Q29tcG9uZW50XG4gICkge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5fZGF0YVZpZXdPcHRpb25zJCxcbiAgICAgIGlmcmFtZUhvc3QuaWZyYW1lU3RhdGUkXG4gICAgXSkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICBmaWx0ZXIoKFtvcHRpb25zLCBzdGF0ZV0pID0+ICEhb3B0aW9ucyAmJiBzdGF0ZS5oYXNMb2FkZWQpXG4gICAgKS5zdWJzY3JpYmUoXG4gICAgICAoW29wdGlvbnMsIHN0YXRlXSkgPT4gdGhpcy5zZW5kTWVzc2FnZVRvQ2hpbGQoXG4gICAgICAgIHRoaXMuYnVpbGREYXRhVmlld0luaXRNZXNzYWdlKG9wdGlvbnMsIHRoaXMuaW5pdGlhbFNlbGVjdGlvbilcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRGF0YVZpZXdJbml0TWVzc2FnZShcbiAgICBvcHRpb25zOiBFbGRlckRhdGFWaWV3T3B0aW9ucyxcbiAgICBpbml0aWFsU2VsZWN0aW9uOiBhbnlbXVxuICApOiBEYXRhVmlld01lc3NhZ2U8RGF0YVZpZXdTZWxlY3Rpb25Jbml0PGFueT4+IHtcbiAgICByZXR1cm4gRGF0YVZpZXdNZXNzYWdlLmluaXRpYWxTZWxlY3Rpb24oXG4gICAgICBuZXcgRGF0YVZpZXdTZWxlY3Rpb25Jbml0KG9wdGlvbnMsIGluaXRpYWxTZWxlY3Rpb24sIHRoaXMuaWRGaWVsZClcbiAgICApO1xuICB9XG5cblxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4RmlsbD5cblxuICA8ZWxkZXItaS1mcmFtZS1ob3N0IGZ4RmxleFxuICAgICAgICAgICAgICAgICAgICAgIFtpZnJhbWVQYXJhbXNdPVwie3NyY1VybDogc3JjVXJsLCBoaWRlQWN0aW9uQmFyOiB0cnVlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgKG1lc3NhZ2UpPVwib25NZXNzYWdlRnJvbUNoaWxkKCRldmVudClcIj5cbiAgPC9lbGRlci1pLWZyYW1lLWhvc3Q+XG5cbjwvZGl2PlxuIl19
@@ -0,0 +1,137 @@
1
+ import { Directive, HostListener, } from '@angular/core';
2
+ import { SelectionModel } from '../../../common/selection/selection-model';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { DataViewMessage, DataViewSelection } from '../typed-event-message';
6
+ import { LoggerFactory } from '@elderbyte/ts-logger';
7
+ import { ElderDataViewOptionsProvider } from '../../data-view/base/elder-data-view-options-provider';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../iframe.service";
10
+ import * as i2 from "../../../common/selection/selection-model";
11
+ import * as i3 from "../../data-view/base/elder-data-view-options-provider";
12
+ export function createSelectionModel() {
13
+ return new SelectionModel();
14
+ }
15
+ export function createDataOptionsProvider() {
16
+ return new ElderDataViewOptionsProvider();
17
+ }
18
+ /**
19
+ * An adapter bridging communication between
20
+ * a data view displayed in an iframe and its parent.
21
+ *
22
+ * For example propagates selection model changes
23
+ * to the iframe parent.
24
+ */
25
+ export class DataViewIframeAdapterDirective {
26
+ /***************************************************************************
27
+ * *
28
+ * Constructor *
29
+ * *
30
+ **************************************************************************/
31
+ constructor(iframeService, selectionModel, dataViewOptionsProvider) {
32
+ this.iframeService = iframeService;
33
+ this.selectionModel = selectionModel;
34
+ this.dataViewOptionsProvider = dataViewOptionsProvider;
35
+ /***************************************************************************
36
+ * *
37
+ * Fields *
38
+ * *
39
+ **************************************************************************/
40
+ this.log = LoggerFactory.getLogger(this.constructor.name);
41
+ this._destroy$ = new Subject();
42
+ selectionModel.selection.pipe(takeUntil(this._destroy$)).subscribe(selection => this.propagateSelectionToParent(selection));
43
+ }
44
+ /***************************************************************************
45
+ * *
46
+ * Listeners *
47
+ * *
48
+ **************************************************************************/
49
+ /**
50
+ * Listens for messages from parent window.
51
+ * Makes it possible to react upon messages from iframe parent.
52
+ *
53
+ * @param event message from parent window
54
+ */
55
+ onWindowsMessage(event) {
56
+ this.log.debug('Received message event from parent:', event);
57
+ if (event) {
58
+ if (DataViewMessage.isOfType(event.data)) {
59
+ this.log.debug('Received data view message from parent:', event);
60
+ this.handleMessageFromParent(event.data);
61
+ }
62
+ }
63
+ return true;
64
+ }
65
+ /***************************************************************************
66
+ * *
67
+ * Life Cycle *
68
+ * *
69
+ **************************************************************************/
70
+ ngOnInit() {
71
+ }
72
+ ngOnDestroy() {
73
+ this._destroy$.next();
74
+ this._destroy$.complete();
75
+ }
76
+ /***************************************************************************
77
+ * *
78
+ * Private Methods *
79
+ * *
80
+ **************************************************************************/
81
+ handleMessageFromParent(message) {
82
+ switch (message.type) {
83
+ case 'SELECTION_INIT':
84
+ this.initializeDataView(message.data);
85
+ break;
86
+ }
87
+ }
88
+ initializeDataView(init) {
89
+ this.dataViewOptionsProvider.updateOptions(options => options
90
+ .withSorts(init.options.sorts)
91
+ .withFilters(init.options.filters));
92
+ this.selectionModel.keyGetterFn = (entity) => entity[init.idField];
93
+ this.selectionModel.isMultipleSelection = init.options.selectionMultiEnabled;
94
+ if (init.initialSelection) {
95
+ this.selectionModel.replaceSelection(init.initialSelection);
96
+ }
97
+ }
98
+ propagateSelectionToParent(selection) {
99
+ this.log.debug('Propagating selection to iframe parent:', selection);
100
+ const message = this.buildSelectionMessage(selection);
101
+ this.iframeService.postDataMessage(message);
102
+ }
103
+ buildSelectionMessage(selection) {
104
+ return DataViewMessage.selection(new DataViewSelection(selection));
105
+ }
106
+ }
107
+ DataViewIframeAdapterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DataViewIframeAdapterDirective, deps: [{ token: i1.IframeService }, { token: i2.SelectionModel }, { token: i3.ElderDataViewOptionsProvider }], target: i0.ɵɵFactoryTarget.Directive });
108
+ DataViewIframeAdapterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.0", type: DataViewIframeAdapterDirective, selector: "[elderDataViewIframeAdapter]", host: { listeners: { "window:message": "onWindowsMessage($event)" } }, providers: [
109
+ {
110
+ provide: SelectionModel,
111
+ useFactory: createSelectionModel
112
+ },
113
+ {
114
+ provide: ElderDataViewOptionsProvider,
115
+ useFactory: createDataOptionsProvider
116
+ }
117
+ ], ngImport: i0 });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: DataViewIframeAdapterDirective, decorators: [{
119
+ type: Directive,
120
+ args: [{
121
+ selector: '[elderDataViewIframeAdapter]',
122
+ providers: [
123
+ {
124
+ provide: SelectionModel,
125
+ useFactory: createSelectionModel
126
+ },
127
+ {
128
+ provide: ElderDataViewOptionsProvider,
129
+ useFactory: createDataOptionsProvider
130
+ }
131
+ ]
132
+ }]
133
+ }], ctorParameters: function () { return [{ type: i1.IframeService }, { type: i2.SelectionModel }, { type: i3.ElderDataViewOptionsProvider }]; }, propDecorators: { onWindowsMessage: [{
134
+ type: HostListener,
135
+ args: ['window:message', ['$event']]
136
+ }] } });
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LWlmcmFtZS1hZGFwdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvaWZyYW1lcy9kYXRhLXZpZXcvZGF0YS12aWV3LWlmcmFtZS1hZGFwdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sdURBQXVELENBQUM7Ozs7O0FBRW5HLE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxJQUFJLGNBQWMsRUFBTyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE9BQU8sSUFBSSw0QkFBNEIsRUFBRSxDQUFDO0FBQzVDLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFjSCxNQUFNLE9BQU8sOEJBQThCO0lBWXpDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixhQUE0QixFQUM1QixjQUFtQyxFQUNuQyx1QkFBcUQ7UUFGckQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsbUJBQWMsR0FBZCxjQUFjLENBQXFCO1FBQ25DLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBOEI7UUFuQnhFOzs7O29GQUk0RTtR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RSxPQUFPLEVBQUUsNEJBQTRCO1lBQ3JDLFVBQVUsRUFBRSx5QkFBeUI7U0FDdEM7S0FDRjsyRkFFVSw4QkFBOEI7a0JBYjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxjQUFjOzRCQUN2QixVQUFVLEVBQUUsb0JBQW9CO3lCQUNqQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxVQUFVLEVBQUUseUJBQXlCO3lCQUN0QztxQkFDRjtpQkFDRjs0S0E0Q1EsZ0JBQWdCO3NCQUR0QixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBIb3N0TGlzdGVuZXIsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U2VsZWN0aW9uTW9kZWx9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zZWxlY3Rpb24vc2VsZWN0aW9uLW1vZGVsJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtEYXRhVmlld01lc3NhZ2UsIERhdGFWaWV3U2VsZWN0aW9uLCBEYXRhVmlld1NlbGVjdGlvbkluaXR9IGZyb20gJy4uL3R5cGVkLWV2ZW50LW1lc3NhZ2UnO1xuaW1wb3J0IHtJZnJhbWVTZXJ2aWNlfSBmcm9tICcuLi9pZnJhbWUuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7RWxkZXJEYXRhVmlld09wdGlvbnNQcm92aWRlcn0gZnJvbSAnLi4vLi4vZGF0YS12aWV3L2Jhc2UvZWxkZXItZGF0YS12aWV3LW9wdGlvbnMtcHJvdmlkZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0aW9uTW9kZWwoKTogU2VsZWN0aW9uTW9kZWw8YW55PiB7XG4gIHJldHVybiBuZXcgU2VsZWN0aW9uTW9kZWw8YW55PigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGF0YU9wdGlvbnNQcm92aWRlcigpOiBFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyIHtcbiAgcmV0dXJuIG5ldyBFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyKCk7XG59XG5cbi8qKlxuICogQW4gYWRhcHRlciBicmlkZ2luZyBjb21tdW5pY2F0aW9uIGJldHdlZW5cbiAqIGEgZGF0YSB2aWV3IGRpc3BsYXllZCBpbiBhbiBpZnJhbWUgYW5kIGl0cyBwYXJlbnQuXG4gKlxuICogRm9yIGV4YW1wbGUgcHJvcGFnYXRlcyBzZWxlY3Rpb24gbW9kZWwgY2hhbmdlc1xuICogdG8gdGhlIGlmcmFtZSBwYXJlbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlckRhdGFWaWV3SWZyYW1lQWRhcHRlcl0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3Rpb25Nb2RlbCxcbiAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVNlbGVjdGlvbk1vZGVsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyLFxuICAgICAgdXNlRmFjdG9yeTogY3JlYXRlRGF0YU9wdGlvbnNQcm92aWRlclxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVmlld0lmcmFtZUFkYXB0ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlmcmFtZVNlcnZpY2U6IElmcmFtZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3Rpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8YW55PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyOiBFbGRlckRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyXG4gICkge1xuICAgIHNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbi5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgc2VsZWN0aW9uID0+IHRoaXMucHJvcGFnYXRlU2VsZWN0aW9uVG9QYXJlbnQoc2VsZWN0aW9uKVxuICAgIClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaXN0ZW5lcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBMaXN0ZW5zIGZvciBtZXNzYWdlcyBmcm9tIHBhcmVudCB3aW5kb3cuXG4gICAqIE1ha2VzIGl0IHBvc3NpYmxlIHRvIHJlYWN0IHVwb24gbWVzc2FnZXMgZnJvbSBpZnJhbWUgcGFyZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnQgbWVzc2FnZSBmcm9tIHBhcmVudCB3aW5kb3dcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptZXNzYWdlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uV2luZG93c01lc3NhZ2UoZXZlbnQ6IE1lc3NhZ2VFdmVudCk6IGJvb2xlYW4ge1xuICAgIHRoaXMubG9nLmRlYnVnKCdSZWNlaXZlZCBtZXNzYWdlIGV2ZW50IGZyb20gcGFyZW50OicsIGV2ZW50KTtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGlmIChEYXRhVmlld01lc3NhZ2UuaXNPZlR5cGUoZXZlbnQuZGF0YSkpIHtcbiAgICAgICAgdGhpcy5sb2cuZGVidWcoJ1JlY2VpdmVkIGRhdGEgdmlldyBtZXNzYWdlIGZyb20gcGFyZW50OicsIGV2ZW50KTtcbiAgICAgICAgdGhpcy5oYW5kbGVNZXNzYWdlRnJvbVBhcmVudChldmVudC5kYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBNZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGhhbmRsZU1lc3NhZ2VGcm9tUGFyZW50KG1lc3NhZ2U6IERhdGFWaWV3TWVzc2FnZTxhbnksIGFueT4pOiB2b2lkIHtcbiAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgY2FzZSAnU0VMRUNUSU9OX0lOSVQnOlxuICAgICAgICB0aGlzLmluaXRpYWxpemVEYXRhVmlldyhtZXNzYWdlLmRhdGEpXG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZURhdGFWaWV3KGluaXQ6IERhdGFWaWV3U2VsZWN0aW9uSW5pdDxhbnk+KTogdm9pZCB7XG5cbiAgICB0aGlzLmRhdGFWaWV3T3B0aW9uc1Byb3ZpZGVyLnVwZGF0ZU9wdGlvbnMoXG4gICAgICBvcHRpb25zID0+IG9wdGlvbnNcbiAgICAgICAgLndpdGhTb3J0cyhpbml0Lm9wdGlvbnMuc29ydHMpXG4gICAgICAgIC53aXRoRmlsdGVycyhpbml0Lm9wdGlvbnMuZmlsdGVycylcbiAgICApXG5cbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLmtleUdldHRlckZuID0gKGVudGl0eSkgPT4gZW50aXR5W2luaXQuaWRGaWVsZF07XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc011bHRpcGxlU2VsZWN0aW9uID0gaW5pdC5vcHRpb25zLnNlbGVjdGlvbk11bHRpRW5hYmxlZDtcbiAgICBpZiAoaW5pdC5pbml0aWFsU2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnJlcGxhY2VTZWxlY3Rpb24oaW5pdC5pbml0aWFsU2VsZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByb3BhZ2F0ZVNlbGVjdGlvblRvUGFyZW50KHNlbGVjdGlvbjogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLmxvZy5kZWJ1ZygnUHJvcGFnYXRpbmcgc2VsZWN0aW9uIHRvIGlmcmFtZSBwYXJlbnQ6Jywgc2VsZWN0aW9uKTtcblxuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmJ1aWxkU2VsZWN0aW9uTWVzc2FnZShzZWxlY3Rpb24pO1xuICAgIHRoaXMuaWZyYW1lU2VydmljZS5wb3N0RGF0YU1lc3NhZ2UobWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkU2VsZWN0aW9uTWVzc2FnZShzZWxlY3Rpb246IGFueVtdKTogRGF0YVZpZXdNZXNzYWdlPGFueT4ge1xuICAgIHJldHVybiBEYXRhVmlld01lc3NhZ2Uuc2VsZWN0aW9uKG5ldyBEYXRhVmlld1NlbGVjdGlvbihzZWxlY3Rpb24pKTtcbiAgfVxuXG59XG4iXX0=