@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,103 +0,0 @@
|
|
|
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
|
-
export 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
|
-
}
|
|
95
|
-
ToasterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ToasterService, deps: [{ token: i1.ContentProjectionService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
96
|
-
ToasterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ToasterService, providedIn: 'root' });
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ToasterService, decorators: [{
|
|
98
|
-
type: Injectable,
|
|
99
|
-
args: [{
|
|
100
|
-
providedIn: 'root',
|
|
101
|
-
}]
|
|
102
|
-
}], ctorParameters: function () { return [{ type: i1.ContentProjectionService }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvdG9hc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFFeEIsbUJBQW1CLEdBRXBCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7OztBQU1sRyxNQUFNLE9BQU8sY0FBYztJQVN6QixZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQVI5RCxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQWtCLENBQUMsQ0FBQyxDQUFDO1FBRWhELFdBQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVaLFdBQU0sR0FBRyxFQUFxQixDQUFDO1FBb0d2Qzs7O1dBR0c7UUFDSCxXQUFNLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQztJQXZHdUUsQ0FBQztJQUVsRSxZQUFZO1FBQ2xCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUN2RSxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyx1QkFBdUIsRUFBRTtZQUNqRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILElBQUksQ0FDRixPQUEwQixFQUMxQixLQUF5QixFQUN6QixPQUF1QztRQUV2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUNMLE9BQTBCLEVBQzFCLEtBQXlCLEVBQ3pCLE9BQXVDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFJLENBQ0YsT0FBMEIsRUFDMUIsS0FBeUIsRUFDekIsT0FBdUM7UUFFdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FDSCxPQUEwQixFQUMxQixLQUF5QixFQUN6QixPQUF1QztRQUV2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUVILElBQUksQ0FDRixPQUEwQixFQUMxQixRQUF1QyxTQUFTLEVBQ2hELFdBQTZCLFNBQVMsRUFDdEMsVUFBVSxFQUFtQztRQUU3QyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQjtZQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVyRCxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixPQUFPO1lBQ1AsS0FBSztZQUNMLFFBQVE7WUFDUixPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRTtTQUM1QyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBV0Q7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBcUI7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLFlBQVk7WUFDekIsQ0FBQyxDQUFDLEVBQUU7WUFDSixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFlBQVksS0FBSyxZQUFZLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQzs7MkdBMUhVLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbnRlbnRQcm9qZWN0aW9uU2VydmljZSxcclxuICBMb2NhbGl6YXRpb25QYXJhbSxcclxuICBQUk9KRUNUSU9OX1NUUkFURUdZLFxyXG4gIFN0cmljdCxcclxufSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUb2FzdENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdG9hc3QtY29udGFpbmVyL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2FzdGVyU2VydmljZSBpbXBsZW1lbnRzIFRvYXN0ZXJDb250cmFjdCB7XHJcbiAgcHJpdmF0ZSB0b2FzdHMkID0gbmV3IFJlcGxheVN1YmplY3Q8VG9hc3Rlci5Ub2FzdFtdPigxKTtcclxuXHJcbiAgcHJpdmF0ZSBsYXN0SWQgPSAtMTtcclxuXHJcbiAgcHJpdmF0ZSB0b2FzdHMgPSBbXSBhcyBUb2FzdGVyLlRvYXN0W107XHJcblxyXG4gIHByaXZhdGUgY29udGFpbmVyQ29tcG9uZW50UmVmITogQ29tcG9uZW50UmVmPFRvYXN0Q29udGFpbmVyQ29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250ZW50UHJvamVjdGlvblNlcnZpY2U6IENvbnRlbnRQcm9qZWN0aW9uU2VydmljZSkge31cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb250YWluZXIoKSB7XHJcbiAgICB0aGlzLmNvbnRhaW5lckNvbXBvbmVudFJlZiA9IHRoaXMuY29udGVudFByb2plY3Rpb25TZXJ2aWNlLnByb2plY3RDb250ZW50KFxyXG4gICAgICBQUk9KRUNUSU9OX1NUUkFURUdZLkFwcGVuZENvbXBvbmVudFRvQm9keShUb2FzdENvbnRhaW5lckNvbXBvbmVudCwge1xyXG4gICAgICAgIHRvYXN0cyQ6IHRoaXMudG9hc3RzJCxcclxuICAgICAgICByZW1vdmU6IHRoaXMucmVtb3ZlLFxyXG4gICAgICB9KSxcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jb250YWluZXJDb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhbiBpbmZvIHRvYXN0IHdpdGggZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gbWVzc2FnZSBDb250ZW50IG9mIHRoZSB0b2FzdFxyXG4gICAqIEBwYXJhbSB0aXRsZSBUaXRsZSBvZiB0aGUgdG9hc3RcclxuICAgKiBAcGFyYW0gb3B0aW9ucyBTcGVzaWZpYyBzdHlsZSBvciBzdHJ1Y3R1cmFsIG9wdGlvbnMgZm9yIGluZGl2aWR1YWwgdG9hc3RcclxuICAgKi9cclxuICBpbmZvKFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZT86IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8VG9hc3Rlci5Ub2FzdE9wdGlvbnM+LFxyXG4gICk6IFRvYXN0ZXIuVG9hc3RlcklkIHtcclxuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdpbmZvJywgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGEgc3VjY2VzcyB0b2FzdCB3aXRoIGdpdmVuIHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgQ29udGVudCBvZiB0aGUgdG9hc3RcclxuICAgKiBAcGFyYW0gdGl0bGUgVGl0bGUgb2YgdGhlIHRvYXN0XHJcbiAgICogQHBhcmFtIG9wdGlvbnMgU3Blc2lmaWMgc3R5bGUgb3Igc3RydWN0dXJhbCBvcHRpb25zIGZvciBpbmRpdmlkdWFsIHRvYXN0XHJcbiAgICovXHJcbiAgc3VjY2VzcyhcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgdGl0bGU/OiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPFRvYXN0ZXIuVG9hc3RPcHRpb25zPixcclxuICApOiBUb2FzdGVyLlRvYXN0ZXJJZCB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnc3VjY2VzcycsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIHdhcm5pbmcgdG9hc3Qgd2l0aCBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIENvbnRlbnQgb2YgdGhlIHRvYXN0XHJcbiAgICogQHBhcmFtIHRpdGxlIFRpdGxlIG9mIHRoZSB0b2FzdFxyXG4gICAqIEBwYXJhbSBvcHRpb25zIFNwZXNpZmljIHN0eWxlIG9yIHN0cnVjdHVyYWwgb3B0aW9ucyBmb3IgaW5kaXZpZHVhbCB0b2FzdFxyXG4gICAqL1xyXG4gIHdhcm4oXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlPzogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxUb2FzdGVyLlRvYXN0T3B0aW9ucz4sXHJcbiAgKTogVG9hc3Rlci5Ub2FzdGVySWQge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3dhcm5pbmcnLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYW4gZXJyb3IgdG9hc3Qgd2l0aCBnaXZlbiBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIENvbnRlbnQgb2YgdGhlIHRvYXN0XHJcbiAgICogQHBhcmFtIHRpdGxlIFRpdGxlIG9mIHRoZSB0b2FzdFxyXG4gICAqIEBwYXJhbSBvcHRpb25zIFNwZXNpZmljIHN0eWxlIG9yIHN0cnVjdHVyYWwgb3B0aW9ucyBmb3IgaW5kaXZpZHVhbCB0b2FzdFxyXG4gICAqL1xyXG4gIGVycm9yKFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZT86IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8VG9hc3Rlci5Ub2FzdE9wdGlvbnM+LFxyXG4gICk6IFRvYXN0ZXIuVG9hc3RlcklkIHtcclxuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICdlcnJvcicsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBhIHRvYXN0IHdpdGggZ2l2ZW4gcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gbWVzc2FnZSBDb250ZW50IG9mIHRoZSB0b2FzdFxyXG4gICAqIEBwYXJhbSB0aXRsZSBUaXRsZSBvZiB0aGUgdG9hc3RcclxuICAgKiBAcGFyYW0gc2V2ZXJpdHkgU2V0cyBjb2xvciBvZiB0aGUgdG9hc3QuIFwic3VjY2Vzc1wiLCBcIndhcm5pbmdcIiBldGMuXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgU3Blc2lmaWMgc3R5bGUgb3Igc3RydWN0dXJhbCBvcHRpb25zIGZvciBpbmRpdmlkdWFsIHRvYXN0XHJcbiAgICovXHJcblxyXG4gIHNob3coXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlOiBMb2NhbGl6YXRpb25QYXJhbSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcclxuICAgIHNldmVyaXR5OiBUb2FzdGVyLlNldmVyaXR5ID0gJ25ldXRyYWwnLFxyXG4gICAgb3B0aW9ucyA9IHt9IGFzIFBhcnRpYWw8VG9hc3Rlci5Ub2FzdE9wdGlvbnM+LFxyXG4gICk6IFRvYXN0ZXIuVG9hc3RlcklkIHtcclxuICAgIGlmICghdGhpcy5jb250YWluZXJDb21wb25lbnRSZWYpIHRoaXMuc2V0Q29udGFpbmVyKCk7XHJcblxyXG4gICAgY29uc3QgaWQgPSArK3RoaXMubGFzdElkO1xyXG4gICAgdGhpcy50b2FzdHMucHVzaCh7XHJcbiAgICAgIG1lc3NhZ2UsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBzZXZlcml0eSxcclxuICAgICAgb3B0aW9uczogeyBjbG9zYWJsZTogdHJ1ZSwgaWQsIC4uLm9wdGlvbnMgfSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy50b2FzdHMkLm5leHQodGhpcy50b2FzdHMpO1xyXG4gICAgcmV0dXJuIGlkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyB0aGUgdG9hc3Qgd2l0aCBnaXZlbiBpZC5cclxuICAgKiBAcGFyYW0gaWQgSUQgb2YgdGhlIHRvYXN0IHRvIGJlIHJlbW92ZWQuXHJcbiAgICovXHJcbiAgcmVtb3ZlID0gKGlkOiBudW1iZXIpID0+IHtcclxuICAgIHRoaXMudG9hc3RzID0gdGhpcy50b2FzdHMuZmlsdGVyKHRvYXN0ID0+IHRvYXN0Lm9wdGlvbnM/LmlkICE9PSBpZCk7XHJcbiAgICB0aGlzLnRvYXN0cyQubmV4dCh0aGlzLnRvYXN0cyk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyBhbGwgb3BlbiB0b2FzdHMgYXQgb25jZS5cclxuICAgKi9cclxuICBjbGVhcihjb250YWluZXJLZXk/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudG9hc3RzID0gIWNvbnRhaW5lcktleVxyXG4gICAgICA/IFtdXHJcbiAgICAgIDogdGhpcy50b2FzdHMuZmlsdGVyKHRvYXN0ID0+IHRvYXN0Lm9wdGlvbnM/LmNvbnRhaW5lcktleSAhPT0gY29udGFpbmVyS2V5KTtcclxuICAgIHRoaXMudG9hc3RzJC5uZXh0KHRoaXMudG9hc3RzKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFRvYXN0ZXJDb250cmFjdCA9IFN0cmljdDxUb2FzdGVyU2VydmljZSwgVG9hc3Rlci5TZXJ2aWNlPjtcclxuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
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
|
-
export class UserMenuService extends AbstractMenuService {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.baseClass = UserMenu;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
UserMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: UserMenuService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
-
UserMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: UserMenuService, providedIn: 'root' });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: UserMenuService, decorators: [{
|
|
14
|
-
type: Injectable,
|
|
15
|
-
args: [{ providedIn: 'root' }]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy91c2VyLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHOUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQTZCO0lBRGxFOztRQUVZLGNBQVMsR0FBRyxRQUFRLENBQUM7S0FDaEM7OzRHQUZZLGVBQWU7Z0hBQWYsZUFBZSxjQURGLE1BQU07MkZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVc2VyTWVudSB9IGZyb20gJy4uL21vZGVscy91c2VyLW1lbnUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9hYnN0cmFjdC1tZW51LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFVzZXJNZW51U2VydmljZSBleHRlbmRzIEFic3RyYWN0TWVudVNlcnZpY2U8VXNlck1lbnU+IHtcclxuICBwcm90ZWN0ZWQgYmFzZUNsYXNzID0gVXNlck1lbnU7XHJcbn1cclxuIl19
|
|
@@ -1,200 +0,0 @@
|
|
|
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
|
-
export class BaseThemeSharedModule {
|
|
57
|
-
}
|
|
58
|
-
BaseThemeSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BaseThemeSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
59
|
-
BaseThemeSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: BaseThemeSharedModule, declarations: [BreadcrumbComponent,
|
|
60
|
-
BreadcrumbItemsComponent,
|
|
61
|
-
ButtonComponent,
|
|
62
|
-
ConfirmationComponent,
|
|
63
|
-
LoaderBarComponent,
|
|
64
|
-
LoadingComponent,
|
|
65
|
-
ModalComponent,
|
|
66
|
-
ToastComponent,
|
|
67
|
-
ToastContainerComponent,
|
|
68
|
-
PasswordComponent,
|
|
69
|
-
NgxDatatableDefaultDirective,
|
|
70
|
-
NgxDatatableListDirective,
|
|
71
|
-
LoadingDirective,
|
|
72
|
-
ModalCloseDirective,
|
|
73
|
-
AbpVisibleDirective,
|
|
74
|
-
FormInputComponent,
|
|
75
|
-
FormCheckboxComponent, HttpErrorWrapperComponent], imports: [CoreModule,
|
|
76
|
-
NgxDatatableModule,
|
|
77
|
-
NgxValidateCoreModule,
|
|
78
|
-
NgbPaginationModule,
|
|
79
|
-
EllipsisModule,
|
|
80
|
-
CardModule], exports: [NgxDatatableModule,
|
|
81
|
-
EllipsisModule,
|
|
82
|
-
NgxValidateCoreModule,
|
|
83
|
-
CardModule, BreadcrumbComponent,
|
|
84
|
-
BreadcrumbItemsComponent,
|
|
85
|
-
ButtonComponent,
|
|
86
|
-
ConfirmationComponent,
|
|
87
|
-
LoaderBarComponent,
|
|
88
|
-
LoadingComponent,
|
|
89
|
-
ModalComponent,
|
|
90
|
-
ToastComponent,
|
|
91
|
-
ToastContainerComponent,
|
|
92
|
-
PasswordComponent,
|
|
93
|
-
NgxDatatableDefaultDirective,
|
|
94
|
-
NgxDatatableListDirective,
|
|
95
|
-
LoadingDirective,
|
|
96
|
-
ModalCloseDirective,
|
|
97
|
-
AbpVisibleDirective,
|
|
98
|
-
FormInputComponent,
|
|
99
|
-
FormCheckboxComponent] });
|
|
100
|
-
BaseThemeSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BaseThemeSharedModule, providers: [DatePipe], imports: [CoreModule,
|
|
101
|
-
NgxDatatableModule,
|
|
102
|
-
NgxValidateCoreModule,
|
|
103
|
-
NgbPaginationModule,
|
|
104
|
-
EllipsisModule,
|
|
105
|
-
CardModule, NgxDatatableModule,
|
|
106
|
-
EllipsisModule,
|
|
107
|
-
NgxValidateCoreModule,
|
|
108
|
-
CardModule] });
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BaseThemeSharedModule, decorators: [{
|
|
110
|
-
type: NgModule,
|
|
111
|
-
args: [{
|
|
112
|
-
imports: [
|
|
113
|
-
CoreModule,
|
|
114
|
-
NgxDatatableModule,
|
|
115
|
-
NgxValidateCoreModule,
|
|
116
|
-
NgbPaginationModule,
|
|
117
|
-
EllipsisModule,
|
|
118
|
-
CardModule,
|
|
119
|
-
],
|
|
120
|
-
declarations: [...declarationsWithExports, HttpErrorWrapperComponent],
|
|
121
|
-
exports: [
|
|
122
|
-
NgxDatatableModule,
|
|
123
|
-
EllipsisModule,
|
|
124
|
-
NgxValidateCoreModule,
|
|
125
|
-
CardModule,
|
|
126
|
-
...declarationsWithExports
|
|
127
|
-
],
|
|
128
|
-
providers: [DatePipe],
|
|
129
|
-
}]
|
|
130
|
-
}] });
|
|
131
|
-
export class ThemeSharedModule {
|
|
132
|
-
static forRoot({ httpErrorConfig, validation = {}, confirmationIcons = {} } = {}) {
|
|
133
|
-
return {
|
|
134
|
-
ngModule: ThemeSharedModule,
|
|
135
|
-
providers: [
|
|
136
|
-
{
|
|
137
|
-
provide: APP_INITIALIZER,
|
|
138
|
-
multi: true,
|
|
139
|
-
deps: [ErrorHandler],
|
|
140
|
-
useFactory: noop,
|
|
141
|
-
},
|
|
142
|
-
THEME_SHARED_ROUTE_PROVIDERS,
|
|
143
|
-
{
|
|
144
|
-
provide: APP_INITIALIZER,
|
|
145
|
-
multi: true,
|
|
146
|
-
deps: [THEME_SHARED_APPEND_CONTENT],
|
|
147
|
-
useFactory: noop,
|
|
148
|
-
},
|
|
149
|
-
{ provide: HTTP_ERROR_CONFIG, useValue: httpErrorConfig },
|
|
150
|
-
{
|
|
151
|
-
provide: 'HTTP_ERROR_CONFIG',
|
|
152
|
-
useFactory: httpErrorConfigFactory,
|
|
153
|
-
deps: [HTTP_ERROR_CONFIG],
|
|
154
|
-
},
|
|
155
|
-
{ provide: NgbDateParserFormatter, useClass: DateParserFormatter },
|
|
156
|
-
NG_BOOTSTRAP_CONFIG_PROVIDERS,
|
|
157
|
-
{
|
|
158
|
-
provide: VALIDATION_BLUEPRINTS,
|
|
159
|
-
useValue: {
|
|
160
|
-
...DEFAULT_VALIDATION_BLUEPRINTS,
|
|
161
|
-
...(validation.blueprints || {}),
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
provide: VALIDATION_MAP_ERRORS_FN,
|
|
166
|
-
useValue: validation.mapErrorsFn || defaultMapErrorsFn,
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
provide: VALIDATION_VALIDATE_ON_SUBMIT,
|
|
170
|
-
useValue: validation.validateOnSubmit,
|
|
171
|
-
},
|
|
172
|
-
DocumentDirHandlerService,
|
|
173
|
-
{
|
|
174
|
-
provide: APP_INITIALIZER,
|
|
175
|
-
useFactory: noop,
|
|
176
|
-
multi: true,
|
|
177
|
-
deps: [DocumentDirHandlerService],
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
provide: CONFIRMATION_ICONS,
|
|
181
|
-
useValue: {
|
|
182
|
-
...DEFAULT_CONFIRMATION_ICONS,
|
|
183
|
-
...(confirmationIcons || {}),
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
|
-
],
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
ThemeSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ThemeSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
191
|
-
ThemeSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: ThemeSharedModule, imports: [BaseThemeSharedModule], exports: [BaseThemeSharedModule] });
|
|
192
|
-
ThemeSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ThemeSharedModule, imports: [BaseThemeSharedModule, BaseThemeSharedModule] });
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ThemeSharedModule, decorators: [{
|
|
194
|
-
type: NgModule,
|
|
195
|
-
args: [{
|
|
196
|
-
imports: [BaseThemeSharedModule],
|
|
197
|
-
exports: [BaseThemeSharedModule],
|
|
198
|
-
}]
|
|
199
|
-
}] });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3RoZW1lLXNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLDZCQUE2QixHQUM5QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0s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ZXNDb250ZW50IjpbImltcG9ydCB7IENvcmVNb2R1bGUsIG5vb3AgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiRGF0ZVBhcnNlckZvcm1hdHRlciwgTmdiUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHtcclxuICBkZWZhdWx0TWFwRXJyb3JzRm4sXHJcbiAgTmd4VmFsaWRhdGVDb3JlTW9kdWxlLFxyXG4gIFZBTElEQVRJT05fQkxVRVBSSU5UUyxcclxuICBWQUxJREFUSU9OX01BUF9FUlJPUlNfRk4sXHJcbiAgVkFMSURBVElPTl9WQUxJREFURV9PTl9TVUJNSVQsXHJcbn0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTmd4RGF0YXRhYmxlTW9kdWxlIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iSXRlbXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnJlYWRjcnVtYi1pdGVtcy9icmVhZGNydW1iLWl0ZW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maXJtYXRpb24vY29uZmlybWF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaHR0cC1lcnJvci13cmFwcGVyL2h0dHAtZXJyb3Itd3JhcHBlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2FkZXJCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9hZGVyLWJhci9sb2FkZXItYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1vZGFsQ2xvc2VEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwtY2xvc2UuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9hc3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9hc3QtY29udGFpbmVyL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBERUZBVUxUX1ZBTElEQVRJT05fQkxVRVBSSU5UUyB9IGZyb20gJy4vY29uc3RhbnRzL3ZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBFbGxpcHNpc01vZHVsZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbGxpcHNpcy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMb2FkaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2xvYWRpbmcuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTmd4RGF0YXRhYmxlRGVmYXVsdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9uZ3gtZGF0YXRhYmxlLWRlZmF1bHQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTmd4RGF0YXRhYmxlTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9uZ3gtZGF0YXRhYmxlLWxpc3QuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRG9jdW1lbnREaXJIYW5kbGVyU2VydmljZSB9IGZyb20gJy4vaGFuZGxlcnMvZG9jdW1lbnQtZGlyLmhhbmRsZXInO1xyXG5pbXBvcnQgeyBFcnJvckhhbmRsZXIgfSBmcm9tICcuL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXInO1xyXG5pbXBvcnQgeyBSb290UGFyYW1zIH0gZnJvbSAnLi9tb2RlbHMvY29tbW9uJztcclxuaW1wb3J0IHsgTkdfQk9PVFNUUkFQX0NPTkZJR19QUk9WSURFUlMgfSBmcm9tICcuL3Byb3ZpZGVycyc7XHJcbmltcG9ydCB7IFRIRU1FX1NIQVJFRF9ST1VURV9QUk9WSURFUlMgfSBmcm9tICcuL3Byb3ZpZGVycy9yb3V0ZS5wcm92aWRlcic7XHJcbmltcG9ydCB7IFRIRU1FX1NIQVJFRF9BUFBFTkRfQ09OVEVOVCB9IGZyb20gJy4vdG9rZW5zL2FwcGVuZC1jb250ZW50LnRva2VuJztcclxuaW1wb3J0IHsgSFRUUF9FUlJPUl9DT05GSUcsIGh0dHBFcnJvckNvbmZpZ0ZhY3RvcnkgfSBmcm9tICcuL3Rva2Vucy9odHRwLWVycm9yLnRva2VuJztcclxuaW1wb3J0IHsgRGF0ZVBhcnNlckZvcm1hdHRlciB9IGZyb20gJy4vdXRpbHMvZGF0ZS1wYXJzZXItZm9ybWF0dGVyJztcclxuaW1wb3J0IHsgQ09ORklSTUFUSU9OX0lDT05TLCBERUZBVUxUX0NPTkZJUk1BVElPTl9JQ09OUyB9IGZyb20gJy4vdG9rZW5zL2NvbmZpcm1hdGlvbi1pY29ucy50b2tlbic7XHJcbmltcG9ydCB7IFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Bhc3N3b3JkL3Bhc3N3b3JkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhcmRNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FyZC9jYXJkLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFicFZpc2libGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1pbnB1dC9mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1DaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgZGVjbGFyYXRpb25zV2l0aEV4cG9ydHMgPSBbXHJcbiAgQnJlYWRjcnVtYkNvbXBvbmVudCxcclxuICBCcmVhZGNydW1iSXRlbXNDb21wb25lbnQsXHJcbiAgQnV0dG9uQ29tcG9uZW50LFxyXG4gIENvbmZpcm1hdGlvbkNvbXBvbmVudCxcclxuICBMb2FkZXJCYXJDb21wb25lbnQsXHJcbiAgTG9hZGluZ0NvbXBvbmVudCxcclxuICBNb2RhbENvbXBvbmVudCxcclxuICBUb2FzdENvbXBvbmVudCxcclxuICBUb2FzdENvbnRhaW5lckNvbXBvbmVudCxcclxuICBQYXNzd29yZENvbXBvbmVudCxcclxuICBOZ3hEYXRhdGFibGVEZWZhdWx0RGlyZWN0aXZlLFxyXG4gIE5neERhdGF0YWJsZUxpc3REaXJlY3RpdmUsXHJcbiAgTG9hZGluZ0RpcmVjdGl2ZSxcclxuICBNb2RhbENsb3NlRGlyZWN0aXZlLFxyXG4gIEFicFZpc2libGVEaXJlY3RpdmUsXHJcbiAgRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gIEZvcm1DaGVja2JveENvbXBvbmVudFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb3JlTW9kdWxlLFxyXG4gICAgTmd4RGF0YXRhYmxlTW9kdWxlLFxyXG4gICAgTmd4VmFsaWRhdGVDb3JlTW9kdWxlLFxyXG4gICAgTmdiUGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIEVsbGlwc2lzTW9kdWxlLFxyXG4gICAgQ2FyZE1vZHVsZSxcclxuXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFsuLi5kZWNsYXJhdGlvbnNXaXRoRXhwb3J0cywgSHR0cEVycm9yV3JhcHBlckNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTmd4RGF0YXRhYmxlTW9kdWxlLFxyXG4gICAgRWxsaXBzaXNNb2R1bGUsXHJcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXHJcbiAgICBDYXJkTW9kdWxlLFxyXG4gICAgLi4uZGVjbGFyYXRpb25zV2l0aEV4cG9ydHNcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhc2VUaGVtZVNoYXJlZE1vZHVsZSB7IH1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0Jhc2VUaGVtZVNoYXJlZE1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0Jhc2VUaGVtZVNoYXJlZE1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaGVtZVNoYXJlZE1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoXHJcbiAgICB7IGh0dHBFcnJvckNvbmZpZywgdmFsaWRhdGlvbiA9IHt9LCBjb25maXJtYXRpb25JY29ucyA9IHt9IH0gPSB7fSBhcyBSb290UGFyYW1zLFxyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VGhlbWVTaGFyZWRNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBUaGVtZVNoYXJlZE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICBkZXBzOiBbRXJyb3JIYW5kbGVyXSxcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IG5vb3AsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBUSEVNRV9TSEFSRURfUk9VVEVfUFJPVklERVJTLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW1RIRU1FX1NIQVJFRF9BUFBFTkRfQ09OVEVOVF0sXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBub29wLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBIVFRQX0VSUk9SX0NPTkZJRywgdXNlVmFsdWU6IGh0dHBFcnJvckNvbmZpZyB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6ICdIVFRQX0VSUk9SX0NPTkZJRycsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBodHRwRXJyb3JDb25maWdGYWN0b3J5LFxyXG4gICAgICAgICAgZGVwczogW0hUVFBfRVJST1JfQ09ORklHXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTmdiRGF0ZVBhcnNlckZvcm1hdHRlciwgdXNlQ2xhc3M6IERhdGVQYXJzZXJGb3JtYXR0ZXIgfSxcclxuICAgICAgICBOR19CT09UU1RSQVBfQ09ORklHX1BST1ZJREVSUyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBWQUxJREFUSU9OX0JMVUVQUklOVFMsXHJcbiAgICAgICAgICB1c2VWYWx1ZToge1xyXG4gICAgICAgICAgICAuLi5ERUZBVUxUX1ZBTElEQVRJT05fQkxVRVBSSU5UUyxcclxuICAgICAgICAgICAgLi4uKHZhbGlkYXRpb24uYmx1ZXByaW50cyB8fCB7fSksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVkFMSURBVElPTl9NQVBfRVJST1JTX0ZOLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHZhbGlkYXRpb24ubWFwRXJyb3JzRm4gfHwgZGVmYXVsdE1hcEVycm9yc0ZuLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVkFMSURBVElPTl9WQUxJREFURV9PTl9TVUJNSVQsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogdmFsaWRhdGlvbi52YWxpZGF0ZU9uU3VibWl0LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgRG9jdW1lbnREaXJIYW5kbGVyU2VydmljZSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBub29wLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICBkZXBzOiBbRG9jdW1lbnREaXJIYW5kbGVyU2VydmljZV0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBDT05GSVJNQVRJT05fSUNPTlMsXHJcbiAgICAgICAgICB1c2VWYWx1ZToge1xyXG4gICAgICAgICAgICAuLi5ERUZBVUxUX0NPTkZJUk1BVElPTl9JQ09OUyxcclxuICAgICAgICAgICAgLi4uKGNvbmZpcm1hdGlvbkljb25zIHx8IHt9KSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { ConfigStateService } from '@abp/ng.core';
|
|
2
|
-
import { formatDate } from '@angular/common';
|
|
3
|
-
import { Inject, Injectable, LOCALE_ID } from '@angular/core';
|
|
4
|
-
import { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@abp/ng.core";
|
|
7
|
-
function isNumber(value) {
|
|
8
|
-
return !isNaN(toInteger(value));
|
|
9
|
-
}
|
|
10
|
-
function toInteger(value) {
|
|
11
|
-
return parseInt(`${value}`, 10);
|
|
12
|
-
}
|
|
13
|
-
export class DateParserFormatter extends NgbDateParserFormatter {
|
|
14
|
-
constructor(configState, locale) {
|
|
15
|
-
super();
|
|
16
|
-
this.configState = configState;
|
|
17
|
-
this.locale = locale;
|
|
18
|
-
}
|
|
19
|
-
parse(value) {
|
|
20
|
-
if (value) {
|
|
21
|
-
const dateParts = value.trim().split('-');
|
|
22
|
-
// TODO: CHANGED
|
|
23
|
-
if (dateParts.length === 1 && isNumber(dateParts[0])) {
|
|
24
|
-
return { year: toInteger(dateParts[0]), month: -1, day: -1 };
|
|
25
|
-
}
|
|
26
|
-
else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {
|
|
27
|
-
return { year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: -1 };
|
|
28
|
-
}
|
|
29
|
-
else if (dateParts.length === 3 &&
|
|
30
|
-
isNumber(dateParts[0]) &&
|
|
31
|
-
isNumber(dateParts[1]) &&
|
|
32
|
-
isNumber(dateParts[2])) {
|
|
33
|
-
return {
|
|
34
|
-
year: toInteger(dateParts[0]),
|
|
35
|
-
month: toInteger(dateParts[1]),
|
|
36
|
-
day: toInteger(dateParts[2]),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
format(date) {
|
|
43
|
-
if (!date)
|
|
44
|
-
return '';
|
|
45
|
-
const localization = this.configState.getOne('localization');
|
|
46
|
-
const dateFormat = localization.currentCulture?.dateTimeFormat?.shortDatePattern || 'yyyy-MM-dd';
|
|
47
|
-
return formatDate(new Date(date.year, date.month - 1, date.day), dateFormat, this.locale);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
DateParserFormatter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateParserFormatter, deps: [{ token: i1.ConfigStateService }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
-
DateParserFormatter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateParserFormatter });
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DateParserFormatter, decorators: [{
|
|
53
|
-
type: Injectable
|
|
54
|
-
}], ctorParameters: function () { return [{ type: i1.ConfigStateService }, { type: undefined, decorators: [{
|
|
55
|
-
type: Inject,
|
|
56
|
-
args: [LOCALE_ID]
|
|
57
|
-
}] }]; } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1wYXJzZXItZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvdXRpbHMvZGF0ZS1wYXJzZXItZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkMsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQWlCLE1BQU0sNEJBQTRCLENBQUM7OztBQUVuRixTQUFTLFFBQVEsQ0FBQyxLQUFVO0lBQzFCLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLEtBQVU7SUFDM0IsT0FBTyxRQUFRLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBR0QsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHNCQUFzQjtJQUM3RCxZQUFvQixXQUErQixFQUE2QixNQUFjO1FBQzVGLEtBQUssRUFBRSxDQUFDO1FBRFUsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQTZCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFFOUYsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFhO1FBQ2pCLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQyxnQkFBZ0I7WUFDaEIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUM5RDtpQkFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JGLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDbkY7aUJBQU0sSUFDTCxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdEI7Z0JBQ0EsT0FBTztvQkFDTCxJQUFJLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDN0IsS0FBSyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzlCLEdBQUcsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM3QixDQUFDO2FBQ0g7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFtQjtRQUN4QixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXJCLE1BQU0sWUFBWSxHQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUxQyxNQUFNLFVBQVUsR0FDZCxZQUFZLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsSUFBSSxZQUFZLENBQUM7UUFFaEYsT0FBTyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixDQUFDOztnSEF2Q1UsbUJBQW1CLG9EQUMrQixTQUFTO29IQUQzRCxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTs7MEJBRTZDLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uTG9jYWxpemF0aW9uQ29uZmlndXJhdGlvbkR0bywgQ29uZmlnU3RhdGVTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTE9DQUxFX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIE5nYkRhdGVTdHJ1Y3QgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG5mdW5jdGlvbiBpc051bWJlcih2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuICFpc05hTih0b0ludGVnZXIodmFsdWUpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9JbnRlZ2VyKHZhbHVlOiBhbnkpOiBudW1iZXIge1xyXG4gIHJldHVybiBwYXJzZUludChgJHt2YWx1ZX1gLCAxMCk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERhdGVQYXJzZXJGb3JtYXR0ZXIgZXh0ZW5kcyBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ1N0YXRlOiBDb25maWdTdGF0ZVNlcnZpY2UsIEBJbmplY3QoTE9DQUxFX0lEKSBwcml2YXRlIGxvY2FsZTogc3RyaW5nKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcGFyc2UodmFsdWU6IHN0cmluZyk6IE5nYkRhdGVTdHJ1Y3QgfCBudWxsIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBjb25zdCBkYXRlUGFydHMgPSB2YWx1ZS50cmltKCkuc3BsaXQoJy0nKTtcclxuICAgICAgLy8gVE9ETzogQ0hBTkdFRFxyXG4gICAgICBpZiAoZGF0ZVBhcnRzLmxlbmd0aCA9PT0gMSAmJiBpc051bWJlcihkYXRlUGFydHNbMF0pKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgeWVhcjogdG9JbnRlZ2VyKGRhdGVQYXJ0c1swXSksIG1vbnRoOiAtMSwgZGF5OiAtMSB9O1xyXG4gICAgICB9IGVsc2UgaWYgKGRhdGVQYXJ0cy5sZW5ndGggPT09IDIgJiYgaXNOdW1iZXIoZGF0ZVBhcnRzWzBdKSAmJiBpc051bWJlcihkYXRlUGFydHNbMV0pKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgeWVhcjogdG9JbnRlZ2VyKGRhdGVQYXJ0c1swXSksIG1vbnRoOiB0b0ludGVnZXIoZGF0ZVBhcnRzWzFdKSwgZGF5OiAtMSB9O1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIGRhdGVQYXJ0cy5sZW5ndGggPT09IDMgJiZcclxuICAgICAgICBpc051bWJlcihkYXRlUGFydHNbMF0pICYmXHJcbiAgICAgICAgaXNOdW1iZXIoZGF0ZVBhcnRzWzFdKSAmJlxyXG4gICAgICAgIGlzTnVtYmVyKGRhdGVQYXJ0c1syXSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHllYXI6IHRvSW50ZWdlcihkYXRlUGFydHNbMF0pLFxyXG4gICAgICAgICAgbW9udGg6IHRvSW50ZWdlcihkYXRlUGFydHNbMV0pLFxyXG4gICAgICAgICAgZGF5OiB0b0ludGVnZXIoZGF0ZVBhcnRzWzJdKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGZvcm1hdChkYXRlOiBOZ2JEYXRlU3RydWN0KTogc3RyaW5nIHtcclxuICAgIGlmICghZGF0ZSkgcmV0dXJuICcnO1xyXG5cclxuICAgIGNvbnN0IGxvY2FsaXphdGlvbjogQXBwbGljYXRpb25Mb2NhbGl6YXRpb25Db25maWd1cmF0aW9uRHRvID1cclxuICAgICAgdGhpcy5jb25maWdTdGF0ZS5nZXRPbmUoJ2xvY2FsaXphdGlvbicpO1xyXG5cclxuICAgIGNvbnN0IGRhdGVGb3JtYXQgPVxyXG4gICAgICBsb2NhbGl6YXRpb24uY3VycmVudEN1bHR1cmU/LmRhdGVUaW1lRm9ybWF0Py5zaG9ydERhdGVQYXR0ZXJuIHx8ICd5eXl5LU1NLWRkJztcclxuXHJcbiAgICByZXR1cm4gZm9ybWF0RGF0ZShuZXcgRGF0ZShkYXRlLnllYXIsIGRhdGUubW9udGggLSAxLCBkYXRlLmRheSksIGRhdGVGb3JtYXQsIHRoaXMubG9jYWxlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { BaseThemeSharedModule, DateParserFormatter, DEFAULT_VALIDATION_BLUEPRINTS, THEME_SHARED_ROUTE_PROVIDERS, } from '@abp/ng.theme.shared';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { RouterTestingModule } from '@angular/router/testing';
|
|
4
|
-
import { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
-
import { defaultMapErrorsFn, VALIDATION_BLUEPRINTS, VALIDATION_MAP_ERRORS_FN, VALIDATION_VALIDATE_ON_SUBMIT, } from '@ngx-validate/core';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* ThemeSharedTestingModule is the module that will be used in tests
|
|
9
|
-
*/
|
|
10
|
-
export class ThemeSharedTestingModule {
|
|
11
|
-
static withConfig({ validation = {} } = {}) {
|
|
12
|
-
return {
|
|
13
|
-
ngModule: ThemeSharedTestingModule,
|
|
14
|
-
providers: [
|
|
15
|
-
THEME_SHARED_ROUTE_PROVIDERS,
|
|
16
|
-
{ provide: NgbDateParserFormatter, useClass: DateParserFormatter },
|
|
17
|
-
{
|
|
18
|
-
provide: VALIDATION_BLUEPRINTS,
|
|
19
|
-
useValue: {
|
|
20
|
-
...DEFAULT_VALIDATION_BLUEPRINTS,
|
|
21
|
-
...(validation.blueprints || {}),
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
provide: VALIDATION_MAP_ERRORS_FN,
|
|
26
|
-
useValue: validation.mapErrorsFn || defaultMapErrorsFn,
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
provide: VALIDATION_VALIDATE_ON_SUBMIT,
|
|
30
|
-
useValue: validation.validateOnSubmit,
|
|
31
|
-
},
|
|
32
|
-
],
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
ThemeSharedTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ThemeSharedTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
37
|
-
ThemeSharedTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: ThemeSharedTestingModule, imports: [RouterTestingModule, BaseThemeSharedModule], exports: [RouterTestingModule, BaseThemeSharedModule] });
|
|
38
|
-
ThemeSharedTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ThemeSharedTestingModule, imports: [RouterTestingModule, BaseThemeSharedModule, RouterTestingModule, BaseThemeSharedModule] });
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ThemeSharedTestingModule, decorators: [{
|
|
40
|
-
type: NgModule,
|
|
41
|
-
args: [{
|
|
42
|
-
exports: [RouterTestingModule, BaseThemeSharedModule],
|
|
43
|
-
imports: [RouterTestingModule, BaseThemeSharedModule],
|
|
44
|
-
}]
|
|
45
|
-
}] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2hhcmVkLXRlc3RpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3Rlc3Rpbmcvc3JjL2xpYi90aGVtZS1zaGFyZWQtdGVzdGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsNkJBQTZCLEVBQzdCLDRCQUE0QixHQUM3QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4Qiw2QkFBNkIsR0FDOUIsTUFBTSxvQkFBb0IsQ0FBQzs7QUFHNUI7O0dBRUc7QUFLSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLE1BQU0sQ0FBQyxVQUFVLENBQ2YsRUFBRSxVQUFVLEdBQUcsRUFBRSxLQUFLLEVBQVk7UUFFbEMsT0FBTztZQUNMLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFO2dCQUNULDRCQUE0QjtnQkFDNUIsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFO2dCQUNsRTtvQkFDRSxPQUFPLEVBQUUscUJBQXFCO29CQUM5QixRQUFRLEVBQUU7d0JBQ1IsR0FBRyw2QkFBNkI7d0JBQ2hDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztxQkFDakM7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLHdCQUF3QjtvQkFDakMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxXQUFXLElBQUksa0JBQWtCO2lCQUN2RDtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsNkJBQTZCO29CQUN0QyxRQUFRLEVBQUUsVUFBVSxDQUFDLGdCQUFnQjtpQkFDdEM7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztxSEExQlUsd0JBQXdCO3NIQUF4Qix3QkFBd0IsWUFGekIsbUJBQW1CLEVBQUUscUJBQXFCLGFBRDFDLG1CQUFtQixFQUFFLHFCQUFxQjtzSEFHekMsd0JBQXdCLFlBRnpCLG1CQUFtQixFQUFFLHFCQUFxQixFQUQxQyxtQkFBbUIsRUFBRSxxQkFBcUI7MkZBR3pDLHdCQUF3QjtrQkFKcEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxxQkFBcUIsQ0FBQztvQkFDckQsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUscUJBQXFCLENBQUM7aUJBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBCYXNlVGhlbWVTaGFyZWRNb2R1bGUsXHJcbiAgRGF0ZVBhcnNlckZvcm1hdHRlcixcclxuICBERUZBVUxUX1ZBTElEQVRJT05fQkxVRVBSSU5UUyxcclxuICBUSEVNRV9TSEFSRURfUk9VVEVfUFJPVklERVJTLFxyXG59IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyVGVzdGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlci90ZXN0aW5nJztcclxuaW1wb3J0IHsgTmdiRGF0ZVBhcnNlckZvcm1hdHRlciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHtcclxuICBkZWZhdWx0TWFwRXJyb3JzRm4sXHJcbiAgVkFMSURBVElPTl9CTFVFUFJJTlRTLFxyXG4gIFZBTElEQVRJT05fTUFQX0VSUk9SU19GTixcclxuICBWQUxJREFUSU9OX1ZBTElEQVRFX09OX1NVQk1JVCxcclxufSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuL21vZGVscy9jb25maWcnO1xyXG5cclxuLyoqXHJcbiAqIFRoZW1lU2hhcmVkVGVzdGluZ01vZHVsZSBpcyB0aGUgbW9kdWxlIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRlc3RzXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGV4cG9ydHM6IFtSb3V0ZXJUZXN0aW5nTW9kdWxlLCBCYXNlVGhlbWVTaGFyZWRNb2R1bGVdLFxyXG4gIGltcG9ydHM6IFtSb3V0ZXJUZXN0aW5nTW9kdWxlLCBCYXNlVGhlbWVTaGFyZWRNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGhlbWVTaGFyZWRUZXN0aW5nTW9kdWxlIHtcclxuICBzdGF0aWMgd2l0aENvbmZpZyhcclxuICAgIHsgdmFsaWRhdGlvbiA9IHt9IH0gPSB7fSBhcyBDb25maWcsXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxUaGVtZVNoYXJlZFRlc3RpbmdNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBUaGVtZVNoYXJlZFRlc3RpbmdNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFRIRU1FX1NIQVJFRF9ST1VURV9QUk9WSURFUlMsXHJcbiAgICAgICAgeyBwcm92aWRlOiBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyLCB1c2VDbGFzczogRGF0ZVBhcnNlckZvcm1hdHRlciB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFZBTElEQVRJT05fQkxVRVBSSU5UUyxcclxuICAgICAgICAgIHVzZVZhbHVlOiB7XHJcbiAgICAgICAgICAgIC4uLkRFRkFVTFRfVkFMSURBVElPTl9CTFVFUFJJTlRTLFxyXG4gICAgICAgICAgICAuLi4odmFsaWRhdGlvbi5ibHVlcHJpbnRzIHx8IHt9KSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBWQUxJREFUSU9OX01BUF9FUlJPUlNfRk4sXHJcbiAgICAgICAgICB1c2VWYWx1ZTogdmFsaWRhdGlvbi5tYXBFcnJvcnNGbiB8fCBkZWZhdWx0TWFwRXJyb3JzRm4sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBWQUxJREFUSU9OX1ZBTElEQVRFX09OX1NVQk1JVCxcclxuICAgICAgICAgIHVzZVZhbHVlOiB2YWxpZGF0aW9uLnZhbGlkYXRlT25TdWJtaXQsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|