@hmcts/rpx-xui-common-lib 1.8.7-fix-wrong-services → 1.8.7-generic-filter-clear-errors-on-destroy
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/bundles/hmcts-rpx-xui-common-lib.umd.js +4626 -7107
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/hmcts-rpx-xui-common-lib.js +33 -35
- package/esm2015/lib/components/accessibility/accessibility.component.js +2 -8
- package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +14 -112
- package/esm2015/lib/components/contact-details/contact-details.component.js +2 -12
- package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +4 -65
- package/esm2015/lib/components/due-date/due-date.component.js +2 -97
- package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +7 -21
- package/esm2015/lib/components/find-location/find-location.component.js +46 -140
- package/esm2015/lib/components/find-person/find-person.component.js +14 -154
- package/esm2015/lib/components/find-service/find-service.component.js +97 -43
- package/esm2015/lib/components/find-task-name/find-task-name.component.js +97 -0
- package/esm2015/lib/components/generic-filter/generic-filter-utils.js +11 -55
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +286 -294
- package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +3 -18
- package/esm2015/lib/components/index.js +2 -7
- package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +2 -22
- package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +2 -21
- package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +3 -12
- package/esm2015/lib/components/pagination/pagination.component.js +2 -24
- package/esm2015/lib/components/public_api.js +37 -33
- package/esm2015/lib/components/search-judicials/search-judicials.component.js +11 -134
- package/esm2015/lib/components/search-location/search-location.component.js +64 -223
- package/esm2015/lib/components/search-service/search-service.component.js +28 -46
- package/esm2015/lib/components/search-venue/search-venue.component.js +11 -134
- package/esm2015/lib/components/selected-case/selected-case.component.js +20 -175
- package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +3 -41
- package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +4 -55
- package/esm2015/lib/components/service-message/service-message.component.js +2 -20
- package/esm2015/lib/components/service-messages/service-messages.component.js +7 -65
- package/esm2015/lib/components/share-case/share-case.component.js +23 -169
- package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +4 -37
- package/esm2015/lib/components/tab/tab.component.js +2 -26
- package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +2 -17
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +2 -8
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +2 -8
- package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +2 -12
- package/esm2015/lib/components/user-details/user-details.component.js +2 -39
- package/esm2015/lib/components/user-list/user-list.component.js +2 -32
- package/esm2015/lib/components/user-select/user-select.component.js +5 -52
- package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +3 -56
- package/esm2015/lib/directives/index.js +2 -7
- package/esm2015/lib/directives/let/let.directive.js +1 -39
- package/esm2015/lib/directives/public-api.js +3 -8
- package/esm2015/lib/exui-common-lib.module.js +11 -10
- package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +2 -22
- package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +44 -16
- package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +4 -54
- package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +2 -14
- package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +2 -17
- package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +2 -24
- package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +2 -16
- package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +4 -24
- package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +4 -13
- package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +6 -24
- package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +2 -13
- package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +3 -22
- package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +2 -32
- package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +2 -18
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js +2 -0
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +13 -25
- package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +2 -44
- package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +2 -16
- package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +3 -37
- package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +2 -23
- package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +2 -22
- package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +3 -30
- package/esm2015/lib/gov-ui/components/index.js +2 -7
- package/esm2015/lib/gov-ui/components/public_api.js +22 -7
- package/esm2015/lib/gov-ui/directives/remove-host.directive.js +1 -22
- package/esm2015/lib/gov-ui/gov-ui.service.js +2 -8
- package/esm2015/lib/gov-ui/index.js +2 -7
- package/esm2015/lib/gov-ui/models/checkboxes-model.js +2 -22
- package/esm2015/lib/gov-ui/models/error-messages-model.js +2 -16
- package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +2 -36
- package/esm2015/lib/gov-ui/models/index.js +2 -7
- package/esm2015/lib/gov-ui/models/isession-storage.interface.js +2 -24
- package/esm2015/lib/gov-ui/models/public_api.js +4 -10
- package/esm2015/lib/gov-ui/models/radio-buttons.model.js +2 -0
- package/esm2015/lib/gov-ui/public_api.js +5 -9
- package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +4 -14
- package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
- package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
- package/esm2015/lib/gov-ui/validators/date.validator.js +3 -20
- package/esm2015/lib/gov-ui/validators/index.js +2 -7
- package/esm2015/lib/gov-ui/validators/public_api.js +4 -9
- package/esm2015/lib/gov-ui/validators/radio-group.validator.js +3 -15
- package/esm2015/lib/models/case-share.model.js +7 -33
- package/esm2015/lib/models/contact-details.model.js +7 -31
- package/esm2015/lib/models/due-date.model.js +7 -14
- package/esm2015/lib/models/feature-user.js +1 -16
- package/esm2015/lib/models/filter.model.js +1 -124
- package/esm2015/lib/models/idle-config.model.js +2 -20
- package/esm2015/lib/models/index.js +16 -20
- package/esm2015/lib/models/location.model.js +7 -129
- package/esm2015/lib/models/pagination.model.js +2 -18
- package/esm2015/lib/models/person.model.js +19 -96
- package/esm2015/lib/models/public_api.js +6 -11
- package/esm2015/lib/models/search-options.model.js +2 -22
- package/esm2015/lib/models/task-name.model.js +2 -0
- package/esm2015/lib/models/tcDocument.model.js +2 -18
- package/esm2015/lib/models/timeout-notification.model.js +2 -18
- package/esm2015/lib/models/user-details.model.js +2 -22
- package/esm2015/lib/models/user.model.js +2 -25
- package/esm2015/lib/pipes/capitalize/capitalize.pipe.js +11 -0
- package/esm2015/lib/pipes/index.js +2 -0
- package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +11 -96
- package/esm2015/lib/services/cookie/cookie.service.js +8 -71
- package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +4 -43
- package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +2 -28
- package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +12 -94
- package/esm2015/lib/services/filter/filter.service.js +14 -69
- package/esm2015/lib/services/find-person/find-person.service.js +17 -125
- package/esm2015/lib/services/google-analytics/google-analytics.service.js +8 -63
- package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +10 -64
- package/esm2015/lib/services/index.js +2 -7
- package/esm2015/lib/services/loading/loading.service.js +2 -41
- package/esm2015/lib/services/locations/location.service.js +14 -32
- package/esm2015/lib/services/manage-session/manage-session.services.js +10 -63
- package/esm2015/lib/services/public-api.js +14 -18
- package/esm2015/lib/services/ref-data/index.js +4 -0
- package/esm2015/lib/services/ref-data/models/ref-data-htmcs-service.model.js +2 -0
- package/esm2015/lib/services/ref-data/models/ref-data-region.model.js +2 -0
- package/esm2015/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.js +2 -0
- package/esm2015/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.js +34 -0
- package/esm2015/lib/services/ref-data/ref-data.service.js +35 -0
- package/esm2015/lib/services/role-guard/role.guard.js +17 -55
- package/esm2015/lib/services/role-guard/role.service.js +7 -26
- package/esm2015/lib/services/storage/session-storage/session-storage.service.js +41 -0
- package/esm2015/lib/services/task-name/task-name.service.js +37 -0
- package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +16 -78
- package/esm2015/lib/window.js +1 -10
- package/esm2015/public-api.js +9 -13
- package/fesm2015/hmcts-rpx-xui-common-lib.js +3941 -5799
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.d.ts +31 -28
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/lib/components/checkbox-list/checkbox-list.component.d.ts +6 -5
- package/lib/components/due-date/due-date.component.d.ts +4 -4
- package/lib/components/find-location/find-location.component.d.ts +13 -8
- package/lib/components/find-person/find-person.component.d.ts +1 -1
- package/lib/components/find-service/find-service.component.d.ts +21 -9
- package/lib/components/find-task-name/find-task-name.component.d.ts +41 -0
- package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
- package/lib/components/generic-filter/generic-filter.component.d.ts +20 -6
- package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
- package/lib/components/invite-user-form/invite-user-form.component.d.ts +2 -2
- package/lib/components/public_api.d.ts +9 -0
- package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
- package/lib/components/search-location/search-location.component.d.ts +20 -20
- package/lib/components/search-service/search-service.component.d.ts +11 -9
- package/lib/components/search-venue/search-venue.component.d.ts +1 -1
- package/lib/components/user-list/user-list.component.d.ts +1 -1
- package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
- package/lib/directives/let/let.directive.d.ts +1 -1
- package/lib/exui-common-lib.module.d.ts +4 -3
- package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +14 -5
- package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +1 -2
- package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +1 -0
- package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +2 -2
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +4 -2
- package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +3 -3
- package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
- package/lib/gov-ui/components/public_api.d.ts +20 -0
- package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
- package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
- package/lib/gov-ui/models/public_api.d.ts +0 -1
- package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
- package/lib/gov-ui/public_api.d.ts +1 -0
- package/lib/models/filter.model.d.ts +38 -8
- package/lib/models/index.d.ts +1 -0
- package/lib/models/location.model.d.ts +8 -8
- package/lib/models/task-name.model.d.ts +4 -0
- package/lib/pipes/capitalize/capitalize.pipe.d.ts +4 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
- package/lib/services/filter/filter.service.d.ts +1 -0
- package/lib/services/find-person/find-person.service.d.ts +1 -1
- package/lib/services/loading/loading.service.d.ts +2 -2
- package/lib/services/locations/location.service.d.ts +1 -1
- package/lib/services/public-api.d.ts +1 -0
- package/lib/services/ref-data/index.d.ts +3 -0
- package/lib/services/ref-data/models/ref-data-htmcs-service.model.d.ts +13 -0
- package/lib/services/ref-data/models/ref-data-region.model.d.ts +4 -0
- package/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.d.ts +8 -0
- package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +15 -0
- package/lib/services/ref-data/ref-data.service.d.ts +14 -0
- package/lib/services/role-guard/role.guard.d.ts +2 -1
- package/lib/services/role-guard/role.service.d.ts +4 -2
- package/lib/services/task-name/task-name.service.d.ts +14 -0
- package/lib/window.d.ts +2 -2
- package/package.json +6 -16
- package/public-api.d.ts +1 -0
- package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -16
- package/esm2015/lib/services/session-storage/session-storage.service.js +0 -55
- package/esm5/hmcts-rpx-xui-common-lib.js +0 -75
- package/esm5/lib/components/accessibility/accessibility.component.js +0 -22
- package/esm5/lib/components/checkbox-list/checkbox-list.component.js +0 -391
- package/esm5/lib/components/contact-details/contact-details.component.js +0 -29
- package/esm5/lib/components/cookie-banner/cookie-banner.component.js +0 -154
- package/esm5/lib/components/due-date/due-date.component.js +0 -254
- package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -45
- package/esm5/lib/components/find-location/find-location.component.js +0 -293
- package/esm5/lib/components/find-person/find-person.component.js +0 -287
- package/esm5/lib/components/find-service/find-service.component.js +0 -64
- package/esm5/lib/components/generic-filter/generic-filter-utils.js +0 -66
- package/esm5/lib/components/generic-filter/generic-filter.component.js +0 -840
- package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -47
- package/esm5/lib/components/index.js +0 -7
- package/esm5/lib/components/invite-user-form/invite-user-form.component.js +0 -54
- package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -46
- package/esm5/lib/components/loading-spinner/loading-spinner.component.js +0 -29
- package/esm5/lib/components/pagination/pagination.component.js +0 -58
- package/esm5/lib/components/public_api.js +0 -33
- package/esm5/lib/components/search-judicials/search-judicials.component.js +0 -291
- package/esm5/lib/components/search-location/search-location.component.js +0 -329
- package/esm5/lib/components/search-service/search-service.component.js +0 -68
- package/esm5/lib/components/search-venue/search-venue.component.js +0 -290
- package/esm5/lib/components/selected-case/selected-case.component.js +0 -424
- package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -84
- package/esm5/lib/components/selected-case-list/selected-case-list.component.js +0 -115
- package/esm5/lib/components/service-message/service-message.component.js +0 -46
- package/esm5/lib/components/service-messages/service-messages.component.js +0 -122
- package/esm5/lib/components/share-case/share-case.component.js +0 -435
- package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +0 -70
- package/esm5/lib/components/tab/tab.component.js +0 -51
- package/esm5/lib/components/tc-confirm/tc-confirm.component.js +0 -42
- package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -22
- package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -22
- package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -29
- package/esm5/lib/components/user-details/user-details.component.js +0 -92
- package/esm5/lib/components/user-list/user-list.component.js +0 -76
- package/esm5/lib/components/user-select/user-select.component.js +0 -131
- package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +0 -104
- package/esm5/lib/directives/index.js +0 -7
- package/esm5/lib/directives/let/let.directive.js +0 -78
- package/esm5/lib/directives/public-api.js +0 -8
- package/esm5/lib/exui-common-lib.module.js +0 -167
- package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -56
- package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -36
- package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -135
- package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -37
- package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -49
- package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -65
- package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -40
- package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -66
- package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -34
- package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -67
- package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -36
- package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -52
- package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -77
- package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -50
- package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -38
- package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -108
- package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -40
- package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -87
- package/esm5/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -51
- package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -49
- package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -46
- package/esm5/lib/gov-ui/components/index.js +0 -7
- package/esm5/lib/gov-ui/components/public_api.js +0 -7
- package/esm5/lib/gov-ui/directives/remove-host.directive.js +0 -52
- package/esm5/lib/gov-ui/gov-ui.service.js +0 -22
- package/esm5/lib/gov-ui/index.js +0 -7
- package/esm5/lib/gov-ui/models/banner-data-model.js +0 -16
- package/esm5/lib/gov-ui/models/checkboxes-model.js +0 -22
- package/esm5/lib/gov-ui/models/error-messages-model.js +0 -16
- package/esm5/lib/gov-ui/models/gov-ui-config-model.js +0 -36
- package/esm5/lib/gov-ui/models/index.js +0 -7
- package/esm5/lib/gov-ui/models/isession-storage.interface.js +0 -24
- package/esm5/lib/gov-ui/models/public_api.js +0 -13
- package/esm5/lib/gov-ui/public_api.js +0 -12
- package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +0 -57
- package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -58
- package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +0 -38
- package/esm5/lib/gov-ui/validators/date.validator.js +0 -32
- package/esm5/lib/gov-ui/validators/index.js +0 -7
- package/esm5/lib/gov-ui/validators/public_api.js +0 -12
- package/esm5/lib/gov-ui/validators/radio-group.validator.js +0 -27
- package/esm5/lib/models/case-share.model.js +0 -33
- package/esm5/lib/models/contact-details.model.js +0 -31
- package/esm5/lib/models/due-date.model.js +0 -15
- package/esm5/lib/models/feature-user.js +0 -28
- package/esm5/lib/models/filter.model.js +0 -130
- package/esm5/lib/models/idle-config.model.js +0 -20
- package/esm5/lib/models/index.js +0 -20
- package/esm5/lib/models/location.model.js +0 -129
- package/esm5/lib/models/pagination.model.js +0 -18
- package/esm5/lib/models/person.model.js +0 -96
- package/esm5/lib/models/public_api.js +0 -11
- package/esm5/lib/models/search-options.model.js +0 -22
- package/esm5/lib/models/tcDocument.model.js +0 -18
- package/esm5/lib/models/timeout-notification.model.js +0 -18
- package/esm5/lib/models/user-details.model.js +0 -22
- package/esm5/lib/models/user.model.js +0 -25
- package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +0 -313
- package/esm5/lib/services/cookie/cookie.service.js +0 -136
- package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +0 -89
- package/esm5/lib/services/feature-toggle/feature-toggle.service.js +0 -90
- package/esm5/lib/services/feature-toggle/launch-darkly.service.js +0 -187
- package/esm5/lib/services/filter/filter.service.js +0 -190
- package/esm5/lib/services/find-person/find-person.service.js +0 -246
- package/esm5/lib/services/google-analytics/google-analytics.service.js +0 -128
- package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +0 -135
- package/esm5/lib/services/index.js +0 -7
- package/esm5/lib/services/loading/loading.service.js +0 -109
- package/esm5/lib/services/locations/location.service.js +0 -86
- package/esm5/lib/services/manage-session/manage-session.services.js +0 -111
- package/esm5/lib/services/public-api.js +0 -21
- package/esm5/lib/services/role-guard/role.guard.js +0 -81
- package/esm5/lib/services/role-guard/role.service.js +0 -45
- package/esm5/lib/services/session-storage/session-storage.service.js +0 -96
- package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +0 -190
- package/esm5/lib/window.js +0 -13
- package/esm5/public-api.js +0 -16
- package/fesm5/hmcts-rpx-xui-common-lib.js +0 -8157
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +0 -1
- package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
- /package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +0 -0
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/case-sharing-state/case-sharing-state.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import * as tslib_1 from "tslib";
|
|
7
|
-
import { Injectable } from '@angular/core';
|
|
8
|
-
import { BehaviorSubject } from 'rxjs';
|
|
9
|
-
import { distinctUntilChanged } from 'rxjs/operators';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
var CaseSharingStateService = /** @class */ (function () {
|
|
12
|
-
function CaseSharingStateService() {
|
|
13
|
-
this.caseState = [];
|
|
14
|
-
this.subject = new BehaviorSubject(this.caseState);
|
|
15
|
-
}
|
|
16
|
-
Object.defineProperty(CaseSharingStateService.prototype, "state", {
|
|
17
|
-
get: /**
|
|
18
|
-
* @return {?}
|
|
19
|
-
*/
|
|
20
|
-
function () {
|
|
21
|
-
return this.subject.asObservable().pipe(distinctUntilChanged());
|
|
22
|
-
},
|
|
23
|
-
enumerable: true,
|
|
24
|
-
configurable: true
|
|
25
|
-
});
|
|
26
|
-
/**
|
|
27
|
-
* @param {?} cases
|
|
28
|
-
* @return {?}
|
|
29
|
-
*/
|
|
30
|
-
CaseSharingStateService.prototype.setCases = /**
|
|
31
|
-
* @param {?} cases
|
|
32
|
-
* @return {?}
|
|
33
|
-
*/
|
|
34
|
-
function (cases) {
|
|
35
|
-
var _this = this;
|
|
36
|
-
this.caseState = [];
|
|
37
|
-
cases.forEach((/**
|
|
38
|
-
* @param {?} aCase
|
|
39
|
-
* @return {?}
|
|
40
|
-
*/
|
|
41
|
-
function (aCase) {
|
|
42
|
-
_this.caseState.push({ caseId: aCase.caseId, caseTitle: aCase.caseTitle, caseTypeId: aCase.caseTypeId, roles: aCase.roles,
|
|
43
|
-
sharedWith: aCase.sharedWith, pendingShares: aCase.pendingShares, pendingUnshares: aCase.pendingUnshares });
|
|
44
|
-
}));
|
|
45
|
-
this.subject.next(this.caseState);
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* @return {?}
|
|
49
|
-
*/
|
|
50
|
-
CaseSharingStateService.prototype.getCases = /**
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
function () {
|
|
54
|
-
return this.caseState;
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* @param {?} user
|
|
58
|
-
* @return {?}
|
|
59
|
-
*/
|
|
60
|
-
CaseSharingStateService.prototype.requestShare = /**
|
|
61
|
-
* @param {?} user
|
|
62
|
-
* @return {?}
|
|
63
|
-
*/
|
|
64
|
-
function (user) {
|
|
65
|
-
var e_1, _a;
|
|
66
|
-
/** @type {?} */
|
|
67
|
-
var oldSharedCases = this.caseState.slice();
|
|
68
|
-
/** @type {?} */
|
|
69
|
-
var newSharedCases = [];
|
|
70
|
-
try {
|
|
71
|
-
for (var oldSharedCases_1 = tslib_1.__values(oldSharedCases), oldSharedCases_1_1 = oldSharedCases_1.next(); !oldSharedCases_1_1.done; oldSharedCases_1_1 = oldSharedCases_1.next()) {
|
|
72
|
-
var sharedCase = oldSharedCases_1_1.value;
|
|
73
|
-
if (!sharedCase.pendingShares) {
|
|
74
|
-
sharedCase.pendingShares = [];
|
|
75
|
-
}
|
|
76
|
-
/** @type {?} */
|
|
77
|
-
var newPendingShares = sharedCase.pendingShares.slice();
|
|
78
|
-
if (!sharedCase.pendingUnshares) {
|
|
79
|
-
sharedCase.pendingUnshares = [];
|
|
80
|
-
}
|
|
81
|
-
/** @type {?} */
|
|
82
|
-
var newPendingUnshares = sharedCase.pendingUnshares.slice();
|
|
83
|
-
if (!this.userHasAccess(sharedCase, user)) {
|
|
84
|
-
if (!newPendingShares.some((/**
|
|
85
|
-
* @param {?} u
|
|
86
|
-
* @return {?}
|
|
87
|
-
*/
|
|
88
|
-
function (u) { return u.email === user.email; }))) {
|
|
89
|
-
newPendingShares.push(user);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
for (var u = 0, ul = newPendingUnshares.length; u < ul; u++) {
|
|
94
|
-
if (newPendingUnshares[u].email === user.email) {
|
|
95
|
-
newPendingUnshares.splice(u, 1);
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/** @type {?} */
|
|
101
|
-
var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
|
|
102
|
-
newSharedCases.push(newSharedCase);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
106
|
-
finally {
|
|
107
|
-
try {
|
|
108
|
-
if (oldSharedCases_1_1 && !oldSharedCases_1_1.done && (_a = oldSharedCases_1.return)) _a.call(oldSharedCases_1);
|
|
109
|
-
}
|
|
110
|
-
finally { if (e_1) throw e_1.error; }
|
|
111
|
-
}
|
|
112
|
-
this.subject.next(newSharedCases);
|
|
113
|
-
return newSharedCases;
|
|
114
|
-
};
|
|
115
|
-
/**
|
|
116
|
-
* @param {?} user
|
|
117
|
-
* @param {?=} caseId
|
|
118
|
-
* @return {?}
|
|
119
|
-
*/
|
|
120
|
-
CaseSharingStateService.prototype.requestUnshare = /**
|
|
121
|
-
* @param {?} user
|
|
122
|
-
* @param {?=} caseId
|
|
123
|
-
* @return {?}
|
|
124
|
-
*/
|
|
125
|
-
function (user, caseId) {
|
|
126
|
-
var e_2, _a;
|
|
127
|
-
/** @type {?} */
|
|
128
|
-
var newSharedCases = [];
|
|
129
|
-
try {
|
|
130
|
-
for (var _b = tslib_1.__values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
131
|
-
var sharedCase = _c.value;
|
|
132
|
-
// If no caseId, then request unshare from all shared cases
|
|
133
|
-
if (caseId === undefined || sharedCase.caseId === caseId) {
|
|
134
|
-
if (!sharedCase.pendingUnshares) {
|
|
135
|
-
sharedCase.pendingUnshares = [];
|
|
136
|
-
}
|
|
137
|
-
/** @type {?} */
|
|
138
|
-
var newPendingUnshares = sharedCase.pendingUnshares.slice();
|
|
139
|
-
// If the user is pending shared access, just remove them from pendingShares
|
|
140
|
-
/** @type {?} */
|
|
141
|
-
var newPendingShares = void 0;
|
|
142
|
-
/** @type {?} */
|
|
143
|
-
var indexOfPreviouslyAddedUser = -1;
|
|
144
|
-
if (sharedCase.pendingShares) {
|
|
145
|
-
indexOfPreviouslyAddedUser = sharedCase.pendingShares.findIndex((/**
|
|
146
|
-
* @param {?} u
|
|
147
|
-
* @return {?}
|
|
148
|
-
*/
|
|
149
|
-
function (u) { return u.idamId === user.idamId; }));
|
|
150
|
-
if (indexOfPreviouslyAddedUser > -1) {
|
|
151
|
-
newPendingShares = sharedCase.pendingShares.slice();
|
|
152
|
-
newPendingShares.splice(indexOfPreviouslyAddedUser, 1);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
// If the user does not exist in pendingShares, and already has shared access (i.e. exists in sharedWith),
|
|
156
|
-
// request removal of shared access
|
|
157
|
-
if (indexOfPreviouslyAddedUser === -1 && sharedCase.sharedWith && sharedCase.sharedWith.findIndex((/**
|
|
158
|
-
* @param {?} u
|
|
159
|
-
* @return {?}
|
|
160
|
-
*/
|
|
161
|
-
function (u) { return u.idamId === user.idamId; })) > -1) {
|
|
162
|
-
if (!newPendingUnshares.some((/**
|
|
163
|
-
* @param {?} u
|
|
164
|
-
* @return {?}
|
|
165
|
-
*/
|
|
166
|
-
function (u) { return u.email === user.email; }))) {
|
|
167
|
-
newPendingUnshares.push(user);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
/** @type {?} */
|
|
171
|
-
var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares }, (newPendingShares && {
|
|
172
|
-
pendingShares: newPendingShares
|
|
173
|
-
}));
|
|
174
|
-
newSharedCases.push(newSharedCase);
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
newSharedCases.push(sharedCase);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
182
|
-
finally {
|
|
183
|
-
try {
|
|
184
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
185
|
-
}
|
|
186
|
-
finally { if (e_2) throw e_2.error; }
|
|
187
|
-
}
|
|
188
|
-
this.subject.next(newSharedCases);
|
|
189
|
-
return newSharedCases;
|
|
190
|
-
};
|
|
191
|
-
/**
|
|
192
|
-
* @param {?} caseId
|
|
193
|
-
* @param {?} user
|
|
194
|
-
* @return {?}
|
|
195
|
-
*/
|
|
196
|
-
CaseSharingStateService.prototype.requestCancel = /**
|
|
197
|
-
* @param {?} caseId
|
|
198
|
-
* @param {?} user
|
|
199
|
-
* @return {?}
|
|
200
|
-
*/
|
|
201
|
-
function (caseId, user) {
|
|
202
|
-
var e_3, _a;
|
|
203
|
-
/** @type {?} */
|
|
204
|
-
var newSharedCases = [];
|
|
205
|
-
try {
|
|
206
|
-
for (var _b = tslib_1.__values(this.caseState), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
207
|
-
var sharedCase = _c.value;
|
|
208
|
-
if (sharedCase.caseId === caseId) {
|
|
209
|
-
if (!sharedCase.pendingUnshares) {
|
|
210
|
-
sharedCase.pendingUnshares = [];
|
|
211
|
-
}
|
|
212
|
-
/** @type {?} */
|
|
213
|
-
var newPendingUnshares = sharedCase.pendingUnshares.slice();
|
|
214
|
-
for (var iPendingUnshares = 0; iPendingUnshares < newPendingUnshares.length; iPendingUnshares++) {
|
|
215
|
-
if (newPendingUnshares[iPendingUnshares].email === user.email) {
|
|
216
|
-
newPendingUnshares.splice(iPendingUnshares, 1);
|
|
217
|
-
break;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
if (!sharedCase.pendingShares) {
|
|
221
|
-
sharedCase.pendingShares = [];
|
|
222
|
-
}
|
|
223
|
-
/** @type {?} */
|
|
224
|
-
var newPendingShares = sharedCase.pendingShares.slice();
|
|
225
|
-
for (var iPendingShares = 0; iPendingShares < newPendingShares.length; iPendingShares++) {
|
|
226
|
-
if (newPendingShares[iPendingShares].email === user.email) {
|
|
227
|
-
newPendingShares.splice(iPendingShares, 1);
|
|
228
|
-
break;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
/** @type {?} */
|
|
232
|
-
var newSharedCase = tslib_1.__assign({}, sharedCase, { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
|
|
233
|
-
newSharedCases.push(newSharedCase);
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
newSharedCases.push(sharedCase);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
241
|
-
finally {
|
|
242
|
-
try {
|
|
243
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
244
|
-
}
|
|
245
|
-
finally { if (e_3) throw e_3.error; }
|
|
246
|
-
}
|
|
247
|
-
this.subject.next(newSharedCases);
|
|
248
|
-
return;
|
|
249
|
-
};
|
|
250
|
-
/**
|
|
251
|
-
* @param {?} caseId
|
|
252
|
-
* @return {?}
|
|
253
|
-
*/
|
|
254
|
-
CaseSharingStateService.prototype.removeCase = /**
|
|
255
|
-
* @param {?} caseId
|
|
256
|
-
* @return {?}
|
|
257
|
-
*/
|
|
258
|
-
function (caseId) {
|
|
259
|
-
if (this.caseState.length > 1) {
|
|
260
|
-
for (var i = 0, l = this.caseState.length; i < l; i++) {
|
|
261
|
-
if (this.caseState[i].caseId === caseId) {
|
|
262
|
-
this.caseState.splice(i, 1);
|
|
263
|
-
this.subject.next(this.caseState);
|
|
264
|
-
return;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
};
|
|
269
|
-
/**
|
|
270
|
-
* @param {?} c
|
|
271
|
-
* @param {?} user
|
|
272
|
-
* @return {?}
|
|
273
|
-
*/
|
|
274
|
-
CaseSharingStateService.prototype.userHasAccess = /**
|
|
275
|
-
* @param {?} c
|
|
276
|
-
* @param {?} user
|
|
277
|
-
* @return {?}
|
|
278
|
-
*/
|
|
279
|
-
function (c, user) {
|
|
280
|
-
if (!c.sharedWith) {
|
|
281
|
-
return false;
|
|
282
|
-
}
|
|
283
|
-
for (var i = 0, l = c.sharedWith.length; i < l; i++) {
|
|
284
|
-
if (c.sharedWith[i].email === user.email) {
|
|
285
|
-
return true;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
return false;
|
|
289
|
-
};
|
|
290
|
-
CaseSharingStateService.decorators = [
|
|
291
|
-
{ type: Injectable, args: [{
|
|
292
|
-
providedIn: 'root'
|
|
293
|
-
},] }
|
|
294
|
-
];
|
|
295
|
-
/** @nocollapse */
|
|
296
|
-
CaseSharingStateService.ctorParameters = function () { return []; };
|
|
297
|
-
/** @nocollapse */ CaseSharingStateService.ngInjectableDef = i0.defineInjectable({ factory: function CaseSharingStateService_Factory() { return new CaseSharingStateService(); }, token: CaseSharingStateService, providedIn: "root" });
|
|
298
|
-
return CaseSharingStateService;
|
|
299
|
-
}());
|
|
300
|
-
export { CaseSharingStateService };
|
|
301
|
-
if (false) {
|
|
302
|
-
/**
|
|
303
|
-
* @type {?}
|
|
304
|
-
* @private
|
|
305
|
-
*/
|
|
306
|
-
CaseSharingStateService.prototype.caseState;
|
|
307
|
-
/**
|
|
308
|
-
* @type {?}
|
|
309
|
-
* @private
|
|
310
|
-
*/
|
|
311
|
-
CaseSharingStateService.prototype.subject;
|
|
312
|
-
}
|
|
313
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nhc2Utc2hhcmluZy1zdGF0ZS9jYXNlLXNoYXJpbmctc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXREO0lBY0U7UUFUUSxjQUFTLEdBQWlCLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBUTdELENBQUM7SUFOakIsc0JBQVcsMENBQUs7Ozs7UUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUNyQyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBQ0osQ0FBQzs7O09BQUE7Ozs7O0lBSU0sMENBQVE7Ozs7SUFBZixVQUFnQixLQUFtQjtRQUFuQyxpQkFPQztRQU5DLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxLQUFLO1lBQ2pCLEtBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUN0SCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFB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QztTQUNkO1FBQ0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN4QyxPQUFPLElBQUksQ0FBQzthQUNiO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dCQXZLRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7OztrQ0FSRDtDQThLQyxBQXhLRCxJQXdLQztTQXJLWSx1QkFBdUI7Ozs7OztJQUVsQyw0Q0FBcUM7Ozs7O0lBQ3JDLDBDQUE2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgY2FzZVN0YXRlOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaGFyZWRDYXNlW10+KHRoaXMuY2FzZVN0YXRlKTtcblxuICBwdWJsaWMgZ2V0IHN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgc2V0Q2FzZXMoY2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIHRoaXMuY2FzZVN0YXRlID0gW107XG4gICAgY2FzZXMuZm9yRWFjaChhQ2FzZSA9PiB7XG4gICAgICB0aGlzLmNhc2VTdGF0ZS5wdXNoKHsgY2FzZUlkOiBhQ2FzZS5jYXNlSWQsIGNhc2VUaXRsZTogYUNhc2UuY2FzZVRpdGxlLCBjYXNlVHlwZUlkOiBhQ2FzZS5jYXNlVHlwZUlkLCByb2xlczogYUNhc2Uucm9sZXMsXG4gICAgICAgIHNoYXJlZFdpdGg6IGFDYXNlLnNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXM6IGFDYXNlLnBlbmRpbmdTaGFyZXMsIHBlbmRpbmdVbnNoYXJlczogYUNhc2UucGVuZGluZ1Vuc2hhcmVzIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlcygpOiBTaGFyZWRDYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmNhc2VTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0U2hhcmUodXNlcjogVXNlckRldGFpbHMpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG9sZFNoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSB0aGlzLmNhc2VTdGF0ZS5zbGljZSgpO1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2Ygb2xkU2hhcmVkQ2FzZXMpIHtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1NoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5zbGljZSgpO1xuICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghdGhpcy51c2VySGFzQWNjZXNzKHNoYXJlZENhc2UsIHVzZXIpKSB7XG4gICAgICAgIGlmICghbmV3UGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5lbWFpbCA9PT0gdXNlci5lbWFpbCkpIHtcbiAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IHUgPSAwLCB1bCA9IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IHUgPCB1bDsgdSsrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1t1XS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZSh1LCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgcGVuZGluZ1Vuc2hhcmVzOiBuZXdQZW5kaW5nVW5zaGFyZXMsXG4gICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgIH07XG4gICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuIG5ld1NoYXJlZENhc2VzO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RVbnNoYXJlKHVzZXI6IFVzZXJEZXRhaWxzLCBjYXNlSWQ/OiBzdHJpbmcpOiBTaGFyZWRDYXNlW10ge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIC8vIElmIG5vIGNhc2VJZCwgdGhlbiByZXF1ZXN0IHVuc2hhcmUgZnJvbSBhbGwgc2hhcmVkIGNhc2VzXG4gICAgICBpZiAoY2FzZUlkID09PSB1bmRlZmluZWQgfHwgc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICAvLyBJZiB0aGUgdXNlciBpcyBwZW5kaW5nIHNoYXJlZCBhY2Nlc3MsIGp1c3QgcmVtb3ZlIHRoZW0gZnJvbSBwZW5kaW5nU2hhcmVzXG4gICAgICAgIGxldCBuZXdQZW5kaW5nU2hhcmVzO1xuICAgICAgICBsZXQgaW5kZXhPZlByZXZpb3VzbHlBZGRlZFVzZXIgPSAtMTtcbiAgICAgICAgaWYgKHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcykge1xuICAgICAgICAgIGluZGV4T2ZQcmV2aW91c2x5QWRkZWRVc2VyID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLmZpbmRJbmRleCh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgICAgaWYgKGluZGV4T2ZQcmV2aW91c2x5QWRkZWRVc2VyID4gLTEpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdTaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMuc2xpY2UoKTtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdTaGFyZXMuc3BsaWNlKGluZGV4T2ZQcmV2aW91c2x5QWRkZWRVc2VyLCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgZG9lcyBub3QgZXhpc3QgaW4gcGVuZGluZ1NoYXJlcywgYW5kIGFscmVhZHkgaGFzIHNoYXJlZCBhY2Nlc3MgKGkuZS4gZXhpc3RzIGluIHNoYXJlZFdpdGgpLFxuICAgICAgICAvLyByZXF1ZXN0IHJlbW92YWwgb2Ygc2hhcmVkIGFjY2Vzc1xuICAgICAgICBpZiAoaW5kZXhPZlByZXZpb3VzbHlBZGRlZFVzZXIgPT09IC0xICYmIHNoYXJlZENhc2Uuc2hhcmVkV2l0aCAmJiBzaGFyZWRDYXNlLnNoYXJlZFdpdGguZmluZEluZGV4KFxuICAgICAgICAgIHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSA+IC0xKSB7XG4gICAgICAgICAgaWYgKCFuZXdQZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuZW1haWwgPT09IHVzZXIuZW1haWwpKSB7XG4gICAgICAgICAgICBuZXdQZW5kaW5nVW5zaGFyZXMucHVzaCh1c2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgICAuLi5zaGFyZWRDYXNlLFxuICAgICAgICAgIHBlbmRpbmdVbnNoYXJlczogbmV3UGVuZGluZ1Vuc2hhcmVzLFxuICAgICAgICAgIC4uLihuZXdQZW5kaW5nU2hhcmVzICYmIHtcbiAgICAgICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKG5ld1NoYXJlZENhc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChzaGFyZWRDYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQobmV3U2hhcmVkQ2FzZXMpO1xuICAgIHJldHVybiBuZXdTaGFyZWRDYXNlcztcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0Q2FuY2VsKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1NoYXJlZENhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNoYXJlZENhc2Ugb2YgdGhpcy5jYXNlU3RhdGUpIHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nVW5zaGFyZXMgPSAwOyBpUGVuZGluZ1Vuc2hhcmVzIDwgbmV3UGVuZGluZ1Vuc2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdVbnNoYXJlcysrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdVbnNoYXJlc1tpUGVuZGluZ1Vuc2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnNwbGljZShpUGVuZGluZ1Vuc2hhcmVzLCAxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1NoYXJlcykge1xuICAgICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1BlbmRpbmdTaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMuc2xpY2UoKTtcbiAgICAgICAgZm9yIChsZXQgaVBlbmRpbmdTaGFyZXMgPSAwOyBpUGVuZGluZ1NoYXJlcyA8IG5ld1BlbmRpbmdTaGFyZXMubGVuZ3RoOyBpUGVuZGluZ1NoYXJlcysrKSB7XG4gICAgICAgICAgaWYgKG5ld1BlbmRpbmdTaGFyZXNbaVBlbmRpbmdTaGFyZXNdLmVtYWlsID09PSB1c2VyLmVtYWlsKSB7XG4gICAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnNwbGljZShpUGVuZGluZ1NoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZSA9IHtcbiAgICAgICAgICAuLi5zaGFyZWRDYXNlLFxuICAgICAgICAgIHBlbmRpbmdVbnNoYXJlczogbmV3UGVuZGluZ1Vuc2hhcmVzLFxuICAgICAgICAgIHBlbmRpbmdTaGFyZXM6IG5ld1BlbmRpbmdTaGFyZXNcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlQ2FzZShjYXNlSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhc2VTdGF0ZS5sZW5ndGggPiAxKSB7XG4gICAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMuY2FzZVN0YXRlLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAodGhpcy5jYXNlU3RhdGVbaV0uY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICB0aGlzLmNhc2VTdGF0ZS5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQodGhpcy5jYXNlU3RhdGUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1c2VySGFzQWNjZXNzKGM6IFNoYXJlZENhc2UsIHVzZXI6IFVzZXJEZXRhaWxzKTogYm9vbGVhbiB7XG4gICAgaWYgKCFjLnNoYXJlZFdpdGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSBjLnNoYXJlZFdpdGgubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoYy5zaGFyZWRXaXRoW2ldLmVtYWlsID09PSB1c2VyLmVtYWlsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/cookie/cookie.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { DOCUMENT } from '@angular/common';
|
|
7
|
-
import { Inject, Injectable } from '@angular/core';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common";
|
|
10
|
-
var CookieService = /** @class */ (function () {
|
|
11
|
-
function CookieService(doc) {
|
|
12
|
-
this.document = (/** @type {?} */ (doc));
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* @param {?} key
|
|
16
|
-
* @param {?} value
|
|
17
|
-
* @param {?=} expiryDate
|
|
18
|
-
* @return {?}
|
|
19
|
-
*/
|
|
20
|
-
CookieService.prototype.setCookie = /**
|
|
21
|
-
* @param {?} key
|
|
22
|
-
* @param {?} value
|
|
23
|
-
* @param {?=} expiryDate
|
|
24
|
-
* @return {?}
|
|
25
|
-
*/
|
|
26
|
-
function (key, value, expiryDate) {
|
|
27
|
-
/** @type {?} */
|
|
28
|
-
var expiry = expiryDate ? " expires=" + expiryDate : '';
|
|
29
|
-
/** @type {?} */
|
|
30
|
-
var cookie = key + "=" + value + ";" + expiry;
|
|
31
|
-
this.document.cookie = cookie;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* @param {?} key
|
|
35
|
-
* @return {?}
|
|
36
|
-
*/
|
|
37
|
-
CookieService.prototype.getCookie = /**
|
|
38
|
-
* @param {?} key
|
|
39
|
-
* @return {?}
|
|
40
|
-
*/
|
|
41
|
-
function (key) {
|
|
42
|
-
/** @type {?} */
|
|
43
|
-
var cookieValue = this.document.cookie
|
|
44
|
-
.split('; ')
|
|
45
|
-
.find((/**
|
|
46
|
-
* @param {?} row
|
|
47
|
-
* @return {?}
|
|
48
|
-
*/
|
|
49
|
-
function (row) { return row.startsWith(key + "="); }))
|
|
50
|
-
.split('=')[1];
|
|
51
|
-
return cookieValue;
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* @param {?} key
|
|
55
|
-
* @param {?=} path
|
|
56
|
-
* @param {?=} domain
|
|
57
|
-
* @return {?}
|
|
58
|
-
*/
|
|
59
|
-
CookieService.prototype.deleteCookie = /**
|
|
60
|
-
* @param {?} key
|
|
61
|
-
* @param {?=} path
|
|
62
|
-
* @param {?=} domain
|
|
63
|
-
* @return {?}
|
|
64
|
-
*/
|
|
65
|
-
function (key, path, domain) {
|
|
66
|
-
/** @type {?} */
|
|
67
|
-
var pathValue = path ? "; path=" + path : '';
|
|
68
|
-
/** @type {?} */
|
|
69
|
-
var domainValue = domain ? "; domain=" + domain : '';
|
|
70
|
-
this.document.cookie = key + "=" + pathValue + domainValue + "; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0";
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
* @param {?} key
|
|
74
|
-
* @param {?=} path
|
|
75
|
-
* @param {?=} domain
|
|
76
|
-
* @return {?}
|
|
77
|
-
*/
|
|
78
|
-
CookieService.prototype.deleteCookieByPartialMatch = /**
|
|
79
|
-
* @param {?} key
|
|
80
|
-
* @param {?=} path
|
|
81
|
-
* @param {?=} domain
|
|
82
|
-
* @return {?}
|
|
83
|
-
*/
|
|
84
|
-
function (key, path, domain) {
|
|
85
|
-
var _this = this;
|
|
86
|
-
this.document.cookie
|
|
87
|
-
.split('; ')
|
|
88
|
-
.filter((/**
|
|
89
|
-
* @param {?} row
|
|
90
|
-
* @return {?}
|
|
91
|
-
*/
|
|
92
|
-
function (row) { return row.startsWith("" + key); }))
|
|
93
|
-
.forEach((/**
|
|
94
|
-
* @param {?} element
|
|
95
|
-
* @return {?}
|
|
96
|
-
*/
|
|
97
|
-
function (element) {
|
|
98
|
-
_this.deleteCookie(element.split('=')[0], path, domain);
|
|
99
|
-
}));
|
|
100
|
-
};
|
|
101
|
-
/**
|
|
102
|
-
* @param {?} key
|
|
103
|
-
* @return {?}
|
|
104
|
-
*/
|
|
105
|
-
CookieService.prototype.checkCookie = /**
|
|
106
|
-
* @param {?} key
|
|
107
|
-
* @return {?}
|
|
108
|
-
*/
|
|
109
|
-
function (key) {
|
|
110
|
-
return this.document.cookie.split('; ').some((/**
|
|
111
|
-
* @param {?} item
|
|
112
|
-
* @return {?}
|
|
113
|
-
*/
|
|
114
|
-
function (item) { return item.trim().startsWith(key + "="); }));
|
|
115
|
-
};
|
|
116
|
-
CookieService.decorators = [
|
|
117
|
-
{ type: Injectable, args: [{
|
|
118
|
-
providedIn: 'root'
|
|
119
|
-
},] }
|
|
120
|
-
];
|
|
121
|
-
/** @nocollapse */
|
|
122
|
-
CookieService.ctorParameters = function () { return [
|
|
123
|
-
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
124
|
-
]; };
|
|
125
|
-
/** @nocollapse */ CookieService.ngInjectableDef = i0.defineInjectable({ factory: function CookieService_Factory() { return new CookieService(i0.inject(i1.DOCUMENT)); }, token: CookieService, providedIn: "root" });
|
|
126
|
-
return CookieService;
|
|
127
|
-
}());
|
|
128
|
-
export { CookieService };
|
|
129
|
-
if (false) {
|
|
130
|
-
/**
|
|
131
|
-
* @type {?}
|
|
132
|
-
* @private
|
|
133
|
-
*/
|
|
134
|
-
CookieService.prototype.document;
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2Nvb2tpZS9jb29raWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRW5EO0lBTUUsdUJBQThCLEdBQVM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBQSxHQUFHLEVBQVksQ0FBQztJQUNsQyxDQUFDOzs7Ozs7O0lBRU0saUNBQVM7Ozs7OztJQUFoQixVQUFpQixHQUFXLEVBQUUsS0FBYSxFQUFFLFVBQW1COztZQUN4RCxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFZLFVBQVksQ0FBQyxDQUFDLENBQUMsRUFBRTs7WUFDbkQsTUFBTSxHQUFNLEdBQUcsU0FBSSxLQUFLLFNBQUksTUFBUTtRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDaEMsQ0FBQzs7Ozs7SUFFTSxpQ0FBUzs7OztJQUFoQixVQUFpQixHQUFXOztZQUNwQixXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxJQUFJOzs7O1FBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsVUFBVSxDQUFJLEdBQUcsTUFBRyxDQUFDLEVBQXpCLENBQXlCLEVBQUM7YUFDdEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOzs7Ozs7O0lBRU0sb0NBQVk7Ozs7OztJQUFuQixVQUFvQixHQUFXLEVBQUUsSUFBYSxFQUFFLE1BQWU7O1lBQ3ZELFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVUsSUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFOztZQUN4QyxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFZLE1BQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBTSxHQUFHLFNBQUksU0FBUyxHQUFHLFdBQVcsdURBQW9ELENBQUM7SUFDL0csQ0FBQzs7Ozs7OztJQUVNLGtEQUEwQjs7Ozs7O0lBQWpDLFVBQWtDLEdBQVcsRUFBRSxJQUFhLEVBQUUsTUFBZTtRQUE3RSxpQkFPQztRQU5DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTthQUNqQixLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ1gsTUFBTTs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFHLEdBQUssQ0FBQyxFQUF4QixDQUF3QixFQUFDO2FBQ3ZDLE9BQU87Ozs7UUFBQyxVQUFBLE9BQU87WUFDZCxLQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7SUFFTSxtQ0FBVzs7OztJQUFsQixVQUFtQixHQUFXO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxVQUFBLElBQUksSUFBSSxPQUFBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUksR0FBRyxNQUFHLENBQUMsRUFBakMsQ0FBaUMsRUFBQyxDQUFDO0lBQzFGLENBQUM7O2dCQXpDRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dEQUljLE1BQU0sU0FBQyxRQUFROzs7d0JBVDlCO0NBNkNDLEFBMUNELElBMENDO1NBdkNZLGFBQWE7Ozs7OztJQUN4QixpQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ/OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2M/OiBhbnkpIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jIGFzIERvY3VtZW50O1xuICB9XG5cbiAgcHVibGljIHNldENvb2tpZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgZXhwaXJ5RGF0ZT86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGV4cGlyeSA9IGV4cGlyeURhdGUgPyBgIGV4cGlyZXM9JHtleHBpcnlEYXRlfWAgOiAnJztcbiAgICBjb25zdCBjb29raWUgPSBgJHtrZXl9PSR7dmFsdWV9OyR7ZXhwaXJ5fWA7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29va2llKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb29raWVWYWx1ZSA9IHRoaXMuZG9jdW1lbnQuY29va2llXG4gICAgICAuc3BsaXQoJzsgJylcbiAgICAgIC5maW5kKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9PWApKVxuICAgICAgLnNwbGl0KCc9JylbMV07XG4gICAgcmV0dXJuIGNvb2tpZVZhbHVlO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZShrZXk6IHN0cmluZywgcGF0aD86IHN0cmluZywgZG9tYWluPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcGF0aFZhbHVlID0gcGF0aCA/IGA7IHBhdGg9JHtwYXRofWAgOiAnJztcbiAgICBjb25zdCBkb21haW5WYWx1ZSA9IGRvbWFpbiA/IGA7IGRvbWFpbj0ke2RvbWFpbn1gIDogJyc7XG4gICAgdGhpcy5kb2N1bWVudC5jb29raWUgPSBgJHtrZXl9PSR7cGF0aFZhbHVlfSR7ZG9tYWluVmFsdWV9OyBleHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UOyBtYXgtYWdlPTBgO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUNvb2tpZUJ5UGFydGlhbE1hdGNoKGtleTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZVxuICAgICAgLnNwbGl0KCc7ICcpXG4gICAgICAuZmlsdGVyKHJvdyA9PiByb3cuc3RhcnRzV2l0aChgJHtrZXl9YCkpXG4gICAgICAuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgdGhpcy5kZWxldGVDb29raWUoZWxlbWVudC5zcGxpdCgnPScpWzBdLCBwYXRoLCBkb21haW4pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tDb29raWUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5jb29raWUuc3BsaXQoJzsgJykuc29tZShpdGVtID0+IGl0ZW0udHJpbSgpLnN0YXJ0c1dpdGgoYCR7a2V5fT1gKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/feature-toggle/feature-toggle.guard.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import * as tslib_1 from "tslib";
|
|
7
|
-
import { Injectable } from '@angular/core';
|
|
8
|
-
import { Router } from '@angular/router';
|
|
9
|
-
import { combineLatest } from 'rxjs';
|
|
10
|
-
import { map } from 'rxjs/operators';
|
|
11
|
-
import { FeatureToggleService } from './feature-toggle.service';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "./feature-toggle.service";
|
|
14
|
-
import * as i2 from "@angular/router";
|
|
15
|
-
var FeatureToggleGuard = /** @class */ (function () {
|
|
16
|
-
function FeatureToggleGuard(featureToggleService, router) {
|
|
17
|
-
this.featureToggleService = featureToggleService;
|
|
18
|
-
this.router = router;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Usage: Add the FeatureToggleGuard as the Guard for a route, and provide the following
|
|
22
|
-
* in the data array for the route:
|
|
23
|
-
* - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
|
|
24
|
-
* - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
|
|
25
|
-
* @param route Automatically provided by Angular
|
|
26
|
-
*/
|
|
27
|
-
/**
|
|
28
|
-
* Usage: Add the FeatureToggleGuard as the Guard for a route, and provide the following
|
|
29
|
-
* in the data array for the route:
|
|
30
|
-
* - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
|
|
31
|
-
* - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
|
|
32
|
-
* @param {?} route Automatically provided by Angular
|
|
33
|
-
* @return {?}
|
|
34
|
-
*/
|
|
35
|
-
FeatureToggleGuard.prototype.canActivate = /**
|
|
36
|
-
* Usage: Add the FeatureToggleGuard as the Guard for a route, and provide the following
|
|
37
|
-
* in the data array for the route:
|
|
38
|
-
* - needsFeaturesEnabled: An array of feature keys that need to be enabled for this route
|
|
39
|
-
* - featureDisabledRedirect: the URL to redirect to when the this route is not accessible due to disabled features
|
|
40
|
-
* @param {?} route Automatically provided by Angular
|
|
41
|
-
* @return {?}
|
|
42
|
-
*/
|
|
43
|
-
function (route) {
|
|
44
|
-
var _this = this;
|
|
45
|
-
return combineLatest.apply(void 0, tslib_1.__spread(((/** @type {?} */ (route.data.needsFeaturesEnabled))).map((/**
|
|
46
|
-
* @param {?} feature
|
|
47
|
-
* @return {?}
|
|
48
|
-
*/
|
|
49
|
-
function (feature) { return _this.featureToggleService.getValueOnce(feature, false); })))).pipe(map((/**
|
|
50
|
-
* @param {?} featureStatuses
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
function (featureStatuses) { return featureStatuses.every((/**
|
|
54
|
-
* @param {?} status
|
|
55
|
-
* @return {?}
|
|
56
|
-
*/
|
|
57
|
-
function (status) { return status; })); })), map((/**
|
|
58
|
-
* @param {?} status
|
|
59
|
-
* @return {?}
|
|
60
|
-
*/
|
|
61
|
-
function (status) { return status || _this.router.parseUrl((/** @type {?} */ (route.data.featureDisabledRedirect))); })));
|
|
62
|
-
};
|
|
63
|
-
FeatureToggleGuard.decorators = [
|
|
64
|
-
{ type: Injectable, args: [{
|
|
65
|
-
providedIn: 'root'
|
|
66
|
-
},] }
|
|
67
|
-
];
|
|
68
|
-
/** @nocollapse */
|
|
69
|
-
FeatureToggleGuard.ctorParameters = function () { return [
|
|
70
|
-
{ type: FeatureToggleService },
|
|
71
|
-
{ type: Router }
|
|
72
|
-
]; };
|
|
73
|
-
/** @nocollapse */ FeatureToggleGuard.ngInjectableDef = i0.defineInjectable({ factory: function FeatureToggleGuard_Factory() { return new FeatureToggleGuard(i0.inject(i1.FeatureToggleService), i0.inject(i2.Router)); }, token: FeatureToggleGuard, providedIn: "root" });
|
|
74
|
-
return FeatureToggleGuard;
|
|
75
|
-
}());
|
|
76
|
-
export { FeatureToggleGuard };
|
|
77
|
-
if (false) {
|
|
78
|
-
/**
|
|
79
|
-
* @type {?}
|
|
80
|
-
* @private
|
|
81
|
-
*/
|
|
82
|
-
FeatureToggleGuard.prototype.featureToggleService;
|
|
83
|
-
/**
|
|
84
|
-
* @type {?}
|
|
85
|
-
* @private
|
|
86
|
-
*/
|
|
87
|
-
FeatureToggleGuard.prototype.router;
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS10b2dnbGUuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2ZlYXR1cmUtdG9nZ2xlL2ZlYXR1cmUtdG9nZ2xlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUF1QyxNQUFNLEVBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVoRTtJQUtJLDRCQUNxQixvQkFBMEMsRUFDMUMsTUFBYztRQURkLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNoQyxDQUFDO0lBRUo7Ozs7OztPQU1HOzs7Ozs7Ozs7SUFDSSx3Q0FBVzs7Ozs7Ozs7SUFBbEIsVUFBbUIsS0FBNkI7UUFBaEQsaUJBT0M7UUFORyxPQUFPLGFBQWEsZ0NBQUksQ0FBQyxtQkFBQSxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFZLENBQUMsQ0FBQyxHQUFHOzs7O1FBQ2pFLFVBQUEsT0FBTyxJQUFJLE9BQUEsS0FBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBVSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQS9ELENBQStELEVBQ2pGLEdBQUUsSUFBSSxDQUNILEdBQUc7Ozs7UUFBQyxVQUFBLGVBQWUsSUFBSSxPQUFBLGVBQWUsQ0FBQyxLQUFLOzs7O1FBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxNQUFNLEVBQU4sQ0FBTSxFQUFDLEVBQXZDLENBQXVDLEVBQUMsRUFDL0QsR0FBRzs7OztRQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxJQUFJLEtBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLG1CQUFBLEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQVUsQ0FBQyxFQUE1RSxDQUE0RSxFQUFDLENBQzlGLENBQUM7SUFDTixDQUFDOztnQkF4QkosVUFBVSxTQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7OztnQkFKUSxvQkFBb0I7Z0JBSGlCLE1BQU07Ozs2QkFEcEQ7Q0ErQkMsQUF6QkQsSUF5QkM7U0F0Qlksa0JBQWtCOzs7Ozs7SUFHdkIsa0RBQTJEOzs7OztJQUMzRCxvQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlVG9nZ2xlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmVhdHVyZVRvZ2dsZVNlcnZpY2U6IEZlYXR1cmVUb2dnbGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogVXNhZ2U6IEFkZCB0aGUgRmVhdHVyZVRvZ2dsZUd1YXJkIGFzIHRoZSBHdWFyZCBmb3IgYSByb3V0ZSwgYW5kIHByb3ZpZGUgdGhlIGZvbGxvd2luZ1xuICAgICAqIGluIHRoZSBkYXRhIGFycmF5IGZvciB0aGUgcm91dGU6XG4gICAgICogLSBuZWVkc0ZlYXR1cmVzRW5hYmxlZDogQW4gYXJyYXkgb2YgZmVhdHVyZSBrZXlzIHRoYXQgbmVlZCB0byBiZSBlbmFibGVkIGZvciB0aGlzIHJvdXRlXG4gICAgICogLSBmZWF0dXJlRGlzYWJsZWRSZWRpcmVjdDogdGhlIFVSTCB0byByZWRpcmVjdCB0byB3aGVuIHRoZSB0aGlzIHJvdXRlIGlzIG5vdCBhY2Nlc3NpYmxlIGR1ZSB0byBkaXNhYmxlZCBmZWF0dXJlc1xuICAgICAqIEBwYXJhbSByb3V0ZSBBdXRvbWF0aWNhbGx5IHByb3ZpZGVkIGJ5IEFuZ3VsYXJcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KC4uLihyb3V0ZS5kYXRhLm5lZWRzRmVhdHVyZXNFbmFibGVkIGFzIHN0cmluZ1tdKS5tYXAoXG4gICAgICAgICAgICAgICAgZmVhdHVyZSA9PiB0aGlzLmZlYXR1cmVUb2dnbGVTZXJ2aWNlLmdldFZhbHVlT25jZTxib29sZWFuPihmZWF0dXJlLCBmYWxzZSlcbiAgICAgICAgKSkucGlwZShcbiAgICAgICAgICAgIG1hcChmZWF0dXJlU3RhdHVzZXMgPT4gZmVhdHVyZVN0YXR1c2VzLmV2ZXJ5KHN0YXR1cyA9PiBzdGF0dXMpKSxcbiAgICAgICAgICAgIG1hcChzdGF0dXMgPT4gc3RhdHVzIHx8IHRoaXMucm91dGVyLnBhcnNlVXJsKHJvdXRlLmRhdGEuZmVhdHVyZURpc2FibGVkUmVkaXJlY3QgYXMgc3RyaW5nKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/feature-toggle/feature-toggle.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Injectable } from '@angular/core';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
var FeatureToggleService = /** @class */ (function () {
|
|
9
|
-
function FeatureToggleService() {
|
|
10
|
-
}
|
|
11
|
-
// tslint:disable-next-line: variable-name
|
|
12
|
-
// tslint:disable-next-line: variable-name
|
|
13
|
-
/**
|
|
14
|
-
* @param {?} _user
|
|
15
|
-
* @param {?} _clientId
|
|
16
|
-
* @return {?}
|
|
17
|
-
*/
|
|
18
|
-
FeatureToggleService.prototype.initialize =
|
|
19
|
-
// tslint:disable-next-line: variable-name
|
|
20
|
-
/**
|
|
21
|
-
* @param {?} _user
|
|
22
|
-
* @param {?} _clientId
|
|
23
|
-
* @return {?}
|
|
24
|
-
*/
|
|
25
|
-
function (_user, _clientId) {
|
|
26
|
-
throw new Error('Not implemented');
|
|
27
|
-
};
|
|
28
|
-
// tslint:disable-next-line: variable-name
|
|
29
|
-
// tslint:disable-next-line: variable-name
|
|
30
|
-
/**
|
|
31
|
-
* @param {?} _feature
|
|
32
|
-
* @return {?}
|
|
33
|
-
*/
|
|
34
|
-
FeatureToggleService.prototype.isEnabled =
|
|
35
|
-
// tslint:disable-next-line: variable-name
|
|
36
|
-
/**
|
|
37
|
-
* @param {?} _feature
|
|
38
|
-
* @return {?}
|
|
39
|
-
*/
|
|
40
|
-
function (_feature) {
|
|
41
|
-
throw new Error('Not implemented');
|
|
42
|
-
};
|
|
43
|
-
// tslint:disable-next-line: variable-name
|
|
44
|
-
// tslint:disable-next-line: variable-name
|
|
45
|
-
/**
|
|
46
|
-
* @template R
|
|
47
|
-
* @param {?} _key
|
|
48
|
-
* @param {?} _defaultValue
|
|
49
|
-
* @return {?}
|
|
50
|
-
*/
|
|
51
|
-
FeatureToggleService.prototype.getValue =
|
|
52
|
-
// tslint:disable-next-line: variable-name
|
|
53
|
-
/**
|
|
54
|
-
* @template R
|
|
55
|
-
* @param {?} _key
|
|
56
|
-
* @param {?} _defaultValue
|
|
57
|
-
* @return {?}
|
|
58
|
-
*/
|
|
59
|
-
function (_key, _defaultValue) {
|
|
60
|
-
throw new Error('Not implemented');
|
|
61
|
-
};
|
|
62
|
-
// tslint:disable-next-line: variable-name
|
|
63
|
-
// tslint:disable-next-line: variable-name
|
|
64
|
-
/**
|
|
65
|
-
* @template R
|
|
66
|
-
* @param {?} _key
|
|
67
|
-
* @param {?} _defaultValue
|
|
68
|
-
* @return {?}
|
|
69
|
-
*/
|
|
70
|
-
FeatureToggleService.prototype.getValueOnce =
|
|
71
|
-
// tslint:disable-next-line: variable-name
|
|
72
|
-
/**
|
|
73
|
-
* @template R
|
|
74
|
-
* @param {?} _key
|
|
75
|
-
* @param {?} _defaultValue
|
|
76
|
-
* @return {?}
|
|
77
|
-
*/
|
|
78
|
-
function (_key, _defaultValue) {
|
|
79
|
-
throw new Error('Not implemented');
|
|
80
|
-
};
|
|
81
|
-
FeatureToggleService.decorators = [
|
|
82
|
-
{ type: Injectable, args: [{
|
|
83
|
-
providedIn: 'root'
|
|
84
|
-
},] }
|
|
85
|
-
];
|
|
86
|
-
/** @nocollapse */ FeatureToggleService.ngInjectableDef = i0.defineInjectable({ factory: function FeatureToggleService_Factory() { return new FeatureToggleService(); }, token: FeatureToggleService, providedIn: "root" });
|
|
87
|
-
return FeatureToggleService;
|
|
88
|
-
}());
|
|
89
|
-
export { FeatureToggleService };
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS10b2dnbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZmVhdHVyZS10b2dnbGUvZmVhdHVyZS10b2dnbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDO0lBQUE7S0FxQkM7SUFqQkcsMENBQTBDOzs7Ozs7O0lBQ25DLHlDQUFVOzs7Ozs7O0lBQWpCLFVBQWtCLEtBQWtCLEVBQUUsU0FBaUI7UUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCwwQ0FBMEM7Ozs7OztJQUNuQyx3Q0FBUzs7Ozs7O0lBQWhCLFVBQWlCLFFBQWdCO1FBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsMENBQTBDOzs7Ozs7OztJQUNuQyx1Q0FBUTs7Ozs7Ozs7SUFBZixVQUFtQixJQUFZLEVBQUUsYUFBZ0I7UUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCwwQ0FBMEM7Ozs7Ozs7O0lBQ25DLDJDQUFZOzs7Ozs7OztJQUFuQixVQUF1QixJQUFZLEVBQUUsYUFBZ0I7UUFDakQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O2dCQXBCSixVQUFVLFNBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzs7K0JBTkQ7Q0F5QkMsQUFyQkQsSUFxQkM7U0FsQlksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmVhdHVyZVVzZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmVhdHVyZS11c2VyJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGZWF0dXJlVG9nZ2xlU2VydmljZSB7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiB2YXJpYWJsZS1uYW1lXG4gICAgcHVibGljIGluaXRpYWxpemUoX3VzZXI6IEZlYXR1cmVVc2VyLCBfY2xpZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICAgIH1cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHZhcmlhYmxlLW5hbWVcbiAgICBwdWJsaWMgaXNFbmFibGVkKF9mZWF0dXJlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgICB9XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiB2YXJpYWJsZS1uYW1lXG4gICAgcHVibGljIGdldFZhbHVlPFI+KF9rZXk6IHN0cmluZywgX2RlZmF1bHRWYWx1ZTogUik6IE9ic2VydmFibGU8Uj4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xuICAgIH1cblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogdmFyaWFibGUtbmFtZVxuICAgIHB1YmxpYyBnZXRWYWx1ZU9uY2U8Uj4oX2tleTogc3RyaW5nLCBfZGVmYXVsdFZhbHVlOiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gICAgfVxufVxuIl19
|