@elderbyte/ngx-starter 18.15.2 → 19.0.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 (576) hide show
  1. package/fesm2022/elderbyte-ngx-starter.mjs +1097 -1125
  2. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  3. package/lib/common/forms/elder-form-field-control-base.directive.d.ts +1 -1
  4. package/lib/common/forms/elder-from-field-base.d.ts +1 -1
  5. package/lib/common/forms/elder-from-field-customizable-base.d.ts +1 -1
  6. package/lib/common/forms/elder-from-field-entity-base.d.ts +1 -1
  7. package/lib/common/forms/elder-from-field-multi-entity-base.d.ts +1 -1
  8. package/lib/common/forms/form-field-base.component.d.ts +1 -1
  9. package/lib/common/forms/multi-model-base.component.d.ts +1 -1
  10. package/lib/common/forms/template-composite-control.d.ts +1 -1
  11. package/lib/common/forms/value-accessor-base.d.ts +1 -1
  12. package/lib/common/reactive-map.d.ts +1 -1
  13. package/lib/components/data-view/base/elder-data-view-base.d.ts +1 -1
  14. package/lib/components/forms/directives/base/elder-class-hostbinding-base.d.ts +1 -1
  15. package/lib/components/iframes/typed-event-message.d.ts +1 -1
  16. package/lib/components/panels/elder-panel.module.d.ts +5 -7
  17. package/lib/components/select/elder-select-base.d.ts +1 -1
  18. package/lib/components/select/multi/elder-multi-select-base.d.ts +1 -1
  19. package/lib/components/select/multi/elder-multi-select-form-field.d.ts +1 -1
  20. package/lib/components/select/single/elder-select-form-field.d.ts +1 -1
  21. package/package.json +6 -8
  22. package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +2 -3
  23. package/src/lib/components/panels/flat/_elder-panel-theme.scss +5 -1
  24. package/esm2022/elderbyte-ngx-starter.mjs +0 -5
  25. package/esm2022/lib/common/arrays.mjs +0 -29
  26. package/esm2022/lib/common/async/public_api.mjs +0 -2
  27. package/esm2022/lib/common/async/refreshing-entity.mjs +0 -88
  28. package/esm2022/lib/common/csv/csv-serializer.mjs +0 -55
  29. package/esm2022/lib/common/csv/csv-spec.mjs +0 -99
  30. package/esm2022/lib/common/csv/public_api.mjs +0 -3
  31. package/esm2022/lib/common/data/continuable-listing.mjs +0 -10
  32. package/esm2022/lib/common/data/data-context/data-context-active-page.mjs +0 -131
  33. package/esm2022/lib/common/data/data-context/data-context-auto-starter.mjs +0 -78
  34. package/esm2022/lib/common/data/data-context/data-context-base.mjs +0 -339
  35. package/esm2022/lib/common/data/data-context/data-context-builder.mjs +0 -245
  36. package/esm2022/lib/common/data/data-context/data-context-continuable-base.mjs +0 -67
  37. package/esm2022/lib/common/data/data-context/data-context-continuable-paged.mjs +0 -142
  38. package/esm2022/lib/common/data/data-context/data-context-continuable-token.mjs +0 -146
  39. package/esm2022/lib/common/data/data-context/data-context-life-cycle-binding.mjs +0 -32
  40. package/esm2022/lib/common/data/data-context/data-context-simple.mjs +0 -61
  41. package/esm2022/lib/common/data/data-context/data-context-source-event-binding.mjs +0 -63
  42. package/esm2022/lib/common/data/data-context/data-context-status.mjs +0 -46
  43. package/esm2022/lib/common/data/data-context/data-context.mjs +0 -30
  44. package/esm2022/lib/common/data/data-context/indexed-entities.mjs +0 -153
  45. package/esm2022/lib/common/data/data-context/mat-table-data-context-binding.mjs +0 -145
  46. package/esm2022/lib/common/data/data-context/public_api.mjs +0 -15
  47. package/esm2022/lib/common/data/datasource/data-source-adapter.mjs +0 -59
  48. package/esm2022/lib/common/data/datasource/data-source-base.mjs +0 -38
  49. package/esm2022/lib/common/data/datasource/data-source-change-event.mjs +0 -34
  50. package/esm2022/lib/common/data/datasource/data-source-processor.mjs +0 -198
  51. package/esm2022/lib/common/data/datasource/data-source.mjs +0 -23
  52. package/esm2022/lib/common/data/datasource/entity-id-util.mjs +0 -11
  53. package/esm2022/lib/common/data/datasource/fetcher/delegate-data-source.mjs +0 -127
  54. package/esm2022/lib/common/data/datasource/local/local-list-data-source.mjs +0 -153
  55. package/esm2022/lib/common/data/datasource/local/local-paged-data-source.mjs +0 -75
  56. package/esm2022/lib/common/data/datasource/patch/deep-partial-patcher.mjs +0 -58
  57. package/esm2022/lib/common/data/datasource/public_api.mjs +0 -10
  58. package/esm2022/lib/common/data/datasource/rest/public_api.mjs +0 -2
  59. package/esm2022/lib/common/data/datasource/rest/rest-client.mjs +0 -290
  60. package/esm2022/lib/common/data/entity-set-patch.mjs +0 -161
  61. package/esm2022/lib/common/data/field-comparator.mjs +0 -108
  62. package/esm2022/lib/common/data/filters/filter-commons.mjs +0 -12
  63. package/esm2022/lib/common/data/filters/filter-context.mjs +0 -135
  64. package/esm2022/lib/common/data/filters/filter-value.mjs +0 -2
  65. package/esm2022/lib/common/data/filters/filter.mjs +0 -104
  66. package/esm2022/lib/common/data/http-params-builder.mjs +0 -116
  67. package/esm2022/lib/common/data/page.mjs +0 -58
  68. package/esm2022/lib/common/data/public_api.mjs +0 -12
  69. package/esm2022/lib/common/data/required-filter-evaluator.mjs +0 -71
  70. package/esm2022/lib/common/data/sort-context.mjs +0 -73
  71. package/esm2022/lib/common/data/sort.mjs +0 -11
  72. package/esm2022/lib/common/data/token-chunk-request.mjs +0 -8
  73. package/esm2022/lib/common/enums/elder-enum-translation.service.mjs +0 -84
  74. package/esm2022/lib/common/enums/public_api.mjs +0 -2
  75. package/esm2022/lib/common/errors/exception-detail.mjs +0 -2
  76. package/esm2022/lib/common/errors/public_api.mjs +0 -3
  77. package/esm2022/lib/common/errors/standard-error-detail.mjs +0 -2
  78. package/esm2022/lib/common/exceptions/public_api.mjs +0 -2
  79. package/esm2022/lib/common/exceptions/unreachable-case-error.mjs +0 -8
  80. package/esm2022/lib/common/format/bytes-format.mjs +0 -15
  81. package/esm2022/lib/common/format/bytes-per-second-format.mjs +0 -41
  82. package/esm2022/lib/common/format/curency-format-util.mjs +0 -43
  83. package/esm2022/lib/common/format/duration-format-util.mjs +0 -44
  84. package/esm2022/lib/common/format/iso-interval-format-util.mjs +0 -111
  85. package/esm2022/lib/common/format/public_api.mjs +0 -6
  86. package/esm2022/lib/common/forms/elder-entity-value-accessor.mjs +0 -22
  87. package/esm2022/lib/common/forms/elder-form-field-control-base.directive.mjs +0 -188
  88. package/esm2022/lib/common/forms/elder-from-field-base.mjs +0 -94
  89. package/esm2022/lib/common/forms/elder-from-field-customizable-base.mjs +0 -52
  90. package/esm2022/lib/common/forms/elder-from-field-entity-base.mjs +0 -39
  91. package/esm2022/lib/common/forms/elder-from-field-multi-entity-base.mjs +0 -47
  92. package/esm2022/lib/common/forms/elder-multi-entity-value-accessor.mjs +0 -22
  93. package/esm2022/lib/common/forms/form-field-base.component.mjs +0 -111
  94. package/esm2022/lib/common/forms/multi-model-base.component.mjs +0 -32
  95. package/esm2022/lib/common/forms/public_api.mjs +0 -12
  96. package/esm2022/lib/common/forms/template-composite-control.mjs +0 -136
  97. package/esm2022/lib/common/forms/value-accessor-base.mjs +0 -146
  98. package/esm2022/lib/common/forms/view-providers.mjs +0 -30
  99. package/esm2022/lib/common/http/http-client-builder.service.mjs +0 -14
  100. package/esm2022/lib/common/http/http-client-pristine.mjs +0 -21
  101. package/esm2022/lib/common/http/public_api.mjs +0 -5
  102. package/esm2022/lib/common/http/transfer/data-transfer-base.mjs +0 -77
  103. package/esm2022/lib/common/http/transfer/data-transfer-factory.mjs +0 -106
  104. package/esm2022/lib/common/http/transfer/data-transfer-progress-aggregate.mjs +0 -60
  105. package/esm2022/lib/common/http/transfer/data-transfer-progress.mjs +0 -17
  106. package/esm2022/lib/common/http/transfer/data-transfer-state.mjs +0 -82
  107. package/esm2022/lib/common/http/transfer/data-transfer-status.mjs +0 -24
  108. package/esm2022/lib/common/http/transfer/data-transfer.mjs +0 -2
  109. package/esm2022/lib/common/http/transfer/http-data-transfer.mjs +0 -132
  110. package/esm2022/lib/common/http/transfer/public_api.mjs +0 -7
  111. package/esm2022/lib/common/http/upload/file-upload-client.mjs +0 -42
  112. package/esm2022/lib/common/i18n/entity/elder-multi-translate-loader.mjs +0 -53
  113. package/esm2022/lib/common/i18n/entity/impl/i18n-base.mjs +0 -6
  114. package/esm2022/lib/common/i18n/entity/impl/i18n-text.mjs +0 -16
  115. package/esm2022/lib/common/i18n/entity/impl/translated.mjs +0 -15
  116. package/esm2022/lib/common/i18n/entity/language-tag.mjs +0 -12
  117. package/esm2022/lib/common/i18n/entity/locale.mjs +0 -12
  118. package/esm2022/lib/common/i18n/entity/localisation-picker.mjs +0 -30
  119. package/esm2022/lib/common/i18n/entity/localized.mjs +0 -2
  120. package/esm2022/lib/common/i18n/entity/public_api.mjs +0 -10
  121. package/esm2022/lib/common/i18n/entity/translated-converter.mjs +0 -18
  122. package/esm2022/lib/common/i18n/entity/translated.mjs +0 -2
  123. package/esm2022/lib/common/i18n/public_api.mjs +0 -2
  124. package/esm2022/lib/common/json-map.mjs +0 -17
  125. package/esm2022/lib/common/objects.mjs +0 -43
  126. package/esm2022/lib/common/public_api.mjs +0 -23
  127. package/esm2022/lib/common/reactive-map.mjs +0 -69
  128. package/esm2022/lib/common/rxjs/operators/lazy-sample.mjs +0 -34
  129. package/esm2022/lib/common/rxjs/public_api.mjs +0 -2
  130. package/esm2022/lib/common/selection/public_api.mjs +0 -2
  131. package/esm2022/lib/common/selection/selection-model.mjs +0 -213
  132. package/esm2022/lib/common/sets.mjs +0 -45
  133. package/esm2022/lib/common/suggestion-provider.mjs +0 -12
  134. package/esm2022/lib/common/templates/template-slot-manager.mjs +0 -135
  135. package/esm2022/lib/common/theme-sizes.mjs +0 -2
  136. package/esm2022/lib/common/time/date-util.mjs +0 -91
  137. package/esm2022/lib/common/time/interval-coerce.mjs +0 -30
  138. package/esm2022/lib/common/time/interval.mjs +0 -442
  139. package/esm2022/lib/common/time/period-duration.mjs +0 -133
  140. package/esm2022/lib/common/time/public_api.mjs +0 -8
  141. package/esm2022/lib/common/time/temporal-plain-date-interval.mjs +0 -34
  142. package/esm2022/lib/common/time/temporal-util.mjs +0 -205
  143. package/esm2022/lib/common/time/time-util.mjs +0 -38
  144. package/esm2022/lib/common/url/elder-router.service.mjs +0 -54
  145. package/esm2022/lib/common/url/elder-url-fragment-params.service.mjs +0 -117
  146. package/esm2022/lib/common/url/public_api.mjs +0 -4
  147. package/esm2022/lib/common/url/url-query-params.mjs +0 -133
  148. package/esm2022/lib/common/utils/batcher.mjs +0 -35
  149. package/esm2022/lib/common/utils/collection-util.mjs +0 -111
  150. package/esm2022/lib/common/utils/filter-util.mjs +0 -133
  151. package/esm2022/lib/common/utils/focus-util.mjs +0 -23
  152. package/esm2022/lib/common/utils/input-utils.mjs +0 -6
  153. package/esm2022/lib/common/utils/next-number-util.mjs +0 -89
  154. package/esm2022/lib/common/utils/ng-zone-utils.mjs +0 -16
  155. package/esm2022/lib/common/utils/parse-util.mjs +0 -17
  156. package/esm2022/lib/common/utils/property-path-util.mjs +0 -28
  157. package/esm2022/lib/common/utils/public_api.mjs +0 -14
  158. package/esm2022/lib/common/utils/query-list-binding.mjs +0 -68
  159. package/esm2022/lib/common/utils/signal-input.mjs +0 -3
  160. package/esm2022/lib/common/utils/sort-util.mjs +0 -42
  161. package/esm2022/lib/common/utils/url-builder.mjs +0 -275
  162. package/esm2022/lib/common/utils/uuid-util.mjs +0 -28
  163. package/esm2022/lib/common/utils/value-wrapper.mjs +0 -19
  164. package/esm2022/lib/components/access-denied/elder-access-denied.component.mjs +0 -15
  165. package/esm2022/lib/components/access-denied/elder-access-denied.module.mjs +0 -20
  166. package/esm2022/lib/components/auditing/audited-entity/elder-audited-entity.component.mjs +0 -50
  167. package/esm2022/lib/components/auditing/elder-audit.module.mjs +0 -40
  168. package/esm2022/lib/components/auditing/i-audited-entity.mjs +0 -3
  169. package/esm2022/lib/components/badge/elder-badge/elder-badge.component.mjs +0 -162
  170. package/esm2022/lib/components/badge/elder-badge.directive.mjs +0 -124
  171. package/esm2022/lib/components/badge/elder-badge.module.mjs +0 -58
  172. package/esm2022/lib/components/button-group/elder-button-group/elder-button-group.component.mjs +0 -13
  173. package/esm2022/lib/components/button-group/elder-button-group.module.mjs +0 -21
  174. package/esm2022/lib/components/card-organizer/card-organizer/elder-card-organizer.component.mjs +0 -118
  175. package/esm2022/lib/components/card-organizer/card-organizer/elder-stack-card.directive.mjs +0 -18
  176. package/esm2022/lib/components/card-organizer/card-organizer-data.mjs +0 -93
  177. package/esm2022/lib/components/card-organizer/card-stack/elder-card-stack.component.mjs +0 -220
  178. package/esm2022/lib/components/card-organizer/card-stack.mjs +0 -176
  179. package/esm2022/lib/components/card-organizer/elder-card-organizer.module.mjs +0 -62
  180. package/esm2022/lib/components/cards/elder-card/elder-card-header/elder-card-header.component.mjs +0 -17
  181. package/esm2022/lib/components/cards/elder-card/elder-card.component.mjs +0 -167
  182. package/esm2022/lib/components/cards/elder-card/elder-card.module.mjs +0 -71
  183. package/esm2022/lib/components/chips/elder-chip-label.directive.mjs +0 -171
  184. package/esm2022/lib/components/chips/elder-chips.module.mjs +0 -45
  185. package/esm2022/lib/components/connectivity/elder-connectivity.module.mjs +0 -57
  186. package/esm2022/lib/components/connectivity/elder-connectivity.service.mjs +0 -61
  187. package/esm2022/lib/components/connectivity/offline-indicator/elder-offline-indicator.component.mjs +0 -46
  188. package/esm2022/lib/components/connectivity/public_api.mjs +0 -3
  189. package/esm2022/lib/components/containers/elder-containers.module.mjs +0 -18
  190. package/esm2022/lib/components/containers/elder-scroll-container/elder-scroll-container.component.mjs +0 -24
  191. package/esm2022/lib/components/containers/public_api.mjs +0 -2
  192. package/esm2022/lib/components/csv/elder-csv-export-btn/elder-csv-export-btn.component.mjs +0 -77
  193. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.mjs +0 -38
  194. package/esm2022/lib/components/csv/elder-csv-stream-exporter-builder.service.mjs +0 -38
  195. package/esm2022/lib/components/csv/elder-csv-stream-exporter.mjs +0 -114
  196. package/esm2022/lib/components/csv/elder-csv.module.mjs +0 -24
  197. package/esm2022/lib/components/currency/elder-currency.module.mjs +0 -18
  198. package/esm2022/lib/components/currency/elder-currency.pipe.mjs +0 -37
  199. package/esm2022/lib/components/currency/model/currency-code.mjs +0 -38
  200. package/esm2022/lib/components/currency/model/currency-unit-registry.mjs +0 -30
  201. package/esm2022/lib/components/currency/model/currency-unit.mjs +0 -10
  202. package/esm2022/lib/components/currency/model/currency.mjs +0 -15
  203. package/esm2022/lib/components/currency/public_api.mjs +0 -7
  204. package/esm2022/lib/components/data-transfer/elder-data-transfer.module.mjs +0 -91
  205. package/esm2022/lib/components/data-transfer/elder-data-transfer.service.mjs +0 -93
  206. package/esm2022/lib/components/data-transfer/http-data-transfer/http-data-transfer.component.mjs +0 -102
  207. package/esm2022/lib/components/data-transfer/http-data-transfer-aggregate/http-data-transfer-aggregate.component.mjs +0 -34
  208. package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +0 -57
  209. package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +0 -34
  210. package/esm2022/lib/components/data-view/base/data-view-options-provider-binding.mjs +0 -69
  211. package/esm2022/lib/components/data-view/base/elder-data-view-base.mjs +0 -265
  212. package/esm2022/lib/components/data-view/base/elder-data-view-options-provider.mjs +0 -44
  213. package/esm2022/lib/components/data-view/base/elder-data-view-options.mjs +0 -45
  214. package/esm2022/lib/components/data-view/base/elder-data-view.mjs +0 -3
  215. package/esm2022/lib/components/data-view/base/public_api.mjs +0 -6
  216. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-context.mjs +0 -30
  217. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort-dc.directive.mjs +0 -55
  218. package/esm2022/lib/components/data-view/common/composite-sort/composite-sort.mjs +0 -68
  219. package/esm2022/lib/components/data-view/common/composite-sort/elder-composite-sort/elder-composite-sort.component.mjs +0 -101
  220. package/esm2022/lib/components/data-view/common/data-context-state-indicator/data-context-state-indicator.component.mjs +0 -45
  221. package/esm2022/lib/components/data-view/common/elder-data-common.module.mjs +0 -125
  222. package/esm2022/lib/components/data-view/common/elder-data-toolbar/elder-data-toolbar.component.mjs +0 -140
  223. package/esm2022/lib/components/data-view/common/elder-single-sort/elder-single-sort.component.mjs +0 -100
  224. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +0 -103
  225. package/esm2022/lib/components/data-view/common/selection/elder-selection-master-checkbox/elder-selection-master-checkbox.component.mjs +0 -36
  226. package/esm2022/lib/components/data-view/common/selection/master-selection-state.mjs +0 -10
  227. package/esm2022/lib/components/data-view/elder-data-view-interaction-mode.mjs +0 -2
  228. package/esm2022/lib/components/data-view/grid/elder-grid/elder-grid.component.mjs +0 -345
  229. package/esm2022/lib/components/data-view/grid/elder-grid.module.mjs +0 -91
  230. package/esm2022/lib/components/data-view/master-detail/elder-detail-dialog/elder-detail-dialog.component.mjs +0 -75
  231. package/esm2022/lib/components/data-view/master-detail/elder-detail.directive.mjs +0 -50
  232. package/esm2022/lib/components/data-view/master-detail/elder-master-activation.directive.mjs +0 -79
  233. package/esm2022/lib/components/data-view/master-detail/elder-master-detail-mode.mjs +0 -2
  234. package/esm2022/lib/components/data-view/master-detail/elder-master-detail-provider.mjs +0 -20
  235. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.component.mjs +0 -119
  236. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.module.mjs +0 -116
  237. package/esm2022/lib/components/data-view/master-detail/elder-master-detail.service.mjs +0 -89
  238. package/esm2022/lib/components/data-view/master-detail/elder-master.directive.mjs +0 -23
  239. package/esm2022/lib/components/data-view/master-detail/master-detail-activation-event.mjs +0 -12
  240. package/esm2022/lib/components/data-view/public_api.mjs +0 -7
  241. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.component.mjs +0 -18
  242. package/esm2022/lib/components/data-view/simple/elder-simple-selection-view/elder-simple-selection-view.module.mjs +0 -104
  243. package/esm2022/lib/components/data-view/table/activation/activation-event-source.mjs +0 -7
  244. package/esm2022/lib/components/data-view/table/activation/elder-activation-context.mjs +0 -2
  245. package/esm2022/lib/components/data-view/table/activation/elder-delete-active.directive.mjs +0 -114
  246. package/esm2022/lib/components/data-view/table/activation/elder-table-activation-options.mjs +0 -2
  247. package/esm2022/lib/components/data-view/table/activation/elder-table-activation.directive.mjs +0 -315
  248. package/esm2022/lib/components/data-view/table/activation/item-activation-event.mjs +0 -8
  249. package/esm2022/lib/components/data-view/table/activation/item-activation-options.mjs +0 -7
  250. package/esm2022/lib/components/data-view/table/activation/public_api.mjs +0 -8
  251. package/esm2022/lib/components/data-view/table/elder-center-cell.directive.mjs +0 -23
  252. package/esm2022/lib/components/data-view/table/elder-number-cell.directive.mjs +0 -30
  253. package/esm2022/lib/components/data-view/table/elder-paginator-intl.mjs +0 -73
  254. package/esm2022/lib/components/data-view/table/elder-table/elder-table-toolbar.directive.mjs +0 -21
  255. package/esm2022/lib/components/data-view/table/elder-table/elder-table.component.mjs +0 -338
  256. package/esm2022/lib/components/data-view/table/elder-table-column.directive.mjs +0 -18
  257. package/esm2022/lib/components/data-view/table/elder-table-extension.directive.mjs +0 -92
  258. package/esm2022/lib/components/data-view/table/elder-table-root.directive.mjs +0 -26
  259. package/esm2022/lib/components/data-view/table/elder-table-row.directive.mjs +0 -156
  260. package/esm2022/lib/components/data-view/table/elder-table-sort.directive.mjs +0 -23
  261. package/esm2022/lib/components/data-view/table/elder-table.module.mjs +0 -184
  262. package/esm2022/lib/components/data-view/table/model/elder-column-layout.mjs +0 -110
  263. package/esm2022/lib/components/data-view/table/model/elder-table-model-cdk-table-binding.mjs +0 -85
  264. package/esm2022/lib/components/data-view/table/model/elder-table-model-provider.mjs +0 -40
  265. package/esm2022/lib/components/data-view/table/model/elder-table-model-query-group.mjs +0 -89
  266. package/esm2022/lib/components/data-view/table/model/elder-table-model.mjs +0 -167
  267. package/esm2022/lib/components/dialogs/confirm-dialog/elder-confirm-dialog.component.mjs +0 -37
  268. package/esm2022/lib/components/dialogs/elder-dialog-config.mjs +0 -3
  269. package/esm2022/lib/components/dialogs/elder-dialog.module.mjs +0 -87
  270. package/esm2022/lib/components/dialogs/elder-dialog.service.mjs +0 -199
  271. package/esm2022/lib/components/dialogs/question-dialog/elder-question-dialog.component.mjs +0 -57
  272. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog/elder-selection-dialog.component.mjs +0 -43
  273. package/esm2022/lib/components/dialogs/selection-dialog/elder-selection-dialog.directive.mjs +0 -47
  274. package/esm2022/lib/components/errors/elder-error.module.mjs +0 -39
  275. package/esm2022/lib/components/errors/error-util.mjs +0 -94
  276. package/esm2022/lib/components/errors/exception-detail/elder-exception-detail.component.mjs +0 -77
  277. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.component.mjs +0 -55
  278. package/esm2022/lib/components/expand-toggle-button/elder-expand-toggle-button.module.mjs +0 -35
  279. package/esm2022/lib/components/files/blob-url.mjs +0 -10
  280. package/esm2022/lib/components/files/blob-viewer/elder-blob-viewer.component.mjs +0 -224
  281. package/esm2022/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.mjs +0 -44
  282. package/esm2022/lib/components/files/drag-n-drop/global-drag-drop.service.mjs +0 -84
  283. package/esm2022/lib/components/files/elder-file-drop-zone.directive.mjs +0 -145
  284. package/esm2022/lib/components/files/elder-file-select-input.mjs +0 -119
  285. package/esm2022/lib/components/files/elder-file-select.directive.mjs +0 -167
  286. package/esm2022/lib/components/files/elder-file.module.mjs +0 -85
  287. package/esm2022/lib/components/files/file-select/file-select.component.mjs +0 -54
  288. package/esm2022/lib/components/files/file-system-api.mjs +0 -100
  289. package/esm2022/lib/components/files/file-upload/file-upload.component.mjs +0 -80
  290. package/esm2022/lib/components/files/listing/file-entry.mjs +0 -92
  291. package/esm2022/lib/components/files/listing/file-listing-rx.mjs +0 -64
  292. package/esm2022/lib/components/files/listing/file-listing-system-handle.mjs +0 -35
  293. package/esm2022/lib/components/files/listing/file-listing-webkit.mjs +0 -76
  294. package/esm2022/lib/components/forms/clipboard/elder-clipboard.service.mjs +0 -51
  295. package/esm2022/lib/components/forms/directives/base/elder-class-hostbinding-base.mjs +0 -34
  296. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.mjs +0 -97
  297. package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +0 -50
  298. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.mjs +0 -102
  299. package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +0 -50
  300. package/esm2022/lib/components/forms/directives/elder-clipboard-put.directive.mjs +0 -38
  301. package/esm2022/lib/components/forms/directives/elder-delayed-focus.directive.mjs +0 -43
  302. package/esm2022/lib/components/forms/directives/elder-form-field-dense.directive.mjs +0 -83
  303. package/esm2022/lib/components/forms/directives/elder-form-field-label.directive.mjs +0 -84
  304. package/esm2022/lib/components/forms/directives/elder-form-field-no-hint.directive.mjs +0 -42
  305. package/esm2022/lib/components/forms/directives/elder-form-field-no-spinner.directive.mjs +0 -35
  306. package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +0 -142
  307. package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +0 -67
  308. package/esm2022/lib/components/forms/directives/elder-input-pattern.directive.mjs +0 -78
  309. package/esm2022/lib/components/forms/directives/elder-key-event.directive.mjs +0 -112
  310. package/esm2022/lib/components/forms/directives/elder-next-focusable.directive.mjs +0 -102
  311. package/esm2022/lib/components/forms/directives/elder-plug-parent-form.directive.mjs +0 -37
  312. package/esm2022/lib/components/forms/directives/elder-stop-event-propagation.directive.mjs +0 -30
  313. package/esm2022/lib/components/forms/directives/elder-tab-focus-trap.directive.mjs +0 -161
  314. package/esm2022/lib/components/forms/directives/elder-touched.directive.mjs +0 -28
  315. package/esm2022/lib/components/forms/directives/validation/elder-validation-error.directive.mjs +0 -88
  316. package/esm2022/lib/components/forms/directives/validation/strategies/common-validation-message-strategy.mjs +0 -47
  317. package/esm2022/lib/components/forms/directives/validation/strategies/dynamic-validation-message-strategy.mjs +0 -48
  318. package/esm2022/lib/components/forms/directives/validation/strategies/fallback-validation-message-strategy.mjs +0 -6
  319. package/esm2022/lib/components/forms/directives/validation/validation-message-renderer.service.mjs +0 -53
  320. package/esm2022/lib/components/forms/directives/validation/validation-message-strategy.mjs +0 -2
  321. package/esm2022/lib/components/forms/directives/validation/validators/elder-max.validator.mjs +0 -36
  322. package/esm2022/lib/components/forms/directives/validation/validators/elder-min.validator.mjs +0 -36
  323. package/esm2022/lib/components/forms/directives/validation/validators/elder-multiple-of.validator.mjs +0 -112
  324. package/esm2022/lib/components/forms/directives/validation/validators/elder-required-ignore-zero.validator.mjs +0 -69
  325. package/esm2022/lib/components/forms/elder-forms.module.mjs +0 -22
  326. package/esm2022/lib/components/forms/public_api.mjs +0 -6
  327. package/esm2022/lib/components/forms/search/domain/context/search-context.mjs +0 -73
  328. package/esm2022/lib/components/forms/search/domain/context/search-context.service.mjs +0 -42
  329. package/esm2022/lib/components/forms/search/domain/input/input-value.mjs +0 -2
  330. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +0 -88
  331. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +0 -2
  332. package/esm2022/lib/components/forms/search/domain/input/simple-search-input.mjs +0 -50
  333. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.directive.mjs +0 -92
  334. package/esm2022/lib/components/forms/search/domain/url/elder-search-url.service.mjs +0 -166
  335. package/esm2022/lib/components/forms/search/domain/url/search-query-params-parser.mjs +0 -81
  336. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +0 -256
  337. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +0 -258
  338. package/esm2022/lib/components/forms/search/elder-search.module.mjs +0 -115
  339. package/esm2022/lib/components/forms/search/filter/default-input-filter-converter.mjs +0 -45
  340. package/esm2022/lib/components/forms/search/filter/input-filter-converter.mjs +0 -2
  341. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +0 -131
  342. package/esm2022/lib/components/forms/search/search-box/elder-search-panel.component.mjs +0 -24
  343. package/esm2022/lib/components/global-search/elder-global-search.component.mjs +0 -136
  344. package/esm2022/lib/components/global-search/elder-global-search.module.mjs +0 -47
  345. package/esm2022/lib/components/global-search/elder-global-search.service.mjs +0 -95
  346. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.component.mjs +0 -90
  347. package/esm2022/lib/components/graph/elder-progress-bar/elder-progress-bar.module.mjs +0 -19
  348. package/esm2022/lib/components/graph/elder-progress-bar/sub-bar.mjs +0 -7
  349. package/esm2022/lib/components/graph/public_api.mjs +0 -2
  350. package/esm2022/lib/components/headers/elder-header/elder-header.component.mjs +0 -29
  351. package/esm2022/lib/components/headers/elder-header.module.mjs +0 -42
  352. package/esm2022/lib/components/http-support/elder-http-client.service.mjs +0 -63
  353. package/esm2022/lib/components/http-support/public_api.mjs +0 -2
  354. package/esm2022/lib/components/i18n/entities/elder-i18n-entities.module.mjs +0 -125
  355. package/esm2022/lib/components/i18n/entities/elder-localized-input/elder-localized-input.component.mjs +0 -157
  356. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog/elder-localized-input-dialog.component.mjs +0 -39
  357. package/esm2022/lib/components/i18n/entities/elder-localized-input-dialog.service.mjs +0 -30
  358. package/esm2022/lib/components/i18n/entities/elder-localized-input-table/elder-localized-input-table.component.mjs +0 -177
  359. package/esm2022/lib/components/i18n/entities/elder-localized-text-column.directive.mjs +0 -31
  360. package/esm2022/lib/components/i18n/entities/elder-localized-texts.directive.mjs +0 -56
  361. package/esm2022/lib/components/i18n/entities/picker/i18n-pick-async.pipe.mjs +0 -40
  362. package/esm2022/lib/components/i18n/entities/picker/i18n-pick.pipe.mjs +0 -31
  363. package/esm2022/lib/components/i18n/entities/picker/localisation-picker.service.mjs +0 -74
  364. package/esm2022/lib/components/i18n/language/elder-language-config.mjs +0 -3
  365. package/esm2022/lib/components/i18n/language/elder-language-interceptor.mjs +0 -70
  366. package/esm2022/lib/components/i18n/language/elder-language.module.mjs +0 -73
  367. package/esm2022/lib/components/i18n/language/elder-language.service.mjs +0 -120
  368. package/esm2022/lib/components/i18n/language/language-switcher/elder-language-switcher.component.mjs +0 -79
  369. package/esm2022/lib/components/i18n/locales/elder-locales-de-ch.module.mjs +0 -53
  370. package/esm2022/lib/components/i18n/public_api.mjs +0 -4
  371. package/esm2022/lib/components/iframes/data-view/data-view-iframe/data-view-iframe.component.mjs +0 -129
  372. package/esm2022/lib/components/iframes/data-view/data-view-iframe-adapter.directive.mjs +0 -141
  373. package/esm2022/lib/components/iframes/elder-iframe.module.mjs +0 -106
  374. package/esm2022/lib/components/iframes/iframe-close.directive.mjs +0 -41
  375. package/esm2022/lib/components/iframes/iframe-dialog/iframe-dialog.component.mjs +0 -51
  376. package/esm2022/lib/components/iframes/iframe-host/iframe-host.component.mjs +0 -144
  377. package/esm2022/lib/components/iframes/iframe-messages.mjs +0 -5
  378. package/esm2022/lib/components/iframes/iframe-side-content/iframe-side-content.component.mjs +0 -80
  379. package/esm2022/lib/components/iframes/iframe.service.mjs +0 -54
  380. package/esm2022/lib/components/iframes/typed-event-message.mjs +0 -42
  381. package/esm2022/lib/components/infinitescroll/elder-infinite-autocomplete.directive.mjs +0 -65
  382. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.directive.mjs +0 -166
  383. package/esm2022/lib/components/infinitescroll/elder-infinite-scroll.module.mjs +0 -20
  384. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-autocomplete-option-selected.mjs +0 -9
  385. package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +0 -233
  386. package/esm2022/lib/components/input/autocomplete/elder-autocomplete-many.directive.mjs +0 -202
  387. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.directive.mjs +0 -120
  388. package/esm2022/lib/components/input/autocomplete/elder-autocomplete.module.mjs +0 -61
  389. package/esm2022/lib/components/input/autocomplete/many/word-position-finder.mjs +0 -58
  390. package/esm2022/lib/components/input/public_api.mjs +0 -2
  391. package/esm2022/lib/components/labels/elder-labels.module.mjs +0 -50
  392. package/esm2022/lib/components/labels/labels-input/labels-input.component.mjs +0 -239
  393. package/esm2022/lib/components/measures/dimensions/dimensions-input/elder-dimensions-input.component.mjs +0 -268
  394. package/esm2022/lib/components/measures/dimensions/validation/elder-required-dimensions.validator.mjs +0 -92
  395. package/esm2022/lib/components/measures/directives/elder-unit-select.directive.mjs +0 -65
  396. package/esm2022/lib/components/measures/elder-measures.module.mjs +0 -130
  397. package/esm2022/lib/components/measures/elder-quantity-transform.pipe.mjs +0 -31
  398. package/esm2022/lib/components/measures/elder-quantity.pipe.mjs +0 -43
  399. package/esm2022/lib/components/measures/elder-unit.service.mjs +0 -113
  400. package/esm2022/lib/components/measures/model/dimensions.mjs +0 -17
  401. package/esm2022/lib/components/measures/model/quantity.mjs +0 -12
  402. package/esm2022/lib/components/measures/model/unit-dimension.mjs +0 -14
  403. package/esm2022/lib/components/measures/model/unit-registry.mjs +0 -81
  404. package/esm2022/lib/components/measures/model/unit.mjs +0 -143
  405. package/esm2022/lib/components/measures/public_api.mjs +0 -8
  406. package/esm2022/lib/components/measures/quantity-input/quantity-form-field/elder-quantity-form-field.component.mjs +0 -44
  407. package/esm2022/lib/components/measures/quantity-input/quantity-input-control/elder-quantity-input-control.component.mjs +0 -173
  408. package/esm2022/lib/components/measures/quantity-input/validation/elder-quantity-range.validator.mjs +0 -84
  409. package/esm2022/lib/components/measures/quantity-input/validation/elder-required-quantity.validator.mjs +0 -73
  410. package/esm2022/lib/components/measures/util/elder-quantity.service.mjs +0 -341
  411. package/esm2022/lib/components/navigation/bread-crumbs/bread-crumbs/elder-bread-crumbs.component.mjs +0 -184
  412. package/esm2022/lib/components/navigation/bread-crumbs/elder-bread-crumbs.module.mjs +0 -59
  413. package/esm2022/lib/components/navigation/bread-crumbs/path/path.mjs +0 -37
  414. package/esm2022/lib/components/navigation/nav/elder-nav.module.mjs +0 -60
  415. package/esm2022/lib/components/navigation/nav/nav-group/elder-nav-group.component.mjs +0 -121
  416. package/esm2022/lib/components/navigation/nav/nav-link/elder-nav-link.component.mjs +0 -174
  417. package/esm2022/lib/components/navigation/nav/nav-list/elder-nav-list.component.mjs +0 -68
  418. package/esm2022/lib/components/navigation/public_api.mjs +0 -4
  419. package/esm2022/lib/components/navigation/toolbar/elder-toolbar-column.directive.mjs +0 -48
  420. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.module.mjs +0 -83
  421. package/esm2022/lib/components/navigation/toolbar/elder-toolbar.service.mjs +0 -68
  422. package/esm2022/lib/components/navigation/toolbar/toolbar/elder-toolbar.component.mjs +0 -71
  423. package/esm2022/lib/components/navigation/toolbar/toolbar-column-position.mjs +0 -2
  424. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.component.mjs +0 -39
  425. package/esm2022/lib/components/navigation/toolbar/toolbar-title/elder-toolbar-title.service.mjs +0 -86
  426. package/esm2022/lib/components/overlays/elder-overlay-origin.directive.mjs +0 -44
  427. package/esm2022/lib/components/overlays/elder-overlay-ref.mjs +0 -41
  428. package/esm2022/lib/components/overlays/elder-overlay-trigger.directive.mjs +0 -73
  429. package/esm2022/lib/components/overlays/elder-overlay.component.mjs +0 -232
  430. package/esm2022/lib/components/overlays/elder-overlay.module.mjs +0 -35
  431. package/esm2022/lib/components/page/exit-guard/page-exit-guard.module.mjs +0 -20
  432. package/esm2022/lib/components/page/exit-guard/page-exit-guard.service.mjs +0 -129
  433. package/esm2022/lib/components/page/exit-guard/page-exit-lock/page-exit-lock.component.mjs +0 -25
  434. package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +0 -29
  435. package/esm2022/lib/components/page/exit-guard/page-exit-lock-overview/page-exit-lock-overview.component.mjs +0 -26
  436. package/esm2022/lib/components/page/public_api.mjs +0 -2
  437. package/esm2022/lib/components/panels/card-panel/elder-card-panel.component.mjs +0 -12
  438. package/esm2022/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.mjs +0 -12
  439. package/esm2022/lib/components/panels/elder-panel.module.mjs +0 -60
  440. package/esm2022/lib/components/panels/flat/elder-panel.component.mjs +0 -26
  441. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel-trigger.directive.mjs +0 -70
  442. package/esm2022/lib/components/panels/toggle-panel/elder-toggle-panel.component.mjs +0 -74
  443. package/esm2022/lib/components/public_api.mjs +0 -43
  444. package/esm2022/lib/components/scrollbar/elder-scrollbar.directive.mjs +0 -63
  445. package/esm2022/lib/components/scrollbar/elder-scrollbar.module.mjs +0 -17
  446. package/esm2022/lib/components/select/auto/elder-auto-select-first.directive.mjs +0 -95
  447. package/esm2022/lib/components/select/auto/elder-auto-select-first.service.mjs +0 -38
  448. package/esm2022/lib/components/select/auto/elder-auto-select-suggest-first.directive.mjs +0 -64
  449. package/esm2022/lib/components/select/auto/elder-select-first-util.mjs +0 -55
  450. package/esm2022/lib/components/select/elder-select-base.mjs +0 -333
  451. package/esm2022/lib/components/select/elder-select-chip.directive.mjs +0 -48
  452. package/esm2022/lib/components/select/elder-select-on-tab.directive.mjs +0 -139
  453. package/esm2022/lib/components/select/elder-select-value.directive.mjs +0 -18
  454. package/esm2022/lib/components/select/elder-select.module.mjs +0 -229
  455. package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +0 -74
  456. package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +0 -148
  457. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +0 -51
  458. package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +0 -61
  459. package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +0 -160
  460. package/esm2022/lib/components/select/multi/elder-chip-select-option/elder-select-option.component.mjs +0 -16
  461. package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +0 -386
  462. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/chip-options-provider.mjs +0 -87
  463. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +0 -263
  464. package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +0 -15
  465. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +0 -274
  466. package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +0 -15
  467. package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +0 -86
  468. package/esm2022/lib/components/select/multi/elder-mutli-select-all-directive.mjs +0 -34
  469. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +0 -146
  470. package/esm2022/lib/components/select/multi/public_api.mjs +0 -5
  471. package/esm2022/lib/components/select/popup/selection-model-popup-trigger-adapter.directive.mjs +0 -89
  472. package/esm2022/lib/components/select/popup/selection-model-popup.directive.mjs +0 -126
  473. package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +0 -58
  474. package/esm2022/lib/components/select/public_api.mjs +0 -5
  475. package/esm2022/lib/components/select/single/elder-clear-select.directive.mjs +0 -60
  476. package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +0 -444
  477. package/esm2022/lib/components/select/single/elder-select-form-field.mjs +0 -45
  478. package/esm2022/lib/components/select-chip-list/chip-list-select/elder-chip-list-select.component.mjs +0 -148
  479. package/esm2022/lib/components/select-chip-list/elder-chip-list-select.module.mjs +0 -46
  480. package/esm2022/lib/components/shell/drawers/drawer-outlet-binding.mjs +0 -64
  481. package/esm2022/lib/components/shell/drawers/elder-route-outlet-drawer.service.mjs +0 -119
  482. package/esm2022/lib/components/shell/drawers/elder-router-outlet.service.mjs +0 -128
  483. package/esm2022/lib/components/shell/elder-shell-slot.directive.mjs +0 -47
  484. package/esm2022/lib/components/shell/elder-shell.module.mjs +0 -101
  485. package/esm2022/lib/components/shell/elder-shell.service.mjs +0 -142
  486. package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +0 -75
  487. package/esm2022/lib/components/shell/shell/elder-shell.component.mjs +0 -238
  488. package/esm2022/lib/components/shell/shell-content-slot.mjs +0 -2
  489. package/esm2022/lib/components/shell/shell-navigation-toggle/elder-shell-navigation-toggle.component.mjs +0 -137
  490. package/esm2022/lib/components/tabs/elder-tab/elder-tab.directive.mjs +0 -26
  491. package/esm2022/lib/components/tabs/elder-tab-group-routing/elder-tab-group-routing.directive.mjs +0 -257
  492. package/esm2022/lib/components/tabs/elder-tab.module.mjs +0 -21
  493. package/esm2022/lib/components/theme/elder-theme-applier.directive.mjs +0 -62
  494. package/esm2022/lib/components/theme/elder-theme-preference.service.mjs +0 -73
  495. package/esm2022/lib/components/theme/elder-theme-toggle/elder-theme-toggle.component.mjs +0 -74
  496. package/esm2022/lib/components/theme/elder-theme.directive.mjs +0 -64
  497. package/esm2022/lib/components/theme/elder-theme.module.mjs +0 -68
  498. package/esm2022/lib/components/theme/elder-theme.service.mjs +0 -121
  499. package/esm2022/lib/components/theme/known-elder-themes.mjs +0 -6
  500. package/esm2022/lib/components/theme/public_api.mjs +0 -2
  501. package/esm2022/lib/components/theme/theme-spec.mjs +0 -11
  502. package/esm2022/lib/components/time/date-adapters/custom-date-adapter.mjs +0 -43
  503. package/esm2022/lib/components/time/date-formats/locale-date-formats.mjs +0 -28
  504. package/esm2022/lib/components/time/duration/duration-bucket.mjs +0 -68
  505. package/esm2022/lib/components/time/duration/duration-format.mjs +0 -271
  506. package/esm2022/lib/components/time/duration/elder-duration-input/elder-duration-input.component.mjs +0 -110
  507. package/esm2022/lib/components/time/duration/iso-duration-str.mjs +0 -2
  508. package/esm2022/lib/components/time/elder-date-switcher/elder-date-switcher.component.mjs +0 -96
  509. package/esm2022/lib/components/time/elder-date-time-input/elder-date-time-input.component.mjs +0 -98
  510. package/esm2022/lib/components/time/elder-interval-input/elder-interval-input.component.mjs +0 -217
  511. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-anchor-controller.mjs +0 -21
  512. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-calendar-controller.mjs +0 -24
  513. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-controller.mjs +0 -43
  514. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-form-controller.mjs +0 -69
  515. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-select-controller.mjs +0 -117
  516. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-shift-controller.mjs +0 -44
  517. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +0 -198
  518. package/esm2022/lib/components/time/elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive.mjs +0 -41
  519. package/esm2022/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.mjs +0 -144
  520. package/esm2022/lib/components/time/elder-interval-picker/manager/interval-picker-state-manager.mjs +0 -93
  521. package/esm2022/lib/components/time/elder-interval-picker/model/anchor-state.mjs +0 -54
  522. package/esm2022/lib/components/time/elder-interval-picker/model/interval-state.mjs +0 -37
  523. package/esm2022/lib/components/time/elder-interval-picker/model/smart-shift-state.mjs +0 -10
  524. package/esm2022/lib/components/time/elder-interval-picker/presenter/interval-picker-presenter.mjs +0 -96
  525. package/esm2022/lib/components/time/elder-interval-picker/util/interval-picker-util.mjs +0 -194
  526. package/esm2022/lib/components/time/elder-local-date-input/elder-local-date-input.component.mjs +0 -268
  527. package/esm2022/lib/components/time/elder-local-time-input/elder-local-time-input.component.mjs +0 -85
  528. package/esm2022/lib/components/time/elder-time.module.mjs +0 -154
  529. package/esm2022/lib/components/time/period/elder-period-input/elder-period-input.component.mjs +0 -118
  530. package/esm2022/lib/components/time/period/period-bucket.mjs +0 -31
  531. package/esm2022/lib/components/time/period/period-format.mjs +0 -89
  532. package/esm2022/lib/components/time/pipes/to-iso-date-string.pipe.mjs +0 -39
  533. package/esm2022/lib/components/time/public_api.mjs +0 -8
  534. package/esm2022/lib/components/toasts/elder-toast.module.mjs +0 -36
  535. package/esm2022/lib/components/toasts/elder-toast.service.mjs +0 -170
  536. package/esm2022/lib/components/toasts/standard-toast/standard-toast.component.mjs +0 -80
  537. package/esm2022/lib/components/toasts/toast-type.mjs +0 -7
  538. package/esm2022/lib/components/toasts/toast.mjs +0 -2
  539. package/esm2022/lib/components/url-fragment/elder-url-fragment.mjs +0 -9
  540. package/esm2022/lib/components/url-fragment/elder-url-fragment.module.mjs +0 -52
  541. package/esm2022/lib/components/url-fragment/url-fragment-switcher/elder-url-fragment-switcher.component.mjs +0 -95
  542. package/esm2022/lib/components/viewers/elder-svg-viewer/elder-svg-viewer.component.mjs +0 -64
  543. package/esm2022/lib/components/viewers/elder-viewers.module.mjs +0 -18
  544. package/esm2022/lib/features/event-source/fetch/public_api.mjs +0 -3
  545. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.mjs +0 -219
  546. package/esm2022/lib/features/event-source/fetch/reactive-fetch-event-source.service.mjs +0 -53
  547. package/esm2022/lib/features/event-source/public_api.mjs +0 -3
  548. package/esm2022/lib/features/event-source/standard/elder-event-source.service.mjs +0 -56
  549. package/esm2022/lib/features/event-source/standard/public_api.mjs +0 -3
  550. package/esm2022/lib/features/event-source/standard/reactive-event-source.mjs +0 -199
  551. package/esm2022/lib/features/kafent/access-token-provider.mjs +0 -20
  552. package/esm2022/lib/features/kafent/kafent-config.mjs +0 -24
  553. package/esm2022/lib/features/kafent/kafent-event-stream.mjs +0 -25
  554. package/esm2022/lib/features/kafent/kafent-event.mjs +0 -3
  555. package/esm2022/lib/features/kafent/kafent-event.service.mjs +0 -115
  556. package/esm2022/lib/features/kafent/kafent-live-event-request.mjs +0 -2
  557. package/esm2022/lib/features/kafent/kafent.module.mjs +0 -58
  558. package/esm2022/lib/features/kafent/sse/kafent-event-stream-sse.service.mjs +0 -131
  559. package/esm2022/lib/features/kafent/sse/kafent-topic-sse.mjs +0 -97
  560. package/esm2022/lib/features/public_api.mjs +0 -3
  561. package/esm2022/lib/pipes/bytes.pipe.mjs +0 -27
  562. package/esm2022/lib/pipes/elder-pipes.module.mjs +0 -114
  563. package/esm2022/lib/pipes/elder-repeat.pipe.mjs +0 -24
  564. package/esm2022/lib/pipes/elder-round.pipe.mjs +0 -36
  565. package/esm2022/lib/pipes/elder-safe-url.pipe.mjs +0 -21
  566. package/esm2022/lib/pipes/elder-truncate.pipe.mjs +0 -41
  567. package/esm2022/lib/pipes/iso-duration.pipe.mjs +0 -41
  568. package/esm2022/lib/pipes/iso-interval-parse.pipe.mjs +0 -49
  569. package/esm2022/lib/pipes/iso-interval.pipe.mjs +0 -62
  570. package/esm2022/lib/pipes/public_api.mjs +0 -2
  571. package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -110
  572. package/esm2022/lib/pipes/time-duration.pipe.mjs +0 -101
  573. package/esm2022/lib/pipes/weight.pipe.mjs +0 -60
  574. package/esm2022/public_api.mjs +0 -8
  575. package/lib/components/panels/flat/elder-panel.component.d.ts +0 -15
  576. package/src/lib/components/panels/flat/elder-panel.component.scss +0 -3
@@ -1,153 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- import { LoggerFactory } from '@elderbyte/ts-logger';
3
- export class IndexedEntities {
4
- /***************************************************************************
5
- * *
6
- * Constructor *
7
- * *
8
- **************************************************************************/
9
- constructor(idFn, localSortFn, sortContext) {
10
- this.idFn = idFn;
11
- this.localSortFn = localSortFn;
12
- this.sortContext = sortContext;
13
- /***************************************************************************
14
- * *
15
- * Fields *
16
- * *
17
- **************************************************************************/
18
- this.log = LoggerFactory.getLogger('IndexedEntities');
19
- this._entities$ = new BehaviorSubject([]);
20
- this._idToArrayIndex = new Map();
21
- }
22
- /***************************************************************************
23
- * *
24
- * Properties *
25
- * *
26
- **************************************************************************/
27
- get entities$() {
28
- return this._entities$.asObservable();
29
- }
30
- get entitiesSnapshot() {
31
- return this._entities$.getValue();
32
- }
33
- /***************************************************************************
34
- * *
35
- * Public API *
36
- * *
37
- **************************************************************************/
38
- /**
39
- * Replaces all existing entities with the new ones.
40
- * The index is rebuilt. O(n)
41
- */
42
- replaceAll(newEntities = []) {
43
- if (this.localSortFn) {
44
- newEntities = this.localSortFn(newEntities, this.sortContext.sortsSnapshot);
45
- }
46
- this.rebuildIndex(newEntities);
47
- this.setEntities(newEntities);
48
- }
49
- /**
50
- * Keeps all existing entities, but replaces those which are updated with the new data.
51
- * Provided updated entities which are currently not in this index are ignored.
52
- * @param updated
53
- */
54
- updateSome(updated) {
55
- const newData = [...this.entitiesSnapshot];
56
- let anyUpdated = false;
57
- const notFound = [];
58
- updated.forEach((update) => {
59
- const id = this.getItemId(update);
60
- const index = this.indexById(id);
61
- if (index != -1) {
62
- newData[index] = update;
63
- anyUpdated = true;
64
- }
65
- else {
66
- notFound.push(update);
67
- }
68
- });
69
- if (notFound.length > 0) {
70
- this.log.warn('could not find all entities to update ' + notFound.length + '/' + updated.length, notFound);
71
- }
72
- if (anyUpdated) {
73
- this.setEntities(newData);
74
- }
75
- }
76
- append(append) {
77
- this.insert(append, this.entitiesSnapshot.length);
78
- }
79
- /**
80
- * Appends the given entities to this index.
81
- * The new appended entities are included in the index.
82
- * O(n) where n = number of appended entities
83
- * @param inserted
84
- * @param offset
85
- */
86
- insert(inserted, offset) {
87
- if (inserted && inserted.length > 0) {
88
- const entities = this.entitiesSnapshot;
89
- const newData = [...entities];
90
- for (let i = 0; i < inserted.length; i++) {
91
- newData[i + offset] = inserted[i];
92
- }
93
- if (this.localSortFn) {
94
- // local sort can re-order all items
95
- this.replaceAll(newData);
96
- }
97
- else {
98
- // Without a sort, we can optimize indexing
99
- this.reIndexFrom(newData, offset);
100
- this.setEntities(newData);
101
- }
102
- }
103
- }
104
- /**
105
- * Lookup an entity by its id.
106
- * This will use an index O(1)
107
- * @param id
108
- */
109
- getById(id) {
110
- const entities = this.entitiesSnapshot;
111
- const index = this.indexById(id);
112
- if (index != -1) {
113
- return entities[index];
114
- }
115
- }
116
- notify() {
117
- this._entities$.next(this._entities$.getValue());
118
- }
119
- destroy() {
120
- this._entities$.complete();
121
- this._idToArrayIndex.clear();
122
- }
123
- /***************************************************************************
124
- * *
125
- * Private methods *
126
- * *
127
- **************************************************************************/
128
- rebuildIndex(entities) {
129
- this._idToArrayIndex.clear();
130
- this.reIndexFrom(entities, 0);
131
- }
132
- reIndexFrom(entities, startIndex) {
133
- for (let i = startIndex; i < entities.length; i++) {
134
- const entity = entities[i];
135
- if (entity) {
136
- this._idToArrayIndex.set(this.getItemId(entity), i);
137
- }
138
- }
139
- }
140
- indexById(id) {
141
- return this._idToArrayIndex.get(id) ?? -1;
142
- }
143
- getItemId(item) {
144
- return this.idFn(item);
145
- }
146
- setEntities(entities) {
147
- if (!(this.entitiesSnapshot.length === 0 && entities.length === 0)) {
148
- this.log.debug('Entities changed: ' + entities.length, entities);
149
- this._entities$.next(entities);
150
- }
151
- }
152
- }
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZC1lbnRpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9pbmRleGVkLWVudGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFHbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRXBELE1BQU0sT0FBTyxlQUFlO0lBWTFCOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixJQUFtQixFQUNuQixXQUE0RCxFQUM1RCxXQUF3QjtRQUZ4QixTQUFJLEdBQUosSUFBSSxDQUFlO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFpRDtRQUM1RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXBCM0M7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFFaEQsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ3pDLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQTtJQVl0RCxDQUFDO0lBRUo7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDdkMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxjQUFtQixFQUFFO1FBQ3JDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdB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L0IsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25FLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7WUFDaEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDaEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnLi4vc29ydCdcbmltcG9ydCB7IFNvcnRDb250ZXh0IH0gZnJvbSAnLi4vc29ydC1jb250ZXh0J1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuXG5leHBvcnQgY2xhc3MgSW5kZXhlZEVudGl0aWVzPFQsIFRJZCA9IGFueT4ge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKCdJbmRleGVkRW50aXRpZXMnKVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2VudGl0aWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSlcbiAgcHJpdmF0ZSByZWFkb25seSBfaWRUb0FycmF5SW5kZXggPSBuZXcgTWFwPFRJZCwgbnVtYmVyPigpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpZEZuOiAoZTogVCkgPT4gVElkLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxTb3J0Rm46ICgoZGF0YTogVFtdLCBzb3J0czogU29ydFtdKSA9PiBUW10pIHwgdW5kZWZpbmVkLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc29ydENvbnRleHQ6IFNvcnRDb250ZXh0XG4gICkge31cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGVudGl0aWVzJCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdGllcyQuYXNPYnNlcnZhYmxlKClcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW50aXRpZXNTbmFwc2hvdCgpOiBUW10ge1xuICAgIHJldHVybiB0aGlzLl9lbnRpdGllcyQuZ2V0VmFsdWUoKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBleGlzdGluZyBlbnRpdGllcyB3aXRoIHRoZSBuZXcgb25lcy5cbiAgICogVGhlIGluZGV4IGlzIHJlYnVpbHQuIE8obilcbiAgICovXG4gIHB1YmxpYyByZXBsYWNlQWxsKG5ld0VudGl0aWVzOiBUW10gPSBbXSkge1xuICAgIGlmICh0aGlzLmxvY2FsU29ydEZuKSB7XG4gICAgICBuZXdFbnRpdGllcyA9IHRoaXMubG9jYWxTb3J0Rm4obmV3RW50aXRpZXMsIHRoaXMuc29ydENvbnRleHQuc29ydHNTbmFwc2hvdClcbiAgICB9XG4gICAgdGhpcy5yZWJ1aWxkSW5kZXgobmV3RW50aXRpZXMpXG4gICAgdGhpcy5zZXRFbnRpdGllcyhuZXdFbnRpdGllcylcbiAgfVxuXG4gIC8qKlxuICAgKiBLZWVwcyBhbGwgZXhpc3RpbmcgZW50aXRpZXMsIGJ1dCByZXBsYWNlcyB0aG9zZSB3aGljaCBhcmUgdXBkYXRlZCB3aXRoIHRoZSBuZXcgZGF0YS5cbiAgICogUHJvdmlkZWQgdXBkYXRlZCBlbnRpdGllcyB3aGljaCBhcmUgY3VycmVudGx5IG5vdCBpbiB0aGlzIGluZGV4IGFyZSBpZ25vcmVkLlxuICAgKiBAcGFyYW0gdXBkYXRlZFxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVNvbWUodXBkYXRlZDogVFtdKSB7XG4gICAgY29uc3QgbmV3RGF0YSA9IFsuLi50aGlzLmVudGl0aWVzU25hcHNob3RdXG4gICAgbGV0IGFueVVwZGF0ZWQgPSBmYWxzZVxuICAgIGNvbnN0IG5vdEZvdW5kOiBUW10gPSBbXVxuICAgIHVwZGF0ZWQuZm9yRWFjaCgodXBkYXRlKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SXRlbUlkKHVwZGF0ZSlcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbmRleEJ5SWQoaWQpXG4gICAgICBpZiAoaW5kZXggIT0gLTEpIHtcbiAgICAgICAgbmV3RGF0YVtpbmRleF0gPSB1cGRhdGVcbiAgICAgICAgYW55VXBkYXRlZCA9IHRydWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vdEZvdW5kLnB1c2godXBkYXRlKVxuICAgICAgfVxuICAgIH0pXG4gICAgaWYgKG5vdEZvdW5kLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubG9nLndhcm4oXG4gICAgICAgICdjb3VsZCBub3QgZmluZCBhbGwgZW50aXRpZXMgdG8gdXBkYXRlICcgKyBub3RGb3VuZC5sZW5ndGggKyAnLycgKyB1cGRhdGVkLmxlbmd0aCxcbiAgICAgICAgbm90Rm91bmRcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKGFueVVwZGF0ZWQpIHtcbiAgICAgIHRoaXMuc2V0RW50aXRpZXMobmV3RGF0YSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwZW5kKGFwcGVuZDogVFtdKTogdm9pZCB7XG4gICAgdGhpcy5pbnNlcnQoYXBwZW5kLCB0aGlzLmVudGl0aWVzU25hcHNob3QubGVuZ3RoKVxuICB9XG5cbiAgLyoqXG4gICAqIEFwcGVuZHMgdGhlIGdpdmVuIGVudGl0aWVzIHRvIHRoaXMgaW5kZXguXG4gICAqIFRoZSBuZXcgYXBwZW5kZWQgZW50aXRpZXMgYXJlIGluY2x1ZGVkIGluIHRoZSBpbmRleC5cbiAgICogTyhuKSB3aGVyZSBuID0gbnVtYmVyIG9mIGFwcGVuZGVkIGVudGl0aWVzXG4gICAqIEBwYXJhbSBpbnNlcnRlZFxuICAgKiBAcGFyYW0gb2Zmc2V0XG4gICAqL1xuICBwdWJsaWMgaW5zZXJ0KGluc2VydGVkOiBUW10sIG9mZnNldDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKGluc2VydGVkICYmIGluc2VydGVkLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGVudGl0aWVzID0gdGhpcy5lbnRpdGllc1NuYXBzaG90XG4gICAgICBjb25zdCBuZXdEYXRhID0gWy4uLmVudGl0aWVzXVxuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluc2VydGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG5ld0RhdGFbaSArIG9mZnNldF0gPSBpbnNlcnRlZFtpXVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5sb2NhbFNvcnRGbikge1xuICAgICAgICAvLyBsb2NhbCBzb3J0IGNhbiByZS1vcmRlciBhbGwgaXRlbXNcbiAgICAgICAgdGhpcy5yZXBsYWNlQWxsKG5ld0RhdGEpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXaXRob3V0IGEgc29ydCwgd2UgY2FuIG9wdGltaXplIGluZGV4aW5nXG4gICAgICAgIHRoaXMucmVJbmRleEZyb20obmV3RGF0YSwgb2Zmc2V0KVxuICAgICAgICB0aGlzLnNldEVudGl0aWVzKG5ld0RhdGEpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExvb2t1cCBhbiBlbnRpdHkgYnkgaXRzIGlkLlxuICAgKiBUaGlzIHdpbGwgdXNlIGFuIGluZGV4IE8oMSlcbiAgICogQHBhcmFtIGlkXG4gICAqL1xuICBwdWJsaWMgZ2V0QnlJZChpZDogVElkKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZW50aXRpZXMgPSB0aGlzLmVudGl0aWVzU25hcHNob3RcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuaW5kZXhCeUlkKGlkKVxuICAgIGlmIChpbmRleCAhPSAtMSkge1xuICAgICAgcmV0dXJuIGVudGl0aWVzW2luZGV4XVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBub3RpZnkoKTogdm9pZCB7XG4gICAgdGhpcy5fZW50aXRpZXMkLm5leHQodGhpcy5fZW50aXRpZXMkLmdldFZhbHVlKCkpXG4gIH1cblxuICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICB0aGlzLl9lbnRpdGllcyQuY29tcGxldGUoKVxuICAgIHRoaXMuX2lkVG9BcnJheUluZGV4LmNsZWFyKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVidWlsZEluZGV4KGVudGl0aWVzOiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLl9pZFRvQXJyYXlJbmRleC5jbGVhcigpXG4gICAgdGhpcy5yZUluZGV4RnJvbShlbnRpdGllcywgMClcbiAgfVxuXG4gIHByaXZhdGUgcmVJbmRleEZyb20oZW50aXRpZXM6IFRbXSwgc3RhcnRJbmRleDogbnVtYmVyKSB7XG4gICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbnRpdGllcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZW50aXR5ID0gZW50aXRpZXNbaV1cbiAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgdGhpcy5faWRUb0FycmF5SW5kZXguc2V0KHRoaXMuZ2V0SXRlbUlkKGVudGl0eSksIGkpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbmRleEJ5SWQoaWQ6IFRJZCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2lkVG9BcnJheUluZGV4LmdldChpZCkgPz8gLTFcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbUlkKGl0ZW06IFQpOiBUSWQge1xuICAgIHJldHVybiB0aGlzLmlkRm4oaXRlbSlcbiAgfVxuXG4gIHByaXZhdGUgc2V0RW50aXRpZXMoZW50aXRpZXM6IFRbXSk6IHZvaWQge1xuICAgIGlmICghKHRoaXMuZW50aXRpZXNTbmFwc2hvdC5sZW5ndGggPT09IDAgJiYgZW50aXRpZXMubGVuZ3RoID09PSAwKSkge1xuICAgICAgdGhpcy5sb2cuZGVidWcoJ0VudGl0aWVzIGNoYW5nZWQ6ICcgKyBlbnRpdGllcy5sZW5ndGgsIGVudGl0aWVzKVxuICAgICAgdGhpcy5fZW50aXRpZXMkLm5leHQoZW50aXRpZXMpXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,145 +0,0 @@
1
- import { isActivePagedDataContext } from './data-context';
2
- import { combineLatest, merge } from 'rxjs';
3
- import { LoggerFactory } from '@elderbyte/ts-logger';
4
- import { filter, map, mergeMap, switchMap, takeUntil } from 'rxjs/operators';
5
- import { Sort } from '../sort';
6
- import { PageRequest } from '../page';
7
- export class MatTableDataContextBindingBuilder {
8
- /***************************************************************************
9
- * *
10
- * Static Builder *
11
- * *
12
- **************************************************************************/
13
- static start(dataContext$) {
14
- return new MatTableDataContextBindingBuilder(dataContext$);
15
- }
16
- constructor(dataContext$) {
17
- /***************************************************************************
18
- * *
19
- * Fields *
20
- * *
21
- **************************************************************************/
22
- this.logger = LoggerFactory.getLogger(this.constructor.name);
23
- this._dataContext$ = dataContext$;
24
- }
25
- /***************************************************************************
26
- * *
27
- * Public API *
28
- * *
29
- **************************************************************************/
30
- withSorts(sorts$) {
31
- this._sorts$ = sorts$;
32
- return this;
33
- }
34
- withPaginator(paginator$) {
35
- this._matPaginator$ = paginator$;
36
- return this;
37
- }
38
- bindUntil(destroy$) {
39
- return new MatTableDataContextBinding(this._dataContext$, this._sorts$, this._matPaginator$, destroy$);
40
- }
41
- }
42
- export class MatTableDataContextBinding {
43
- /***************************************************************************
44
- * *
45
- * Constructor *
46
- * *
47
- **************************************************************************/
48
- constructor(_dataContext$, _matSorts$, _matPaginator$, destroy$) {
49
- this._dataContext$ = _dataContext$;
50
- this._matSorts$ = _matSorts$;
51
- this._matPaginator$ = _matPaginator$;
52
- /***************************************************************************
53
- * *
54
- * Fields *
55
- * *
56
- **************************************************************************/
57
- this.logger = LoggerFactory.getLogger(this.constructor.name);
58
- this.subscribeUntil(destroy$);
59
- }
60
- /***************************************************************************
61
- * *
62
- * Private methods *
63
- * *
64
- **************************************************************************/
65
- subscribeUntil(destroy$) {
66
- if (this._matSorts$) {
67
- this.bindMatSortsToDataContextUntil(this._matSorts$, destroy$);
68
- this.bindDataContextToMatSortsUntil(this._matSorts$, destroy$);
69
- }
70
- if (this._matPaginator$) {
71
- this.bindPaginatorUntil(this._matPaginator$, destroy$);
72
- }
73
- }
74
- bindDataContextToMatSortsUntil(matSorts$, destroy$) {
75
- const dcSorts$ = this._dataContext$.pipe(filter((dc) => !!dc), switchMap((dc) => dc.sort.sorts));
76
- combineLatest([dcSorts$, matSorts$])
77
- .pipe(takeUntil(destroy$))
78
- .subscribe(([dcSorts, matSorts]) => {
79
- if (dcSorts.length >= 1) {
80
- // At least one sort active
81
- const sort = dcSorts[0];
82
- this.updateMatSorts(sort, matSorts);
83
- }
84
- else {
85
- // No sort active
86
- this.updateMatSorts(Sort.NONE, matSorts);
87
- }
88
- });
89
- }
90
- updateMatSorts(dcSort, matSorts) {
91
- const active = dcSort.prop;
92
- const direction = this.toMatDirection(dcSort.dir);
93
- matSorts.forEach((matSort) => this.updateMatSort(active, direction, matSort));
94
- }
95
- updateMatSort(activeProp, direction, matSort) {
96
- if (activeProp) {
97
- if (!matSort.sortables.has(activeProp)) {
98
- // The current sort property is not part of this MatSort.
99
- activeProp = Sort.NONE.prop; // Force no sort in this mat context
100
- }
101
- }
102
- if (matSort.active !== activeProp || matSort.direction !== direction) {
103
- // We do only update matSort when there was a real change
104
- matSort.active = activeProp;
105
- matSort.direction = direction;
106
- matSort._stateChanges.next();
107
- }
108
- }
109
- bindMatSortsToDataContextUntil(sorts$, destroy$) {
110
- const sortChanges$ = sorts$.pipe(mergeMap((sorts) => merge(...sorts.map((s) => s.sortChange))), map((matSort) => {
111
- return new Sort(matSort.active, this.fromMatDirection(matSort.direction));
112
- }));
113
- combineLatest([this._dataContext$, sortChanges$])
114
- .pipe(takeUntil(destroy$))
115
- .subscribe(([dc, sortRequest]) => {
116
- if (dc) {
117
- dc.sort.updateSort(sortRequest);
118
- }
119
- });
120
- }
121
- bindPaginatorUntil(paginator$, destroy$) {
122
- const pageRequest$ = paginator$.pipe(filter((paginator) => !!paginator), switchMap((paginator) => paginator.page), map((pageEvent) => new PageRequest(pageEvent.pageIndex, pageEvent.pageSize)));
123
- combineLatest([this._dataContext$, pageRequest$])
124
- .pipe(takeUntil(destroy$))
125
- .subscribe(([dc, pageRequest]) => {
126
- if (dc) {
127
- if (isActivePagedDataContext(dc)) {
128
- const pagedDc = dc;
129
- pagedDc.setActivePage(pageRequest);
130
- }
131
- else {
132
- this.logger.warn('Can not bind the given paginator to the given data-context,' +
133
- ' as the datacontext does not support pagination!', dc);
134
- }
135
- }
136
- });
137
- }
138
- toMatDirection(direction) {
139
- return direction;
140
- }
141
- fromMatDirection(matSortDirection) {
142
- return matSortDirection;
143
- }
144
- }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXRhYmxlLWRhdGEtY29udGV4dC1iaW5kaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YS1jb250ZXh0L21hdC10YWJsZS1kYXRhLWNvbnRleHQtYmluZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQXdDLHdCQUF3QixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDL0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUE7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUUsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxTQUFTLENBQUE7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUVyQyxNQUFNLE9BQU8saUNBQWlDO0lBYTVDOzs7O2dGQUk0RTtJQUVyRSxNQUFNLENBQUMsS0FBSyxDQUNqQixZQUEyQztRQUUzQyxPQUFPLElBQUksaUNBQWlDLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELFlBQVksWUFBMkM7UUF4QnZEOzs7O29GQUk0RTtRQUUzRCxXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBbUJ0RSxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQTtJQUNuQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLFNBQVMsQ0FBQyxNQUE2QjtRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQTtRQUNyQixPQUFPLElB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Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFTyxjQUFjLENBQUMsU0FBd0I7UUFDN0MsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLGdCQUFrQztRQUN6RCxPQUFPLGdCQUFnQixDQUFBO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcidcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnREaXJlY3Rpb24gYXMgTWF0U29ydERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnXG5pbXBvcnQgeyBJRGF0YUNvbnRleHQsIElEYXRhQ29udGV4dEFjdGl2ZVBhZ2UsIGlzQWN0aXZlUGFnZWREYXRhQ29udGV4dCB9IGZyb20gJy4vZGF0YS1jb250ZXh0J1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgTG9nZ2VyRmFjdG9yeSB9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgU29ydCwgU29ydERpcmVjdGlvbiB9IGZyb20gJy4uL3NvcnQnXG5pbXBvcnQgeyBQYWdlUmVxdWVzdCB9IGZyb20gJy4uL3BhZ2UnXG5cbmV4cG9ydCBjbGFzcyBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZ0J1aWxkZXIge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSlcblxuICBwcml2YXRlIF9kYXRhQ29udGV4dCQ6IE9ic2VydmFibGU8SURhdGFDb250ZXh0PGFueT4+XG4gIHByaXZhdGUgX3NvcnRzJDogT2JzZXJ2YWJsZTxNYXRTb3J0W10+XG4gIHByaXZhdGUgX21hdFBhZ2luYXRvciQ6IE9ic2VydmFibGU8TWF0UGFnaW5hdG9yPlxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBTdGF0aWMgQnVpbGRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBzdGF0aWMgc3RhcnQoXG4gICAgZGF0YUNvbnRleHQkOiBPYnNlcnZhYmxlPElEYXRhQ29udGV4dDxhbnk+PlxuICApOiBNYXRUYWJsZURhdGFDb250ZXh0QmluZGluZ0J1aWxkZXIge1xuICAgIHJldHVybiBuZXcgTWF0VGFibGVEYXRhQ29udGV4dEJpbmRpbmdCdWlsZGVyKGRhdGFDb250ZXh0JClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGRhdGFDb250ZXh0JDogT2JzZXJ2YWJsZTxJRGF0YUNvbnRleHQ8YW55Pj4pIHtcbiAgICB0aGlzLl9kYXRhQ29udGV4dCQgPSBkYXRhQ29udGV4dCRcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB3aXRoU29ydHMoc29ydHMkOiBPYnNlcnZhYmxlPE1hdFNvcnRbXT4pOiB0aGlzIHtcbiAgICB0aGlzLl9zb3J0cyQgPSBzb3J0cyRcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgcHVibGljIHdpdGhQYWdpbmF0b3IocGFnaW5hdG9yJDogT2JzZXJ2YWJsZTxNYXRQYWdpbmF0b3I+KTogdGhpcyB7XG4gICAgdGhpcy5fbWF0UGFnaW5hdG9yJCA9IHBhZ2luYXRvciRcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgcHVibGljIGJpbmRVbnRpbChkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+KTogTWF0VGFibGVEYXRhQ29udGV4dEJpbmRpbmcge1xuICAgIHJldHVybiBuZXcgTWF0VGFibGVEYXRhQ29udGV4dEJpbmRpbmcoXG4gICAgICB0aGlzLl9kYXRhQ29udGV4dCQsXG4gICAgICB0aGlzLl9zb3J0cyQsXG4gICAgICB0aGlzLl9tYXRQYWdpbmF0b3IkLFxuICAgICAgZGVzdHJveSRcbiAgICApXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1hdFRhYmxlRGF0YUNvbnRleHRCaW5kaW5nIHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGF0YUNvbnRleHQkOiBPYnNlcnZhYmxlPElEYXRhQ29udGV4dDxhbnk+PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tYXRTb3J0cyQ6IE9ic2VydmFibGU8TWF0U29ydFtdPiB8IG51bGwsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWF0UGFnaW5hdG9yJDogT2JzZXJ2YWJsZTxNYXRQYWdpbmF0b3I+IHwgbnVsbCxcbiAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+XG4gICkge1xuICAgIHRoaXMuc3Vic2NyaWJlVW50aWwoZGVzdHJveSQpXG4gIH1cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVVbnRpbChkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21hdFNvcnRzJCkge1xuICAgICAgdGhpcy5iaW5kTWF0U29ydHNUb0RhdGFDb250ZXh0VW50aWwodGhpcy5fbWF0U29ydHMkLCBkZXN0cm95JClcbiAgICAgIHRoaXMuYmluZERhdGFDb250ZXh0VG9NYXRTb3J0c1VudGlsKHRoaXMuX21hdFNvcnRzJCwgZGVzdHJveSQpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX21hdFBhZ2luYXRvciQpIHtcbiAgICAgIHRoaXMuYmluZFBhZ2luYXRvclVudGlsKHRoaXMuX21hdFBhZ2luYXRvciQsIGRlc3Ryb3kkKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYmluZERhdGFDb250ZXh0VG9NYXRTb3J0c1VudGlsKFxuICAgIG1hdFNvcnRzJDogT2JzZXJ2YWJsZTxNYXRTb3J0W10+LFxuICAgIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPGFueT5cbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZGNTb3J0cyQgPSB0aGlzLl9kYXRhQ29udGV4dCQucGlwZShcbiAgICAgIGZpbHRlcigoZGMpID0+ICEhZGMpLFxuICAgICAgc3dpdGNoTWFwKChkYykgPT4gZGMuc29ydC5zb3J0cylcbiAgICApXG5cbiAgICBjb21iaW5lTGF0ZXN0KFtkY1NvcnRzJCwgbWF0U29ydHMkXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChbZGNTb3J0cywgbWF0U29ydHNdKSA9PiB7XG4gICAgICAgIGlmIChkY1NvcnRzLmxlbmd0aCA+PSAxKSB7XG4gICAgICAgICAgLy8gQXQgbGVhc3Qgb25lIHNvcnQgYWN0aXZlXG4gICAgICAgICAgY29uc3Qgc29ydCA9IGRjU29ydHNbMF1cbiAgICAgICAgICB0aGlzLnVwZGF0ZU1hdFNvcnRzKHNvcnQsIG1hdFNvcnRzKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE5vIHNvcnQgYWN0aXZlXG4gICAgICAgICAgdGhpcy51cGRhdGVNYXRTb3J0cyhTb3J0Lk5PTkUsIG1hdFNvcnRzKVxuICAgICAgICB9XG4gICAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNYXRTb3J0cyhkY1NvcnQ6IFNvcnQsIG1hdFNvcnRzOiBNYXRTb3J0W10pOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmUgPSBkY1NvcnQucHJvcFxuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMudG9NYXREaXJlY3Rpb24oZGNTb3J0LmRpcilcbiAgICBtYXRTb3J0cy5mb3JFYWNoKChtYXRTb3J0KSA9PiB0aGlzLnVwZGF0ZU1hdFNvcnQoYWN0aXZlLCBkaXJlY3Rpb24sIG1hdFNvcnQpKVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNYXRTb3J0KGFjdGl2ZVByb3A6IHN0cmluZywgZGlyZWN0aW9uOiBNYXRTb3J0RGlyZWN0aW9uLCBtYXRTb3J0OiBNYXRTb3J0KTogdm9pZCB7XG4gICAgaWYgKGFjdGl2ZVByb3ApIHtcbiAgICAgIGlmICghbWF0U29ydC5zb3J0YWJsZXMuaGFzKGFjdGl2ZVByb3ApKSB7XG4gICAgICAgIC8vIFRoZSBjdXJyZW50IHNvcnQgcHJvcGVydHkgaXMgbm90IHBhcnQgb2YgdGhpcyBNYXRTb3J0LlxuICAgICAgICBhY3RpdmVQcm9wID0gU29ydC5OT05FLnByb3AgLy8gRm9yY2Ugbm8gc29ydCBpbiB0aGlzIG1hdCBjb250ZXh0XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1hdFNvcnQuYWN0aXZlICE9PSBhY3RpdmVQcm9wIHx8IG1hdFNvcnQuZGlyZWN0aW9uICE9PSBkaXJlY3Rpb24pIHtcbiAgICAgIC8vIFdlIGRvIG9ubHkgdXBkYXRlIG1hdFNvcnQgd2hlbiB0aGVyZSB3YXMgYSByZWFsIGNoYW5nZVxuICAgICAgbWF0U29ydC5hY3RpdmUgPSBhY3RpdmVQcm9wXG4gICAgICBtYXRTb3J0LmRpcmVjdGlvbiA9IGRpcmVjdGlvblxuICAgICAgbWF0U29ydC5fc3RhdGVDaGFuZ2VzLm5leHQoKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYmluZE1hdFNvcnRzVG9EYXRhQ29udGV4dFVudGlsKFxuICAgIHNvcnRzJDogT2JzZXJ2YWJsZTxNYXRTb3J0W10+LFxuICAgIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPGFueT5cbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgc29ydENoYW5nZXMkID0gc29ydHMkLnBpcGUoXG4gICAgICBtZXJnZU1hcCgoc29ydHMpID0+IG1lcmdlKC4uLnNvcnRzLm1hcCgocykgPT4gcy5zb3J0Q2hhbmdlKSkpLFxuICAgICAgbWFwKChtYXRTb3J0KSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgU29ydChtYXRTb3J0LmFjdGl2ZSwgdGhpcy5mcm9tTWF0RGlyZWN0aW9uKG1hdFNvcnQuZGlyZWN0aW9uKSlcbiAgICAgIH0pXG4gICAgKVxuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fZGF0YUNvbnRleHQkLCBzb3J0Q2hhbmdlcyRdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKGRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtkYywgc29ydFJlcXVlc3RdKSA9PiB7XG4gICAgICAgIGlmIChkYykge1xuICAgICAgICAgIGRjLnNvcnQudXBkYXRlU29ydChzb3J0UmVxdWVzdClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgYmluZFBhZ2luYXRvclVudGlsKFxuICAgIHBhZ2luYXRvciQ6IE9ic2VydmFibGU8TWF0UGFnaW5hdG9yPixcbiAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTxhbnk+XG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHBhZ2VSZXF1ZXN0JCA9IHBhZ2luYXRvciQucGlwZShcbiAgICAgIGZpbHRlcigocGFnaW5hdG9yKSA9PiAhIXBhZ2luYXRvciksXG4gICAgICBzd2l0Y2hNYXAoKHBhZ2luYXRvcikgPT4gcGFnaW5hdG9yLnBhZ2UpLFxuICAgICAgbWFwKChwYWdlRXZlbnQpID0+IG5ldyBQYWdlUmVxdWVzdChwYWdlRXZlbnQucGFnZUluZGV4LCBwYWdlRXZlbnQucGFnZVNpemUpKVxuICAgIClcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2RhdGFDb250ZXh0JCwgcGFnZVJlcXVlc3QkXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChbZGMsIHBhZ2VSZXF1ZXN0XSkgPT4ge1xuICAgICAgICBpZiAoZGMpIHtcbiAgICAgICAgICBpZiAoaXNBY3RpdmVQYWdlZERhdGFDb250ZXh0KGRjKSkge1xuICAgICAgICAgICAgY29uc3QgcGFnZWREYyA9IGRjIGFzIElEYXRhQ29udGV4dEFjdGl2ZVBhZ2U8YW55PlxuICAgICAgICAgICAgcGFnZWREYy5zZXRBY3RpdmVQYWdlKHBhZ2VSZXF1ZXN0KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKFxuICAgICAgICAgICAgICAnQ2FuIG5vdCBiaW5kIHRoZSBnaXZlbiBwYWdpbmF0b3IgdG8gdGhlIGdpdmVuIGRhdGEtY29udGV4dCwnICtcbiAgICAgICAgICAgICAgICAnIGFzIHRoZSBkYXRhY29udGV4dCBkb2VzIG5vdCBzdXBwb3J0IHBhZ2luYXRpb24hJyxcbiAgICAgICAgICAgICAgZGNcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHRvTWF0RGlyZWN0aW9uKGRpcmVjdGlvbjogU29ydERpcmVjdGlvbik6IE1hdFNvcnREaXJlY3Rpb24ge1xuICAgIHJldHVybiBkaXJlY3Rpb25cbiAgfVxuXG4gIHByaXZhdGUgZnJvbU1hdERpcmVjdGlvbihtYXRTb3J0RGlyZWN0aW9uOiBNYXRTb3J0RGlyZWN0aW9uKTogU29ydERpcmVjdGlvbiB7XG4gICAgcmV0dXJuIG1hdFNvcnREaXJlY3Rpb25cbiAgfVxufVxuIl19
@@ -1,15 +0,0 @@
1
- export * from './indexed-entities';
2
- export * from './data-context-status';
3
- export * from './data-context';
4
- export * from './data-context-base';
5
- export * from './data-context-simple';
6
- export * from './data-context-continuable-base';
7
- export * from './data-context-continuable-paged';
8
- export * from './data-context-continuable-token';
9
- export * from './data-context-active-page';
10
- export * from './mat-table-data-context-binding';
11
- export * from './data-context-life-cycle-binding';
12
- export * from './data-context-auto-starter';
13
- export * from './data-context-source-event-binding';
14
- export * from './data-context-builder';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGEtY29udGV4dC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUE7QUFFbEMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQTtBQUNoRCxjQUFjLDRCQUE0QixDQUFBO0FBRTFDLGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMscUNBQXFDLENBQUE7QUFFbkQsY0FBYyx3QkFBd0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5kZXhlZC1lbnRpdGllcydcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtc3RhdHVzJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1iYXNlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtc2ltcGxlJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtYmFzZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1jb250ZXh0LWNvbnRpbnVhYmxlLXBhZ2VkJ1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtY29udGludWFibGUtdG9rZW4nXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1hY3RpdmUtcGFnZSdcblxuZXhwb3J0ICogZnJvbSAnLi9tYXQtdGFibGUtZGF0YS1jb250ZXh0LWJpbmRpbmcnXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1saWZlLWN5Y2xlLWJpbmRpbmcnXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1hdXRvLXN0YXJ0ZXInXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtY29udGV4dC1zb3VyY2UtZXZlbnQtYmluZGluZydcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWNvbnRleHQtYnVpbGRlcidcbiJdfQ==
@@ -1,59 +0,0 @@
1
- import { isContinuableDataSource, isListDataSource, isPagedDataSource, } from './data-source';
2
- import { Pageable } from '../page';
3
- import { filter, map } from 'rxjs/operators';
4
- import { TokenChunkRequest } from '../token-chunk-request';
5
- export class DataSourceAdapter {
6
- /***************************************************************************
7
- * *
8
- * Static Builder *
9
- * *
10
- **************************************************************************/
11
- static from(dataSource) {
12
- return new DataSourceAdapter(dataSource);
13
- }
14
- /***************************************************************************
15
- * *
16
- * Fields *
17
- * *
18
- **************************************************************************/
19
- /***************************************************************************
20
- * *
21
- * Constructor *
22
- * *
23
- **************************************************************************/
24
- constructor(dataSource) {
25
- this.dataSource = dataSource;
26
- }
27
- /***************************************************************************
28
- * *
29
- * Public API *
30
- * *
31
- **************************************************************************/
32
- /**
33
- * Returns the first item which matches the given filter / sort
34
- * @param filters
35
- * @param sorts
36
- */
37
- findFirst(filters, sorts = []) {
38
- return this.findAll(filters, sorts, 1).pipe(filter((data) => data && data.length > 0), map((data) => data[0]));
39
- }
40
- /**
41
- * Find all items which match the given filters.
42
- */
43
- findAll(filters, sorts = [], limit = 50) {
44
- if (isListDataSource(this.dataSource)) {
45
- return this.dataSource.findAllFiltered(filters, sorts);
46
- }
47
- else if (isPagedDataSource(this.dataSource)) {
48
- return this.dataSource
49
- .findAllPaged(new Pageable(0, limit, sorts), filters)
50
- .pipe(map((page) => page.content));
51
- }
52
- else if (isContinuableDataSource(this.dataSource)) {
53
- return this.dataSource
54
- .findAllContinuable(new TokenChunkRequest(null, filters, sorts))
55
- .pipe(map((page) => page.content));
56
- }
57
- }
58
- }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUE7QUFJdEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBRTFELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUI7Ozs7Z0ZBSTRFO0lBRXJFLE1BQU0sQ0FBQyxJQUFJLENBQUksVUFBMEI7UUFDOUMsT0FBTyxJQUFJLGlCQUFpQixDQUFJLFVBQVUsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUU7Ozs7Z0ZBSTRFO0lBRTVFLFlBQTZCLFVBQTBCO1FBQTFCLGVBQVUsR0FBVixVQUFVLENBQWdCO0lBQUcsQ0FBQztJQUUzRDs7OztnRkFJNEU7SUFFNUU7Ozs7T0FJRztJQUNJLFNBQVMsQ0FBQyxPQUFpQixFQUFFLFFBQWdCLEVBQUU7UUFDcEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN2QixDQUFBO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTyxDQUFDLE9BQWlCLEVBQUUsUUFBZ0IsRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFO1FBQzlELElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDeEQsQ0FBQzthQUFNLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDOUMsT0FBTyxJQUFJLENBQUMsVUFBVTtpQkFDbkIsWUFBWSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDO2lCQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUN0QyxDQUFDO2FBQU0sSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQyxVQUFVO2lCQUNuQixrQkFBa0IsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7aUJBQy9ELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0NBT0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJRGF0YVNvdXJjZSxcbiAgaXNDb250aW51YWJsZURhdGFTb3VyY2UsXG4gIGlzTGlzdERhdGFTb3VyY2UsXG4gIGlzUGFnZWREYXRhU291cmNlLFxufSBmcm9tICcuL2RhdGEtc291cmNlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi9maWx0ZXJzL2ZpbHRlcidcbmltcG9ydCB7IFNvcnQgfSBmcm9tICcuLi9zb3J0J1xuaW1wb3J0IHsgUGFnZWFibGUgfSBmcm9tICcuLi9wYWdlJ1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IFRva2VuQ2h1bmtSZXF1ZXN0IH0gZnJvbSAnLi4vdG9rZW4tY2h1bmstcmVxdWVzdCdcblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VBZGFwdGVyPFQ+IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFN0YXRpYyBCdWlsZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHN0YXRpYyBmcm9tPFQ+KGRhdGFTb3VyY2U6IElEYXRhU291cmNlPFQ+KTogRGF0YVNvdXJjZUFkYXB0ZXI8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUFkYXB0ZXI8VD4oZGF0YVNvdXJjZSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogSURhdGFTb3VyY2U8VD4pIHt9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGZpcnN0IGl0ZW0gd2hpY2ggbWF0Y2hlcyB0aGUgZ2l2ZW4gZmlsdGVyIC8gc29ydFxuICAgKiBAcGFyYW0gZmlsdGVyc1xuICAgKiBAcGFyYW0gc29ydHNcbiAgICovXG4gIHB1YmxpYyBmaW5kRmlyc3QoZmlsdGVyczogRmlsdGVyW10sIHNvcnRzOiBTb3J0W10gPSBbXSk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmZpbmRBbGwoZmlsdGVycywgc29ydHMsIDEpLnBpcGUoXG4gICAgICBmaWx0ZXIoKGRhdGEpID0+IGRhdGEgJiYgZGF0YS5sZW5ndGggPiAwKSxcbiAgICAgIG1hcCgoZGF0YSkgPT4gZGF0YVswXSlcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogRmluZCBhbGwgaXRlbXMgd2hpY2ggbWF0Y2ggdGhlIGdpdmVuIGZpbHRlcnMuXG4gICAqL1xuICBwdWJsaWMgZmluZEFsbChmaWx0ZXJzOiBGaWx0ZXJbXSwgc29ydHM6IFNvcnRbXSA9IFtdLCBsaW1pdCA9IDUwKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICBpZiAoaXNMaXN0RGF0YVNvdXJjZSh0aGlzLmRhdGFTb3VyY2UpKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlLmZpbmRBbGxGaWx0ZXJlZChmaWx0ZXJzLCBzb3J0cylcbiAgICB9IGVsc2UgaWYgKGlzUGFnZWREYXRhU291cmNlKHRoaXMuZGF0YVNvdXJjZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VcbiAgICAgICAgLmZpbmRBbGxQYWdlZChuZXcgUGFnZWFibGUoMCwgbGltaXQsIHNvcnRzKSwgZmlsdGVycylcbiAgICAgICAgLnBpcGUobWFwKChwYWdlKSA9PiBwYWdlLmNvbnRlbnQpKVxuICAgIH0gZWxzZSBpZiAoaXNDb250aW51YWJsZURhdGFTb3VyY2UodGhpcy5kYXRhU291cmNlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZVxuICAgICAgICAuZmluZEFsbENvbnRpbnVhYmxlKG5ldyBUb2tlbkNodW5rUmVxdWVzdChudWxsLCBmaWx0ZXJzLCBzb3J0cykpXG4gICAgICAgIC5waXBlKG1hcCgocGFnZSkgPT4gcGFnZS5jb250ZW50KSlcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbn1cbiJdfQ==
@@ -1,38 +0,0 @@
1
- import { Subject } from 'rxjs';
2
- import { EntityIdUtil } from './entity-id-util';
3
- export class DataSourceBase {
4
- /***************************************************************************
5
- * *
6
- * Constructor *
7
- * *
8
- **************************************************************************/
9
- constructor(idProperty) {
10
- this.idProperty = idProperty;
11
- /***************************************************************************
12
- * *
13
- * Fields *
14
- * *
15
- **************************************************************************/
16
- this.dataChangeEvents$ = new Subject();
17
- }
18
- /***************************************************************************
19
- * *
20
- * Properties *
21
- * *
22
- **************************************************************************/
23
- get dataChanged() {
24
- return this.dataChangeEvents$.asObservable();
25
- }
26
- /***************************************************************************
27
- * *
28
- * Public API *
29
- * *
30
- **************************************************************************/
31
- publishChangeEvent(e) {
32
- this.dataChangeEvents$.next(e);
33
- }
34
- getId(entity) {
35
- return EntityIdUtil.getId(entity, this.idProperty);
36
- }
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9kYXRhL2RhdGFzb3VyY2UvZGF0YS1zb3VyY2UtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUvQyxNQUFNLE9BQWdCLGNBQWM7SUFTbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQStCLFVBQXlCO1FBQXpCLGVBQVUsR0FBVixVQUFVLENBQWU7UUFkeEQ7Ozs7b0ZBSTRFO1FBRTNELHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUE0QixDQUFBO0lBUWpCLENBQUM7SUFFNUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUM5QyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXJFLGtCQUFrQixDQUFDLENBQTJCO1FBQ25ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxNQUFTO1FBQ3BCLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3BELENBQUM7Q0FXRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhLXNvdXJjZSdcbmltcG9ydCB7IERhdGFTb3VyY2VDaGFuZ2VFdmVudCB9IGZyb20gJy4vZGF0YS1zb3VyY2UtY2hhbmdlLWV2ZW50J1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBFbnRpdHlJZFV0aWwgfSBmcm9tICcuL2VudGl0eS1pZC11dGlsJ1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YVNvdXJjZUJhc2U8VD4gaW1wbGVtZW50cyBJRGF0YVNvdXJjZTxUPiB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YUNoYW5nZUV2ZW50cyQgPSBuZXcgU3ViamVjdDxEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4+KClcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgaWRQcm9wZXJ0eTogc3RyaW5nIHwgbnVsbCkge31cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IGRhdGFDaGFuZ2VkKCk6IE9ic2VydmFibGU8RGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YUNoYW5nZUV2ZW50cyQuYXNPYnNlcnZhYmxlKClcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBwdWJsaXNoQ2hhbmdlRXZlbnQoZTogRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+KTogdm9pZCB7XG4gICAgdGhpcy5kYXRhQ2hhbmdlRXZlbnRzJC5uZXh0KGUpXG4gIH1cblxuICBwdWJsaWMgZ2V0SWQoZW50aXR5OiBUKTogYW55IHtcbiAgICByZXR1cm4gRW50aXR5SWRVdGlsLmdldElkKGVudGl0eSwgdGhpcy5pZFByb3BlcnR5KVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEFic3RyYWN0IG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgYWJzdHJhY3QgZmluZEJ5SWQoaWQ6IGFueSk6IE9ic2VydmFibGU8VD5cblxuICBhYnN0cmFjdCBmaW5kQnlJZHMoaWRzOiBhbnlbXSk6IE9ic2VydmFibGU8VFtdPlxufVxuIl19
@@ -1,34 +0,0 @@
1
- export class DataSourceEntityPatch {
2
- constructor(entityId, patch) {
3
- this.entityId = entityId;
4
- this.patch = patch;
5
- }
6
- }
7
- /**
8
- * Notifies about changes in a DataSource.
9
- */
10
- export class DataSourceChangeEvent {
11
- static unknownChanges() {
12
- return new DataSourceChangeEvent(null, null, null, null);
13
- }
14
- static deleted(ids) {
15
- return new DataSourceChangeEvent(ids, null, null, null);
16
- }
17
- static modified(modified) {
18
- return new DataSourceChangeEvent(null, modified, null, null);
19
- }
20
- static created(created) {
21
- return new DataSourceChangeEvent(null, null, created, null);
22
- }
23
- static patched(patches) {
24
- return new DataSourceChangeEvent(null, null, null, patches);
25
- }
26
- constructor(deletedIds, modified, created, patches) {
27
- this.deletedIds = deletedIds;
28
- this.modified = modified;
29
- this.created = created;
30
- this.patches = patches;
31
- this.unknownChanges = !deletedIds && !modified && !created && !patches;
32
- }
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtY2hhbmdlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tbW9uL2RhdGEvZGF0YXNvdXJjZS9kYXRhLXNvdXJjZS1jaGFuZ2UtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUNTLFFBQVksRUFDWixLQUEwQjtRQUQxQixhQUFRLEdBQVIsUUFBUSxDQUFJO1FBQ1osVUFBSyxHQUFMLEtBQUssQ0FBcUI7SUFDaEMsQ0FBQztDQUNMO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQ3pCLE1BQU0sQ0FBQyxjQUFjO1FBQzFCLE9BQU8sSUFBSSxxQkFBcUIsQ0FBUyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNsRSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBTSxHQUFVO1FBQ25DLE9BQU8sSUFBSSxxQkFBcUIsQ0FBVyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBZSxRQUFhO1FBQ2hELE9BQU8sSUFBSSxxQkFBcUIsQ0FBUyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUN0RSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBZSxPQUFZO1FBQzlDLE9BQU8sSUFBSSxxQkFBcUIsQ0FBUyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FDbkIsT0FBd0M7UUFFeEMsT0FBTyxJQUFJLHFCQUFxQixDQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFZRCxZQUNrQixVQUFpQixFQUNqQixRQUFhLEVBQ2IsT0FBWSxFQUNaLE9BQW1DO1FBSG5DLGVBQVUsR0FBVixVQUFVLENBQU87UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUNiLFlBQU8sR0FBUCxPQUFPLENBQUs7UUFDWixZQUFPLEdBQVAsT0FBTyxDQUE0QjtRQUVuRCxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZXBQYXJ0aWFsUGF0Y2ggfSBmcm9tICcuL3BhdGNoL2RlZXAtcGFydGlhbC1wYXRjaGVyJ1xuXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZUVudGl0eVBhdGNoPFQsIElkID0gYW55PiB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZW50aXR5SWQ6IElkLFxuICAgIHB1YmxpYyBwYXRjaDogRGVlcFBhcnRpYWxQYXRjaDxUPlxuICApIHt9XG59XG5cbi8qKlxuICogTm90aWZpZXMgYWJvdXQgY2hhbmdlcyBpbiBhIERhdGFTb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VCwgVElkID0gYW55PiB7XG4gIHB1YmxpYyBzdGF0aWMgdW5rbm93bkNoYW5nZXM8VCwgVElkID0gYW55PigpOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQsIFRJZD4obnVsbCwgbnVsbCwgbnVsbCwgbnVsbClcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZGVsZXRlZDxUSWQ+KGlkczogVElkW10pOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8YW55LCBUSWQ+IHtcbiAgICByZXR1cm4gbmV3IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxhbnksIFRJZD4oaWRzLCBudWxsLCBudWxsLCBudWxsKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBtb2RpZmllZDxULCBUSWQgPSBhbnk+KG1vZGlmaWVkOiBUW10pOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQsIFRJZD4obnVsbCwgbW9kaWZpZWQsIG51bGwsIG51bGwpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZWQ8VCwgVElkID0gYW55PihjcmVhdGVkOiBUW10pOiBEYXRhU291cmNlQ2hhbmdlRXZlbnQ8VD4ge1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQsIFRJZD4obnVsbCwgbnVsbCwgY3JlYXRlZCwgbnVsbClcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcGF0Y2hlZDxULCBUSWQgPSBhbnk+KFxuICAgIHBhdGNoZXM6IERhdGFTb3VyY2VFbnRpdHlQYXRjaDxULCBUSWQ+W11cbiAgKTogRGF0YVNvdXJjZUNoYW5nZUV2ZW50PFQ+IHtcbiAgICByZXR1cm4gbmV3IERhdGFTb3VyY2VDaGFuZ2VFdmVudDxUPihudWxsLCBudWxsLCBudWxsLCBwYXRjaGVzKVxuICB9XG5cbiAgLy8gZW50aXRpZXMgLT4gZGF0YSBtdXN0IGJlIHVwZGF0ZWQgd2l0aCBuZXcgdmVyc2lvbnNcbiAgLy8gZW50aXR5LWlkcyAtPiBtdXN0IGJlIGRvd25sb2FkZWQgZmluZEJ5SWRzKCkgYW5kIGRhdGEgdXBkYXRlZFxuICAvLyBlbnRpdHktcGF0Y2hlcyAtPiBlbnRpdHkgbXVzdCBiZSBsb29rZWQgdXAgJiBhcHBsaWVkIGxvY2FsbHkgJiByZXBsYWNlZFxuXG4gIC8vIGNvbnN0IGVudGl0eSA9IGRjLmZpbmRCeUlkKGVudGl0eS1pZCk7XG4gIC8vIGRjLnJlcGxhY2UoZW50aXR5KTtcbiAgLy8gZGMucmVwbGFjZUFsbChlbnRpdGllcyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHVua25vd25DaGFuZ2VzOiBib29sZWFuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGRlbGV0ZWRJZHM6IFRJZFtdLFxuICAgIHB1YmxpYyByZWFkb25seSBtb2RpZmllZDogVFtdLFxuICAgIHB1YmxpYyByZWFkb25seSBjcmVhdGVkOiBUW10sXG4gICAgcHVibGljIHJlYWRvbmx5IHBhdGNoZXM6IERhdGFTb3VyY2VFbnRpdHlQYXRjaDxUPltdXG4gICkge1xuICAgIHRoaXMudW5rbm93bkNoYW5nZXMgPSAhZGVsZXRlZElkcyAmJiAhbW9kaWZpZWQgJiYgIWNyZWF0ZWQgJiYgIXBhdGNoZXNcbiAgfVxufVxuIl19