@bravobit/bb-foundation 0.45.4 → 0.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/lib/auth.config.d.ts +0 -2
- package/auth/lib/auth.service.d.ts +1 -1
- package/auth/lib/directives/authenticated.directive.d.ts +1 -1
- package/collections/lib/directives/collections-data-row.directive.d.ts +1 -1
- package/collections/lib/directives/collections-data.directive.d.ts +1 -1
- package/collections/lib/directives/collections-empty.directive.d.ts +1 -1
- package/collections/lib/directives/collections-error.directive.d.ts +1 -1
- package/collections/lib/directives/collections-initial.directive.d.ts +1 -1
- package/collections/lib/directives/collections-item.directive.d.ts +1 -1
- package/dialog/lib/dialog-container/dialog-container.component.d.ts +1 -0
- package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +1 -0
- package/fesm2022/bravobit-bb-foundation-auth.mjs +44 -50
- package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-collections.mjs +69 -75
- package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-combobox.mjs +21 -24
- package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs +35 -35
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dialog.mjs +63 -47
- package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-elements.mjs +119 -131
- package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
- package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-localize.mjs +25 -32
- package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-masking.mjs +19 -22
- package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-notifications.mjs +15 -17
- package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-permissions.mjs +11 -12
- package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +11 -11
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-select.mjs +26 -30
- package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-storage.mjs +16 -8
- package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-table.mjs +29 -31
- package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs +12 -13
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-utils.mjs +20 -24
- package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation.mjs +21 -21
- package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
- package/localize/lib/localize.config.d.ts +0 -1
- package/localize/lib/localize.service.d.ts +1 -1
- package/localize/lib/views/localize-template.directive.d.ts +1 -1
- package/masking/lib/masking.service.d.ts +2 -2
- package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -2
- package/package.json +25 -63
- package/permissions/lib/directives/permission.directive.d.ts +1 -1
- package/storage/lib/interfaces/strategy.interface.d.ts +1 -1
- package/table/lib/components/table/table.component.d.ts +2 -2
- package/esm2022/auth/bravobit-bb-foundation-auth.mjs +0 -5
- package/esm2022/auth/lib/auth.config.mjs +0 -16
- package/esm2022/auth/lib/auth.interceptor.mjs +0 -87
- package/esm2022/auth/lib/auth.module.mjs +0 -25
- package/esm2022/auth/lib/auth.service.mjs +0 -261
- package/esm2022/auth/lib/auth.session.mjs +0 -142
- package/esm2022/auth/lib/directives/authenticated.directive.mjs +0 -78
- package/esm2022/auth/lib/guards/anonymous.guard.mjs +0 -29
- package/esm2022/auth/lib/guards/authenticated.guard.mjs +0 -32
- package/esm2022/auth/lib/helpers/jwt.helper.mjs +0 -67
- package/esm2022/auth/lib/interfaces/config.interface.mjs +0 -4
- package/esm2022/auth/lib/interfaces/provider.interface.mjs +0 -2
- package/esm2022/auth/lib/interfaces/token.interface.mjs +0 -2
- package/esm2022/auth/lib/providers/email.provider.mjs +0 -27
- package/esm2022/auth/lib/providers/verify.provider.mjs +0 -25
- package/esm2022/auth/lib/tokens/use-authorization.token.mjs +0 -3
- package/esm2022/auth/public_api.mjs +0 -15
- package/esm2022/bravobit-bb-foundation.mjs +0 -5
- package/esm2022/collections/bravobit-bb-foundation-collections.mjs +0 -5
- package/esm2022/collections/lib/classes/array.collection.mjs +0 -85
- package/esm2022/collections/lib/collection.mjs +0 -98
- package/esm2022/collections/lib/collections.module.mjs +0 -84
- package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +0 -37
- package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +0 -52
- package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +0 -114
- package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +0 -86
- package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +0 -30
- package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +0 -65
- package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +0 -37
- package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-data.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-empty.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-error.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-initial.directive.mjs +0 -23
- package/esm2022/collections/lib/directives/collections-item.directive.mjs +0 -29
- package/esm2022/collections/lib/interfaces/array-collection.interface.mjs +0 -2
- package/esm2022/collections/lib/interfaces/collection.interface.mjs +0 -2
- package/esm2022/collections/lib/providers/api-collection.provider.mjs +0 -103
- package/esm2022/collections/lib/providers/collection.provider.mjs +0 -39
- package/esm2022/collections/lib/providers/local-collection.provider.mjs +0 -25
- package/esm2022/collections/public_api.mjs +0 -22
- package/esm2022/combobox/bravobit-bb-foundation-combobox.mjs +0 -5
- package/esm2022/combobox/combobox/combobox-container.directive.mjs +0 -137
- package/esm2022/combobox/combobox/combobox.component.mjs +0 -118
- package/esm2022/combobox/combobox-label.directive.mjs +0 -14
- package/esm2022/combobox/combobox-option.directive.mjs +0 -17
- package/esm2022/combobox/combobox-panel/combobox-panel.animation.mjs +0 -11
- package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +0 -42
- package/esm2022/combobox/combobox.interface.mjs +0 -2
- package/esm2022/combobox/public_api.mjs +0 -4
- package/esm2022/dashboard/bravobit-bb-foundation-dashboard.mjs +0 -5
- package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +0 -50
- package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +0 -25
- package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +0 -28
- package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +0 -32
- package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +0 -75
- package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +0 -93
- package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +0 -60
- package/esm2022/dashboard/lib/dashboard.module.mjs +0 -50
- package/esm2022/dashboard/public_api.mjs +0 -9
- package/esm2022/dialog/bravobit-bb-foundation-dialog.mjs +0 -5
- package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +0 -12
- package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +0 -44
- package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +0 -58
- package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +0 -15
- package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +0 -11
- package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +0 -57
- package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +0 -53
- package/esm2022/dialog/lib/dialog.config.mjs +0 -8
- package/esm2022/dialog/lib/dialog.insertion.mjs +0 -18
- package/esm2022/dialog/lib/dialog.interfaces.mjs +0 -9
- package/esm2022/dialog/lib/dialog.module.mjs +0 -64
- package/esm2022/dialog/lib/dialog.ref.mjs +0 -16
- package/esm2022/dialog/lib/dialog.service.mjs +0 -75
- package/esm2022/dialog/lib/directives/confirm.directive.mjs +0 -48
- package/esm2022/dialog/public_api.mjs +0 -12
- package/esm2022/elements/bravobit-bb-foundation-elements.mjs +0 -5
- package/esm2022/elements/lib/avatar/avatar.component.mjs +0 -175
- package/esm2022/elements/lib/button/button.component.mjs +0 -68
- package/esm2022/elements/lib/checkbox/checkbox.component.mjs +0 -116
- package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +0 -34
- package/esm2022/elements/lib/date-picker/date-picker.component.mjs +0 -323
- package/esm2022/elements/lib/directives/addon.directive.mjs +0 -27
- package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +0 -41
- package/esm2022/elements/lib/directives/file-drop.directive.mjs +0 -62
- package/esm2022/elements/lib/directives/form-submit.directive.mjs +0 -54
- package/esm2022/elements/lib/directives/form-submitter.directive.mjs +0 -24
- package/esm2022/elements/lib/directives/image-upload.directive.mjs +0 -143
- package/esm2022/elements/lib/directives/input.directive.mjs +0 -49
- package/esm2022/elements/lib/elements.config.mjs +0 -54
- package/esm2022/elements/lib/elements.interfaces.mjs +0 -5
- package/esm2022/elements/lib/elements.module.mjs +0 -146
- package/esm2022/elements/lib/file-picker/file-picker.component.mjs +0 -196
- package/esm2022/elements/lib/form-control/form-control.component.mjs +0 -46
- package/esm2022/elements/lib/form-error/form-error.component.mjs +0 -106
- package/esm2022/elements/lib/form-group/form-group.component.mjs +0 -19
- package/esm2022/elements/lib/icon/icon.component.mjs +0 -122
- package/esm2022/elements/lib/image-picker/image-picker.component.mjs +0 -126
- package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +0 -149
- package/esm2022/elements/lib/pipes/date.pipe.mjs +0 -28
- package/esm2022/elements/lib/pipes/file-image.pipe.mjs +0 -48
- package/esm2022/elements/lib/pipes/file-size.pipe.mjs +0 -27
- package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +0 -99
- package/esm2022/elements/lib/radio-button/radio-button.component.mjs +0 -60
- package/esm2022/elements/lib/radio-group/radio-group.component.mjs +0 -103
- package/esm2022/elements/lib/spinner/spinner.component.mjs +0 -22
- package/esm2022/elements/public_api.mjs +0 -30
- package/esm2022/http/bravobit-bb-foundation-http.mjs +0 -5
- package/esm2022/http/lib/classes/http.config.mjs +0 -32
- package/esm2022/http/lib/classes/http.error.mjs +0 -20
- package/esm2022/http/lib/http.config.mjs +0 -18
- package/esm2022/http/lib/http.interfaces.mjs +0 -4
- package/esm2022/http/lib/http.module.mjs +0 -31
- package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +0 -60
- package/esm2022/http/lib/interceptors/error.interceptor.mjs +0 -31
- package/esm2022/http/public_api.mjs +0 -8
- package/esm2022/lib/core/functions/array.utils.mjs +0 -7
- package/esm2022/lib/core/functions/date.utils.mjs +0 -31
- package/esm2022/lib/core/functions/password.utils.mjs +0 -17
- package/esm2022/lib/core/functions/route-cache.utils.mjs +0 -23
- package/esm2022/lib/core/miscellaneous/coercion.mjs +0 -5
- package/esm2022/lib/core/miscellaneous/regex.mjs +0 -44
- package/esm2022/lib/core/miscellaneous/validator.mjs +0 -85
- package/esm2022/lib/core/services/exif.service.mjs +0 -165
- package/esm2022/lib/core/services/file-loader.service.mjs +0 -85
- package/esm2022/lib/core/services/files.service.mjs +0 -78
- package/esm2022/lib/core/services/image-converter.service.mjs +0 -126
- package/esm2022/lib/core/services/languages.service.mjs +0 -75
- package/esm2022/lib/core/services/network.service.mjs +0 -58
- package/esm2022/lib/core/services/patch.service.mjs +0 -66
- package/esm2022/lib/core/tokens/accept-language.token.mjs +0 -3
- package/esm2022/lib/core/tokens/base-url.token.mjs +0 -3
- package/esm2022/lib/core/tokens/cookie.token.mjs +0 -3
- package/esm2022/lib/core/tokens/global-focus-mode.token.mjs +0 -10
- package/esm2022/lib/core/tokens/location.token.mjs +0 -6
- package/esm2022/lib/core/tokens/navigator.token.mjs +0 -6
- package/esm2022/lib/core/tokens/window.token.mjs +0 -12
- package/esm2022/localize/bravobit-bb-foundation-localize.mjs +0 -5
- package/esm2022/localize/lib/dictionary/dictionary.class.mjs +0 -96
- package/esm2022/localize/lib/dictionary/dictionary.context.mjs +0 -24
- package/esm2022/localize/lib/dictionary/dictionary.data.mjs +0 -7
- package/esm2022/localize/lib/functions/date.function.mjs +0 -18
- package/esm2022/localize/lib/functions/lowercase.function.mjs +0 -13
- package/esm2022/localize/lib/functions/uppercase.function.mjs +0 -13
- package/esm2022/localize/lib/handlers/missing.handler.mjs +0 -13
- package/esm2022/localize/lib/interfaces/config.interfaces.mjs +0 -2
- package/esm2022/localize/lib/interfaces/functions.interfaces.mjs +0 -8
- package/esm2022/localize/lib/interfaces/handlers.interfaces.mjs +0 -2
- package/esm2022/localize/lib/interfaces/options.interfaces.mjs +0 -6
- package/esm2022/localize/lib/localizations/dutch.localization.mjs +0 -64
- package/esm2022/localize/lib/localizations/english.localization.mjs +0 -64
- package/esm2022/localize/lib/localizations/papiamento.localization.mjs +0 -64
- package/esm2022/localize/lib/localizations/spanish.localization.mjs +0 -64
- package/esm2022/localize/lib/localize.config.mjs +0 -43
- package/esm2022/localize/lib/localize.module.mjs +0 -39
- package/esm2022/localize/lib/localize.pipe.mjs +0 -48
- package/esm2022/localize/lib/localize.service.mjs +0 -172
- package/esm2022/localize/lib/localize.tokens.mjs +0 -18
- package/esm2022/localize/lib/transforms/abstract.transform.mjs +0 -30
- package/esm2022/localize/lib/transforms/interpolate.transform.mjs +0 -45
- package/esm2022/localize/lib/transforms/plural.transform.mjs +0 -49
- package/esm2022/localize/lib/transforms/reference.transform.mjs +0 -19
- package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +0 -89
- package/esm2022/localize/lib/views/localize-template.directive.mjs +0 -23
- package/esm2022/localize/public_api.mjs +0 -27
- package/esm2022/masking/bravobit-bb-foundation-masking.mjs +0 -5
- package/esm2022/masking/lib/directives/currency-mask.directive.mjs +0 -41
- package/esm2022/masking/lib/directives/date-mask.directive.mjs +0 -41
- package/esm2022/masking/lib/directives/input-mask.directive.mjs +0 -126
- package/esm2022/masking/lib/input-mask.interface.mjs +0 -2
- package/esm2022/masking/lib/masking.module.mjs +0 -30
- package/esm2022/masking/lib/masking.service.mjs +0 -104
- package/esm2022/masking/public_api.mjs +0 -7
- package/esm2022/notifications/bravobit-bb-foundation-notifications.mjs +0 -5
- package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +0 -112
- package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +0 -48
- package/esm2022/notifications/lib/notifications.animations.mjs +0 -28
- package/esm2022/notifications/lib/notifications.config.mjs +0 -8
- package/esm2022/notifications/lib/notifications.interfaces.mjs +0 -31
- package/esm2022/notifications/lib/notifications.module.mjs +0 -20
- package/esm2022/notifications/lib/notifications.service.mjs +0 -161
- package/esm2022/notifications/public_api.mjs +0 -5
- package/esm2022/permissions/bravobit-bb-foundation-permissions.mjs +0 -5
- package/esm2022/permissions/lib/directives/permission.directive.mjs +0 -95
- package/esm2022/permissions/lib/guards/permission.guard.mjs +0 -25
- package/esm2022/permissions/lib/handlers/abstract.handler.mjs +0 -3
- package/esm2022/permissions/lib/handlers/local.handler.mjs +0 -29
- package/esm2022/permissions/lib/permissions.config.mjs +0 -20
- package/esm2022/permissions/lib/permissions.interface.mjs +0 -8
- package/esm2022/permissions/lib/permissions.module.mjs +0 -25
- package/esm2022/permissions/lib/permissions.service.mjs +0 -100
- package/esm2022/permissions/public_api.mjs +0 -9
- package/esm2022/public_api.mjs +0 -25
- package/esm2022/recaptcha/bravobit-bb-foundation-recaptcha.mjs +0 -5
- package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +0 -225
- package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +0 -80
- package/esm2022/recaptcha/lib/recaptcha.config.mjs +0 -8
- package/esm2022/recaptcha/lib/recaptcha.interface.mjs +0 -3
- package/esm2022/recaptcha/lib/recaptcha.module.mjs +0 -27
- package/esm2022/recaptcha/public_api.mjs +0 -6
- package/esm2022/rxjs/bravobit-bb-foundation-rxjs.mjs +0 -5
- package/esm2022/rxjs/lib/observables/get-control-value.observable.mjs +0 -6
- package/esm2022/rxjs/lib/observables/get-route-param.observable.mjs +0 -5
- package/esm2022/rxjs/lib/operators/combine-latest-map.operator.mjs +0 -10
- package/esm2022/rxjs/lib/operators/filter-nil.operator.mjs +0 -5
- package/esm2022/rxjs/public_api.mjs +0 -5
- package/esm2022/select/bravobit-bb-foundation-select.mjs +0 -5
- package/esm2022/select/lib/select/select.component.mjs +0 -289
- package/esm2022/select/lib/select-label.directive.mjs +0 -18
- package/esm2022/select/lib/select-multi-label.directive.mjs +0 -18
- package/esm2022/select/lib/select-option-group.directive.mjs +0 -18
- package/esm2022/select/lib/select-option.directive.mjs +0 -18
- package/esm2022/select/lib/select.config.mjs +0 -8
- package/esm2022/select/lib/select.module.mjs +0 -46
- package/esm2022/select/public_api.mjs +0 -8
- package/esm2022/storage/bravobit-bb-foundation-storage.mjs +0 -5
- package/esm2022/storage/lib/interfaces/attributes.interface.mjs +0 -2
- package/esm2022/storage/lib/interfaces/memory.interface.mjs +0 -2
- package/esm2022/storage/lib/interfaces/strategy.interface.mjs +0 -2
- package/esm2022/storage/lib/storage.service.mjs +0 -113
- package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +0 -144
- package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +0 -54
- package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +0 -100
- package/esm2022/storage/public_api.mjs +0 -8
- package/esm2022/table/bravobit-bb-foundation-table.mjs +0 -5
- package/esm2022/table/lib/components/table/table.component.mjs +0 -200
- package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +0 -11
- package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +0 -135
- package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +0 -136
- package/esm2022/table/lib/data/datasource.data.mjs +0 -30
- package/esm2022/table/lib/data/generic.data.mjs +0 -84
- package/esm2022/table/lib/interfaces/datasource.interface.mjs +0 -2
- package/esm2022/table/lib/interfaces/table.interfaces.mjs +0 -2
- package/esm2022/table/lib/table.module.mjs +0 -44
- package/esm2022/table/public_api.mjs +0 -10
- package/esm2022/tooltip/bravobit-bb-foundation-tooltip.mjs +0 -5
- package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +0 -23
- package/esm2022/tooltip/lib/tooltip.directive.mjs +0 -130
- package/esm2022/tooltip/lib/tooltip.interfaces.mjs +0 -4
- package/esm2022/tooltip/lib/tooltip.module.mjs +0 -16
- package/esm2022/tooltip/public_api.mjs +0 -5
- package/esm2022/utils/bravobit-bb-foundation-utils.mjs +0 -5
- package/esm2022/utils/lib/directives/autosize.directive.mjs +0 -76
- package/esm2022/utils/lib/directives/focus-trap.directive.mjs +0 -80
- package/esm2022/utils/lib/directives/focus.directive.mjs +0 -57
- package/esm2022/utils/lib/directives/template.directive.mjs +0 -33
- package/esm2022/utils/lib/utils.module.mjs +0 -35
- package/esm2022/utils/public_api.mjs +0 -6
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BbCollectionsDataRowContext {
|
|
4
|
-
item;
|
|
5
|
-
$implicit;
|
|
6
|
-
constructor(item) {
|
|
7
|
-
this.item = item;
|
|
8
|
-
this.$implicit = item;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class BbCollectionsDataRow {
|
|
12
|
-
template;
|
|
13
|
-
constructor(template) {
|
|
14
|
-
this.template = template;
|
|
15
|
-
}
|
|
16
|
-
static ngTemplateContextGuard(dir, ctx) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsDataRow, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsDataRow, isStandalone: true, selector: "[bbCollectionsDataRow]", ngImport: i0 });
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsDataRow, decorators: [{
|
|
23
|
-
type: Directive,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: '[bbCollectionsDataRow]',
|
|
26
|
-
standalone: true
|
|
27
|
-
}]
|
|
28
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtZGF0YS1yb3cuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb2xsZWN0aW9ucy9zcmMvbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZGF0YS1yb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBRXJELE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsSUFBSSxDQUFLO0lBQ1QsU0FBUyxDQUFLO0lBRWQsWUFBWSxJQUFPO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBTUQsTUFBTSxPQUFPLG9CQUFvQjtJQUVWO0lBQW5CLFlBQW1CLFFBQXFEO1FBQXJELGFBQVEsR0FBUixRQUFRLENBQTZDO0lBQ3hFLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUksR0FBNEIsRUFBRSxHQUFZO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7d0dBUFEsb0JBQW9COzRGQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEJiQ29sbGVjdGlvbnNEYXRhUm93Q29udGV4dDxUPiB7XG4gICAgaXRlbSE6IFQ7XG4gICAgJGltcGxpY2l0ITogVDtcblxuICAgIGNvbnN0cnVjdG9yKGl0ZW06IFQpIHtcbiAgICAgICAgdGhpcy5pdGVtID0gaXRlbTtcbiAgICAgICAgdGhpcy4kaW1wbGljaXQgPSBpdGVtO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJDb2xsZWN0aW9uc0RhdGFSb3ddJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiQ29sbGVjdGlvbnNEYXRhUm93PFQ+IHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8QmJDb2xsZWN0aW9uc0RhdGFSb3dDb250ZXh0PFQ+Pikge1xuICAgIH1cblxuICAgIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KGRpcjogQmJDb2xsZWN0aW9uc0RhdGFSb3c8VD4sIGN0eDogdW5rbm93bik6IGN0eCBpcyBCYkNvbGxlY3Rpb25zRGF0YVJvd0NvbnRleHQ8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BbCollectionsDataContext {
|
|
4
|
-
items;
|
|
5
|
-
loading;
|
|
6
|
-
constructor(items, loading) {
|
|
7
|
-
this.items = items;
|
|
8
|
-
this.loading = loading;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class BbCollectionsData {
|
|
12
|
-
template;
|
|
13
|
-
constructor(template) {
|
|
14
|
-
this.template = template;
|
|
15
|
-
}
|
|
16
|
-
static ngTemplateContextGuard(dir, ctx) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsData, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsData, isStandalone: true, selector: "[bbCollectionsData]", ngImport: i0 });
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsData, decorators: [{
|
|
23
|
-
type: Directive,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: '[bbCollectionsData]',
|
|
26
|
-
standalone: true
|
|
27
|
-
}]
|
|
28
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtZGF0YS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvZGlyZWN0aXZlcy9jb2xsZWN0aW9ucy1kYXRhLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUVyRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLEtBQUssQ0FBTztJQUNaLE9BQU8sQ0FBVztJQUVsQixZQUFZLEtBQVUsRUFBRSxPQUFnQjtRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0NBQ0o7QUFNRCxNQUFNLE9BQU8saUJBQWlCO0lBRVA7SUFBbkIsWUFBbUIsUUFBa0Q7UUFBbEQsYUFBUSxHQUFSLFFBQVEsQ0FBMEM7SUFDckUsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBSSxHQUF5QixFQUFFLEdBQVk7UUFDcEUsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzt3R0FQUSxpQkFBaUI7NEZBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQmJDb2xsZWN0aW9uc0RhdGFDb250ZXh0PFQ+IHtcbiAgICBpdGVtcyE6IFRbXTtcbiAgICBsb2FkaW5nITogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKGl0ZW1zOiBUW10sIGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJDb2xsZWN0aW9uc0RhdGFdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiQ29sbGVjdGlvbnNEYXRhPFQ+IHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8QmJDb2xsZWN0aW9uc0RhdGFDb250ZXh0PFQ+Pikge1xuICAgIH1cblxuICAgIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KGRpcjogQmJDb2xsZWN0aW9uc0RhdGE8VD4sIGN0eDogdW5rbm93bik6IGN0eCBpcyBCYkNvbGxlY3Rpb25zRGF0YUNvbnRleHQ8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BbCollectionsEmptyContext {
|
|
4
|
-
query;
|
|
5
|
-
loading;
|
|
6
|
-
constructor(query, loading) {
|
|
7
|
-
this.query = query;
|
|
8
|
-
this.loading = loading;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class BbCollectionsEmpty {
|
|
12
|
-
template;
|
|
13
|
-
constructor(template) {
|
|
14
|
-
this.template = template;
|
|
15
|
-
}
|
|
16
|
-
static ngTemplateContextGuard(dir, ctx) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsEmpty, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsEmpty, isStandalone: true, selector: "[bbCollectionsEmpty]", ngImport: i0 });
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsEmpty, decorators: [{
|
|
23
|
-
type: Directive,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: '[bbCollectionsEmpty]',
|
|
26
|
-
standalone: true
|
|
27
|
-
}]
|
|
28
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtZW1wdHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb2xsZWN0aW9ucy9zcmMvbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZW1wdHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBRXJELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsS0FBSyxDQUFVO0lBQ2YsT0FBTyxDQUFXO0lBRWxCLFlBQVksS0FBYSxFQUFFLE9BQWdCO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7Q0FDSjtBQU1ELE1BQU0sT0FBTyxrQkFBa0I7SUFFUjtJQUFuQixZQUFtQixRQUFtRDtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUEyQztJQUN0RSxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFJLEdBQTBCLEVBQUUsR0FBWTtRQUNyRSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO3dHQVBRLGtCQUFrQjs0RkFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zRW1wdHlDb250ZXh0PFQ+IHtcbiAgICBxdWVyeSE6IHN0cmluZztcbiAgICBsb2FkaW5nITogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHF1ZXJ5OiBzdHJpbmcsIGxvYWRpbmc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5xdWVyeSA9IHF1ZXJ5O1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJDb2xsZWN0aW9uc0VtcHR5XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zRW1wdHk8VD4ge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxCYkNvbGxlY3Rpb25zRW1wdHlDb250ZXh0PFQ+Pikge1xuICAgIH1cblxuICAgIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KGRpcjogQmJDb2xsZWN0aW9uc0VtcHR5PFQ+LCBjdHg6IHVua25vd24pOiBjdHggaXMgQmJDb2xsZWN0aW9uc0VtcHR5Q29udGV4dDxUPiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxufVxuIl19
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BbCollectionsErrorContext {
|
|
4
|
-
error;
|
|
5
|
-
loading;
|
|
6
|
-
constructor(error, loading) {
|
|
7
|
-
this.error = error;
|
|
8
|
-
this.loading = loading;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class BbCollectionsError {
|
|
12
|
-
template;
|
|
13
|
-
constructor(template) {
|
|
14
|
-
this.template = template;
|
|
15
|
-
}
|
|
16
|
-
static ngTemplateContextGuard(dir, ctx) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsError, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsError, isStandalone: true, selector: "[bbCollectionsError]", ngImport: i0 });
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsError, decorators: [{
|
|
23
|
-
type: Directive,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: '[bbCollectionsError]',
|
|
26
|
-
standalone: true
|
|
27
|
-
}]
|
|
28
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb2xsZWN0aW9ucy9zcmMvbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZXJyb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7O0FBRXJELE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsS0FBSyxDQUFTO0lBQ2QsT0FBTyxDQUFXO0lBRWxCLFlBQVksS0FBWSxFQUFFLE9BQWdCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7Q0FDSjtBQU1ELE1BQU0sT0FBTyxrQkFBa0I7SUFFUjtJQUFuQixZQUFtQixRQUFtRDtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUEyQztJQUN0RSxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFJLEdBQTBCLEVBQUUsR0FBWTtRQUNyRSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO3dHQVBRLGtCQUFrQjs0RkFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zRXJyb3JDb250ZXh0PFQ+IHtcbiAgICBlcnJvciE6IEVycm9yO1xuICAgIGxvYWRpbmchOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoZXJyb3I6IEVycm9yLCBsb2FkaW5nOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSBlcnJvcjtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gbG9hZGluZztcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiQ29sbGVjdGlvbnNFcnJvcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJDb2xsZWN0aW9uc0Vycm9yPFQ+IHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8QmJDb2xsZWN0aW9uc0Vycm9yQ29udGV4dDxUPj4pIHtcbiAgICB9XG5cbiAgICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxUPihkaXI6IEJiQ29sbGVjdGlvbnNFcnJvcjxUPiwgY3R4OiB1bmtub3duKTogY3R4IGlzIEJiQ29sbGVjdGlvbnNFcnJvckNvbnRleHQ8VD4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BbCollectionsInitialContext {
|
|
4
|
-
}
|
|
5
|
-
export class BbCollectionsInitial {
|
|
6
|
-
template;
|
|
7
|
-
constructor(template) {
|
|
8
|
-
this.template = template;
|
|
9
|
-
}
|
|
10
|
-
static ngTemplateContextGuard(dir, ctx) {
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsInitial, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsInitial, isStandalone: true, selector: "[bbCollectionsInitial]", ngImport: i0 });
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsInitial, decorators: [{
|
|
17
|
-
type: Directive,
|
|
18
|
-
args: [{
|
|
19
|
-
selector: '[bbCollectionsInitial]',
|
|
20
|
-
standalone: true
|
|
21
|
-
}]
|
|
22
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaW5pdGlhbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvZGlyZWN0aXZlcy9jb2xsZWN0aW9ucy1pbml0aWFsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUVyRCxNQUFNLE9BQU8sMkJBQTJCO0NBQ3ZDO0FBTUQsTUFBTSxPQUFPLG9CQUFvQjtJQUVWO0lBQW5CLFlBQW1CLFFBQXFEO1FBQXJELGFBQVEsR0FBUixRQUFRLENBQTZDO0lBQ3hFLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUksR0FBNEIsRUFBRSxHQUFZO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7d0dBUFEsb0JBQW9COzRGQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEJiQ29sbGVjdGlvbnNJbml0aWFsQ29udGV4dDxUPiB7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiQ29sbGVjdGlvbnNJbml0aWFsXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zSW5pdGlhbDxUPiB7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPEJiQ29sbGVjdGlvbnNJbml0aWFsQ29udGV4dDxUPj4pIHtcbiAgICB9XG5cbiAgICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxUPihkaXI6IEJiQ29sbGVjdGlvbnNJbml0aWFsPFQ+LCBjdHg6IHVua25vd24pOiBjdHggaXMgQmJDb2xsZWN0aW9uc0luaXRpYWxDb250ZXh0PFQ+IHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BbCollectionsItemContext {
|
|
4
|
-
item;
|
|
5
|
-
$implicit;
|
|
6
|
-
constructor(item) {
|
|
7
|
-
this.item = item;
|
|
8
|
-
this.$implicit = item;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class BbCollectionsItem {
|
|
12
|
-
template;
|
|
13
|
-
constructor(template) {
|
|
14
|
-
this.template = template;
|
|
15
|
-
}
|
|
16
|
-
static ngTemplateContextGuard(dir, ctx) {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsItem, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbCollectionsItem, isStandalone: true, selector: "[bbCollectionsItem]", ngImport: i0 });
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCollectionsItem, decorators: [{
|
|
23
|
-
type: Directive,
|
|
24
|
-
args: [{
|
|
25
|
-
selector: '[bbCollectionsItem]',
|
|
26
|
-
standalone: true
|
|
27
|
-
}]
|
|
28
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbnMtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvZGlyZWN0aXZlcy9jb2xsZWN0aW9ucy1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUVyRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLElBQUksQ0FBSztJQUNULFNBQVMsQ0FBSztJQUVkLFlBQVksSUFBTztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7Q0FDSjtBQU1ELE1BQU0sT0FBTyxpQkFBaUI7SUFFUDtJQUFuQixZQUFtQixRQUFrRDtRQUFsRCxhQUFRLEdBQVIsUUFBUSxDQUEwQztJQUNyRSxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFJLEdBQXlCLEVBQUUsR0FBWTtRQUNwRSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO3dHQVBRLGlCQUFpQjs0RkFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBUZW1wbGF0ZVJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zSXRlbUNvbnRleHQ8VD4ge1xuICAgIGl0ZW0hOiBUO1xuICAgICRpbXBsaWNpdCE6IFQ7XG5cbiAgICBjb25zdHJ1Y3RvcihpdGVtOiBUKSB7XG4gICAgICAgIHRoaXMuaXRlbSA9IGl0ZW07XG4gICAgICAgIHRoaXMuJGltcGxpY2l0ID0gaXRlbTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiQ29sbGVjdGlvbnNJdGVtXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkNvbGxlY3Rpb25zSXRlbTxUPiB7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPEJiQ29sbGVjdGlvbnNJdGVtQ29udGV4dDxUPj4pIHtcbiAgICB9XG5cbiAgICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxUPihkaXI6IEJiQ29sbGVjdGlvbnNJdGVtPFQ+LCBjdHg6IHVua25vd24pOiBjdHggaXMgQmJDb2xsZWN0aW9uc0l0ZW1Db250ZXh0PFQ+IHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktY29sbGVjdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvaW50ZXJmYWNlcy9hcnJheS1jb2xsZWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXJyYXlDb2xsZWN0aW9uU3RyaW5nS2V5czxUPiA9IHtcbiAgICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIHN0cmluZyA/IEsgOiBuZXZlcjtcbn1ba2V5b2YgVF07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJyYXlDb2xsZWN0aW9uT3B0aW9uczxUPiB7XG4gICAgc29ydGFibGVzPzogUGFydGlhbDxSZWNvcmQ8QXJyYXlDb2xsZWN0aW9uU3RyaW5nS2V5czxUPiwgJ3N0cmluZycgfCAnbnVtYmVyJz4+O1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvaW50ZXJmYWNlcy9jb2xsZWN0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2xsZWN0aW9ufSBmcm9tICcuLi9jb2xsZWN0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uUmVxdWVzdCB7XG4gICAgcGFnZU51bWJlcjogbnVtYmVyO1xuICAgIHBhZ2VTaXplOiBudW1iZXI7XG4gICAgcXVlcnk6IHN0cmluZyB8IG51bGw7XG4gICAgcXVlcnlGaWVsZHM6IHN0cmluZ1tdO1xuICAgIHNvcnQ6IENvbGxlY3Rpb25SZXF1ZXN0U29ydCB8IENvbGxlY3Rpb25SZXF1ZXN0U29ydFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25SZXF1ZXN0U29ydDxUID0gc3RyaW5nPiB7XG4gICAgbmFtZTogVDtcbiAgICBkaXJlY3Rpb246ICdhc2MnIHwgJ2Rlc2MnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25EYXRhPFQ+IHtcbiAgICBwYWdlTnVtYmVyOiBudW1iZXI7XG4gICAgcGFnZVNpemU6IG51bWJlcjtcbiAgICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gICAgdG90YWxFbnRyaWVzOiBudW1iZXI7XG4gICAgZGF0YTogVFtdO1xuICAgIHJhdz86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uQXBpUmVzcG9uc2U8VD4ge1xuICAgIHBhZ2VfbnVtYmVyOiBudW1iZXI7XG4gICAgcGFnZV9zaXplOiBudW1iZXI7XG4gICAgdG90YWxfcGFnZXM6IG51bWJlcjtcbiAgICB0b3RhbF9lbnRyaWVzOiBudW1iZXI7XG4gICAgZGF0YTogVFtdO1xuXG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkFwaVBhcmFtcyA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25Db250ZXh0PFQ+IHtcbiAgICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPFQ+O1xufVxuIl19
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { combineLatest, isObservable, of } from 'rxjs';
|
|
2
|
-
import { CollectionProvider } from './collection.provider';
|
|
3
|
-
import { map, switchMap, tap } from 'rxjs/operators';
|
|
4
|
-
export class ApiCollectionProvider extends CollectionProvider {
|
|
5
|
-
endpoint;
|
|
6
|
-
httpClient;
|
|
7
|
-
// State.
|
|
8
|
-
extraParams = {};
|
|
9
|
-
extraObjectParams = [];
|
|
10
|
-
constructor(endpoint, httpClient) {
|
|
11
|
-
super();
|
|
12
|
-
this.endpoint = endpoint;
|
|
13
|
-
this.httpClient = httpClient;
|
|
14
|
-
}
|
|
15
|
-
append(name, value) {
|
|
16
|
-
this.extraParams[name] = isObservable(value) ? value : of(value);
|
|
17
|
-
return this;
|
|
18
|
-
}
|
|
19
|
-
appendObject(value) {
|
|
20
|
-
const params = isObservable(value) ? value : of(value);
|
|
21
|
-
this.extraObjectParams.push(params);
|
|
22
|
-
}
|
|
23
|
-
transform(request, context) {
|
|
24
|
-
const endpoint$ = isObservable(this.endpoint) ? this.endpoint : of(this.endpoint);
|
|
25
|
-
const params = this.getBackendFormat(request);
|
|
26
|
-
const extraParams$ = this.getExtraParams(this.extraParams);
|
|
27
|
-
const extraObjectParams$ = this.getExtraObjectParams(this.extraObjectParams);
|
|
28
|
-
return combineLatest([endpoint$, extraParams$, extraObjectParams$]).pipe(tap(() => context.collection.loading$.next(true)), switchMap(([endpoint, extraParams, extraObjectParams]) => {
|
|
29
|
-
const validatedParams = this.validateParams({ ...params, ...extraParams, ...extraObjectParams }, context);
|
|
30
|
-
return this.httpClient.get(endpoint, { params: validatedParams });
|
|
31
|
-
}), map(response => this.formatToCollectionData(response)));
|
|
32
|
-
}
|
|
33
|
-
validateParams(request, context) {
|
|
34
|
-
if (!this.deepCompare(request, this.cachedRequestParams)) {
|
|
35
|
-
if (request?.['page'] && request?.['page'] === this.cachedRequestParams?.['page']) {
|
|
36
|
-
context.collection.pageNumberControl?.setValue(1);
|
|
37
|
-
request['page'] = context.collection.pageNumberControl?.value;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
this.cachedRequestParams = { ...request };
|
|
41
|
-
return request;
|
|
42
|
-
}
|
|
43
|
-
getExtraParams(params) {
|
|
44
|
-
const keys = Object.keys(params ?? {});
|
|
45
|
-
if (keys?.length <= 0) {
|
|
46
|
-
return of({});
|
|
47
|
-
}
|
|
48
|
-
const observables$ = keys.map(key => params?.[key]);
|
|
49
|
-
return combineLatest(observables$).pipe(map(data => {
|
|
50
|
-
return data.reduce((previous, current, index) => {
|
|
51
|
-
if (current === null || current === undefined) {
|
|
52
|
-
return previous;
|
|
53
|
-
}
|
|
54
|
-
const key = keys?.[index];
|
|
55
|
-
return { ...previous, [key]: current };
|
|
56
|
-
}, {});
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
59
|
-
getExtraObjectParams(params$) {
|
|
60
|
-
if (params$?.length <= 0) {
|
|
61
|
-
return of({});
|
|
62
|
-
}
|
|
63
|
-
return combineLatest(params$).pipe(map(data => (data ?? []).reduce((previous, current) => ({ ...previous, ...(current ?? {}) }), {})), map(data => {
|
|
64
|
-
return Object.keys(data ?? {}).reduce((previous, current) => {
|
|
65
|
-
const value = data?.[current] ?? null;
|
|
66
|
-
if (value === null || value === undefined) {
|
|
67
|
-
return previous;
|
|
68
|
-
}
|
|
69
|
-
return { ...previous, [current]: value };
|
|
70
|
-
}, {});
|
|
71
|
-
}));
|
|
72
|
-
}
|
|
73
|
-
formatToCollectionData(response) {
|
|
74
|
-
if (Array.isArray(response)) {
|
|
75
|
-
return this.formatArrayToCollectionData(response);
|
|
76
|
-
}
|
|
77
|
-
return {
|
|
78
|
-
pageSize: response?.page_size,
|
|
79
|
-
pageNumber: response?.page_number,
|
|
80
|
-
totalPages: response?.total_pages,
|
|
81
|
-
totalEntries: response?.total_entries,
|
|
82
|
-
data: response?.data,
|
|
83
|
-
raw: response
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
getBackendFormat(request) {
|
|
87
|
-
const params = {};
|
|
88
|
-
params['page'] = request?.pageNumber ?? 1;
|
|
89
|
-
params['page_size'] = request?.pageSize ?? 25;
|
|
90
|
-
if (request?.sort) {
|
|
91
|
-
const sort = Array.isArray(request?.sort) ? request?.sort : [request?.sort];
|
|
92
|
-
const filteredSort = sort?.filter(item => !!item?.name && !!item?.direction);
|
|
93
|
-
params['sort'] = filteredSort?.map(item => item?.name)?.join(',');
|
|
94
|
-
params['sort_direction'] = filteredSort?.map(item => item?.direction)?.join(',');
|
|
95
|
-
}
|
|
96
|
-
if (request?.query && request?.query?.length > 0 && request?.queryFields && request?.queryFields?.length > 0) {
|
|
97
|
-
params['query'] = request?.query;
|
|
98
|
-
params['query_fields'] = request?.queryFields?.join(',');
|
|
99
|
-
}
|
|
100
|
-
return params;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbGxlY3Rpb24ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2NvbGxlY3Rpb25zL3NyYy9saWIvcHJvdmlkZXJzL2FwaS1jb2xsZWN0aW9uLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFjLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8scUJBQXlCLFNBQVEsa0JBQXFCO0lBTWhDO0lBQ0E7SUFML0IsU0FBUztJQUNDLFdBQVcsR0FBb0QsRUFBRSxDQUFDO0lBQ2xFLGlCQUFpQixHQUFzRCxFQUFFLENBQUM7SUFFcEYsWUFBK0IsUUFBcUMsRUFDckMsVUFBc0I7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFGbUIsYUFBUSxHQUFSLFFBQVEsQ0FBNkI7UUFDckMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUVyRCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVksRUFBRSxLQUE0RDtRQUM3RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakUsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUE0RjtRQUNyRyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUEwQixFQUFFLE9BQTZCO1FBQy9ELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTdFLE9BQU8sYUFBYSxDQUFDLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNwRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ2pELFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLEVBQUU7WUFDckQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFDLEdBQUcsTUFBTSxFQUFFLEdBQUcsV0FBVyxFQUFFLEdBQUcsaUJBQWlCLEVBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN4RyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFpQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQztRQUNwRyxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNOLENBQUM7SUFFa0IsY0FBYyxDQUFDLE9BQTRDLEVBQUUsT0FBNkI7UUFDekcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDdkQsSUFBSSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNoRixPQUFPLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDO1lBQ2xFLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUMsR0FBRyxPQUFPLEVBQUMsQ0FBQztRQUN4QyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRVMsY0FBYyxDQUFDLE1BQXVEO1FBQzVFLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNwQixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsT0FBTyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUNuQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUM1QyxJQUFJLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUM1QyxPQUFPLFFBQVEsQ0FBQztnQkFDcEIsQ0FBQztnQkFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUIsT0FBTyxFQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFDLENBQUM7WUFDekMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFUyxvQkFBb0IsQ0FBQyxPQUEwRDtRQUNyRixJQUFJLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQ2hHLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNQLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFO2dCQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUM7Z0JBQ3RDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ3hDLE9BQU8sUUFBUSxDQUFDO2dCQUNwQixDQUFDO2dCQUVELE9BQU8sRUFBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBQyxDQUFDO1lBQzNDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRVMsc0JBQXNCLENBQUMsUUFBd0M7UUFDckUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE9BQTBCO1lBQ3RCLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUztZQUM3QixVQUFVLEVBQUUsUUFBUSxFQUFFLFdBQVc7WUFDakMsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXO1lBQ2pDLFlBQVksRUFBRSxRQUFRLEVBQUUsYUFBYTtZQUNyQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUk7WUFDcEIsR0FBRyxFQUFFLFFBQVE7U0FDaEIsQ0FBQztJQUNOLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxPQUEwQjtRQUNqRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFbEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sRUFBRSxVQUFVLElBQUksQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxPQUFPLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUU5QyxJQUFJLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUUsTUFBTSxZQUFZLEdBQUcsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFFN0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLFlBQVksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFFRCxJQUFJLE9BQU8sRUFBRSxLQUFLLElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sRUFBRSxXQUFXLElBQUksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0csTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDakMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbGxlY3Rpb25BcGlSZXNwb25zZSwgQ29sbGVjdGlvbkRhdGEsIENvbGxlY3Rpb25BcGlQYXJhbXMsIENvbGxlY3Rpb25SZXF1ZXN0LCBDb2xsZWN0aW9uQ29udGV4dH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb2xsZWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIGlzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb2xsZWN0aW9uUHJvdmlkZXJ9IGZyb20gJy4vY29sbGVjdGlvbi5wcm92aWRlcic7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgQXBpQ29sbGVjdGlvblByb3ZpZGVyPFQ+IGV4dGVuZHMgQ29sbGVjdGlvblByb3ZpZGVyPFQ+IHtcblxuICAgIC8vIFN0YXRlLlxuICAgIHByb3RlY3RlZCBleHRyYVBhcmFtczogUmVjb3JkPHN0cmluZywgT2JzZXJ2YWJsZTxDb2xsZWN0aW9uQXBpUGFyYW1zPj4gPSB7fTtcbiAgICBwcm90ZWN0ZWQgZXh0cmFPYmplY3RQYXJhbXM6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkFwaVBhcmFtcz4+W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBlbmRwb2ludDogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgICAgICAgICAgIHByb3RlY3RlZCByZWFkb25seSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgYXBwZW5kKG5hbWU6IHN0cmluZywgdmFsdWU6IENvbGxlY3Rpb25BcGlQYXJhbXMgfCBPYnNlcnZhYmxlPENvbGxlY3Rpb25BcGlQYXJhbXM+KSB7XG4gICAgICAgIHRoaXMuZXh0cmFQYXJhbXNbbmFtZV0gPSBpc09ic2VydmFibGUodmFsdWUpID8gdmFsdWUgOiBvZih2YWx1ZSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGFwcGVuZE9iamVjdCh2YWx1ZTogUmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkFwaVBhcmFtcz4gfCBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIENvbGxlY3Rpb25BcGlQYXJhbXM+Pikge1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBpc09ic2VydmFibGUodmFsdWUpID8gdmFsdWUgOiBvZih2YWx1ZSk7XG4gICAgICAgIHRoaXMuZXh0cmFPYmplY3RQYXJhbXMucHVzaChwYXJhbXMpO1xuICAgIH1cblxuICAgIHRyYW5zZm9ybShyZXF1ZXN0OiBDb2xsZWN0aW9uUmVxdWVzdCwgY29udGV4dDogQ29sbGVjdGlvbkNvbnRleHQ8VD4pIHtcbiAgICAgICAgY29uc3QgZW5kcG9pbnQkID0gaXNPYnNlcnZhYmxlKHRoaXMuZW5kcG9pbnQpID8gdGhpcy5lbmRwb2ludCA6IG9mKHRoaXMuZW5kcG9pbnQpO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmdldEJhY2tlbmRGb3JtYXQocmVxdWVzdCk7XG4gICAgICAgIGNvbnN0IGV4dHJhUGFyYW1zJCA9IHRoaXMuZ2V0RXh0cmFQYXJhbXModGhpcy5leHRyYVBhcmFtcyk7XG4gICAgICAgIGNvbnN0IGV4dHJhT2JqZWN0UGFyYW1zJCA9IHRoaXMuZ2V0RXh0cmFPYmplY3RQYXJhbXModGhpcy5leHRyYU9iamVjdFBhcmFtcyk7XG5cbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW2VuZHBvaW50JCwgZXh0cmFQYXJhbXMkLCBleHRyYU9iamVjdFBhcmFtcyRdKS5waXBlKFxuICAgICAgICAgICAgdGFwKCgpID0+IGNvbnRleHQuY29sbGVjdGlvbi5sb2FkaW5nJC5uZXh0KHRydWUpKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW2VuZHBvaW50LCBleHRyYVBhcmFtcywgZXh0cmFPYmplY3RQYXJhbXNdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdGVkUGFyYW1zID0gdGhpcy52YWxpZGF0ZVBhcmFtcyh7Li4ucGFyYW1zLCAuLi5leHRyYVBhcmFtcywgLi4uZXh0cmFPYmplY3RQYXJhbXN9LCBjb250ZXh0KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxDb2xsZWN0aW9uQXBpUmVzcG9uc2U8VD4gfCBUW10+KGVuZHBvaW50LCB7cGFyYW1zOiB2YWxpZGF0ZWRQYXJhbXN9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHRoaXMuZm9ybWF0VG9Db2xsZWN0aW9uRGF0YShyZXNwb25zZSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlUGFyYW1zKHJlcXVlc3Q6IFJlY29yZDxzdHJpbmcsIENvbGxlY3Rpb25BcGlQYXJhbXM+LCBjb250ZXh0OiBDb2xsZWN0aW9uQ29udGV4dDxUPikge1xuICAgICAgICBpZiAoIXRoaXMuZGVlcENvbXBhcmUocmVxdWVzdCwgdGhpcy5jYWNoZWRSZXF1ZXN0UGFyYW1zKSkge1xuICAgICAgICAgICAgaWYgKHJlcXVlc3Q/LlsncGFnZSddICYmIHJlcXVlc3Q/LlsncGFnZSddID09PSB0aGlzLmNhY2hlZFJlcXVlc3RQYXJhbXM/LlsncGFnZSddKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5jb2xsZWN0aW9uLnBhZ2VOdW1iZXJDb250cm9sPy5zZXRWYWx1ZSgxKTtcbiAgICAgICAgICAgICAgICByZXF1ZXN0WydwYWdlJ10gPSBjb250ZXh0LmNvbGxlY3Rpb24ucGFnZU51bWJlckNvbnRyb2w/LnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jYWNoZWRSZXF1ZXN0UGFyYW1zID0gey4uLnJlcXVlc3R9O1xuICAgICAgICByZXR1cm4gcmVxdWVzdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RXh0cmFQYXJhbXMocGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBPYnNlcnZhYmxlPENvbGxlY3Rpb25BcGlQYXJhbXM+Pikge1xuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocGFyYW1zID8/IHt9KTtcbiAgICAgICAgaWYgKGtleXM/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yoe30pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXMkID0ga2V5cy5tYXAoa2V5ID0+IHBhcmFtcz8uW2tleV0pO1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChvYnNlcnZhYmxlcyQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEucmVkdWNlKChwcmV2aW91cywgY3VycmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0ga2V5cz8uW2luZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsuLi5wcmV2aW91cywgW2tleV06IGN1cnJlbnR9O1xuICAgICAgICAgICAgICAgIH0sIHt9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEV4dHJhT2JqZWN0UGFyYW1zKHBhcmFtcyQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgQ29sbGVjdGlvbkFwaVBhcmFtcz4+W10pIHtcbiAgICAgICAgaWYgKHBhcmFtcyQ/Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yoe30pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHBhcmFtcyQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiAoZGF0YSA/PyBbXSkucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4gKHsuLi5wcmV2aW91cywgLi4uKGN1cnJlbnQgPz8ge30pfSksIHt9KSksXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGRhdGEgPz8ge30pLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBkYXRhPy5bY3VycmVudF0gPz8gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmV2aW91cztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7Li4ucHJldmlvdXMsIFtjdXJyZW50XTogdmFsdWV9O1xuICAgICAgICAgICAgICAgIH0sIHt9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZvcm1hdFRvQ29sbGVjdGlvbkRhdGEocmVzcG9uc2U6IENvbGxlY3Rpb25BcGlSZXNwb25zZTxUPiB8IFRbXSkge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXNwb25zZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdEFycmF5VG9Db2xsZWN0aW9uRGF0YShyZXNwb25zZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gPENvbGxlY3Rpb25EYXRhPFQ+PntcbiAgICAgICAgICAgIHBhZ2VTaXplOiByZXNwb25zZT8ucGFnZV9zaXplLFxuICAgICAgICAgICAgcGFnZU51bWJlcjogcmVzcG9uc2U/LnBhZ2VfbnVtYmVyLFxuICAgICAgICAgICAgdG90YWxQYWdlczogcmVzcG9uc2U/LnRvdGFsX3BhZ2VzLFxuICAgICAgICAgICAgdG90YWxFbnRyaWVzOiByZXNwb25zZT8udG90YWxfZW50cmllcyxcbiAgICAgICAgICAgIGRhdGE6IHJlc3BvbnNlPy5kYXRhLFxuICAgICAgICAgICAgcmF3OiByZXNwb25zZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRCYWNrZW5kRm9ybWF0KHJlcXVlc3Q6IENvbGxlY3Rpb25SZXF1ZXN0KSB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuXG4gICAgICAgIHBhcmFtc1sncGFnZSddID0gcmVxdWVzdD8ucGFnZU51bWJlciA/PyAxO1xuICAgICAgICBwYXJhbXNbJ3BhZ2Vfc2l6ZSddID0gcmVxdWVzdD8ucGFnZVNpemUgPz8gMjU7XG5cbiAgICAgICAgaWYgKHJlcXVlc3Q/LnNvcnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNvcnQgPSBBcnJheS5pc0FycmF5KHJlcXVlc3Q/LnNvcnQpID8gcmVxdWVzdD8uc29ydCA6IFtyZXF1ZXN0Py5zb3J0XTtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU29ydCA9IHNvcnQ/LmZpbHRlcihpdGVtID0+ICEhaXRlbT8ubmFtZSAmJiAhIWl0ZW0/LmRpcmVjdGlvbik7XG5cbiAgICAgICAgICAgIHBhcmFtc1snc29ydCddID0gZmlsdGVyZWRTb3J0Py5tYXAoaXRlbSA9PiBpdGVtPy5uYW1lKT8uam9pbignLCcpO1xuICAgICAgICAgICAgcGFyYW1zWydzb3J0X2RpcmVjdGlvbiddID0gZmlsdGVyZWRTb3J0Py5tYXAoaXRlbSA9PiBpdGVtPy5kaXJlY3Rpb24pPy5qb2luKCcsJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVxdWVzdD8ucXVlcnkgJiYgcmVxdWVzdD8ucXVlcnk/Lmxlbmd0aCA+IDAgJiYgcmVxdWVzdD8ucXVlcnlGaWVsZHMgJiYgcmVxdWVzdD8ucXVlcnlGaWVsZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHBhcmFtc1sncXVlcnknXSA9IHJlcXVlc3Q/LnF1ZXJ5O1xuICAgICAgICAgICAgcGFyYW1zWydxdWVyeV9maWVsZHMnXSA9IHJlcXVlc3Q/LnF1ZXJ5RmllbGRzPy5qb2luKCcsJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH1cblxufVxuIl19
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export class CollectionProvider {
|
|
2
|
-
cachedRequestParams = null;
|
|
3
|
-
validateParams(request, _context) {
|
|
4
|
-
return request;
|
|
5
|
-
}
|
|
6
|
-
formatArrayToCollectionData(items) {
|
|
7
|
-
const count = items?.length ?? 1;
|
|
8
|
-
return {
|
|
9
|
-
pageSize: count,
|
|
10
|
-
totalEntries: count,
|
|
11
|
-
pageNumber: 1,
|
|
12
|
-
totalPages: 1,
|
|
13
|
-
data: items
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
deepCompare(value1, value2) {
|
|
17
|
-
if (value1 === value2) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
if (typeof value1 !== 'object' || typeof value2 !== 'object' || value1 === null || value2 === null) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
const keys1 = Object.keys(value1);
|
|
24
|
-
const keys2 = Object.keys(value2);
|
|
25
|
-
if (keys1.length !== keys2.length) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
for (const key of keys1) {
|
|
29
|
-
if (!keys2.includes(key)) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
if (!this.deepCompare(value1[key], value2[key])) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29sbGVjdGlvbnMvc3JjL2xpYi9wcm92aWRlcnMvY29sbGVjdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQWdCLGtCQUFrQjtJQUUxQixtQkFBbUIsR0FBK0MsSUFBSSxDQUFDO0lBSXZFLGNBQWMsQ0FBQyxPQUE0QyxFQUFFLFFBQThCO1FBQ2pHLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFUywyQkFBMkIsQ0FBQyxLQUFVO1FBQzVDLE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE9BQTBCO1lBQ3RCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsVUFBVSxFQUFFLENBQUM7WUFDYixVQUFVLEVBQUUsQ0FBQztZQUNiLElBQUksRUFBRSxLQUFLO1NBQ2QsQ0FBQztJQUNOLENBQUM7SUFFUyxXQUFXLENBQUMsTUFBZSxFQUFFLE1BQWU7UUFDbEQsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNqRyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29sbGVjdGlvbkFwaVBhcmFtcywgQ29sbGVjdGlvbkNvbnRleHQsIENvbGxlY3Rpb25EYXRhLCBDb2xsZWN0aW9uUmVxdWVzdH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb2xsZWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29sbGVjdGlvblByb3ZpZGVyPFQ+IHtcblxuICAgIHByb3RlY3RlZCBjYWNoZWRSZXF1ZXN0UGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBDb2xsZWN0aW9uQXBpUGFyYW1zPiB8IG51bGwgPSBudWxsO1xuXG4gICAgYWJzdHJhY3QgdHJhbnNmb3JtKHJlcXVlc3Q6IENvbGxlY3Rpb25SZXF1ZXN0LCBjb250ZXh0OiBDb2xsZWN0aW9uQ29udGV4dDxUPik6IE9ic2VydmFibGU8Q29sbGVjdGlvbkRhdGE8VD4+O1xuXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlUGFyYW1zKHJlcXVlc3Q6IFJlY29yZDxzdHJpbmcsIENvbGxlY3Rpb25BcGlQYXJhbXM+LCBfY29udGV4dDogQ29sbGVjdGlvbkNvbnRleHQ8VD4pIHtcbiAgICAgICAgcmV0dXJuIHJlcXVlc3Q7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZvcm1hdEFycmF5VG9Db2xsZWN0aW9uRGF0YShpdGVtczogVFtdKSB7XG4gICAgICAgIGNvbnN0IGNvdW50ID0gaXRlbXM/Lmxlbmd0aCA/PyAxO1xuICAgICAgICByZXR1cm4gPENvbGxlY3Rpb25EYXRhPFQ+PntcbiAgICAgICAgICAgIHBhZ2VTaXplOiBjb3VudCxcbiAgICAgICAgICAgIHRvdGFsRW50cmllczogY291bnQsXG4gICAgICAgICAgICBwYWdlTnVtYmVyOiAxLFxuICAgICAgICAgICAgdG90YWxQYWdlczogMSxcbiAgICAgICAgICAgIGRhdGE6IGl0ZW1zXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRlZXBDb21wYXJlKHZhbHVlMTogdW5rbm93biwgdmFsdWUyOiB1bmtub3duKSB7XG4gICAgICAgIGlmICh2YWx1ZTEgPT09IHZhbHVlMikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlMSAhPT0gJ29iamVjdCcgfHwgdHlwZW9mIHZhbHVlMiAhPT0gJ29iamVjdCcgfHwgdmFsdWUxID09PSBudWxsIHx8IHZhbHVlMiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2V5czEgPSBPYmplY3Qua2V5cyh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBrZXlzMiA9IE9iamVjdC5rZXlzKHZhbHVlMik7XG4gICAgICAgIGlmIChrZXlzMS5sZW5ndGggIT09IGtleXMyLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5czEpIHtcbiAgICAgICAgICAgIGlmICgha2V5czIuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5kZWVwQ29tcGFyZSh2YWx1ZTFba2V5XSwgdmFsdWUyW2tleV0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ArrayCollection } from '../classes/array.collection';
|
|
2
|
-
import { CollectionProvider } from './collection.provider';
|
|
3
|
-
import { delay, map } from 'rxjs/operators';
|
|
4
|
-
import { BehaviorSubject } from 'rxjs';
|
|
5
|
-
export class LocalCollectionProvider extends CollectionProvider {
|
|
6
|
-
_options;
|
|
7
|
-
_items$ = new BehaviorSubject([]);
|
|
8
|
-
constructor(items, _options) {
|
|
9
|
-
super();
|
|
10
|
-
this._options = _options;
|
|
11
|
-
this.update(items);
|
|
12
|
-
}
|
|
13
|
-
update(value) {
|
|
14
|
-
this._items$.next(value);
|
|
15
|
-
}
|
|
16
|
-
transform(request) {
|
|
17
|
-
return this._items$.pipe(map(items => {
|
|
18
|
-
return new ArrayCollection(items)
|
|
19
|
-
.search(request?.query, request.queryFields)
|
|
20
|
-
.sortBy(request?.sort, this._options?.sortables ?? {})
|
|
21
|
-
.toPage(request?.pageNumber, request?.pageSize);
|
|
22
|
-
}), delay(1));
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtY29sbGVjdGlvbi5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29sbGVjdGlvbnMvc3JjL2xpYi9wcm92aWRlcnMvbG9jYWwtY29sbGVjdGlvbi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE1BQU0sT0FBTyx1QkFBMkIsU0FBUSxrQkFBcUI7SUFLN0M7SUFIWixPQUFPLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFFL0MsWUFBWSxLQUFVLEVBQ0YsUUFBb0M7UUFDcEQsS0FBSyxFQUFFLENBQUM7UUFEUSxhQUFRLEdBQVIsUUFBUSxDQUE0QjtRQUVwRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBVTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBMEI7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1IsT0FBTyxJQUFJLGVBQWUsQ0FBSSxLQUFLLENBQUM7aUJBQy9CLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUM7aUJBQ2hELE1BQU0sQ0FBTSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztpQkFDMUQsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxFQUNGLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDWCxDQUFDO0lBQ04sQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcnJheUNvbGxlY3Rpb25PcHRpb25zfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FycmF5LWNvbGxlY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7Q29sbGVjdGlvblJlcXVlc3R9IGZyb20gJy4uL2ludGVyZmFjZXMvY29sbGVjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHtBcnJheUNvbGxlY3Rpb259IGZyb20gJy4uL2NsYXNzZXMvYXJyYXkuY29sbGVjdGlvbic7XG5pbXBvcnQge0NvbGxlY3Rpb25Qcm92aWRlcn0gZnJvbSAnLi9jb2xsZWN0aW9uLnByb3ZpZGVyJztcbmltcG9ydCB7ZGVsYXksIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgTG9jYWxDb2xsZWN0aW9uUHJvdmlkZXI8VD4gZXh0ZW5kcyBDb2xsZWN0aW9uUHJvdmlkZXI8VD4ge1xuXG4gICAgcHJpdmF0ZSBfaXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcblxuICAgIGNvbnN0cnVjdG9yKGl0ZW1zOiBUW10sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfb3B0aW9ucz86IEFycmF5Q29sbGVjdGlvbk9wdGlvbnM8VD4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy51cGRhdGUoaXRlbXMpO1xuICAgIH1cblxuICAgIHVwZGF0ZSh2YWx1ZTogVFtdKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1zJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICB0cmFuc2Zvcm0ocmVxdWVzdDogQ29sbGVjdGlvblJlcXVlc3QpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zJC5waXBlKFxuICAgICAgICAgICAgbWFwKGl0ZW1zID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEFycmF5Q29sbGVjdGlvbjxUPihpdGVtcylcbiAgICAgICAgICAgICAgICAgICAgLnNlYXJjaChyZXF1ZXN0Py5xdWVyeSwgPGFueT5yZXF1ZXN0LnF1ZXJ5RmllbGRzKVxuICAgICAgICAgICAgICAgICAgICAuc29ydEJ5KDxhbnk+cmVxdWVzdD8uc29ydCwgdGhpcy5fb3B0aW9ucz8uc29ydGFibGVzID8/IHt9KVxuICAgICAgICAgICAgICAgICAgICAudG9QYWdlKHJlcXVlc3Q/LnBhZ2VOdW1iZXIsIHJlcXVlc3Q/LnBhZ2VTaXplKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZGVsYXkoMSlcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export * from './lib/interfaces/collection.interface';
|
|
2
|
-
export * from './lib/interfaces/array-collection.interface';
|
|
3
|
-
export * from './lib/providers/collection.provider';
|
|
4
|
-
export * from './lib/providers/api-collection.provider';
|
|
5
|
-
export * from './lib/providers/local-collection.provider';
|
|
6
|
-
export * from './lib/directives/collections-data.directive';
|
|
7
|
-
export * from './lib/directives/collections-data-row.directive';
|
|
8
|
-
export * from './lib/directives/collections-empty.directive';
|
|
9
|
-
export * from './lib/directives/collections-error.directive';
|
|
10
|
-
export * from './lib/directives/collections-initial.directive';
|
|
11
|
-
export * from './lib/directives/collections-item.directive';
|
|
12
|
-
export * from './lib/components/collections-viewer/collections-viewer.component';
|
|
13
|
-
export * from './lib/components/collections-pager/collections-pager.component';
|
|
14
|
-
export * from './lib/components/collections-table/collections-table.component';
|
|
15
|
-
export * from './lib/components/collections-table-sorting/collections-table-sorting.component';
|
|
16
|
-
export * from './lib/components/collections-table-label/collections-table-label.component';
|
|
17
|
-
export * from './lib/components/collections-grid/collections-grid.component';
|
|
18
|
-
export * from './lib/components/collections-actions/collections-actions.component';
|
|
19
|
-
export * from './lib/classes/array.collection';
|
|
20
|
-
export * from './lib/collection';
|
|
21
|
-
export * from './lib/collections.module';
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29sbGVjdGlvbnMvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsZ0ZBQWdGLENBQUM7QUFDL0YsY0FBYyw0RUFBNEUsQ0FBQztBQUMzRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsb0VBQW9FLENBQUM7QUFFbkYsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NvbGxlY3Rpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvYXJyYXktY29sbGVjdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvY29sbGVjdGlvbi5wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlcnMvYXBpLWNvbGxlY3Rpb24ucHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzL2xvY2FsLWNvbGxlY3Rpb24ucHJvdmlkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NvbGxlY3Rpb25zLWRhdGEuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZGF0YS1yb3cuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZW1wdHkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtZXJyb3IuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY29sbGVjdGlvbnMtaW5pdGlhbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jb2xsZWN0aW9ucy1pdGVtLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29sbGVjdGlvbnMtdmlld2VyL2NvbGxlY3Rpb25zLXZpZXdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb2xsZWN0aW9ucy1wYWdlci9jb2xsZWN0aW9ucy1wYWdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb2xsZWN0aW9ucy10YWJsZS9jb2xsZWN0aW9ucy10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb2xsZWN0aW9ucy10YWJsZS1zb3J0aW5nL2NvbGxlY3Rpb25zLXRhYmxlLXNvcnRpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29sbGVjdGlvbnMtdGFibGUtbGFiZWwvY29sbGVjdGlvbnMtdGFibGUtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29sbGVjdGlvbnMtZ3JpZC9jb2xsZWN0aW9ucy1ncmlkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbGxlY3Rpb25zLWFjdGlvbnMvY29sbGVjdGlvbnMtYWN0aW9ucy5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL2FycmF5LmNvbGxlY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2xsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29sbGVjdGlvbnMubW9kdWxlJztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdm9iaXQtYmItZm91bmRhdGlvbi1jb21ib2JveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29tYm9ib3gvc3JjL2JyYXZvYml0LWJiLWZvdW5kYXRpb24tY29tYm9ib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, Inject, Injector, Optional } from '@angular/core';
|
|
2
|
-
import { BbComboboxPanel } from '../combobox-panel/combobox-panel.component';
|
|
3
|
-
import { fromEvent, Subscription, throttleTime } from 'rxjs';
|
|
4
|
-
import { ComponentPortal } from '@angular/cdk/portal';
|
|
5
|
-
import { BbCombobox } from './combobox.component';
|
|
6
|
-
import { WINDOW } from '@bravobit/bb-foundation';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
9
|
-
import * as i2 from "./combobox.component";
|
|
10
|
-
export class BbComboboxContainer {
|
|
11
|
-
_overlay;
|
|
12
|
-
_combobox;
|
|
13
|
-
_viewContainerRef;
|
|
14
|
-
_elementRef;
|
|
15
|
-
_window;
|
|
16
|
-
// State.
|
|
17
|
-
_overlayRef = null;
|
|
18
|
-
// Subscriptions.
|
|
19
|
-
_subscription = new Subscription();
|
|
20
|
-
constructor(_overlay, _combobox, _viewContainerRef, _elementRef, _window) {
|
|
21
|
-
this._overlay = _overlay;
|
|
22
|
-
this._combobox = _combobox;
|
|
23
|
-
this._viewContainerRef = _viewContainerRef;
|
|
24
|
-
this._elementRef = _elementRef;
|
|
25
|
-
this._window = _window;
|
|
26
|
-
}
|
|
27
|
-
get width() {
|
|
28
|
-
return this._elementRef?.nativeElement?.clientWidth ?? 0;
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.createOverlay();
|
|
32
|
-
this.handleResizing();
|
|
33
|
-
this.handleBackdropClick();
|
|
34
|
-
}
|
|
35
|
-
ngOnDestroy() {
|
|
36
|
-
this._subscription?.unsubscribe();
|
|
37
|
-
this._overlayRef?.dispose();
|
|
38
|
-
this._overlayRef = null;
|
|
39
|
-
}
|
|
40
|
-
toggle() {
|
|
41
|
-
if (!this._overlayRef) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
this._overlayRef?.hasAttached() ? this.close() : this.open();
|
|
45
|
-
}
|
|
46
|
-
open() {
|
|
47
|
-
const injector = Injector.create({
|
|
48
|
-
providers: [
|
|
49
|
-
{ provide: BbComboboxContainer, useValue: this },
|
|
50
|
-
{ provide: BbCombobox, useValue: this._combobox }
|
|
51
|
-
]
|
|
52
|
-
});
|
|
53
|
-
const component = new ComponentPortal(BbComboboxPanel, this._viewContainerRef, injector);
|
|
54
|
-
this._overlayRef.attach(component);
|
|
55
|
-
}
|
|
56
|
-
close() {
|
|
57
|
-
this._overlayRef?.detach();
|
|
58
|
-
}
|
|
59
|
-
getPositionStrategy() {
|
|
60
|
-
const positions = this.getPositions();
|
|
61
|
-
return this._overlay
|
|
62
|
-
.position()
|
|
63
|
-
.flexibleConnectedTo(this._elementRef)
|
|
64
|
-
.withFlexibleDimensions(true)
|
|
65
|
-
.withGrowAfterOpen(true)
|
|
66
|
-
.withPush(false)
|
|
67
|
-
.withViewportMargin(20)
|
|
68
|
-
.withPositions(positions);
|
|
69
|
-
}
|
|
70
|
-
getPositions() {
|
|
71
|
-
return [
|
|
72
|
-
{
|
|
73
|
-
originX: 'center',
|
|
74
|
-
originY: 'bottom',
|
|
75
|
-
overlayX: 'center',
|
|
76
|
-
overlayY: 'top',
|
|
77
|
-
offsetY: 10
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
originX: 'center',
|
|
81
|
-
originY: 'top',
|
|
82
|
-
overlayX: 'center',
|
|
83
|
-
overlayY: 'bottom',
|
|
84
|
-
offsetY: -10
|
|
85
|
-
}
|
|
86
|
-
];
|
|
87
|
-
}
|
|
88
|
-
resize() {
|
|
89
|
-
this._overlayRef.updateSize({ width: this.width });
|
|
90
|
-
}
|
|
91
|
-
createOverlay() {
|
|
92
|
-
const positionStrategy = this.getPositionStrategy();
|
|
93
|
-
const scrollStrategy = this._overlay.scrollStrategies.reposition();
|
|
94
|
-
this._overlayRef = this._overlay.create({
|
|
95
|
-
positionStrategy,
|
|
96
|
-
scrollStrategy,
|
|
97
|
-
hasBackdrop: true,
|
|
98
|
-
backdropClass: null,
|
|
99
|
-
disposeOnNavigation: true,
|
|
100
|
-
width: this.width
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
handleBackdropClick() {
|
|
104
|
-
if (!this._overlayRef) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
const subscription = this._overlayRef.backdropClick()
|
|
108
|
-
.subscribe(() => this.close());
|
|
109
|
-
this._subscription.add(subscription);
|
|
110
|
-
}
|
|
111
|
-
handleResizing() {
|
|
112
|
-
if (!this._window) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
const resize$ = fromEvent(this._window, 'resize').pipe(throttleTime(20));
|
|
116
|
-
const subscription = resize$.subscribe(() => this.resize());
|
|
117
|
-
this._subscription.add(subscription);
|
|
118
|
-
}
|
|
119
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbComboboxContainer, deps: [{ token: i1.Overlay }, { token: i2.BbCombobox }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: WINDOW, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
120
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbComboboxContainer, isStandalone: true, selector: "[bbComboboxContainer]", host: { listeners: { "click": "toggle()" } }, ngImport: i0 });
|
|
121
|
-
}
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbComboboxContainer, decorators: [{
|
|
123
|
-
type: Directive,
|
|
124
|
-
args: [{
|
|
125
|
-
selector: '[bbComboboxContainer]',
|
|
126
|
-
standalone: true
|
|
127
|
-
}]
|
|
128
|
-
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i2.BbCombobox }, { type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: Window, decorators: [{
|
|
129
|
-
type: Optional
|
|
130
|
-
}, {
|
|
131
|
-
type: Inject,
|
|
132
|
-
args: [WINDOW]
|
|
133
|
-
}] }], propDecorators: { toggle: [{
|
|
134
|
-
type: HostListener,
|
|
135
|
-
args: ['click']
|
|
136
|
-
}] } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29tYm9ib3gvc3JjL2NvbWJvYm94L2NvbWJvYm94LWNvbnRhaW5lci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBcUIsUUFBUSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUVuSSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDOzs7O0FBTS9DLE1BQU0sT0FBTyxtQkFBbUI7SUFRUjtJQUNBO0lBQ0E7SUFDQTtJQUM0QjtJQVZoRCxTQUFTO0lBQ0QsV0FBVyxHQUFzQixJQUFJLENBQUM7SUFFOUMsaUJBQWlCO0lBQ1QsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFM0MsWUFBb0IsUUFBaUIsRUFDakIsU0FBcUIsRUFDckIsaUJBQW1DLEVBQ25DLFdBQW9DLEVBQ1IsT0FBZTtRQUozQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFDckIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDUixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQy9ELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxX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aXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlSZWZ9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7QmJDb21ib2JveFBhbmVsfSBmcm9tICcuLi9jb21ib2JveC1wYW5lbC9jb21ib2JveC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7QmJDb21ib2JveH0gZnJvbSAnLi9jb21ib2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYmJDb21ib2JveENvbnRhaW5lcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJDb21ib2JveENvbnRhaW5lciBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIFN0YXRlLlxuICAgIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9jb21ib2JveDogQmJDb21ib2JveCxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIF93aW5kb3c6IFdpbmRvdykge1xuICAgIH1cblxuICAgIGdldCB3aWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWVudFdpZHRoID8/IDA7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgICAgICB0aGlzLmhhbmRsZVJlc2l6aW5nKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQmFja2Ryb3BDbGljaygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IG51bGw7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XG4gICAgfVxuXG4gICAgb3BlbigpIHtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge3Byb3ZpZGU6IEJiQ29tYm9ib3hDb250YWluZXIsIHVzZVZhbHVlOiB0aGlzfSxcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogQmJDb21ib2JveCwgdXNlVmFsdWU6IHRoaXMuX2NvbWJvYm94fVxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBuZXcgQ29tcG9uZW50UG9ydGFsKEJiQ29tYm9ib3hQYW5lbCwgdGhpcy5fdmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChjb21wb25lbnQpO1xuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc2l0aW9uU3RyYXRlZ3koKSB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IHRoaXMuZ2V0UG9zaXRpb25zKCk7XG4gICAgICAgIHJldHVybiB0aGlzLl9vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZWxlbWVudFJlZilcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKHRydWUpXG4gICAgICAgICAgICAud2l0aEdyb3dBZnRlck9wZW4odHJ1ZSlcbiAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSlcbiAgICAgICAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4oMjApXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhwb3NpdGlvbnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25zKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgb2Zmc2V0WTogMTBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICBvZmZzZXRZOiAtMTBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSBzYXRpc2ZpZXMgQ29ubmVjdGVkUG9zaXRpb25bXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVTaXplKHt3aWR0aDogdGhpcy53aWR0aH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpIHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSgpO1xuICAgICAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6IG51bGwsXG4gICAgICAgICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMud2lkdGhcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVCYWNrZHJvcENsaWNrKCkge1xuICAgICAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuX292ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJlc2l6aW5nKCkge1xuICAgICAgICBpZiAoIXRoaXMuX3dpbmRvdykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzaXplJCA9IGZyb21FdmVudCh0aGlzLl93aW5kb3csICdyZXNpemUnKS5waXBlKFxuICAgICAgICAgICAgdGhyb3R0bGVUaW1lKDIwKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHJlc2l6ZSQuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzaXplKCkpO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG59XG4iXX0=
|