@elderbyte/ngx-starter 13.5.2 → 13.7.1

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 (245) hide show
  1. package/esm2020/lib/common/enums/elder-enum-translation.service.mjs +3 -3
  2. package/esm2020/lib/common/forms/form-field-base.component.mjs +3 -3
  3. package/esm2020/lib/common/forms/multi-model-base.component.mjs +3 -3
  4. package/esm2020/lib/common/forms/template-composite-control.mjs +3 -3
  5. package/esm2020/lib/common/forms/value-accessor-base.mjs +3 -3
  6. package/esm2020/lib/common/http/http-client-builder.service.mjs +3 -3
  7. package/esm2020/lib/common/http/http-client-pristine.mjs +3 -3
  8. package/esm2020/lib/common/http/transfer/data-transfer-factory.mjs +3 -3
  9. package/esm2020/lib/common/url/elder-url-fragment-params.service.mjs +3 -3
  10. package/esm2020/lib/common/utils/collection-util.mjs +4 -1
  11. package/esm2020/lib/components/access-denied/elder-access-denied.component.mjs +3 -3
  12. package/esm2020/lib/components/access-denied/elder-access-denied.module.mjs +4 -4
  13. package/esm2020/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +3 -3
  14. package/esm2020/lib/components/auditing/elder-audit.module.mjs +4 -4
  15. package/esm2020/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +3 -3
  16. package/esm2020/lib/components/button-group/elder-button-group.module.mjs +4 -4
  17. package/esm2020/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +3 -3
  18. package/esm2020/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +3 -3
  19. package/esm2020/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +3 -3
  20. package/esm2020/lib/components/card-organizer/elder-card-organizer.module.mjs +4 -4
  21. package/esm2020/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +3 -3
  22. package/esm2020/lib/components/cards/elder-card/elder-card.component.mjs +18 -18
  23. package/esm2020/lib/components/cards/elder-card/elder-card.module.mjs +4 -4
  24. package/esm2020/lib/components/connectivity/elder-connectivity.module.mjs +4 -4
  25. package/esm2020/lib/components/connectivity/elder-connectivity.service.mjs +3 -3
  26. package/esm2020/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +3 -3
  27. package/esm2020/lib/components/containers/elder-containers.module.mjs +4 -4
  28. package/esm2020/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +3 -3
  29. package/esm2020/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +3 -3
  30. package/esm2020/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +3 -3
  31. package/esm2020/lib/components/csv/elder-csv.module.mjs +4 -4
  32. package/esm2020/lib/components/currency/elder-currency.module.mjs +4 -4
  33. package/esm2020/lib/components/currency/elder-currency.pipe.mjs +3 -3
  34. package/esm2020/lib/components/data-transfer/elder-data-transfer.module.mjs +4 -4
  35. package/esm2020/lib/components/data-transfer/elder-data-transfer.service.mjs +3 -3
  36. package/esm2020/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +3 -3
  37. package/esm2020/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +3 -3
  38. package/esm2020/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
  39. package/esm2020/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
  40. package/esm2020/lib/components/data-view/base/elder-data-view-base.mjs +3 -3
  41. package/esm2020/lib/components/data-view/base/elder-data-view-base.module.mjs +4 -4
  42. package/esm2020/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +3 -3
  43. package/esm2020/lib/components/data-view/common/elder-data-common.module.mjs +4 -4
  44. package/esm2020/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +6 -6
  45. package/esm2020/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +3 -3
  46. package/esm2020/lib/components/data-view/common/selection/data-context-selection.directive.mjs +3 -3
  47. package/esm2020/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +3 -3
  48. package/esm2020/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +9 -9
  49. package/esm2020/lib/components/data-view/grid/elder-grid.module.mjs +4 -4
  50. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +3 -3
  51. package/esm2020/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +4 -4
  52. package/esm2020/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +3 -3
  53. package/esm2020/lib/components/data-view/table/elder-number-cell.directive.mjs +3 -3
  54. package/esm2020/lib/components/data-view/table/elder-paginator-intl.mjs +3 -3
  55. package/esm2020/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +3 -3
  56. package/esm2020/lib/components/data-view/table/elder-table/elder-table.component.mjs +3 -3
  57. package/esm2020/lib/components/data-view/table/elder-table-column.directive.mjs +3 -3
  58. package/esm2020/lib/components/data-view/table/elder-table-extension.directive.mjs +3 -3
  59. package/esm2020/lib/components/data-view/table/elder-table-root.directive.mjs +3 -3
  60. package/esm2020/lib/components/data-view/table/elder-table-row.directive.mjs +3 -3
  61. package/esm2020/lib/components/data-view/table/elder-table-sort.directive.mjs +3 -3
  62. package/esm2020/lib/components/data-view/table/elder-table.module.mjs +4 -4
  63. package/esm2020/lib/components/data-view/table/model/elder-table-model.mjs +3 -3
  64. package/esm2020/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +3 -3
  65. package/esm2020/lib/components/dialogs/elder-dialog.module.mjs +7 -7
  66. package/esm2020/lib/components/dialogs/elder-dialog.service.mjs +3 -3
  67. package/esm2020/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +3 -3
  68. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +3 -3
  69. package/esm2020/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +3 -3
  70. package/esm2020/lib/components/errors/elder-error.module.mjs +4 -4
  71. package/esm2020/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +3 -3
  72. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +3 -3
  73. package/esm2020/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +4 -4
  74. package/esm2020/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +3 -3
  75. package/esm2020/lib/components/files/elder-file-drop-zone.directive.mjs +3 -3
  76. package/esm2020/lib/components/files/elder-file-select.directive.mjs +3 -3
  77. package/esm2020/lib/components/files/elder-file.module.mjs +4 -4
  78. package/esm2020/lib/components/files/file-select/file-select.component.mjs +3 -3
  79. package/esm2020/lib/components/files/file-upload/file-upload.component.mjs +3 -3
  80. package/esm2020/lib/components/forms/clipboard/elder-clipboard.service.mjs +3 -3
  81. package/esm2020/lib/components/forms/directives/elder-clipboard-put.directive.mjs +3 -3
  82. package/esm2020/lib/components/forms/directives/elder-delayed-focus.directive.mjs +3 -3
  83. package/esm2020/lib/components/forms/directives/elder-form-field-dense.directive.mjs +3 -3
  84. package/esm2020/lib/components/forms/directives/elder-form-field-label.directive.mjs +3 -3
  85. package/esm2020/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +3 -3
  86. package/esm2020/lib/components/forms/directives/elder-forms-directives.module.mjs +13 -13
  87. package/esm2020/lib/components/forms/directives/elder-key-event.directive.mjs +3 -3
  88. package/esm2020/lib/components/forms/directives/elder-max.directive.mjs +3 -3
  89. package/esm2020/lib/components/forms/directives/elder-min.directive.mjs +3 -3
  90. package/esm2020/lib/components/forms/directives/elder-next-focusable.directive.mjs +3 -3
  91. package/esm2020/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +3 -3
  92. package/esm2020/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +3 -3
  93. package/esm2020/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +3 -3
  94. package/esm2020/lib/components/forms/directives/elder-touched.directive.mjs +3 -3
  95. package/esm2020/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +3 -3
  96. package/esm2020/lib/components/forms/directives/validation/elder-multiple-of.validator.mjs +3 -3
  97. package/esm2020/lib/components/forms/directives/validation/elder-required-ignore-zero.validator.mjs +3 -3
  98. package/esm2020/lib/components/forms/elder-forms.module.mjs +4 -4
  99. package/esm2020/lib/components/forms/search/elder-search-context.directive.mjs +3 -3
  100. package/esm2020/lib/components/forms/search/elder-search-input.directive.mjs +3 -3
  101. package/esm2020/lib/components/forms/search/elder-search.module.mjs +4 -4
  102. package/esm2020/lib/components/forms/search/search-box/elder-search-box.component.mjs +3 -3
  103. package/esm2020/lib/components/forms/search/search-box/elder-search-panel.component.mjs +3 -3
  104. package/esm2020/lib/components/global-search/elder-global-search.component.mjs +3 -3
  105. package/esm2020/lib/components/global-search/elder-global-search.module.mjs +4 -4
  106. package/esm2020/lib/components/global-search/elder-global-search.service.mjs +3 -3
  107. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +3 -3
  108. package/esm2020/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +4 -4
  109. package/esm2020/lib/components/headers/elder-header/elder-header.component.mjs +3 -3
  110. package/esm2020/lib/components/headers/elder-header.module.mjs +4 -4
  111. package/esm2020/lib/components/http-support/elder-http-client.service.mjs +3 -3
  112. package/esm2020/lib/components/i18n/entities/elder-i18n-entities.module.mjs +4 -4
  113. package/esm2020/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +3 -3
  114. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +3 -3
  115. package/esm2020/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +3 -3
  116. package/esm2020/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +3 -3
  117. package/esm2020/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +3 -3
  118. package/esm2020/lib/components/i18n/entities/elder-localized-texts.directive.mjs +3 -3
  119. package/esm2020/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +3 -3
  120. package/esm2020/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +3 -3
  121. package/esm2020/lib/components/i18n/entities/picker/localisation-picker.service.mjs +3 -3
  122. package/esm2020/lib/components/i18n/language/elder-language-interceptor.mjs +3 -3
  123. package/esm2020/lib/components/i18n/language/elder-language.module.mjs +4 -4
  124. package/esm2020/lib/components/i18n/language/elder-language.service.mjs +3 -3
  125. package/esm2020/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +3 -3
  126. package/esm2020/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +4 -4
  127. package/esm2020/lib/components/iframes/elder-iframe.module.mjs +4 -4
  128. package/esm2020/lib/components/iframes/iframe-close.directive.mjs +3 -3
  129. package/esm2020/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +3 -3
  130. package/esm2020/lib/components/iframes/iframe-host/iframe-host.component.mjs +3 -3
  131. package/esm2020/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +3 -3
  132. package/esm2020/lib/components/iframes/iframe.service.mjs +3 -3
  133. package/esm2020/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +3 -3
  134. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +3 -3
  135. package/esm2020/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +7 -7
  136. package/esm2020/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete.component.mjs +3 -3
  137. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +3 -3
  138. package/esm2020/lib/components/input/autocomplete/elder-autocomplete.module.mjs +4 -4
  139. package/esm2020/lib/components/labels/elder-labels.module.mjs +4 -4
  140. package/esm2020/lib/components/labels/labels-input/labels-input.component.mjs +3 -3
  141. package/esm2020/lib/components/measures/dimensions-input/elder-dimensions-input.component.mjs +3 -3
  142. package/esm2020/lib/components/measures/directives/elder-unit-select.directive.mjs +3 -3
  143. package/esm2020/lib/components/measures/elder-measures.module.mjs +8 -8
  144. package/esm2020/lib/components/measures/elder-quantity-transform.pipe.mjs +3 -3
  145. package/esm2020/lib/components/measures/elder-quantity.pipe.mjs +3 -3
  146. package/esm2020/lib/components/measures/elder-unit.service.mjs +3 -3
  147. package/esm2020/lib/components/measures/quantity-input/elder-quantity-input.component.mjs +3 -3
  148. package/esm2020/lib/components/measures/util/elder-quantity.service.mjs +3 -3
  149. package/esm2020/lib/components/multi-autocomplete/elder-multi-auto-complete.module.mjs +4 -4
  150. package/esm2020/lib/components/multi-autocomplete/elder-multi-autocomplete.component.mjs +3 -3
  151. package/esm2020/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +3 -3
  152. package/esm2020/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +4 -4
  153. package/esm2020/lib/components/navigation/nav/elder-nav.module.mjs +4 -4
  154. package/esm2020/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +3 -3
  155. package/esm2020/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +3 -3
  156. package/esm2020/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +3 -3
  157. package/esm2020/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +3 -3
  158. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.module.mjs +4 -4
  159. package/esm2020/lib/components/navigation/toolbar/elder-toolbar.service.mjs +3 -3
  160. package/esm2020/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +3 -3
  161. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +3 -3
  162. package/esm2020/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +3 -3
  163. package/esm2020/lib/components/overlays/elder-overlay-origin.directive.mjs +3 -3
  164. package/esm2020/lib/components/overlays/elder-overlay-trigger.directive.mjs +3 -3
  165. package/esm2020/lib/components/overlays/elder-overlay.component.mjs +3 -3
  166. package/esm2020/lib/components/overlays/elder-overlay.module.mjs +4 -4
  167. package/esm2020/lib/components/panels/card-panel/elder-card-panel.component.mjs +3 -3
  168. package/esm2020/lib/components/panels/elder-panel.module.mjs +4 -4
  169. package/esm2020/lib/components/panels/flat/elder-panel.component.mjs +3 -3
  170. package/esm2020/lib/components/select/auto-select-first.directive.mjs +126 -0
  171. package/esm2020/lib/components/select/elder-entity-value-accessor.mjs +12 -0
  172. package/esm2020/lib/components/select/elder-select/elder-select.component.mjs +109 -159
  173. package/esm2020/lib/components/select/elder-select-base.mjs +22 -10
  174. package/esm2020/lib/components/select/elder-select-chip.directive.mjs +3 -3
  175. package/esm2020/lib/components/select/elder-select-value.directive.mjs +3 -3
  176. package/esm2020/lib/components/select/elder-select.module.mjs +15 -9
  177. package/esm2020/lib/components/select/multi/elder-multi-select-base.mjs +102 -44
  178. package/esm2020/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +15 -15
  179. package/esm2020/lib/components/select/popup/selection-model-popup.directive.mjs +3 -3
  180. package/esm2020/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
  181. package/esm2020/lib/components/select/select-on-tab.directive.mjs +22 -11
  182. package/esm2020/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +3 -3
  183. package/esm2020/lib/components/select-chip-list/elder-chip-list-select.module.mjs +4 -4
  184. package/esm2020/lib/components/select-list/elder-select-list.module.mjs +4 -4
  185. package/esm2020/lib/components/select-list/select-list/elder-select-list.component.mjs +3 -3
  186. package/esm2020/lib/components/select-list/select-list-item/elder-select-list-item.component.mjs +3 -3
  187. package/esm2020/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +3 -3
  188. package/esm2020/lib/components/shell/drawers/elder-router-outlet.service.mjs +3 -3
  189. package/esm2020/lib/components/shell/elder-shell-slot.directive.mjs +3 -3
  190. package/esm2020/lib/components/shell/elder-shell.module.mjs +4 -4
  191. package/esm2020/lib/components/shell/elder-shell.service.mjs +3 -3
  192. package/esm2020/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
  193. package/esm2020/lib/components/shell/shell/elder-shell.component.mjs +12 -12
  194. package/esm2020/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +3 -3
  195. package/esm2020/lib/components/tabs/elder-tab/elder-tab.directive.mjs +3 -3
  196. package/esm2020/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +3 -3
  197. package/esm2020/lib/components/tabs/elder-tab.module.mjs +4 -4
  198. package/esm2020/lib/components/time/date-adapters/custom-date-adapter.mjs +3 -3
  199. package/esm2020/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +3 -3
  200. package/esm2020/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +3 -3
  201. package/esm2020/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +3 -3
  202. package/esm2020/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +3 -3
  203. package/esm2020/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +3 -3
  204. package/esm2020/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +3 -3
  205. package/esm2020/lib/components/time/elder-time.module.mjs +8 -8
  206. package/esm2020/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +3 -3
  207. package/esm2020/lib/components/toasts/elder-toast.module.mjs +4 -4
  208. package/esm2020/lib/components/toasts/elder-toast.service.mjs +9 -9
  209. package/esm2020/lib/components/toasts/standard-toast/standard-toast.component.mjs +3 -3
  210. package/esm2020/lib/components/url-fragment/elder-url-fragment.module.mjs +4 -4
  211. package/esm2020/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +3 -3
  212. package/esm2020/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +3 -3
  213. package/esm2020/lib/components/viewers/elder-viewers.module.mjs +4 -4
  214. package/esm2020/lib/features/event-source/elder-event-source.service.mjs +3 -3
  215. package/esm2020/lib/features/kafent/access-token-provider.mjs +3 -3
  216. package/esm2020/lib/features/kafent/kafent-config.mjs +3 -3
  217. package/esm2020/lib/features/kafent/kafent-event-stream.mjs +3 -3
  218. package/esm2020/lib/features/kafent/kafent-event.service.mjs +3 -3
  219. package/esm2020/lib/features/kafent/kafent.module.mjs +4 -4
  220. package/esm2020/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +3 -3
  221. package/esm2020/lib/pipes/bytes.pipe.mjs +3 -3
  222. package/esm2020/lib/pipes/elder-pipes.module.mjs +7 -7
  223. package/esm2020/lib/pipes/elder-repeat.pipe.mjs +3 -3
  224. package/esm2020/lib/pipes/elder-round.pipe.mjs +3 -3
  225. package/esm2020/lib/pipes/elder-safe-url.pipe.mjs +3 -3
  226. package/esm2020/lib/pipes/iso-duration.pipe.mjs +3 -3
  227. package/esm2020/lib/pipes/iso-interval-parse.pipe.mjs +3 -3
  228. package/esm2020/lib/pipes/iso-interval.pipe.mjs +3 -3
  229. package/esm2020/lib/pipes/time-ago.pipe.mjs +3 -3
  230. package/esm2020/lib/pipes/time-duration.pipe.mjs +3 -3
  231. package/esm2020/lib/pipes/weight.pipe.mjs +3 -3
  232. package/fesm2015/elderbyte-ngx-starter.mjs +1185 -1022
  233. package/fesm2015/elderbyte-ngx-starter.mjs.map +1 -1
  234. package/fesm2020/elderbyte-ngx-starter.mjs +1185 -1020
  235. package/fesm2020/elderbyte-ngx-starter.mjs.map +1 -1
  236. package/lib/common/utils/collection-util.d.ts +1 -0
  237. package/lib/components/select/auto-select-first.directive.d.ts +54 -0
  238. package/lib/components/select/elder-entity-value-accessor.d.ts +27 -0
  239. package/lib/components/select/elder-select/elder-select.component.d.ts +42 -48
  240. package/lib/components/select/elder-select-base.d.ts +21 -15
  241. package/lib/components/select/elder-select.module.d.ts +22 -20
  242. package/lib/components/select/multi/elder-multi-select-base.d.ts +29 -15
  243. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +11 -11
  244. package/lib/components/select/select-on-tab.directive.d.ts +7 -6
  245. package/package.json +3 -3
@@ -46,9 +46,9 @@ export class ElderOverlayTriggerDirective {
46
46
  }
47
47
  }
48
48
  }
49
- ElderOverlayTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderOverlayTriggerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
50
- ElderOverlayTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.2", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: { overlay: ["elderOverlayTrigger", "overlay"], type: ["elderOverlayTriggerType", "type"], enabled: ["elderOverlayTriggerEnabled", "enabled"] }, host: { listeners: { "click": "handleClick($event)", "focus": "handleFocus($event)" } }, ngImport: i0 });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderOverlayTriggerDirective, decorators: [{
49
+ ElderOverlayTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderOverlayTriggerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
50
+ ElderOverlayTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.1", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: { overlay: ["elderOverlayTrigger", "overlay"], type: ["elderOverlayTriggerType", "type"], enabled: ["elderOverlayTriggerEnabled", "enabled"] }, host: { listeners: { "click": "handleClick($event)", "focus": "handleFocus($event)" } }, ngImport: i0 });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderOverlayTriggerDirective, decorators: [{
52
52
  type: Directive,
53
53
  args: [{
54
54
  selector: '[elderOverlayTrigger]'
@@ -153,13 +153,13 @@ export class ElderOverlayComponent {
153
153
  return this._overlayRef.attach(searchPanelPortal);
154
154
  }
155
155
  }
156
- ElderOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderOverlayComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.Overlay }, { token: i1.OverlayPositionBuilder }], target: i0.ɵɵFactoryTarget.Component });
157
- ElderOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ElderOverlayComponent, selector: "elder-overlay", inputs: { originX: "originX", originY: "originY", overlayX: "overlayX", overlayY: "overlayY", offsetY: "offsetY", offsetX: "offsetX", backdrop: "backdrop", backdropVisible: "backdropVisible", origin: "origin", positionStrategy: "positionStrategy", overlaySize: "overlaySize" }, outputs: { keydownEvents: "keydownEvents", attachedChange: "attachedChange" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["elderOverlay"], ngImport: i0, template: `
156
+ ElderOverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderOverlayComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.Overlay }, { token: i1.OverlayPositionBuilder }], target: i0.ɵɵFactoryTarget.Component });
157
+ ElderOverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ElderOverlayComponent, selector: "elder-overlay", inputs: { originX: "originX", originY: "originY", overlayX: "overlayX", overlayY: "overlayY", offsetY: "offsetY", offsetX: "offsetX", backdrop: "backdrop", backdropVisible: "backdropVisible", origin: "origin", positionStrategy: "positionStrategy", overlaySize: "overlaySize" }, outputs: { keydownEvents: "keydownEvents", attachedChange: "attachedChange" }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["elderOverlay"], ngImport: i0, template: `
158
158
  <ng-template>
159
159
  <ng-content></ng-content>
160
160
  </ng-template>
161
161
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderOverlayComponent, decorators: [{
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderOverlayComponent, decorators: [{
163
163
  type: Component,
164
164
  args: [{
165
165
  selector: 'elder-overlay',
@@ -10,18 +10,18 @@ export { ElderOverlayTriggerDirective } from './elder-overlay-trigger.directive'
10
10
  export { ElderOverlayOriginDirective } from './elder-overlay-origin.directive';
11
11
  export class ElderOverlayModule {
12
12
  }
13
- ElderOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- ElderOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderOverlayModule, declarations: [ElderOverlayComponent,
13
+ ElderOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ ElderOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderOverlayModule, declarations: [ElderOverlayComponent,
15
15
  ElderOverlayTriggerDirective,
16
16
  ElderOverlayOriginDirective], imports: [CommonModule,
17
17
  OverlayModule], exports: [ElderOverlayComponent,
18
18
  ElderOverlayTriggerDirective,
19
19
  ElderOverlayOriginDirective] });
20
- ElderOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderOverlayModule, imports: [[
20
+ ElderOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderOverlayModule, imports: [[
21
21
  CommonModule,
22
22
  OverlayModule
23
23
  ]] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderOverlayModule, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderOverlayModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  imports: [
@@ -6,9 +6,9 @@ export class ElderCardPanelComponent {
6
6
  ngOnInit() {
7
7
  }
8
8
  }
9
- ElderCardPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderCardPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- ElderCardPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ElderCardPanelComponent, selector: "elder-card-panel", ngImport: i0, template: "<div fxLayout=\"column\" class=\"elder-card-panel\">\n <ng-content></ng-content>\n</div>\n\n", styles: [""], directives: [{ type: i1.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderCardPanelComponent, decorators: [{
9
+ ElderCardPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderCardPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ ElderCardPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ElderCardPanelComponent, selector: "elder-card-panel", ngImport: i0, template: "<div fxLayout=\"column\" class=\"elder-card-panel\">\n <ng-content></ng-content>\n</div>\n\n", styles: [""], directives: [{ type: i1.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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderCardPanelComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'elder-card-panel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div fxLayout=\"column\" class=\"elder-card-panel\">\n <ng-content></ng-content>\n</div>\n\n", styles: [""] }]
14
14
  }], ctorParameters: function () { return []; } });
@@ -9,16 +9,16 @@ export { ElderPanelComponent } from './flat/elder-panel.component';
9
9
  export { ElderCardPanelComponent } from './card-panel/elder-card-panel.component';
10
10
  export class ElderPanelModule {
11
11
  }
12
- ElderPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- ElderPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderPanelModule, declarations: [ElderPanelComponent,
12
+ ElderPanelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ ElderPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderPanelModule, declarations: [ElderPanelComponent,
14
14
  ElderCardPanelComponent], imports: [CommonModule, MatCommonModule,
15
15
  FlexLayoutModule], exports: [ElderPanelComponent,
16
16
  ElderCardPanelComponent] });
17
- ElderPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderPanelModule, imports: [[
17
+ ElderPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderPanelModule, imports: [[
18
18
  CommonModule, MatCommonModule,
19
19
  FlexLayoutModule
20
20
  ]] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderPanelModule, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderPanelModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  imports: [
@@ -15,9 +15,9 @@ export class ElderPanelComponent extends _ElderPanelMixinBase {
15
15
  ngOnInit() {
16
16
  }
17
17
  }
18
- ElderPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderPanelComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
19
- ElderPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: ElderPanelComponent, selector: "elder-panel, mat-panel", inputs: { color: "color" }, host: { classAttribute: "mat-panel" }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n\n", styles: [".test{padding:10px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: ElderPanelComponent, decorators: [{
18
+ ElderPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderPanelComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
19
+ ElderPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ElderPanelComponent, selector: "elder-panel, mat-panel", inputs: { color: "color" }, host: { classAttribute: "mat-panel" }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n\n", styles: [".test{padding:10px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ElderPanelComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{ selector: 'elder-panel, mat-panel', inputs: ['color'], host: {
23
23
  'class': 'mat-panel',
@@ -0,0 +1,126 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { LoggerFactory } from '@elderbyte/ts-logger';
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import { EMPTY, of } from 'rxjs';
5
+ import { catchError, filter, first, map, switchMap, takeUntil, tap, timeout } from 'rxjs/operators';
6
+ import { ElderSelectComponentState } from './elder-select-base';
7
+ import { DataSourceAdapter } from '../../common/data/datasource/data-source-adapter';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./elder-select/elder-select.component";
10
+ export class AutoSelectFirstDirective {
11
+ /***************************************************************************
12
+ * *
13
+ * Constructor *
14
+ * *
15
+ **************************************************************************/
16
+ constructor(elderSelect) {
17
+ this.elderSelect = elderSelect;
18
+ /***************************************************************************
19
+ * *
20
+ * Fields *
21
+ * *
22
+ **************************************************************************/
23
+ this.log = LoggerFactory.getLogger(this.constructor.name);
24
+ }
25
+ /***************************************************************************
26
+ * *
27
+ * Life Cycle *
28
+ * *
29
+ **************************************************************************/
30
+ ngAfterViewInit() {
31
+ setTimeout(() => {
32
+ this.log.info('autoSelectFirst after-view init, auto selecting value');
33
+ this.handleAutoSelectFirst();
34
+ }, 10);
35
+ }
36
+ /***************************************************************************
37
+ * *
38
+ * Properties *
39
+ * *
40
+ **************************************************************************/
41
+ /**
42
+ * After data is loaded into this select, ensure that
43
+ * a value is selected or select the first automatically.
44
+ */
45
+ set autoSelectFirstEnabled(val) {
46
+ this.enabled = coerceBooleanProperty(val);
47
+ }
48
+ set enabled(val) {
49
+ this._enabled = val;
50
+ }
51
+ get enabled() {
52
+ return this._enabled;
53
+ }
54
+ /***************************************************************************
55
+ * *
56
+ * Public methods *
57
+ * *
58
+ **************************************************************************/
59
+ trySelectFirst() {
60
+ const suggestionsDc = this.elderSelect.suggestionsDc;
61
+ const dataContextFirstItem = suggestionsDc?.isStarted
62
+ ? this.firstItemInDataContextSoon(suggestionsDc)
63
+ : of(null);
64
+ dataContextFirstItem.pipe(takeUntil(this.elderSelect.valueChange.pipe(filter(value => !!value))), switchMap(firstItem => firstItem ? of(firstItem) : this.firstSuggestionItem())).subscribe(firstItem => {
65
+ if (firstItem && !this.elderSelect.entityId) {
66
+ this.elderSelect.updateValueByEntity(firstItem);
67
+ }
68
+ }, err => {
69
+ this.elderSelect.updateState(ElderSelectComponentState.error(err));
70
+ this.log.error('Failed to load first entity for auto-select-first flow!', err);
71
+ });
72
+ }
73
+ /***************************************************************************
74
+ * *
75
+ * Private methods *
76
+ * *
77
+ **************************************************************************/
78
+ handleAutoSelectFirst() {
79
+ if (!this.elderSelect.value) {
80
+ this.log.debug('Attempting to auto select first entity...');
81
+ this.trySelectFirst();
82
+ }
83
+ else {
84
+ this.log.warn('Conflict avoided: Aborted auto selection because value id already present!');
85
+ }
86
+ }
87
+ firstItemInDataContextSoon(dataContext) {
88
+ return dataContext.data.pipe(filter(data => data && data.length > 0), map(data => data[0]), timeout(250), catchError(timeoutError => {
89
+ this.log.warn('Gave up waiting for DataContext items, timeout reached. Falling back to sugestion lookup.', timeoutError);
90
+ return of(null);
91
+ }), first());
92
+ }
93
+ firstSuggestionItem() {
94
+ const suggestionsDc = this.elderSelect.suggestionsDc;
95
+ const dataSource = suggestionsDc?.dataSource;
96
+ if (dataSource) {
97
+ this.updateState(ElderSelectComponentState.loading());
98
+ return DataSourceAdapter.from(dataSource)
99
+ .findFirst(this.elderSelect.filters, this.elderSelect.sorts).pipe(tap(() => this.updateState(ElderSelectComponentState.idle())), catchError(err => {
100
+ this.log.error('Failed to load suggestions!', err);
101
+ this.elderSelect.updateState(ElderSelectComponentState.error(err));
102
+ return of(null);
103
+ }));
104
+ }
105
+ else {
106
+ this.log.warn('Failed to load first suggestion!');
107
+ this.updateState(ElderSelectComponentState.idle());
108
+ return EMPTY;
109
+ }
110
+ }
111
+ updateState(state) {
112
+ this.elderSelect.updateState(state);
113
+ }
114
+ }
115
+ AutoSelectFirstDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AutoSelectFirstDirective, deps: [{ token: i1.ElderSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
116
+ AutoSelectFirstDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.1", type: AutoSelectFirstDirective, selector: "[autoSelectFirst]", inputs: { autoSelectFirstEnabled: ["autoSelectFirst", "autoSelectFirstEnabled"] }, ngImport: i0 });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AutoSelectFirstDirective, decorators: [{
118
+ type: Directive,
119
+ args: [{
120
+ selector: '[autoSelectFirst]'
121
+ }]
122
+ }], ctorParameters: function () { return [{ type: i1.ElderSelectComponent }]; }, propDecorators: { autoSelectFirstEnabled: [{
123
+ type: Input,
124
+ args: ['autoSelectFirst']
125
+ }] } });
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1zZWxlY3QtZmlyc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvYXV0by1zZWxlY3QtZmlyc3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFDLEtBQUssRUFBYyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQzs7O0FBTW5GLE1BQU0sT0FBTyx3QkFBd0I7SUFZbkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ2tCLFdBQW9EO1FBQXBELGdCQUFXLEdBQVgsV0FBVyxDQUF5QztRQWpCdEU7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFZbEUsQ0FBQztJQUVMOzs7O2dGQUk0RTtJQUVyRSxlQUFlO1FBQ3BCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7OztPQUdHO0lBQ0gsSUFDVyxzQkFBc0IsQ0FBQyxHQUFxQjtRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLE9BQU8sQ0FBQyxHQUFZO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFckUsY0FBYztRQUVuQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUVyRCxNQUFNLG9CQUFvQixHQUF3QixhQUFhLEVBQUUsU0FBUztZQUN4RSxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGFBQWEsQ0FBQztZQUNoRCxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWIsb0JBQW9CLENBQUMsSUFBSSxDQUN2QixTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ3RFLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUMvRSxDQUFDLFNBQVMsQ0FDVCxTQUFTLENBQUMsRUFBRTtZQUNWLElBQUksU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDakQ7UUFDSCxDQUFDLEVBQ0QsR0FBRyxDQUFDLEVBQUU7WUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx5REFBeUQsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUscUJBQXFCO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN2QjthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsNEVBQTRFLENBQUMsQ0FBQztTQUM3RjtJQUNILENBQUM7SUFFTywwQkFBMEIsQ0FBQyxXQUFrQztRQUNuRSxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDdkMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFDWixVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsMkZBQTJGLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDekgsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLEVBQ0YsS0FBSyxFQUFFLENBQ1IsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUI7UUFFekIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDckQsTUFBTSxVQUFVLEdBQUcsYUFBYSxFQUFFLFVBQVUsQ0FBQztRQUU3QyxJQUFJLFVBQVUsRUFBRTtZQUVkLElBQUksQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUV0RCxPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7aUJBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUM3RCxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNuRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0w7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWdDO1FBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O3FIQS9JVSx3QkFBd0I7eUdBQXhCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOzJHQStDWSxzQkFBc0I7c0JBRGhDLEtBQUs7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIGZpbHRlciwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCwgdGltZW91dH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlfSBmcm9tICcuL2VsZGVyLXNlbGVjdC1iYXNlJztcbmltcG9ydCB7SURhdGFDb250ZXh0fSBmcm9tICcuLi8uLi9jb21tb24vZGF0YS9kYXRhLWNvbnRleHQvZGF0YS1jb250ZXh0JztcbmltcG9ydCB7RGF0YVNvdXJjZUFkYXB0ZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYWRhcHRlcic7XG5pbXBvcnQge0VsZGVyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL2VsZGVyLXNlbGVjdC9lbGRlci1zZWxlY3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1dG9TZWxlY3RGaXJzdF0nXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9TZWxlY3RGaXJzdERpcmVjdGl2ZTxURW50aXR5ID0gYW55LCBUSWQgPSBhbnk+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX2VuYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGVsZGVyU2VsZWN0OiBFbGRlclNlbGVjdENvbXBvbmVudDxURW50aXR5LCBUSWQsIGFueT5cbiAgKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4geyAvLyBIQUNLOiBXYWl0IHVudGlsIG5nTW9kZWwgaGFzIGRvbmUgaXRzIHN0cmFuZ2UgbnVsbC9lbXB0eSB2YWx1ZSBpbml0Li4uXG4gICAgICB0aGlzLmxvZy5pbmZvKCdhdXRvU2VsZWN0Rmlyc3QgYWZ0ZXItdmlldyBpbml0LCBhdXRvIHNlbGVjdGluZyB2YWx1ZScpO1xuICAgICAgdGhpcy5oYW5kbGVBdXRvU2VsZWN0Rmlyc3QoKTtcbiAgICB9LCAxMCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAvKipcbiAgICogQWZ0ZXIgZGF0YSBpcyBsb2FkZWQgaW50byB0aGlzIHNlbGVjdCwgZW5zdXJlIHRoYXRcbiAgICogYSB2YWx1ZSBpcyBzZWxlY3RlZCBvciBzZWxlY3QgdGhlIGZpcnN0IGF1dG9tYXRpY2FsbHkuXG4gICAqL1xuICBASW5wdXQoJ2F1dG9TZWxlY3RGaXJzdCcpXG4gIHB1YmxpYyBzZXQgYXV0b1NlbGVjdEZpcnN0RW5hYmxlZCh2YWw6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICB0aGlzLmVuYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZW5hYmxlZCh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9lbmFibGVkID0gdmFsO1xuICB9XG5cbiAgcHVibGljIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHRyeVNlbGVjdEZpcnN0KCk6IHZvaWQge1xuXG4gICAgY29uc3Qgc3VnZ2VzdGlvbnNEYyA9IHRoaXMuZWxkZXJTZWxlY3Quc3VnZ2VzdGlvbnNEYztcblxuICAgIGNvbnN0IGRhdGFDb250ZXh0Rmlyc3RJdGVtOiBPYnNlcnZhYmxlPFRFbnRpdHk+ID0gc3VnZ2VzdGlvbnNEYz8uaXNTdGFydGVkXG4gICAgICA/IHRoaXMuZmlyc3RJdGVtSW5EYXRhQ29udGV4dFNvb24oc3VnZ2VzdGlvbnNEYylcbiAgICAgIDogb2YobnVsbCk7XG5cbiAgICBkYXRhQ29udGV4dEZpcnN0SXRlbS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuZWxkZXJTZWxlY3QudmFsdWVDaGFuZ2UucGlwZShmaWx0ZXIodmFsdWUgPT4gISF2YWx1ZSkpKSxcbiAgICAgIHN3aXRjaE1hcChmaXJzdEl0ZW0gPT4gZmlyc3RJdGVtID8gb2YoZmlyc3RJdGVtKSA6IHRoaXMuZmlyc3RTdWdnZXN0aW9uSXRlbSgpKVxuICAgICkuc3Vic2NyaWJlKFxuICAgICAgZmlyc3RJdGVtID0+IHtcbiAgICAgICAgaWYgKGZpcnN0SXRlbSAmJiAhdGhpcy5lbGRlclNlbGVjdC5lbnRpdHlJZCkge1xuICAgICAgICAgIHRoaXMuZWxkZXJTZWxlY3QudXBkYXRlVmFsdWVCeUVudGl0eShmaXJzdEl0ZW0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhpcy5lbGRlclNlbGVjdC51cGRhdGVTdGF0ZShFbGRlclNlbGVjdENvbXBvbmVudFN0YXRlLmVycm9yKGVycikpO1xuICAgICAgICB0aGlzLmxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgZmlyc3QgZW50aXR5IGZvciBhdXRvLXNlbGVjdC1maXJzdCBmbG93IScsIGVycik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgaGFuZGxlQXV0b1NlbGVjdEZpcnN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lbGRlclNlbGVjdC52YWx1ZSkge1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ0F0dGVtcHRpbmcgdG8gYXV0byBzZWxlY3QgZmlyc3QgZW50aXR5Li4uJyk7XG4gICAgICB0aGlzLnRyeVNlbGVjdEZpcnN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nLndhcm4oJ0NvbmZsaWN0IGF2b2lkZWQ6IEFib3J0ZWQgYXV0byBzZWxlY3Rpb24gYmVjYXVzZSB2YWx1ZSBpZCBhbHJlYWR5IHByZXNlbnQhJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaXJzdEl0ZW1JbkRhdGFDb250ZXh0U29vbihkYXRhQ29udGV4dDogSURhdGFDb250ZXh0PFRFbnRpdHk+KTogT2JzZXJ2YWJsZTxURW50aXR5IHwgbnVsbD4ge1xuICAgIHJldHVybiBkYXRhQ29udGV4dC5kYXRhLnBpcGUoXG4gICAgICBmaWx0ZXIoZGF0YSA9PiBkYXRhICYmIGRhdGEubGVuZ3RoID4gMCksXG4gICAgICBtYXAoZGF0YSA9PiBkYXRhWzBdKSxcbiAgICAgIHRpbWVvdXQoMjUwKSxcbiAgICAgIGNhdGNoRXJyb3IodGltZW91dEVycm9yID0+IHtcbiAgICAgICAgdGhpcy5sb2cud2FybignR2F2ZSB1cCB3YWl0aW5nIGZvciBEYXRhQ29udGV4dCBpdGVtcywgdGltZW91dCByZWFjaGVkLiBGYWxsaW5nIGJhY2sgdG8gc3VnZXN0aW9uIGxvb2t1cC4nLCB0aW1lb3V0RXJyb3IpO1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9KSxcbiAgICAgIGZpcnN0KClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaXJzdFN1Z2dlc3Rpb25JdGVtKCk6IE9ic2VydmFibGU8VEVudGl0eSB8IG51bGw+IHtcblxuICAgIGNvbnN0IHN1Z2dlc3Rpb25zRGMgPSB0aGlzLmVsZGVyU2VsZWN0LnN1Z2dlc3Rpb25zRGM7XG4gICAgY29uc3QgZGF0YVNvdXJjZSA9IHN1Z2dlc3Rpb25zRGM/LmRhdGFTb3VyY2U7XG5cbiAgICBpZiAoZGF0YVNvdXJjZSkge1xuXG4gICAgICB0aGlzLnVwZGF0ZVN0YXRlKEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUubG9hZGluZygpKTtcblxuICAgICAgcmV0dXJuIERhdGFTb3VyY2VBZGFwdGVyLmZyb20oZGF0YVNvdXJjZSlcbiAgICAgICAgLmZpbmRGaXJzdCh0aGlzLmVsZGVyU2VsZWN0LmZpbHRlcnMsIHRoaXMuZWxkZXJTZWxlY3Quc29ydHMpLnBpcGUoXG4gICAgICAgICAgdGFwKCgpID0+IHRoaXMudXBkYXRlU3RhdGUoRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5pZGxlKCkpKSxcbiAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc3VnZ2VzdGlvbnMhJywgZXJyKTtcbiAgICAgICAgICAgIHRoaXMuZWxkZXJTZWxlY3QudXBkYXRlU3RhdGUoRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5lcnJvcihlcnIpKTtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cud2FybignRmFpbGVkIHRvIGxvYWQgZmlyc3Qgc3VnZ2VzdGlvbiEnKTtcbiAgICAgIHRoaXMudXBkYXRlU3RhdGUoRWxkZXJTZWxlY3RDb21wb25lbnRTdGF0ZS5pZGxlKCkpO1xuICAgICAgcmV0dXJuIEVNUFRZO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RhdGUoc3RhdGU6IEVsZGVyU2VsZWN0Q29tcG9uZW50U3RhdGUpIHtcbiAgICB0aGlzLmVsZGVyU2VsZWN0LnVwZGF0ZVN0YXRlKHN0YXRlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,12 @@
1
+ export function isElderEntityValueAccessor(object) {
2
+ if (!object) {
3
+ return false;
4
+ }
5
+ const vac = object;
6
+ return vac.entity !== undefined
7
+ && vac.entityId !== undefined
8
+ && vac.entityIdChange !== undefined
9
+ && vac.entityChange !== undefined
10
+ && vac.updateValueByEntity !== undefined;
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItZW50aXR5LXZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QvZWxkZXItZW50aXR5LXZhbHVlLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1DQSxNQUFNLFVBQVUsMEJBQTBCLENBQUMsTUFBVztJQUVwRCxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQUUsT0FBTyxLQUFLLENBQUM7S0FBRTtJQUU5QixNQUFNLEdBQUcsR0FBRyxNQUE2QyxDQUFDO0lBRTFELE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxTQUFTO1dBQzFCLEdBQUcsQ0FBQyxRQUFRLEtBQUssU0FBUztXQUMxQixHQUFHLENBQUMsY0FBYyxLQUFLLFNBQVM7V0FDaEMsR0FBRyxDQUFDLFlBQVksS0FBSyxTQUFTO1dBQzlCLEdBQUcsQ0FBQyxtQkFBbUIsS0FBSyxTQUFTLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvcjxURW50aXR5LCBUSWQ+IHtcblxuICAvKipcbiAgICogR2V0cyBvciBzZXRzIHRoZSBlbnRpdHlcbiAgICovXG4gIGVudGl0eTogVEVudGl0eTtcblxuICAvKipcbiAgICogR2V0cyBvciBzZXRzIHRoZSBlbnRpdHkgaWRcbiAgICovXG4gIGVudGl0eUlkOiBUSWQ7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGVudGl0eSBpZCBoYXMgY2hhbmdlZC5cbiAgICovXG4gIGVudGl0eUlkQ2hhbmdlOiBPYnNlcnZhYmxlPFRJZD47XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGVudGl0eSBoYXMgY2hhbmdlZC5cbiAgICovXG4gIGVudGl0eUNoYW5nZTogT2JzZXJ2YWJsZTxURW50aXR5PjtcblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBjb250cm9sIHZhbHVlIGJ5IHRoZSBnaXZlbiBlbnRpdHlcbiAgICogYW5kIGVtaXQgYSB2YWx1ZS11cGRhdGVkIGV2ZW50IHdoaWNoIHNpbXVsYXRlc1xuICAgKiBhIHVzZXIgYWN0aW9uLlxuICAgKiBAcGFyYW0gZW50aXR5XG4gICAqL1xuICB1cGRhdGVWYWx1ZUJ5RW50aXR5KGVudGl0eTogVEVudGl0eSk6IHZvaWQ7XG5cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gaXNFbGRlckVudGl0eVZhbHVlQWNjZXNzb3Iob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgSUVsZGVyRW50aXR5VmFsdWVBY2Nlc3NvcjxhbnksIGFueT4ge1xuXG4gIGlmICghb2JqZWN0KSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIGNvbnN0IHZhYyA9IG9iamVjdCBhcyBJRWxkZXJFbnRpdHlWYWx1ZUFjY2Vzc29yPGFueSwgYW55PjtcblxuICByZXR1cm4gdmFjLmVudGl0eSAhPT0gdW5kZWZpbmVkXG4gICAgJiYgdmFjLmVudGl0eUlkICE9PSB1bmRlZmluZWRcbiAgICAmJiB2YWMuZW50aXR5SWRDaGFuZ2UgIT09IHVuZGVmaW5lZFxuICAgICYmIHZhYy5lbnRpdHlDaGFuZ2UgIT09IHVuZGVmaW5lZFxuICAgICYmIHZhYy51cGRhdGVWYWx1ZUJ5RW50aXR5ICE9PSB1bmRlZmluZWQ7XG59XG4iXX0=