@abp/ng.theme.shared 7.2.2 → 7.3.0-rc.2
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/README.md +129 -2
- package/{esm2020 → esm2022}/abp-ng.theme.shared.mjs +4 -4
- package/{esm2020 → esm2022}/extensions/abp-ng.theme.shared-extensions.mjs +4 -4
- package/esm2022/extensions/lib/adapters/date-time.adapter.mjs +45 -0
- package/esm2022/extensions/lib/adapters/date.adapter.mjs +42 -0
- package/esm2022/extensions/lib/adapters/time.adapter.mjs +37 -0
- package/esm2022/extensions/lib/components/abstract-actions/abstract-actions.component.mjs +26 -0
- package/esm2022/extensions/lib/components/date-time-picker/date-time-picker.component.mjs +110 -0
- package/esm2022/extensions/lib/components/extensible-form/extensible-form-prop.component.mjs +199 -0
- package/esm2022/extensions/lib/components/extensible-form/extensible-form.component.mjs +74 -0
- package/esm2022/extensions/lib/components/extensible-table/extensible-table.component.mjs +137 -0
- package/esm2022/extensions/lib/components/grid-actions/grid-actions.component.mjs +40 -0
- package/esm2022/extensions/lib/components/page-toolbar/page-toolbar.component.mjs +39 -0
- package/{esm2020 → esm2022}/extensions/lib/constants/extra-properties.mjs +1 -1
- package/esm2022/extensions/lib/directives/disabled.directive.mjs +30 -0
- package/esm2022/extensions/lib/directives/prop-data.directive.mjs +42 -0
- package/{esm2020 → esm2022}/extensions/lib/enums/components.mjs +1 -1
- package/{esm2020 → esm2022}/extensions/lib/enums/props.enum.mjs +1 -1
- package/{esm2020 → esm2022}/extensions/lib/models/actions.mjs +46 -46
- package/{esm2020 → esm2022}/extensions/lib/models/entity-actions.mjs +28 -28
- package/esm2022/extensions/lib/models/entity-props.mjs +44 -0
- package/esm2022/extensions/lib/models/form-props.mjs +76 -0
- package/{esm2020 → esm2022}/extensions/lib/models/internal/object-extensions.mjs +2 -2
- package/{esm2020 → esm2022}/extensions/lib/models/object-extensions.mjs +2 -2
- package/esm2022/extensions/lib/models/props.mjs +54 -0
- package/{esm2020 → esm2022}/extensions/lib/models/toolbar-actions.mjs +43 -43
- package/esm2022/extensions/lib/pipes/create-injector.pipe.mjs +37 -0
- package/esm2022/extensions/lib/services/extensions.service.mjs +25 -0
- package/{esm2020 → esm2022}/extensions/lib/tokens/extensible-form-view-provider.token.mjs +2 -2
- package/{esm2020 → esm2022}/extensions/lib/tokens/extensions.token.mjs +11 -11
- package/esm2022/extensions/lib/ui-extensions.module.mjs +100 -0
- package/{esm2020 → esm2022}/extensions/lib/utils/actions.util.mjs +8 -8
- package/{esm2020 → esm2022}/extensions/lib/utils/enum.util.mjs +41 -41
- package/{esm2020 → esm2022}/extensions/lib/utils/factory.util.mjs +3 -3
- package/esm2022/extensions/lib/utils/form-props.util.mjs +51 -0
- package/{esm2020 → esm2022}/extensions/lib/utils/localization.util.mjs +12 -12
- package/{esm2020 → esm2022}/extensions/lib/utils/props.util.mjs +13 -13
- package/esm2022/extensions/lib/utils/state.util.mjs +126 -0
- package/{esm2020 → esm2022}/extensions/lib/utils/typeahead.util.mjs +51 -51
- package/{esm2020 → esm2022}/extensions/lib/utils/validation.util.mjs +10 -10
- package/{esm2020 → esm2022}/extensions/public-api.mjs +30 -30
- package/{esm2020 → esm2022}/lib/animations/bounce.animations.mjs +16 -16
- package/{esm2020 → esm2022}/lib/animations/collapse.animations.mjs +49 -49
- package/{esm2020 → esm2022}/lib/animations/fade.animations.mjs +37 -37
- package/{esm2020 → esm2022}/lib/animations/index.mjs +6 -6
- package/{esm2020 → esm2022}/lib/animations/modal.animations.mjs +10 -10
- package/{esm2020 → esm2022}/lib/animations/slide.animations.mjs +7 -7
- package/{esm2020 → esm2022}/lib/animations/toast.animations.mjs +12 -12
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +44 -0
- package/esm2022/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +20 -0
- package/esm2022/lib/components/button/button.component.mjs +103 -0
- package/{esm2020 → esm2022}/lib/components/card/card-body.component.mjs +27 -26
- package/esm2022/lib/components/card/card-footer.component.mjs +31 -0
- package/esm2022/lib/components/card/card-header.component.mjs +31 -0
- package/esm2022/lib/components/card/card-header.directive.mjs +20 -0
- package/esm2022/lib/components/card/card-img-top.directive.mjs +20 -0
- package/esm2022/lib/components/card/card-subtitle.directive.mjs +20 -0
- package/esm2022/lib/components/card/card-title.directive.mjs +20 -0
- package/esm2022/lib/components/card/card.component.mjs +24 -0
- package/esm2022/lib/components/card/card.module.mjs +50 -0
- package/{esm2020 → esm2022}/lib/components/card/index.mjs +9 -9
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +89 -0
- package/esm2022/lib/components/confirmation/confirmation.component.mjs +46 -0
- package/esm2022/lib/components/form-input/form-input.component.mjs +95 -0
- package/esm2022/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +60 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +16 -16
- package/esm2022/lib/components/loader-bar/loader-bar.component.mjs +122 -0
- package/esm2022/lib/components/loading/loading.component.mjs +20 -0
- package/esm2022/lib/components/modal/modal-close.directive.mjs +28 -0
- package/esm2022/lib/components/modal/modal-ref.service.mjs +27 -0
- package/esm2022/lib/components/modal/modal.component.mjs +190 -0
- package/esm2022/lib/components/password/password.component.mjs +39 -0
- package/esm2022/lib/components/toast/toast.component.mjs +56 -0
- package/esm2022/lib/components/toast-container/toast-container.component.mjs +59 -0
- package/{esm2020 → esm2022}/lib/constants/styles.mjs +1 -1
- package/{esm2020 → esm2022}/lib/constants/validation.mjs +19 -19
- package/esm2022/lib/directives/ellipsis.directive.mjs +65 -0
- package/{esm2020 → esm2022}/lib/directives/index.mjs +5 -5
- package/esm2022/lib/directives/loading.directive.mjs +90 -0
- package/esm2022/lib/directives/ngx-datatable-default.directive.mjs +76 -0
- package/esm2022/lib/directives/ngx-datatable-list.directive.mjs +95 -0
- package/esm2022/lib/directives/visible.directive.mjs +63 -0
- package/{esm2020 → esm2022}/lib/enums/form.mjs +5 -5
- package/{esm2020 → esm2022}/lib/enums/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/enums/route-names.mjs +1 -1
- package/esm2022/lib/handlers/document-dir.handler.mjs +32 -0
- package/esm2022/lib/handlers/error.handler.mjs +294 -0
- package/{esm2020 → esm2022}/lib/handlers/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/common.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/confirmation.mjs +9 -9
- package/{esm2020 → esm2022}/lib/models/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/models/nav-item.mjs +5 -5
- package/{esm2020 → esm2022}/lib/models/statistics.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/toaster.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/user-menu.mjs +3 -3
- package/{esm2020 → esm2022}/lib/models/validation.mjs +1 -1
- package/{esm2020 → esm2022}/lib/providers/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/providers/ng-bootstrap-config.provider.mjs +16 -16
- package/{esm2020 → esm2022}/lib/providers/route.provider.mjs +17 -17
- package/{esm2020 → esm2022}/lib/services/abstract-menu.service.mjs +49 -49
- package/esm2022/lib/services/confirmation.service.mjs +69 -0
- package/{esm2020 → esm2022}/lib/services/index.mjs +5 -5
- package/esm2022/lib/services/nav-items.service.mjs +18 -0
- package/esm2022/lib/services/page-alert.service.mjs +29 -0
- package/esm2022/lib/services/toaster.service.mjs +104 -0
- package/esm2022/lib/services/user-menu.service.mjs +18 -0
- package/esm2022/lib/theme-shared.module.mjs +202 -0
- package/{esm2020 → esm2022}/lib/tokens/append-content.token.mjs +10 -10
- package/{esm2020 → esm2022}/lib/tokens/confirmation-icons.token.mjs +10 -10
- package/{esm2020 → esm2022}/lib/tokens/http-error.token.mjs +13 -13
- package/{esm2020 → esm2022}/lib/tokens/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/tokens/ngx-datatable-messages.token.mjs +7 -7
- package/{esm2020 → esm2022}/lib/tokens/suppress-unsaved-changes-warning.token.mjs +2 -2
- package/esm2022/lib/utils/date-parser-formatter.mjs +59 -0
- package/{esm2020 → esm2022}/lib/utils/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/utils/validation-utils.mjs +61 -61
- package/{esm2020 → esm2022}/public-api.mjs +15 -15
- package/{esm2020 → esm2022}/testing/abp-ng.theme.shared-testing.mjs +4 -4
- package/{esm2020 → esm2022}/testing/lib/models/config.mjs +1 -1
- package/{esm2020 → esm2022}/testing/lib/models/index.mjs +1 -1
- package/esm2022/testing/lib/theme-shared-testing.module.mjs +47 -0
- package/{esm2020 → esm2022}/testing/public-api.mjs +3 -3
- package/extensions/index.d.ts +5 -5
- package/extensions/lib/adapters/date-time.adapter.d.ts +11 -11
- package/extensions/lib/adapters/date.adapter.d.ts +9 -9
- package/extensions/lib/adapters/time.adapter.d.ts +8 -8
- package/extensions/lib/components/abstract-actions/abstract-actions.component.d.ts +12 -12
- package/extensions/lib/components/date-time-picker/date-time-picker.component.d.ts +16 -16
- package/extensions/lib/components/extensible-form/extensible-form-prop.component.d.ts +43 -43
- package/extensions/lib/components/extensible-form/extensible-form.component.d.ts +25 -25
- package/extensions/lib/components/extensible-table/extensible-table.component.d.ts +38 -38
- package/extensions/lib/components/grid-actions/grid-actions.component.d.ts +13 -13
- package/extensions/lib/components/page-toolbar/page-toolbar.component.d.ts +20 -20
- package/extensions/lib/constants/extra-properties.d.ts +1 -1
- package/extensions/lib/directives/disabled.directive.d.ts +11 -11
- package/extensions/lib/directives/prop-data.directive.d.ts +19 -19
- package/extensions/lib/enums/components.d.ts +3 -3
- package/extensions/lib/enums/props.enum.d.ts +16 -16
- package/extensions/lib/models/actions.d.ts +36 -36
- package/extensions/lib/models/entity-actions.d.ts +22 -22
- package/extensions/lib/models/entity-props.d.ts +30 -29
- package/extensions/lib/models/form-props.d.ts +59 -58
- package/extensions/lib/models/internal/object-extensions.d.ts +86 -85
- package/extensions/lib/models/object-extensions.d.ts +2 -2
- package/extensions/lib/models/props.d.ts +45 -44
- package/extensions/lib/models/toolbar-actions.d.ts +38 -38
- package/extensions/lib/pipes/create-injector.pipe.d.ts +8 -8
- package/extensions/lib/services/extensions.service.d.ts +14 -14
- package/extensions/lib/tokens/extensible-form-view-provider.token.d.ts +5 -5
- package/extensions/lib/tokens/extensions.token.d.ts +20 -24
- package/extensions/lib/ui-extensions.module.d.ts +24 -24
- package/extensions/lib/utils/actions.util.d.ts +7 -7
- package/extensions/lib/utils/enum.util.d.ts +7 -7
- package/extensions/lib/utils/factory.util.d.ts +1 -1
- package/extensions/lib/utils/form-props.util.d.ts +3 -3
- package/extensions/lib/utils/localization.util.d.ts +3 -3
- package/extensions/lib/utils/props.util.d.ts +9 -9
- package/extensions/lib/utils/state.util.d.ts +5 -5
- package/extensions/lib/utils/typeahead.util.d.ts +11 -11
- package/extensions/lib/utils/validation.util.d.ts +3 -3
- package/extensions/public-api.d.ts +30 -30
- package/{fesm2020 → fesm2022}/abp-ng.theme.shared-extensions.mjs +1340 -1331
- package/fesm2022/abp-ng.theme.shared-extensions.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/abp-ng.theme.shared-testing.mjs +40 -40
- package/{fesm2015 → fesm2022}/abp-ng.theme.shared-testing.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/abp-ng.theme.shared.mjs +2292 -2290
- package/fesm2022/abp-ng.theme.shared.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/animations/bounce.animations.d.ts +1 -1
- package/lib/animations/collapse.animations.d.ts +9 -9
- package/lib/animations/fade.animations.d.ts +10 -10
- package/lib/animations/index.d.ts +6 -6
- package/lib/animations/modal.animations.d.ts +2 -2
- package/lib/animations/slide.animations.d.ts +1 -1
- package/lib/animations/toast.animations.d.ts +1 -1
- package/lib/components/breadcrumb/breadcrumb.component.d.ts +16 -16
- package/lib/components/breadcrumb-items/breadcrumb-items.component.d.ts +7 -7
- package/lib/components/button/button.component.d.ts +26 -26
- package/lib/components/card/card-body.component.d.ts +8 -8
- package/lib/components/card/card-footer.component.d.ts +8 -8
- package/lib/components/card/card-header.component.d.ts +8 -8
- package/lib/components/card/card-header.directive.d.ts +6 -6
- package/lib/components/card/card-img-top.directive.d.ts +6 -6
- package/lib/components/card/card-subtitle.directive.d.ts +6 -6
- package/lib/components/card/card-title.directive.d.ts +6 -6
- package/lib/components/card/card.component.d.ts +7 -7
- package/lib/components/card/card.module.d.ts +15 -15
- package/lib/components/card/index.d.ts +9 -9
- package/lib/components/checkbox/checkbox.component.d.ts +18 -18
- package/lib/components/confirmation/confirmation.component.d.ts +19 -19
- package/lib/components/form-input/form-input.component.d.ts +19 -19
- package/lib/components/http-error-wrapper/http-error-wrapper.component.d.ts +27 -27
- package/lib/components/index.d.ts +16 -16
- package/lib/components/loader-bar/loader-bar.component.d.ts +33 -33
- package/lib/components/loading/loading.component.d.ts +5 -5
- package/lib/components/modal/modal-close.directive.d.ts +9 -9
- package/lib/components/modal/modal-ref.service.d.ts +13 -13
- package/lib/components/modal/modal.component.d.ts +50 -50
- package/lib/components/password/password.component.d.ts +12 -12
- package/lib/components/toast/toast.component.d.ts +14 -14
- package/lib/components/toast-container/toast-container.component.d.ts +22 -22
- package/lib/constants/styles.d.ts +2 -2
- package/lib/constants/validation.d.ts +19 -19
- package/lib/directives/ellipsis.directive.d.ts +21 -21
- package/lib/directives/index.d.ts +5 -5
- package/lib/directives/loading.directive.d.ts +25 -25
- package/lib/directives/ngx-datatable-default.directive.d.ts +30 -30
- package/lib/directives/ngx-datatable-list.directive.d.ts +24 -24
- package/lib/directives/visible.directive.d.ts +18 -18
- package/lib/enums/form.d.ts +4 -4
- package/lib/enums/index.d.ts +2 -2
- package/lib/enums/route-names.d.ts +3 -3
- package/lib/handlers/document-dir.handler.d.ts +13 -13
- package/lib/handlers/error.handler.d.ts +83 -83
- package/lib/handlers/index.d.ts +2 -2
- package/lib/models/common.d.ts +21 -21
- package/lib/models/confirmation.d.ts +27 -27
- package/lib/models/index.d.ts +7 -7
- package/lib/models/nav-item.d.ts +13 -13
- package/lib/models/statistics.d.ts +12 -12
- package/lib/models/toaster.d.ts +30 -30
- package/lib/models/user-menu.d.ts +8 -8
- package/lib/models/validation.d.ts +1 -1
- package/lib/providers/index.d.ts +2 -2
- package/lib/providers/ng-bootstrap-config.provider.d.ts +8 -8
- package/lib/providers/route.provider.d.ts +8 -8
- package/lib/services/abstract-menu.service.d.ts +13 -13
- package/lib/services/confirmation.service.d.ts +21 -21
- package/lib/services/index.d.ts +5 -5
- package/lib/services/nav-items.service.d.ts +8 -8
- package/lib/services/page-alert.service.d.ts +18 -18
- package/lib/services/toaster.service.d.ts +60 -60
- package/lib/services/user-menu.service.d.ts +8 -8
- package/lib/theme-shared.module.d.ts +38 -38
- package/lib/tokens/append-content.token.d.ts +2 -2
- package/lib/tokens/confirmation-icons.token.d.ts +11 -11
- package/lib/tokens/http-error.token.d.ts +5 -5
- package/lib/tokens/index.d.ts +4 -4
- package/lib/tokens/ngx-datatable-messages.token.d.ts +12 -12
- package/lib/tokens/suppress-unsaved-changes-warning.token.d.ts +2 -2
- package/lib/utils/date-parser-formatter.d.ts +12 -12
- package/lib/utils/index.d.ts +2 -2
- package/lib/utils/validation-utils.d.ts +5 -5
- package/package.json +28 -24
- package/public-api.d.ts +12 -12
- package/testing/index.d.ts +5 -5
- package/testing/lib/models/config.d.ts +4 -4
- package/testing/lib/models/index.d.ts +1 -1
- package/testing/lib/theme-shared-testing.module.d.ts +14 -14
- package/testing/public-api.d.ts +3 -3
- package/esm2020/extensions/lib/adapters/date-time.adapter.mjs +0 -44
- package/esm2020/extensions/lib/adapters/date.adapter.mjs +0 -41
- package/esm2020/extensions/lib/adapters/time.adapter.mjs +0 -36
- package/esm2020/extensions/lib/components/abstract-actions/abstract-actions.component.mjs +0 -25
- package/esm2020/extensions/lib/components/date-time-picker/date-time-picker.component.mjs +0 -109
- package/esm2020/extensions/lib/components/extensible-form/extensible-form-prop.component.mjs +0 -198
- package/esm2020/extensions/lib/components/extensible-form/extensible-form.component.mjs +0 -73
- package/esm2020/extensions/lib/components/extensible-table/extensible-table.component.mjs +0 -135
- package/esm2020/extensions/lib/components/grid-actions/grid-actions.component.mjs +0 -39
- package/esm2020/extensions/lib/components/page-toolbar/page-toolbar.component.mjs +0 -38
- package/esm2020/extensions/lib/directives/disabled.directive.mjs +0 -29
- package/esm2020/extensions/lib/directives/prop-data.directive.mjs +0 -41
- package/esm2020/extensions/lib/models/entity-props.mjs +0 -43
- package/esm2020/extensions/lib/models/form-props.mjs +0 -75
- package/esm2020/extensions/lib/models/props.mjs +0 -53
- package/esm2020/extensions/lib/pipes/create-injector.pipe.mjs +0 -36
- package/esm2020/extensions/lib/services/extensions.service.mjs +0 -24
- package/esm2020/extensions/lib/ui-extensions.module.mjs +0 -95
- package/esm2020/extensions/lib/utils/form-props.util.mjs +0 -51
- package/esm2020/extensions/lib/utils/state.util.mjs +0 -123
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +0 -43
- package/esm2020/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +0 -19
- package/esm2020/lib/components/button/button.component.mjs +0 -102
- package/esm2020/lib/components/card/card-footer.component.mjs +0 -30
- package/esm2020/lib/components/card/card-header.component.mjs +0 -30
- package/esm2020/lib/components/card/card-header.directive.mjs +0 -19
- package/esm2020/lib/components/card/card-img-top.directive.mjs +0 -19
- package/esm2020/lib/components/card/card-subtitle.directive.mjs +0 -19
- package/esm2020/lib/components/card/card-title.directive.mjs +0 -19
- package/esm2020/lib/components/card/card.component.mjs +0 -23
- package/esm2020/lib/components/card/card.module.mjs +0 -49
- package/esm2020/lib/components/checkbox/checkbox.component.mjs +0 -88
- package/esm2020/lib/components/confirmation/confirmation.component.mjs +0 -45
- package/esm2020/lib/components/form-input/form-input.component.mjs +0 -94
- package/esm2020/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +0 -59
- package/esm2020/lib/components/loader-bar/loader-bar.component.mjs +0 -121
- package/esm2020/lib/components/loading/loading.component.mjs +0 -19
- package/esm2020/lib/components/modal/modal-close.directive.mjs +0 -27
- package/esm2020/lib/components/modal/modal-ref.service.mjs +0 -26
- package/esm2020/lib/components/modal/modal.component.mjs +0 -189
- package/esm2020/lib/components/password/password.component.mjs +0 -38
- package/esm2020/lib/components/toast/toast.component.mjs +0 -55
- package/esm2020/lib/components/toast-container/toast-container.component.mjs +0 -58
- package/esm2020/lib/directives/ellipsis.directive.mjs +0 -63
- package/esm2020/lib/directives/loading.directive.mjs +0 -89
- package/esm2020/lib/directives/ngx-datatable-default.directive.mjs +0 -75
- package/esm2020/lib/directives/ngx-datatable-list.directive.mjs +0 -94
- package/esm2020/lib/directives/visible.directive.mjs +0 -62
- package/esm2020/lib/handlers/document-dir.handler.mjs +0 -31
- package/esm2020/lib/handlers/error.handler.mjs +0 -291
- package/esm2020/lib/services/confirmation.service.mjs +0 -68
- package/esm2020/lib/services/nav-items.service.mjs +0 -17
- package/esm2020/lib/services/page-alert.service.mjs +0 -28
- package/esm2020/lib/services/toaster.service.mjs +0 -103
- package/esm2020/lib/services/user-menu.service.mjs +0 -17
- package/esm2020/lib/theme-shared.module.mjs +0 -200
- package/esm2020/lib/utils/date-parser-formatter.mjs +0 -58
- package/esm2020/testing/lib/theme-shared-testing.module.mjs +0 -46
- package/fesm2015/abp-ng.theme.shared-extensions.mjs +0 -1460
- package/fesm2015/abp-ng.theme.shared-extensions.mjs.map +0 -1
- package/fesm2015/abp-ng.theme.shared-testing.mjs +0 -54
- package/fesm2015/abp-ng.theme.shared.mjs +0 -2767
- package/fesm2015/abp-ng.theme.shared.mjs.map +0 -1
- package/fesm2020/abp-ng.theme.shared-extensions.mjs.map +0 -1
- package/fesm2020/abp-ng.theme.shared-testing.mjs.map +0 -1
- package/fesm2020/abp-ng.theme.shared.mjs.map +0 -1
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { BehaviorSubject } from 'rxjs';
|
|
2
|
-
export class AbstractMenuService {
|
|
3
|
-
constructor() {
|
|
4
|
-
this._items$ = new BehaviorSubject([]);
|
|
5
|
-
}
|
|
6
|
-
get items() {
|
|
7
|
-
return this._items$.value;
|
|
8
|
-
}
|
|
9
|
-
get items$() {
|
|
10
|
-
return this._items$.asObservable();
|
|
11
|
-
}
|
|
12
|
-
addItems(newItems) {
|
|
13
|
-
const items = [...this.items];
|
|
14
|
-
newItems.forEach(item => {
|
|
15
|
-
const index = items.findIndex(i => i.id === item.id);
|
|
16
|
-
const data = new this.baseClass(item);
|
|
17
|
-
if (index > -1) {
|
|
18
|
-
items[index] = data;
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
items.push(data);
|
|
22
|
-
});
|
|
23
|
-
items.sort(this.sortItems);
|
|
24
|
-
this._items$.next(items);
|
|
25
|
-
}
|
|
26
|
-
removeItem(id) {
|
|
27
|
-
const index = this.items.findIndex(item => item.id === id);
|
|
28
|
-
if (index < 0)
|
|
29
|
-
return;
|
|
30
|
-
const items = [...this.items.slice(0, index), ...this.items.slice(index + 1)];
|
|
31
|
-
this._items$.next(items);
|
|
32
|
-
}
|
|
33
|
-
patchItem(id, item) {
|
|
34
|
-
const index = this.items.findIndex(i => i.id === id);
|
|
35
|
-
if (index < 0)
|
|
36
|
-
return;
|
|
37
|
-
const items = [...this.items];
|
|
38
|
-
items[index] = new this.baseClass({ ...items[index], ...item });
|
|
39
|
-
items.sort(this.sortItems);
|
|
40
|
-
this._items$.next(items);
|
|
41
|
-
}
|
|
42
|
-
sortItems(a, b) {
|
|
43
|
-
if (!a.order)
|
|
44
|
-
return 1;
|
|
45
|
-
if (!b.order)
|
|
46
|
-
return -1;
|
|
47
|
-
return a.order - b.order;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
export class AbstractMenuService {
|
|
3
|
+
constructor() {
|
|
4
|
+
this._items$ = new BehaviorSubject([]);
|
|
5
|
+
}
|
|
6
|
+
get items() {
|
|
7
|
+
return this._items$.value;
|
|
8
|
+
}
|
|
9
|
+
get items$() {
|
|
10
|
+
return this._items$.asObservable();
|
|
11
|
+
}
|
|
12
|
+
addItems(newItems) {
|
|
13
|
+
const items = [...this.items];
|
|
14
|
+
newItems.forEach(item => {
|
|
15
|
+
const index = items.findIndex(i => i.id === item.id);
|
|
16
|
+
const data = new this.baseClass(item);
|
|
17
|
+
if (index > -1) {
|
|
18
|
+
items[index] = data;
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
items.push(data);
|
|
22
|
+
});
|
|
23
|
+
items.sort(this.sortItems);
|
|
24
|
+
this._items$.next(items);
|
|
25
|
+
}
|
|
26
|
+
removeItem(id) {
|
|
27
|
+
const index = this.items.findIndex(item => item.id === id);
|
|
28
|
+
if (index < 0)
|
|
29
|
+
return;
|
|
30
|
+
const items = [...this.items.slice(0, index), ...this.items.slice(index + 1)];
|
|
31
|
+
this._items$.next(items);
|
|
32
|
+
}
|
|
33
|
+
patchItem(id, item) {
|
|
34
|
+
const index = this.items.findIndex(i => i.id === id);
|
|
35
|
+
if (index < 0)
|
|
36
|
+
return;
|
|
37
|
+
const items = [...this.items];
|
|
38
|
+
items[index] = new this.baseClass({ ...items[index], ...item });
|
|
39
|
+
items.sort(this.sortItems);
|
|
40
|
+
this._items$.next(items);
|
|
41
|
+
}
|
|
42
|
+
sortItems(a, b) {
|
|
43
|
+
if (!a.order)
|
|
44
|
+
return 1;
|
|
45
|
+
if (!b.order)
|
|
46
|
+
return -1;
|
|
47
|
+
return a.order - b.order;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
50
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvYWJzdHJhY3QtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFJbkQsTUFBTSxPQUFnQixtQkFBbUI7SUFBekM7UUFHWSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7SUFxRG5ELENBQUM7SUFuREMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBYTtRQUNwQixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV0QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDZCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixPQUFPO2FBQ1I7WUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFtQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFM0QsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFFdEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBbUIsRUFBRSxJQUE0QjtRQUN6RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFckQsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFFdEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTyxTQUFTLENBQUMsQ0FBSSxFQUFFLENBQUk7UUFDMUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUV4QixPQUFPLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTmF2SXRlbSB9IGZyb20gJy4uL21vZGVscy9uYXYtaXRlbSc7XHJcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1lbnVTZXJ2aWNlPFQgZXh0ZW5kcyBOYXZJdGVtPiB7XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJhc2VDbGFzczogVHlwZTxhbnk+O1xyXG5cclxuICBwcm90ZWN0ZWQgX2l0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSk7XHJcblxyXG4gIGdldCBpdGVtcygpOiBUW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBpdGVtcyQoKTogT2JzZXJ2YWJsZTxUW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtcyQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBhZGRJdGVtcyhuZXdJdGVtczogVFtdKSB7XHJcbiAgICBjb25zdCBpdGVtcyA9IFsuLi50aGlzLml0ZW1zXTtcclxuICAgIG5ld0l0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gaXRlbXMuZmluZEluZGV4KGkgPT4gaS5pZCA9PT0gaXRlbS5pZCk7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSBuZXcgdGhpcy5iYXNlQ2xhc3MoaXRlbSk7XHJcblxyXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgIGl0ZW1zW2luZGV4XSA9IGRhdGE7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpdGVtcy5wdXNoKGRhdGEpO1xyXG4gICAgfSk7XHJcbiAgICBpdGVtcy5zb3J0KHRoaXMuc29ydEl0ZW1zKTtcclxuICAgIHRoaXMuX2l0ZW1zJC5uZXh0KGl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUl0ZW0oaWQ6IHN0cmluZyB8IG51bWJlcikge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLml0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGlkKTtcclxuXHJcbiAgICBpZiAoaW5kZXggPCAwKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgaXRlbXMgPSBbLi4udGhpcy5pdGVtcy5zbGljZSgwLCBpbmRleCksIC4uLnRoaXMuaXRlbXMuc2xpY2UoaW5kZXggKyAxKV07XHJcbiAgICB0aGlzLl9pdGVtcyQubmV4dChpdGVtcyk7XHJcbiAgfVxyXG5cclxuICBwYXRjaEl0ZW0oaWQ6IHN0cmluZyB8IG51bWJlciwgaXRlbTogUGFydGlhbDxPbWl0PFQsICdpZCc+Pikge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLml0ZW1zLmZpbmRJbmRleChpID0+IGkuaWQgPT09IGlkKTtcclxuXHJcbiAgICBpZiAoaW5kZXggPCAwKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgaXRlbXMgPSBbLi4udGhpcy5pdGVtc107XHJcbiAgICBpdGVtc1tpbmRleF0gPSBuZXcgdGhpcy5iYXNlQ2xhc3MoeyAuLi5pdGVtc1tpbmRleF0sIC4uLml0ZW0gfSk7XHJcbiAgICBpdGVtcy5zb3J0KHRoaXMuc29ydEl0ZW1zKTtcclxuICAgIHRoaXMuX2l0ZW1zJC5uZXh0KGl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc29ydEl0ZW1zKGE6IFQsIGI6IFQpIHtcclxuICAgIGlmICghYS5vcmRlcikgcmV0dXJuIDE7XHJcbiAgICBpZiAoIWIub3JkZXIpIHJldHVybiAtMTtcclxuXHJcbiAgICByZXR1cm4gYS5vcmRlciAtIGIub3JkZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ContentProjectionService, PROJECTION_STRATEGY } from '@abp/ng.core';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { fromEvent, ReplaySubject, Subject } from 'rxjs';
|
|
4
|
+
import { debounceTime, filter, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { ConfirmationComponent } from '../components/confirmation/confirmation.component';
|
|
6
|
+
import { Confirmation } from '../models/confirmation';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@abp/ng.core";
|
|
9
|
+
class ConfirmationService {
|
|
10
|
+
constructor(contentProjectionService) {
|
|
11
|
+
this.contentProjectionService = contentProjectionService;
|
|
12
|
+
this.confirmation$ = new ReplaySubject(1);
|
|
13
|
+
this.clear = (status = Confirmation.Status.dismiss) => {
|
|
14
|
+
this.confirmation$.next(null);
|
|
15
|
+
this.status$.next(status);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
setContainer() {
|
|
19
|
+
this.containerComponentRef = this.contentProjectionService.projectContent(PROJECTION_STRATEGY.AppendComponentToBody(ConfirmationComponent, {
|
|
20
|
+
confirmation$: this.confirmation$,
|
|
21
|
+
clear: this.clear,
|
|
22
|
+
}));
|
|
23
|
+
setTimeout(() => {
|
|
24
|
+
this.containerComponentRef.changeDetectorRef.detectChanges();
|
|
25
|
+
}, 0);
|
|
26
|
+
}
|
|
27
|
+
info(message, title, options) {
|
|
28
|
+
return this.show(message, title, 'info', options);
|
|
29
|
+
}
|
|
30
|
+
success(message, title, options) {
|
|
31
|
+
return this.show(message, title, 'success', options);
|
|
32
|
+
}
|
|
33
|
+
warn(message, title, options) {
|
|
34
|
+
return this.show(message, title, 'warning', options);
|
|
35
|
+
}
|
|
36
|
+
error(message, title, options) {
|
|
37
|
+
return this.show(message, title, 'error', options);
|
|
38
|
+
}
|
|
39
|
+
show(message, title, severity, options = {}) {
|
|
40
|
+
if (!this.containerComponentRef)
|
|
41
|
+
this.setContainer();
|
|
42
|
+
this.confirmation$.next({
|
|
43
|
+
message,
|
|
44
|
+
title,
|
|
45
|
+
severity: severity || 'neutral',
|
|
46
|
+
options,
|
|
47
|
+
});
|
|
48
|
+
this.status$ = new Subject();
|
|
49
|
+
const { dismissible = true } = options;
|
|
50
|
+
if (dismissible)
|
|
51
|
+
this.listenToEscape();
|
|
52
|
+
return this.status$;
|
|
53
|
+
}
|
|
54
|
+
listenToEscape() {
|
|
55
|
+
fromEvent(document, 'keyup')
|
|
56
|
+
.pipe(takeUntil(this.status$), debounceTime(150), filter((key) => key && key.key === 'Escape'))
|
|
57
|
+
.subscribe(() => {
|
|
58
|
+
this.clear();
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ConfirmationService, deps: [{ token: i1.ContentProjectionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
62
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ConfirmationService, providedIn: 'root' }); }
|
|
63
|
+
}
|
|
64
|
+
export { ConfirmationService };
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ConfirmationService, decorators: [{
|
|
66
|
+
type: Injectable,
|
|
67
|
+
args: [{ providedIn: 'root' }]
|
|
68
|
+
}], ctorParameters: function () { return [{ type: i1.ContentProjectionService }]; } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hHLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUV0RCxNQUNhLG1CQUFtQjtJQVc5QixZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQVR0RSxrQkFBYSxHQUFHLElBQUksYUFBYSxDQUFpQyxDQUFDLENBQUMsQ0FBQztRQUlyRSxVQUFLLEdBQUcsQ0FBQyxTQUE4QixZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQztJQUV1RSxDQUFDO0lBRWxFLFlBQVk7UUFDbEIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQ3ZFLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixFQUFFO1lBQy9ELGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEIsQ0FBQyxDQUNILENBQUM7UUFFRixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQy9ELENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxJQUFJLENBQ0YsT0FBMEIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxPQUFPLENBQ0wsT0FBMEIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLENBQ0YsT0FBMEIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxLQUFLLENBQ0gsT0FBMEIsRUFDMUIsS0FBd0IsRUFDeEIsT0FBdUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLENBQ0YsT0FBMEIsRUFDMUIsS0FBd0IsRUFDeEIsUUFBZ0MsRUFDaEMsVUFBVSxFQUFtQztRQUU3QyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQjtZQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVyRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUN0QixPQUFPO1lBQ1AsS0FBSztZQUNMLFFBQVEsRUFBRSxRQUFRLElBQUksU0FBUztZQUMvQixPQUFPO1NBQ1IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxXQUFXLEdBQUcsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3ZDLElBQUksV0FBVztZQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsU0FBUyxDQUFnQixRQUFRLEVBQUUsT0FBTyxDQUFDO2FBQ3hDLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUN2QixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLE1BQU0sQ0FBQyxDQUFDLEdBQWtCLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUM1RDthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBMUZVLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGNBRE4sTUFBTTs7U0FDbkIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudFByb2plY3Rpb25TZXJ2aWNlLCBMb2NhbGl6YXRpb25QYXJhbSwgUFJPSkVDVElPTl9TVFJBVEVHWSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb25maXJtYXRpb24nO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIENvbmZpcm1hdGlvblNlcnZpY2Uge1xyXG4gIHN0YXR1cyQhOiBTdWJqZWN0PENvbmZpcm1hdGlvbi5TdGF0dXM+O1xyXG4gIGNvbmZpcm1hdGlvbiQgPSBuZXcgUmVwbGF5U3ViamVjdDxDb25maXJtYXRpb24uRGlhbG9nRGF0YSB8IG51bGw+KDEpO1xyXG5cclxuICBwcml2YXRlIGNvbnRhaW5lckNvbXBvbmVudFJlZiE6IENvbXBvbmVudFJlZjxDb25maXJtYXRpb25Db21wb25lbnQ+O1xyXG5cclxuICBjbGVhciA9IChzdGF0dXM6IENvbmZpcm1hdGlvbi5TdGF0dXMgPSBDb25maXJtYXRpb24uU3RhdHVzLmRpc21pc3MpID0+IHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uJC5uZXh0KG51bGwpO1xyXG4gICAgdGhpcy5zdGF0dXMkLm5leHQoc3RhdHVzKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRlbnRQcm9qZWN0aW9uU2VydmljZTogQ29udGVudFByb2plY3Rpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBwcml2YXRlIHNldENvbnRhaW5lcigpIHtcclxuICAgIHRoaXMuY29udGFpbmVyQ29tcG9uZW50UmVmID0gdGhpcy5jb250ZW50UHJvamVjdGlvblNlcnZpY2UucHJvamVjdENvbnRlbnQoXHJcbiAgICAgIFBST0pFQ1RJT05fU1RSQVRFR1kuQXBwZW5kQ29tcG9uZW50VG9Cb2R5KENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICAgIGNvbmZpcm1hdGlvbiQ6IHRoaXMuY29uZmlybWF0aW9uJCxcclxuICAgICAgICBjbGVhcjogdGhpcy5jbGVhcixcclxuICAgICAgfSksXHJcbiAgICApO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbnRhaW5lckNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIGluZm8oXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPENvbmZpcm1hdGlvbi5PcHRpb25zPixcclxuICApOiBPYnNlcnZhYmxlPENvbmZpcm1hdGlvbi5TdGF0dXM+IHtcclxuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdpbmZvJywgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzdWNjZXNzKFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxDb25maXJtYXRpb24uT3B0aW9ucz4sXHJcbiAgKTogT2JzZXJ2YWJsZTxDb25maXJtYXRpb24uU3RhdHVzPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnc3VjY2VzcycsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgd2FybihcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgdGl0bGU6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8Q29uZmlybWF0aW9uLk9wdGlvbnM+LFxyXG4gICk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3dhcm5pbmcnLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGVycm9yKFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxDb25maXJtYXRpb24uT3B0aW9ucz4sXHJcbiAgKTogT2JzZXJ2YWJsZTxDb25maXJtYXRpb24uU3RhdHVzPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnZXJyb3InLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNob3coXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHNldmVyaXR5PzogQ29uZmlybWF0aW9uLlNldmVyaXR5LFxyXG4gICAgb3B0aW9ucyA9IHt9IGFzIFBhcnRpYWw8Q29uZmlybWF0aW9uLk9wdGlvbnM+LFxyXG4gICk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lckNvbXBvbmVudFJlZikgdGhpcy5zZXRDb250YWluZXIoKTtcclxuXHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbiQubmV4dCh7XHJcbiAgICAgIG1lc3NhZ2UsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBzZXZlcml0eTogc2V2ZXJpdHkgfHwgJ25ldXRyYWwnLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zdGF0dXMkID0gbmV3IFN1YmplY3QoKTtcclxuICAgIGNvbnN0IHsgZGlzbWlzc2libGUgPSB0cnVlIH0gPSBvcHRpb25zO1xyXG4gICAgaWYgKGRpc21pc3NpYmxlKSB0aGlzLmxpc3RlblRvRXNjYXBlKCk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzJDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGlzdGVuVG9Fc2NhcGUoKSB7XHJcbiAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZG9jdW1lbnQsICdrZXl1cCcpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnN0YXR1cyQpLFxyXG4gICAgICAgIGRlYm91bmNlVGltZSgxNTApLFxyXG4gICAgICAgIGZpbHRlcigoa2V5OiBLZXlib2FyZEV2ZW50KSA9PiBrZXkgJiYga2V5LmtleSA9PT0gJ0VzY2FwZScpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xlYXIoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './confirmation.service';
|
|
2
|
-
export * from './nav-items.service';
|
|
3
|
-
export * from './page-alert.service';
|
|
4
|
-
export * from './toaster.service';
|
|
5
|
-
export * from './user-menu.service';
|
|
1
|
+
export * from './confirmation.service';
|
|
2
|
+
export * from './nav-items.service';
|
|
3
|
+
export * from './page-alert.service';
|
|
4
|
+
export * from './toaster.service';
|
|
5
|
+
export * from './user-menu.service';
|
|
6
6
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9uYXYtaXRlbXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1hbGVydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2FzdGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VzZXItbWVudS5zZXJ2aWNlJztcclxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { NavItem } from '../models/nav-item';
|
|
3
|
+
import { AbstractMenuService } from './abstract-menu.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
class NavItemsService extends AbstractMenuService {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.baseClass = NavItem;
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NavItemsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NavItemsService, providedIn: 'root' }); }
|
|
12
|
+
}
|
|
13
|
+
export { NavItemsService };
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NavItemsService, decorators: [{
|
|
15
|
+
type: Injectable,
|
|
16
|
+
args: [{ providedIn: 'root' }]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9uYXYtaXRlbXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFOUQsTUFDYSxlQUFnQixTQUFRLG1CQUE0QjtJQURqRTs7UUFFWSxjQUFTLEdBQUcsT0FBTyxDQUFDO0tBQy9COzhHQUZZLGVBQWU7a0hBQWYsZUFBZSxjQURGLE1BQU07O1NBQ25CLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdkl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvbmF2LWl0ZW0nO1xyXG5pbXBvcnQgeyBBYnN0cmFjdE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdC1tZW51LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIE5hdkl0ZW1zU2VydmljZSBleHRlbmRzIEFic3RyYWN0TWVudVNlcnZpY2U8TmF2SXRlbT4ge1xyXG4gIHByb3RlY3RlZCBiYXNlQ2xhc3MgPSBOYXZJdGVtO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { InternalStore } from '@abp/ng.core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
class PageAlertService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.alerts = new InternalStore([]);
|
|
7
|
+
this.alerts$ = this.alerts.sliceState(state => state);
|
|
8
|
+
}
|
|
9
|
+
show(alert) {
|
|
10
|
+
const newAlert = {
|
|
11
|
+
...alert,
|
|
12
|
+
dismissible: alert.dismissible ?? true,
|
|
13
|
+
};
|
|
14
|
+
this.alerts.set([newAlert, ...this.alerts.state]);
|
|
15
|
+
}
|
|
16
|
+
remove(index) {
|
|
17
|
+
const alerts = [...this.alerts.state];
|
|
18
|
+
alerts.splice(index, 1);
|
|
19
|
+
this.alerts.set(alerts);
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageAlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageAlertService, providedIn: 'root' }); }
|
|
23
|
+
}
|
|
24
|
+
export { PageAlertService };
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageAlertService, decorators: [{
|
|
26
|
+
type: Injectable,
|
|
27
|
+
args: [{ providedIn: 'root' }]
|
|
28
|
+
}], ctorParameters: function () { return []; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1hbGVydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvcGFnZS1hbGVydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFXN0MsTUFDYSxnQkFBZ0I7SUFLM0I7UUFKUSxXQUFNLEdBQUcsSUFBSSxhQUFhLENBQWMsRUFBRSxDQUFDLENBQUM7UUFFcEQsWUFBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFbEMsQ0FBQztJQUVoQixJQUFJLENBQUMsS0FBZ0I7UUFDbkIsTUFBTSxRQUFRLEdBQWM7WUFDMUIsR0FBRyxLQUFLO1lBQ1IsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSTtTQUN2QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7OEdBbkJVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTs7U0FDbkIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnRlcm5hbFN0b3JlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnZUFsZXJ0IHtcclxuICB0eXBlOiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICdkYW5nZXInIHwgJ3dhcm5pbmcnIHwgJ2luZm8nIHwgJ2xpZ2h0JyB8ICdkYXJrJztcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgZGlzbWlzc2libGU/OiBib29sZWFuO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM/OiBzdHJpbmdbXTtcclxuICB0aXRsZUxvY2FsaXphdGlvblBhcmFtcz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUGFnZUFsZXJ0U2VydmljZSB7XHJcbiAgcHJpdmF0ZSBhbGVydHMgPSBuZXcgSW50ZXJuYWxTdG9yZTxQYWdlQWxlcnRbXT4oW10pO1xyXG5cclxuICBhbGVydHMkID0gdGhpcy5hbGVydHMuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgc2hvdyhhbGVydDogUGFnZUFsZXJ0KSB7XHJcbiAgICBjb25zdCBuZXdBbGVydDogUGFnZUFsZXJ0ID0ge1xyXG4gICAgICAuLi5hbGVydCxcclxuICAgICAgZGlzbWlzc2libGU6IGFsZXJ0LmRpc21pc3NpYmxlID8/IHRydWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5hbGVydHMuc2V0KFtuZXdBbGVydCwgLi4udGhpcy5hbGVydHMuc3RhdGVdKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBhbGVydHMgPSBbLi4udGhpcy5hbGVydHMuc3RhdGVdO1xyXG4gICAgYWxlcnRzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB0aGlzLmFsZXJ0cy5zZXQoYWxlcnRzKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { ContentProjectionService, PROJECTION_STRATEGY, } from '@abp/ng.core';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { ReplaySubject } from 'rxjs';
|
|
4
|
+
import { ToastContainerComponent } from '../components/toast-container/toast-container.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@abp/ng.core";
|
|
7
|
+
class ToasterService {
|
|
8
|
+
constructor(contentProjectionService) {
|
|
9
|
+
this.contentProjectionService = contentProjectionService;
|
|
10
|
+
this.toasts$ = new ReplaySubject(1);
|
|
11
|
+
this.lastId = -1;
|
|
12
|
+
this.toasts = [];
|
|
13
|
+
/**
|
|
14
|
+
* Removes the toast with given id.
|
|
15
|
+
* @param id ID of the toast to be removed.
|
|
16
|
+
*/
|
|
17
|
+
this.remove = (id) => {
|
|
18
|
+
this.toasts = this.toasts.filter(toast => toast.options?.id !== id);
|
|
19
|
+
this.toasts$.next(this.toasts);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
setContainer() {
|
|
23
|
+
this.containerComponentRef = this.contentProjectionService.projectContent(PROJECTION_STRATEGY.AppendComponentToBody(ToastContainerComponent, {
|
|
24
|
+
toasts$: this.toasts$,
|
|
25
|
+
remove: this.remove,
|
|
26
|
+
}));
|
|
27
|
+
this.containerComponentRef.changeDetectorRef.detectChanges();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Creates an info toast with given parameters.
|
|
31
|
+
* @param message Content of the toast
|
|
32
|
+
* @param title Title of the toast
|
|
33
|
+
* @param options Spesific style or structural options for individual toast
|
|
34
|
+
*/
|
|
35
|
+
info(message, title, options) {
|
|
36
|
+
return this.show(message, title, 'info', options);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Creates a success toast with given parameters.
|
|
40
|
+
* @param message Content of the toast
|
|
41
|
+
* @param title Title of the toast
|
|
42
|
+
* @param options Spesific style or structural options for individual toast
|
|
43
|
+
*/
|
|
44
|
+
success(message, title, options) {
|
|
45
|
+
return this.show(message, title, 'success', options);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Creates a warning toast with given parameters.
|
|
49
|
+
* @param message Content of the toast
|
|
50
|
+
* @param title Title of the toast
|
|
51
|
+
* @param options Spesific style or structural options for individual toast
|
|
52
|
+
*/
|
|
53
|
+
warn(message, title, options) {
|
|
54
|
+
return this.show(message, title, 'warning', options);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Creates an error toast with given parameters.
|
|
58
|
+
* @param message Content of the toast
|
|
59
|
+
* @param title Title of the toast
|
|
60
|
+
* @param options Spesific style or structural options for individual toast
|
|
61
|
+
*/
|
|
62
|
+
error(message, title, options) {
|
|
63
|
+
return this.show(message, title, 'error', options);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Creates a toast with given parameters.
|
|
67
|
+
* @param message Content of the toast
|
|
68
|
+
* @param title Title of the toast
|
|
69
|
+
* @param severity Sets color of the toast. "success", "warning" etc.
|
|
70
|
+
* @param options Spesific style or structural options for individual toast
|
|
71
|
+
*/
|
|
72
|
+
show(message, title = undefined, severity = 'neutral', options = {}) {
|
|
73
|
+
if (!this.containerComponentRef)
|
|
74
|
+
this.setContainer();
|
|
75
|
+
const id = ++this.lastId;
|
|
76
|
+
this.toasts.push({
|
|
77
|
+
message,
|
|
78
|
+
title,
|
|
79
|
+
severity,
|
|
80
|
+
options: { closable: true, id, ...options },
|
|
81
|
+
});
|
|
82
|
+
this.toasts$.next(this.toasts);
|
|
83
|
+
return id;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Removes all open toasts at once.
|
|
87
|
+
*/
|
|
88
|
+
clear(containerKey) {
|
|
89
|
+
this.toasts = !containerKey
|
|
90
|
+
? []
|
|
91
|
+
: this.toasts.filter(toast => toast.options?.containerKey !== containerKey);
|
|
92
|
+
this.toasts$.next(this.toasts);
|
|
93
|
+
}
|
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ToasterService, deps: [{ token: i1.ContentProjectionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
95
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ToasterService, providedIn: 'root' }); }
|
|
96
|
+
}
|
|
97
|
+
export { ToasterService };
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ToasterService, decorators: [{
|
|
99
|
+
type: Injectable,
|
|
100
|
+
args: [{
|
|
101
|
+
providedIn: 'root',
|
|
102
|
+
}]
|
|
103
|
+
}], ctorParameters: function () { return [{ type: i1.ContentProjectionService }]; } });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFFeEIsbUJBQW1CLEdBRXBCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7OztBQUdsRyxNQUdhLGNBQWM7SUFTekIsWUFBb0Isd0JBQWtEO1FBQWxELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFSOUQsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFrQixDQUFDLENBQUMsQ0FBQztRQUVoRCxXQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFWixXQUFNLEdBQUcsRUFBcUIsQ0FBQztRQW9HdkM7OztXQUdHO1FBQ0gsV0FBTSxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUM7SUF2R3VFLENBQUM7SUFFbEUsWUFBWTtRQUNsQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FDdkUsbUJBQW1CLENBQUMscUJBQXFCLENBQUMsdUJBQXVCLEVBQUU7WUFDakUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFJLENBQ0YsT0FBMEIsRUFDMUIsS0FBeUIsRUFDekIsT0FBdUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FDTCxPQUEwQixFQUMxQixLQUF5QixFQUN6QixPQUF1QztRQUV2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUNGLE9BQTBCLEVBQzFCLEtBQXlCLEVBQ3pCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQ0gsT0FBMEIsRUFDMUIsS0FBeUIsRUFDekIsT0FBdUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFFSCxJQUFJLENBQ0YsT0FBMEIsRUFDMUIsUUFBdUMsU0FBUyxFQUNoRCxXQUE2QixTQUFTLEVBQ3RDLFVBQVUsRUFBbUM7UUFFN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUI7WUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFckQsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsT0FBTztZQUNQLEtBQUs7WUFDTCxRQUFRO1lBQ1IsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLEVBQUU7U0FDNUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQVdEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFlBQXFCO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxZQUFZO1lBQ3pCLENBQUMsQ0FBQyxFQUFFO1lBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxZQUFZLEtBQUssWUFBWSxDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBMUhVLGNBQWM7a0hBQWQsY0FBYyxjQUZiLE1BQU07O1NBRVAsY0FBYzsyRkFBZCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29udGVudFByb2plY3Rpb25TZXJ2aWNlLFxyXG4gIExvY2FsaXphdGlvblBhcmFtLFxyXG4gIFBST0pFQ1RJT05fU1RSQVRFR1ksXHJcbiAgU3RyaWN0LFxyXG59IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy90b2FzdC1jb250YWluZXIvdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJTZXJ2aWNlIGltcGxlbWVudHMgVG9hc3RlckNvbnRyYWN0IHtcclxuICBwcml2YXRlIHRvYXN0cyQgPSBuZXcgUmVwbGF5U3ViamVjdDxUb2FzdGVyLlRvYXN0W10+KDEpO1xyXG5cclxuICBwcml2YXRlIGxhc3RJZCA9IC0xO1xyXG5cclxuICBwcml2YXRlIHRvYXN0cyA9IFtdIGFzIFRvYXN0ZXIuVG9hc3RbXTtcclxuXHJcbiAgcHJpdmF0ZSBjb250YWluZXJDb21wb25lbnRSZWYhOiBDb21wb25lbnRSZWY8VG9hc3RDb250YWluZXJDb21wb25lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRlbnRQcm9qZWN0aW9uU2VydmljZTogQ29udGVudFByb2plY3Rpb25TZXJ2aWNlKSB7fVxyXG5cclxuICBwcml2YXRlIHNldENvbnRhaW5lcigpIHtcclxuICAgIHRoaXMuY29udGFpbmVyQ29tcG9uZW50UmVmID0gdGhpcy5jb250ZW50UHJvamVjdGlvblNlcnZpY2UucHJvamVjdENvbnRlbnQoXHJcbiAgICAgIFBST0pFQ1RJT05fU1RSQVRFR1kuQXBwZW5kQ29tcG9uZW50VG9Cb2R5KFRvYXN0Q29udGFpbmVyQ29tcG9uZW50LCB7XHJcbiAgICAgICAgdG9hc3RzJDogdGhpcy50b2FzdHMkLFxyXG4gICAgICAgIHJlbW92ZTogdGhpcy5yZW1vdmUsXHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmNvbnRhaW5lckNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGFuIGluZm8gdG9hc3Qgd2l0aCBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIENvbnRlbnQgb2YgdGhlIHRvYXN0XHJcbiAgICogQHBhcmFtIHRpdGxlIFRpdGxlIG9mIHRoZSB0b2FzdFxyXG4gICAqIEBwYXJhbSBvcHRpb25zIFNwZXNpZmljIHN0eWxlIG9yIHN0cnVjdHVyYWwgb3B0aW9ucyBmb3IgaW5kaXZpZHVhbCB0b2FzdFxyXG4gICAqL1xyXG4gIGluZm8oXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlPzogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxUb2FzdGVyLlRvYXN0T3B0aW9ucz4sXHJcbiAgKTogVG9hc3Rlci5Ub2FzdGVySWQge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2luZm8nLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBzdWNjZXNzIHRvYXN0IHdpdGggZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gbWVzc2FnZSBDb250ZW50IG9mIHRoZSB0b2FzdFxyXG4gICAqIEBwYXJhbSB0aXRsZSBUaXRsZSBvZiB0aGUgdG9hc3RcclxuICAgKiBAcGFyYW0gb3B0aW9ucyBTcGVzaWZpYyBzdHlsZSBvciBzdHJ1Y3R1cmFsIG9wdGlvbnMgZm9yIGluZGl2aWR1YWwgdG9hc3RcclxuICAgKi9cclxuICBzdWNjZXNzKFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZT86IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8VG9hc3Rlci5Ub2FzdE9wdGlvbnM+LFxyXG4gICk6IFRvYXN0ZXIuVG9hc3RlcklkIHtcclxuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdzdWNjZXNzJywgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGEgd2FybmluZyB0b2FzdCB3aXRoIGdpdmVuIHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgQ29udGVudCBvZiB0aGUgdG9hc3RcclxuICAgKiBAcGFyYW0gdGl0bGUgVGl0bGUgb2YgdGhlIHRvYXN0XHJcbiAgICogQHBhcmFtIG9wdGlvbnMgU3Blc2lmaWMgc3R5bGUgb3Igc3RydWN0dXJhbCBvcHRpb25zIGZvciBpbmRpdmlkdWFsIHRvYXN0XHJcbiAgICovXHJcbiAgd2FybihcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgdGl0bGU/OiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPFRvYXN0ZXIuVG9hc3RPcHRpb25zPixcclxuICApOiBUb2FzdGVyLlRvYXN0ZXJJZCB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnd2FybmluZycsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhbiBlcnJvciB0b2FzdCB3aXRoIGdpdmVuIHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgQ29udGVudCBvZiB0aGUgdG9hc3RcclxuICAgKiBAcGFyYW0gdGl0bGUgVGl0bGUgb2YgdGhlIHRvYXN0XHJcbiAgICogQHBhcmFtIG9wdGlvbnMgU3Blc2lmaWMgc3R5bGUgb3Igc3RydWN0dXJhbCBvcHRpb25zIGZvciBpbmRpdmlkdWFsIHRvYXN0XHJcbiAgICovXHJcbiAgZXJyb3IoXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlPzogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxUb2FzdGVyLlRvYXN0T3B0aW9ucz4sXHJcbiAgKTogVG9hc3Rlci5Ub2FzdGVySWQge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2Vycm9yJywgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGEgdG9hc3Qgd2l0aCBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIENvbnRlbnQgb2YgdGhlIHRvYXN0XHJcbiAgICogQHBhcmFtIHRpdGxlIFRpdGxlIG9mIHRoZSB0b2FzdFxyXG4gICAqIEBwYXJhbSBzZXZlcml0eSBTZXRzIGNvbG9yIG9mIHRoZSB0b2FzdC4gXCJzdWNjZXNzXCIsIFwid2FybmluZ1wiIGV0Yy5cclxuICAgKiBAcGFyYW0gb3B0aW9ucyBTcGVzaWZpYyBzdHlsZSBvciBzdHJ1Y3R1cmFsIG9wdGlvbnMgZm9yIGluZGl2aWR1YWwgdG9hc3RcclxuICAgKi9cclxuXHJcbiAgc2hvdyhcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgdGl0bGU6IExvY2FsaXphdGlvblBhcmFtIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxyXG4gICAgc2V2ZXJpdHk6IFRvYXN0ZXIuU2V2ZXJpdHkgPSAnbmV1dHJhbCcsXHJcbiAgICBvcHRpb25zID0ge30gYXMgUGFydGlhbDxUb2FzdGVyLlRvYXN0T3B0aW9ucz4sXHJcbiAgKTogVG9hc3Rlci5Ub2FzdGVySWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lckNvbXBvbmVudFJlZikgdGhpcy5zZXRDb250YWluZXIoKTtcclxuXHJcbiAgICBjb25zdCBpZCA9ICsrdGhpcy5sYXN0SWQ7XHJcbiAgICB0aGlzLnRvYXN0cy5wdXNoKHtcclxuICAgICAgbWVzc2FnZSxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIHNldmVyaXR5LFxyXG4gICAgICBvcHRpb25zOiB7IGNsb3NhYmxlOiB0cnVlLCBpZCwgLi4ub3B0aW9ucyB9LFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRvYXN0cyQubmV4dCh0aGlzLnRvYXN0cyk7XHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIHRoZSB0b2FzdCB3aXRoIGdpdmVuIGlkLlxyXG4gICAqIEBwYXJhbSBpZCBJRCBvZiB0aGUgdG9hc3QgdG8gYmUgcmVtb3ZlZC5cclxuICAgKi9cclxuICByZW1vdmUgPSAoaWQ6IG51bWJlcikgPT4ge1xyXG4gICAgdGhpcy50b2FzdHMgPSB0aGlzLnRvYXN0cy5maWx0ZXIodG9hc3QgPT4gdG9hc3Qub3B0aW9ucz8uaWQgIT09IGlkKTtcclxuICAgIHRoaXMudG9hc3RzJC5uZXh0KHRoaXMudG9hc3RzKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIGFsbCBvcGVuIHRvYXN0cyBhdCBvbmNlLlxyXG4gICAqL1xyXG4gIGNsZWFyKGNvbnRhaW5lcktleT86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50b2FzdHMgPSAhY29udGFpbmVyS2V5XHJcbiAgICAgID8gW11cclxuICAgICAgOiB0aGlzLnRvYXN0cy5maWx0ZXIodG9hc3QgPT4gdG9hc3Qub3B0aW9ucz8uY29udGFpbmVyS2V5ICE9PSBjb250YWluZXJLZXkpO1xyXG4gICAgdGhpcy50b2FzdHMkLm5leHQodGhpcy50b2FzdHMpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVG9hc3RlckNvbnRyYWN0ID0gU3RyaWN0PFRvYXN0ZXJTZXJ2aWNlLCBUb2FzdGVyLlNlcnZpY2U+O1xyXG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { UserMenu } from '../models/user-menu';
|
|
3
|
+
import { AbstractMenuService } from './abstract-menu.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
class UserMenuService extends AbstractMenuService {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.baseClass = UserMenu;
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: UserMenuService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: UserMenuService, providedIn: 'root' }); }
|
|
12
|
+
}
|
|
13
|
+
export { UserMenuService };
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: UserMenuService, decorators: [{
|
|
15
|
+
type: Injectable,
|
|
16
|
+
args: [{ providedIn: 'root' }]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy91c2VyLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFOUQsTUFDYSxlQUFnQixTQUFRLG1CQUE2QjtJQURsRTs7UUFFWSxjQUFTLEdBQUcsUUFBUSxDQUFDO0tBQ2hDOzhHQUZZLGVBQWU7a0hBQWYsZUFBZSxjQURGLE1BQU07O1NBQ25CLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVzZXJNZW51IH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItbWVudSc7XHJcbmltcG9ydCB7IEFic3RyYWN0TWVudVNlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0LW1lbnUuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVXNlck1lbnVTZXJ2aWNlIGV4dGVuZHMgQWJzdHJhY3RNZW51U2VydmljZTxVc2VyTWVudT4ge1xyXG4gIHByb3RlY3RlZCBiYXNlQ2xhc3MgPSBVc2VyTWVudTtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { CoreModule, noop } from '@abp/ng.core';
|
|
2
|
+
import { DatePipe } from '@angular/common';
|
|
3
|
+
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
4
|
+
import { NgbDateParserFormatter, NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
+
import { defaultMapErrorsFn, NgxValidateCoreModule, VALIDATION_BLUEPRINTS, VALIDATION_MAP_ERRORS_FN, VALIDATION_VALIDATE_ON_SUBMIT, } from '@ngx-validate/core';
|
|
6
|
+
import { NgxDatatableModule } from '@swimlane/ngx-datatable';
|
|
7
|
+
import { BreadcrumbItemsComponent } from './components/breadcrumb-items/breadcrumb-items.component';
|
|
8
|
+
import { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component';
|
|
9
|
+
import { ButtonComponent } from './components/button/button.component';
|
|
10
|
+
import { ConfirmationComponent } from './components/confirmation/confirmation.component';
|
|
11
|
+
import { HttpErrorWrapperComponent } from './components/http-error-wrapper/http-error-wrapper.component';
|
|
12
|
+
import { LoaderBarComponent } from './components/loader-bar/loader-bar.component';
|
|
13
|
+
import { LoadingComponent } from './components/loading/loading.component';
|
|
14
|
+
import { ModalCloseDirective } from './components/modal/modal-close.directive';
|
|
15
|
+
import { ModalComponent } from './components/modal/modal.component';
|
|
16
|
+
import { ToastContainerComponent } from './components/toast-container/toast-container.component';
|
|
17
|
+
import { ToastComponent } from './components/toast/toast.component';
|
|
18
|
+
import { DEFAULT_VALIDATION_BLUEPRINTS } from './constants/validation';
|
|
19
|
+
import { EllipsisModule } from './directives/ellipsis.directive';
|
|
20
|
+
import { LoadingDirective } from './directives/loading.directive';
|
|
21
|
+
import { NgxDatatableDefaultDirective } from './directives/ngx-datatable-default.directive';
|
|
22
|
+
import { NgxDatatableListDirective } from './directives/ngx-datatable-list.directive';
|
|
23
|
+
import { DocumentDirHandlerService } from './handlers/document-dir.handler';
|
|
24
|
+
import { ErrorHandler } from './handlers/error.handler';
|
|
25
|
+
import { NG_BOOTSTRAP_CONFIG_PROVIDERS } from './providers';
|
|
26
|
+
import { THEME_SHARED_ROUTE_PROVIDERS } from './providers/route.provider';
|
|
27
|
+
import { THEME_SHARED_APPEND_CONTENT } from './tokens/append-content.token';
|
|
28
|
+
import { HTTP_ERROR_CONFIG, httpErrorConfigFactory } from './tokens/http-error.token';
|
|
29
|
+
import { DateParserFormatter } from './utils/date-parser-formatter';
|
|
30
|
+
import { CONFIRMATION_ICONS, DEFAULT_CONFIRMATION_ICONS } from './tokens/confirmation-icons.token';
|
|
31
|
+
import { PasswordComponent } from './components/password/password.component';
|
|
32
|
+
import { CardModule } from './components/card/card.module';
|
|
33
|
+
import { AbpVisibleDirective } from './directives';
|
|
34
|
+
import { FormInputComponent } from './components/form-input/form-input.component';
|
|
35
|
+
import { FormCheckboxComponent } from './components/checkbox/checkbox.component';
|
|
36
|
+
import * as i0 from "@angular/core";
|
|
37
|
+
const declarationsWithExports = [
|
|
38
|
+
BreadcrumbComponent,
|
|
39
|
+
BreadcrumbItemsComponent,
|
|
40
|
+
ButtonComponent,
|
|
41
|
+
ConfirmationComponent,
|
|
42
|
+
LoaderBarComponent,
|
|
43
|
+
LoadingComponent,
|
|
44
|
+
ModalComponent,
|
|
45
|
+
ToastComponent,
|
|
46
|
+
ToastContainerComponent,
|
|
47
|
+
PasswordComponent,
|
|
48
|
+
NgxDatatableDefaultDirective,
|
|
49
|
+
NgxDatatableListDirective,
|
|
50
|
+
LoadingDirective,
|
|
51
|
+
ModalCloseDirective,
|
|
52
|
+
AbpVisibleDirective,
|
|
53
|
+
FormInputComponent,
|
|
54
|
+
FormCheckboxComponent
|
|
55
|
+
];
|
|
56
|
+
class BaseThemeSharedModule {
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BaseThemeSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
58
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: BaseThemeSharedModule, declarations: [BreadcrumbComponent,
|
|
59
|
+
BreadcrumbItemsComponent,
|
|
60
|
+
ButtonComponent,
|
|
61
|
+
ConfirmationComponent,
|
|
62
|
+
LoaderBarComponent,
|
|
63
|
+
LoadingComponent,
|
|
64
|
+
ModalComponent,
|
|
65
|
+
ToastComponent,
|
|
66
|
+
ToastContainerComponent,
|
|
67
|
+
PasswordComponent,
|
|
68
|
+
NgxDatatableDefaultDirective,
|
|
69
|
+
NgxDatatableListDirective,
|
|
70
|
+
LoadingDirective,
|
|
71
|
+
ModalCloseDirective,
|
|
72
|
+
AbpVisibleDirective,
|
|
73
|
+
FormInputComponent,
|
|
74
|
+
FormCheckboxComponent, HttpErrorWrapperComponent], imports: [CoreModule,
|
|
75
|
+
NgxDatatableModule,
|
|
76
|
+
NgxValidateCoreModule,
|
|
77
|
+
NgbPaginationModule,
|
|
78
|
+
EllipsisModule,
|
|
79
|
+
CardModule], exports: [NgxDatatableModule,
|
|
80
|
+
EllipsisModule,
|
|
81
|
+
NgxValidateCoreModule,
|
|
82
|
+
CardModule, BreadcrumbComponent,
|
|
83
|
+
BreadcrumbItemsComponent,
|
|
84
|
+
ButtonComponent,
|
|
85
|
+
ConfirmationComponent,
|
|
86
|
+
LoaderBarComponent,
|
|
87
|
+
LoadingComponent,
|
|
88
|
+
ModalComponent,
|
|
89
|
+
ToastComponent,
|
|
90
|
+
ToastContainerComponent,
|
|
91
|
+
PasswordComponent,
|
|
92
|
+
NgxDatatableDefaultDirective,
|
|
93
|
+
NgxDatatableListDirective,
|
|
94
|
+
LoadingDirective,
|
|
95
|
+
ModalCloseDirective,
|
|
96
|
+
AbpVisibleDirective,
|
|
97
|
+
FormInputComponent,
|
|
98
|
+
FormCheckboxComponent] }); }
|
|
99
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BaseThemeSharedModule, providers: [DatePipe], imports: [CoreModule,
|
|
100
|
+
NgxDatatableModule,
|
|
101
|
+
NgxValidateCoreModule,
|
|
102
|
+
NgbPaginationModule,
|
|
103
|
+
EllipsisModule,
|
|
104
|
+
CardModule, NgxDatatableModule,
|
|
105
|
+
EllipsisModule,
|
|
106
|
+
NgxValidateCoreModule,
|
|
107
|
+
CardModule] }); }
|
|
108
|
+
}
|
|
109
|
+
export { BaseThemeSharedModule };
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: BaseThemeSharedModule, decorators: [{
|
|
111
|
+
type: NgModule,
|
|
112
|
+
args: [{
|
|
113
|
+
imports: [
|
|
114
|
+
CoreModule,
|
|
115
|
+
NgxDatatableModule,
|
|
116
|
+
NgxValidateCoreModule,
|
|
117
|
+
NgbPaginationModule,
|
|
118
|
+
EllipsisModule,
|
|
119
|
+
CardModule,
|
|
120
|
+
],
|
|
121
|
+
declarations: [...declarationsWithExports, HttpErrorWrapperComponent],
|
|
122
|
+
exports: [
|
|
123
|
+
NgxDatatableModule,
|
|
124
|
+
EllipsisModule,
|
|
125
|
+
NgxValidateCoreModule,
|
|
126
|
+
CardModule,
|
|
127
|
+
...declarationsWithExports
|
|
128
|
+
],
|
|
129
|
+
providers: [DatePipe],
|
|
130
|
+
}]
|
|
131
|
+
}] });
|
|
132
|
+
class ThemeSharedModule {
|
|
133
|
+
static forRoot({ httpErrorConfig, validation = {}, confirmationIcons = {} } = {}) {
|
|
134
|
+
return {
|
|
135
|
+
ngModule: ThemeSharedModule,
|
|
136
|
+
providers: [
|
|
137
|
+
{
|
|
138
|
+
provide: APP_INITIALIZER,
|
|
139
|
+
multi: true,
|
|
140
|
+
deps: [ErrorHandler],
|
|
141
|
+
useFactory: noop,
|
|
142
|
+
},
|
|
143
|
+
THEME_SHARED_ROUTE_PROVIDERS,
|
|
144
|
+
{
|
|
145
|
+
provide: APP_INITIALIZER,
|
|
146
|
+
multi: true,
|
|
147
|
+
deps: [THEME_SHARED_APPEND_CONTENT],
|
|
148
|
+
useFactory: noop,
|
|
149
|
+
},
|
|
150
|
+
{ provide: HTTP_ERROR_CONFIG, useValue: httpErrorConfig },
|
|
151
|
+
{
|
|
152
|
+
provide: 'HTTP_ERROR_CONFIG',
|
|
153
|
+
useFactory: httpErrorConfigFactory,
|
|
154
|
+
deps: [HTTP_ERROR_CONFIG],
|
|
155
|
+
},
|
|
156
|
+
{ provide: NgbDateParserFormatter, useClass: DateParserFormatter },
|
|
157
|
+
NG_BOOTSTRAP_CONFIG_PROVIDERS,
|
|
158
|
+
{
|
|
159
|
+
provide: VALIDATION_BLUEPRINTS,
|
|
160
|
+
useValue: {
|
|
161
|
+
...DEFAULT_VALIDATION_BLUEPRINTS,
|
|
162
|
+
...(validation.blueprints || {}),
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
provide: VALIDATION_MAP_ERRORS_FN,
|
|
167
|
+
useValue: validation.mapErrorsFn || defaultMapErrorsFn,
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
provide: VALIDATION_VALIDATE_ON_SUBMIT,
|
|
171
|
+
useValue: validation.validateOnSubmit,
|
|
172
|
+
},
|
|
173
|
+
DocumentDirHandlerService,
|
|
174
|
+
{
|
|
175
|
+
provide: APP_INITIALIZER,
|
|
176
|
+
useFactory: noop,
|
|
177
|
+
multi: true,
|
|
178
|
+
deps: [DocumentDirHandlerService],
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
provide: CONFIRMATION_ICONS,
|
|
182
|
+
useValue: {
|
|
183
|
+
...DEFAULT_CONFIRMATION_ICONS,
|
|
184
|
+
...(confirmationIcons || {}),
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ThemeSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
191
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ThemeSharedModule, imports: [BaseThemeSharedModule], exports: [BaseThemeSharedModule] }); }
|
|
192
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ThemeSharedModule, imports: [BaseThemeSharedModule, BaseThemeSharedModule] }); }
|
|
193
|
+
}
|
|
194
|
+
export { ThemeSharedModule };
|
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ThemeSharedModule, decorators: [{
|
|
196
|
+
type: NgModule,
|
|
197
|
+
args: [{
|
|
198
|
+
imports: [BaseThemeSharedModule],
|
|
199
|
+
exports: [BaseThemeSharedModule],
|
|
200
|
+
}]
|
|
201
|
+
}] });
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3RoZW1lLXNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLDZCQUE2QixHQUM5QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0s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QztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlLCBub29wIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIE5nYlBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7XHJcbiAgZGVmYXVsdE1hcEVycm9yc0ZuLFxyXG4gIE5neFZhbGlkYXRlQ29yZU1vZHVsZSxcclxuICBWQUxJREFUSU9OX0JMVUVQUklOVFMsXHJcbiAgVkFMSURBVElPTl9NQVBfRVJST1JTX0ZOLFxyXG4gIFZBTElEQVRJT05fVkFMSURBVEVfT05fU1VCTUlULFxyXG59IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XHJcbmltcG9ydCB7IE5neERhdGF0YWJsZU1vZHVsZSB9IGZyb20gJ0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlJztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYkl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkY3J1bWItaXRlbXMvYnJlYWRjcnVtYi1pdGVtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2h0dHAtZXJyb3Itd3JhcHBlci9odHRwLWVycm9yLXdyYXBwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9hZGVyQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNb2RhbENsb3NlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFsL21vZGFsLWNsb3NlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0LWNvbnRhaW5lci90b2FzdC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgREVGQVVMVF9WQUxJREFUSU9OX0JMVUVQUklOVFMgfSBmcm9tICcuL2NvbnN0YW50cy92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgRWxsaXBzaXNNb2R1bGUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTG9hZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9sb2FkaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5neERhdGF0YWJsZURlZmF1bHREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbmd4LWRhdGF0YWJsZS1kZWZhdWx0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5neERhdGF0YWJsZUxpc3REaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IERvY3VtZW50RGlySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL2hhbmRsZXJzL2RvY3VtZW50LWRpci5oYW5kbGVyJztcclxuaW1wb3J0IHsgRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9oYW5kbGVycy9lcnJvci5oYW5kbGVyJztcclxuaW1wb3J0IHsgUm9vdFBhcmFtcyB9IGZyb20gJy4vbW9kZWxzL2NvbW1vbic7XHJcbmltcG9ydCB7IE5HX0JPT1RTVFJBUF9DT05GSUdfUFJPVklERVJTIH0gZnJvbSAnLi9wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBUSEVNRV9TSEFSRURfUk9VVEVfUFJPVklERVJTIH0gZnJvbSAnLi9wcm92aWRlcnMvcm91dGUucHJvdmlkZXInO1xyXG5pbXBvcnQgeyBUSEVNRV9TSEFSRURfQVBQRU5EX0NPTlRFTlQgfSBmcm9tICcuL3Rva2Vucy9hcHBlbmQtY29udGVudC50b2tlbic7XHJcbmltcG9ydCB7IEhUVFBfRVJST1JfQ09ORklHLCBodHRwRXJyb3JDb25maWdGYWN0b3J5IH0gZnJvbSAnLi90b2tlbnMvaHR0cC1lcnJvci50b2tlbic7XHJcbmltcG9ydCB7IERhdGVQYXJzZXJGb3JtYXR0ZXIgfSBmcm9tICcuL3V0aWxzL2RhdGUtcGFyc2VyLWZvcm1hdHRlcic7XHJcbmltcG9ydCB7IENPTkZJUk1BVElPTl9JQ09OUywgREVGQVVMVF9DT05GSVJNQVRJT05fSUNPTlMgfSBmcm9tICcuL3Rva2Vucy9jb25maXJtYXRpb24taWNvbnMudG9rZW4nO1xyXG5pbXBvcnQgeyBQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXNzd29yZC9wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJkTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBYnBWaXNpYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuXHJcbmNvbnN0IGRlY2xhcmF0aW9uc1dpdGhFeHBvcnRzID0gW1xyXG4gIEJyZWFkY3J1bWJDb21wb25lbnQsXHJcbiAgQnJlYWRjcnVtYkl0ZW1zQ29tcG9uZW50LFxyXG4gIEJ1dHRvbkNvbXBvbmVudCxcclxuICBDb25maXJtYXRpb25Db21wb25lbnQsXHJcbiAgTG9hZGVyQmFyQ29tcG9uZW50LFxyXG4gIExvYWRpbmdDb21wb25lbnQsXHJcbiAgTW9kYWxDb21wb25lbnQsXHJcbiAgVG9hc3RDb21wb25lbnQsXHJcbiAgVG9hc3RDb250YWluZXJDb21wb25lbnQsXHJcbiAgUGFzc3dvcmRDb21wb25lbnQsXHJcbiAgTmd4RGF0YXRhYmxlRGVmYXVsdERpcmVjdGl2ZSxcclxuICBOZ3hEYXRhdGFibGVMaXN0RGlyZWN0aXZlLFxyXG4gIExvYWRpbmdEaXJlY3RpdmUsXHJcbiAgTW9kYWxDbG9zZURpcmVjdGl2ZSxcclxuICBBYnBWaXNpYmxlRGlyZWN0aXZlLFxyXG4gIEZvcm1JbnB1dENvbXBvbmVudCxcclxuICBGb3JtQ2hlY2tib3hDb21wb25lbnRcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29yZU1vZHVsZSxcclxuICAgIE5neERhdGF0YWJsZU1vZHVsZSxcclxuICAgIE5neFZhbGlkYXRlQ29yZU1vZHVsZSxcclxuICAgIE5nYlBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBFbGxpcHNpc01vZHVsZSxcclxuICAgIENhcmRNb2R1bGUsXHJcblxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbLi4uZGVjbGFyYXRpb25zV2l0aEV4cG9ydHMsIEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIE5neERhdGF0YWJsZU1vZHVsZSxcclxuICAgIEVsbGlwc2lzTW9kdWxlLFxyXG4gICAgTmd4VmFsaWRhdGVDb3JlTW9kdWxlLFxyXG4gICAgQ2FyZE1vZHVsZSxcclxuICAgIC4uLmRlY2xhcmF0aW9uc1dpdGhFeHBvcnRzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtEYXRlUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXNlVGhlbWVTaGFyZWRNb2R1bGUgeyB9XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtCYXNlVGhlbWVTaGFyZWRNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtCYXNlVGhlbWVTaGFyZWRNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGhlbWVTaGFyZWRNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KFxyXG4gICAgeyBodHRwRXJyb3JDb25maWcsIHZhbGlkYXRpb24gPSB7fSwgY29uZmlybWF0aW9uSWNvbnMgPSB7fSB9ID0ge30gYXMgUm9vdFBhcmFtcyxcclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFRoZW1lU2hhcmVkTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogVGhlbWVTaGFyZWRNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW0Vycm9ySGFuZGxlcl0sXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBub29wLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgVEhFTUVfU0hBUkVEX1JPVVRFX1BST1ZJREVSUyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIGRlcHM6IFtUSEVNRV9TSEFSRURfQVBQRU5EX0NPTlRFTlRdLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogSFRUUF9FUlJPUl9DT05GSUcsIHVzZVZhbHVlOiBodHRwRXJyb3JDb25maWcgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiAnSFRUUF9FUlJPUl9DT05GSUcnLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogaHR0cEVycm9yQ29uZmlnRmFjdG9yeSxcclxuICAgICAgICAgIGRlcHM6IFtIVFRQX0VSUk9SX0NPTkZJR10sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIHVzZUNsYXNzOiBEYXRlUGFyc2VyRm9ybWF0dGVyIH0sXHJcbiAgICAgICAgTkdfQk9PVFNUUkFQX0NPTkZJR19QUk9WSURFUlMsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVkFMSURBVElPTl9CTFVFUFJJTlRTLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAgICAgLi4uREVGQVVMVF9WQUxJREFUSU9OX0JMVUVQUklOVFMsXHJcbiAgICAgICAgICAgIC4uLih2YWxpZGF0aW9uLmJsdWVwcmludHMgfHwge30pLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFZBTElEQVRJT05fTUFQX0VSUk9SU19GTixcclxuICAgICAgICAgIHVzZVZhbHVlOiB2YWxpZGF0aW9uLm1hcEVycm9yc0ZuIHx8IGRlZmF1bHRNYXBFcnJvcnNGbixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFZBTElEQVRJT05fVkFMSURBVEVfT05fU1VCTUlULFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHZhbGlkYXRpb24udmFsaWRhdGVPblN1Ym1pdCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIERvY3VtZW50RGlySGFuZGxlclNlcnZpY2UsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW0RvY3VtZW50RGlySGFuZGxlclNlcnZpY2VdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQ09ORklSTUFUSU9OX0lDT05TLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAgICAgLi4uREVGQVVMVF9DT05GSVJNQVRJT05fSUNPTlMsXHJcbiAgICAgICAgICAgIC4uLihjb25maXJtYXRpb25JY29ucyB8fCB7fSksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|