@abp/ng.theme.shared 9.0.4 → 9.1.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/fesm2022/abp-ng.theme.shared-testing.mjs +5 -5
- package/fesm2022/abp-ng.theme.shared.mjs +240 -240
- package/fesm2022/abp-ng.theme.shared.mjs.map +1 -1
- package/lib/providers/ng-bootstrap-config.provider.d.ts +2 -8
- package/lib/providers/route.provider.d.ts +2 -8
- package/lib/services/abstract-menu.service.d.ts +3 -1
- package/lib/services/toaster.service.d.ts +3 -3
- package/package.json +3 -7
- package/esm2022/abp-ng.theme.shared.mjs +0 -5
- package/esm2022/lib/adapters/date-time.adapter.mjs +0 -46
- package/esm2022/lib/adapters/date.adapter.mjs +0 -41
- package/esm2022/lib/adapters/index.mjs +0 -4
- package/esm2022/lib/adapters/time.adapter.mjs +0 -37
- package/esm2022/lib/animations/bounce.animations.mjs +0 -17
- package/esm2022/lib/animations/collapse.animations.mjs +0 -50
- package/esm2022/lib/animations/fade.animations.mjs +0 -38
- package/esm2022/lib/animations/index.mjs +0 -7
- package/esm2022/lib/animations/modal.animations.mjs +0 -11
- package/esm2022/lib/animations/slide.animations.mjs +0 -8
- package/esm2022/lib/animations/toast.animations.mjs +0 -13
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -43
- package/esm2022/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +0 -19
- package/esm2022/lib/components/button/button.component.mjs +0 -102
- package/esm2022/lib/components/card/card-body.component.mjs +0 -29
- package/esm2022/lib/components/card/card-footer.component.mjs +0 -30
- package/esm2022/lib/components/card/card-header.component.mjs +0 -30
- package/esm2022/lib/components/card/card-header.directive.mjs +0 -19
- package/esm2022/lib/components/card/card-img-top.directive.mjs +0 -19
- package/esm2022/lib/components/card/card-subtitle.directive.mjs +0 -19
- package/esm2022/lib/components/card/card-title.directive.mjs +0 -19
- package/esm2022/lib/components/card/card.component.mjs +0 -23
- package/esm2022/lib/components/card/card.module.mjs +0 -49
- package/esm2022/lib/components/card/index.mjs +0 -10
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -92
- package/esm2022/lib/components/confirmation/confirmation.component.mjs +0 -45
- package/esm2022/lib/components/form-input/form-input.component.mjs +0 -98
- package/esm2022/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +0 -75
- package/esm2022/lib/components/index.mjs +0 -19
- package/esm2022/lib/components/internet-connection-status/internet-connection-status.component.mjs +0 -42
- package/esm2022/lib/components/loader-bar/loader-bar.component.mjs +0 -121
- package/esm2022/lib/components/loading/loading.component.mjs +0 -19
- package/esm2022/lib/components/modal/modal-close.directive.mjs +0 -27
- package/esm2022/lib/components/modal/modal-ref.service.mjs +0 -26
- package/esm2022/lib/components/modal/modal.component.mjs +0 -141
- package/esm2022/lib/components/password/password.component.mjs +0 -39
- package/esm2022/lib/components/spinner/spinner.component.mjs +0 -27
- package/esm2022/lib/components/toast/toast.component.mjs +0 -59
- package/esm2022/lib/components/toast-container/toast-container.component.mjs +0 -57
- package/esm2022/lib/constants/default-errors.mjs +0 -64
- package/esm2022/lib/constants/index.mjs +0 -5
- package/esm2022/lib/constants/scripts.mjs +0 -2
- package/esm2022/lib/constants/styles.mjs +0 -187
- package/esm2022/lib/constants/validation.mjs +0 -21
- package/esm2022/lib/directives/disabled.directive.mjs +0 -30
- package/esm2022/lib/directives/ellipsis.directive.mjs +0 -52
- package/esm2022/lib/directives/index.mjs +0 -7
- package/esm2022/lib/directives/loading.directive.mjs +0 -89
- package/esm2022/lib/directives/ngx-datatable-default.directive.mjs +0 -76
- package/esm2022/lib/directives/ngx-datatable-list.directive.mjs +0 -151
- package/esm2022/lib/directives/visible.directive.mjs +0 -63
- package/esm2022/lib/enums/form.mjs +0 -6
- package/esm2022/lib/enums/index.mjs +0 -3
- package/esm2022/lib/enums/route-names.mjs +0 -2
- package/esm2022/lib/handlers/document-dir.handler.mjs +0 -31
- package/esm2022/lib/handlers/error.handler.mjs +0 -81
- package/esm2022/lib/handlers/index.mjs +0 -3
- package/esm2022/lib/models/common.mjs +0 -2
- package/esm2022/lib/models/confirmation.mjs +0 -10
- package/esm2022/lib/models/index.mjs +0 -8
- package/esm2022/lib/models/nav-item.mjs +0 -6
- package/esm2022/lib/models/statistics.mjs +0 -2
- package/esm2022/lib/models/toaster.mjs +0 -2
- package/esm2022/lib/models/user-menu.mjs +0 -4
- package/esm2022/lib/models/validation.mjs +0 -2
- package/esm2022/lib/providers/error-handlers.provider.mjs +0 -30
- package/esm2022/lib/providers/index.mjs +0 -6
- package/esm2022/lib/providers/ng-bootstrap-config.provider.mjs +0 -17
- package/esm2022/lib/providers/route.provider.mjs +0 -18
- package/esm2022/lib/providers/tenant-not-found.provider.mjs +0 -19
- package/esm2022/lib/providers/theme-shared-config.provider.mjs +0 -117
- package/esm2022/lib/services/abp-format-error-handler.service.mjs +0 -45
- package/esm2022/lib/services/abstract-menu.service.mjs +0 -49
- package/esm2022/lib/services/authentication-error-handler.service.mjs +0 -29
- package/esm2022/lib/services/confirmation.service.mjs +0 -68
- package/esm2022/lib/services/create-error-component.service.mjs +0 -79
- package/esm2022/lib/services/index.mjs +0 -13
- package/esm2022/lib/services/nav-items.service.mjs +0 -17
- package/esm2022/lib/services/page-alert.service.mjs +0 -28
- package/esm2022/lib/services/router-error-handler.service.mjs +0 -44
- package/esm2022/lib/services/status-code-error-handler.service.mjs +0 -84
- package/esm2022/lib/services/tenant-resolve-error-handler.service.mjs +0 -29
- package/esm2022/lib/services/toaster.service.mjs +0 -103
- package/esm2022/lib/services/unknown-status-code-error-handler.service.mjs +0 -36
- package/esm2022/lib/services/user-menu.service.mjs +0 -17
- package/esm2022/lib/theme-shared.module.mjs +0 -151
- package/esm2022/lib/tokens/append-content.token.mjs +0 -11
- package/esm2022/lib/tokens/confirmation-icons.token.mjs +0 -11
- package/esm2022/lib/tokens/http-error.token.mjs +0 -8
- package/esm2022/lib/tokens/index.mjs +0 -6
- package/esm2022/lib/tokens/ngx-datatable-messages.token.mjs +0 -9
- package/esm2022/lib/tokens/suppress-unsaved-changes-warning.token.mjs +0 -3
- package/esm2022/lib/utils/date-parser-formatter.mjs +0 -58
- package/esm2022/lib/utils/error.utils.mjs +0 -25
- package/esm2022/lib/utils/index.mjs +0 -4
- package/esm2022/lib/utils/validation-utils.mjs +0 -62
- package/esm2022/public-api.mjs +0 -17
- package/esm2022/testing/abp-ng.theme.shared-testing.mjs +0 -5
- package/esm2022/testing/lib/models/config.mjs +0 -2
- package/esm2022/testing/lib/models/index.mjs +0 -2
- package/esm2022/testing/lib/theme-shared-testing.module.mjs +0 -46
- package/esm2022/testing/public-api.mjs +0 -4
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { APP_INITIALIZER, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
-
import { noop } from '@abp/ng.core';
|
|
3
|
-
import { NgbDateParserFormatter } from '@ng-bootstrap/ng-bootstrap';
|
|
4
|
-
import { VALIDATION_BLUEPRINTS, VALIDATION_MAP_ERRORS_FN, defaultMapErrorsFn, VALIDATION_VALIDATE_ON_SUBMIT, } from '@ngx-validate/core';
|
|
5
|
-
import { DEFAULT_VALIDATION_BLUEPRINTS } from '../constants';
|
|
6
|
-
import { DocumentDirHandlerService, ErrorHandler } from '../handlers';
|
|
7
|
-
import { THEME_SHARED_APPEND_CONTENT, HTTP_ERROR_CONFIG, CONFIRMATION_ICONS, DEFAULT_CONFIRMATION_ICONS, } from '../tokens';
|
|
8
|
-
import { DateParserFormatter } from '../utils';
|
|
9
|
-
import { DEFAULT_HANDLERS_PROVIDERS, NG_BOOTSTRAP_CONFIG_PROVIDERS, THEME_SHARED_ROUTE_PROVIDERS, tenantNotFoundProvider, } from './';
|
|
10
|
-
export var ThemeSharedFeatureKind;
|
|
11
|
-
(function (ThemeSharedFeatureKind) {
|
|
12
|
-
ThemeSharedFeatureKind[ThemeSharedFeatureKind["HttpErrorConfig"] = 0] = "HttpErrorConfig";
|
|
13
|
-
ThemeSharedFeatureKind[ThemeSharedFeatureKind["ValidationBluePrint"] = 1] = "ValidationBluePrint";
|
|
14
|
-
ThemeSharedFeatureKind[ThemeSharedFeatureKind["ValidationErrorsFn"] = 2] = "ValidationErrorsFn";
|
|
15
|
-
ThemeSharedFeatureKind[ThemeSharedFeatureKind["ValidateOnSubmit"] = 3] = "ValidateOnSubmit";
|
|
16
|
-
ThemeSharedFeatureKind[ThemeSharedFeatureKind["Validation"] = 4] = "Validation";
|
|
17
|
-
ThemeSharedFeatureKind[ThemeSharedFeatureKind["ConfirmationIcons"] = 5] = "ConfirmationIcons";
|
|
18
|
-
})(ThemeSharedFeatureKind || (ThemeSharedFeatureKind = {}));
|
|
19
|
-
function makeThemeSharedFeature(kind, providers) {
|
|
20
|
-
return {
|
|
21
|
-
ɵkind: kind,
|
|
22
|
-
ɵproviders: providers,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
export function withHttpErrorConfig(httpErrorConfig) {
|
|
26
|
-
return makeThemeSharedFeature(ThemeSharedFeatureKind.HttpErrorConfig, [
|
|
27
|
-
{
|
|
28
|
-
provide: HTTP_ERROR_CONFIG,
|
|
29
|
-
useValue: httpErrorConfig,
|
|
30
|
-
},
|
|
31
|
-
]);
|
|
32
|
-
}
|
|
33
|
-
export function withValidationBluePrint(bluePrints) {
|
|
34
|
-
return makeThemeSharedFeature(ThemeSharedFeatureKind.ValidationBluePrint, [
|
|
35
|
-
{
|
|
36
|
-
provide: VALIDATION_BLUEPRINTS,
|
|
37
|
-
useValue: {
|
|
38
|
-
...DEFAULT_VALIDATION_BLUEPRINTS,
|
|
39
|
-
...(bluePrints || {}),
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
]);
|
|
43
|
-
}
|
|
44
|
-
export function withValidationMapErrorsFn(mapErrorsFn) {
|
|
45
|
-
return makeThemeSharedFeature(ThemeSharedFeatureKind.ValidationErrorsFn, [
|
|
46
|
-
{
|
|
47
|
-
provide: VALIDATION_MAP_ERRORS_FN,
|
|
48
|
-
useValue: mapErrorsFn || defaultMapErrorsFn,
|
|
49
|
-
},
|
|
50
|
-
]);
|
|
51
|
-
}
|
|
52
|
-
export function withValidateOnSubmit(validateOnSubmit) {
|
|
53
|
-
return makeThemeSharedFeature(ThemeSharedFeatureKind.ValidateOnSubmit, [
|
|
54
|
-
{
|
|
55
|
-
provide: VALIDATION_VALIDATE_ON_SUBMIT,
|
|
56
|
-
useValue: validateOnSubmit,
|
|
57
|
-
},
|
|
58
|
-
]);
|
|
59
|
-
}
|
|
60
|
-
export function withConfirmationIcon(confirmationIcons) {
|
|
61
|
-
return makeThemeSharedFeature(ThemeSharedFeatureKind.HttpErrorConfig, [
|
|
62
|
-
{
|
|
63
|
-
provide: CONFIRMATION_ICONS,
|
|
64
|
-
useValue: { ...DEFAULT_CONFIRMATION_ICONS, ...(confirmationIcons || {}) },
|
|
65
|
-
},
|
|
66
|
-
]);
|
|
67
|
-
}
|
|
68
|
-
export function provideAbpThemeShared(...features) {
|
|
69
|
-
const providers = [
|
|
70
|
-
{
|
|
71
|
-
provide: APP_INITIALIZER,
|
|
72
|
-
multi: true,
|
|
73
|
-
deps: [ErrorHandler],
|
|
74
|
-
useFactory: noop,
|
|
75
|
-
},
|
|
76
|
-
THEME_SHARED_ROUTE_PROVIDERS,
|
|
77
|
-
{
|
|
78
|
-
provide: APP_INITIALIZER,
|
|
79
|
-
multi: true,
|
|
80
|
-
deps: [THEME_SHARED_APPEND_CONTENT],
|
|
81
|
-
useFactory: noop,
|
|
82
|
-
},
|
|
83
|
-
{ provide: HTTP_ERROR_CONFIG, useValue: undefined },
|
|
84
|
-
{ provide: NgbDateParserFormatter, useClass: DateParserFormatter },
|
|
85
|
-
NG_BOOTSTRAP_CONFIG_PROVIDERS,
|
|
86
|
-
{
|
|
87
|
-
provide: VALIDATION_BLUEPRINTS,
|
|
88
|
-
useValue: { ...DEFAULT_VALIDATION_BLUEPRINTS },
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
provide: VALIDATION_MAP_ERRORS_FN,
|
|
92
|
-
useValue: defaultMapErrorsFn,
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
provide: VALIDATION_VALIDATE_ON_SUBMIT,
|
|
96
|
-
useValue: undefined,
|
|
97
|
-
},
|
|
98
|
-
DocumentDirHandlerService,
|
|
99
|
-
{
|
|
100
|
-
provide: APP_INITIALIZER,
|
|
101
|
-
useFactory: noop,
|
|
102
|
-
multi: true,
|
|
103
|
-
deps: [DocumentDirHandlerService],
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
provide: CONFIRMATION_ICONS,
|
|
107
|
-
useValue: { ...DEFAULT_CONFIRMATION_ICONS },
|
|
108
|
-
},
|
|
109
|
-
tenantNotFoundProvider,
|
|
110
|
-
DEFAULT_HANDLERS_PROVIDERS,
|
|
111
|
-
];
|
|
112
|
-
for (const feature of features) {
|
|
113
|
-
providers.push(...feature.ɵproviders);
|
|
114
|
-
}
|
|
115
|
-
return makeEnvironmentProviders(providers);
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2hhcmVkLWNvbmZpZy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3Byb3ZpZGVycy90aGVtZS1zaGFyZWQtY29uZmlnLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQVksd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixrQkFBa0IsRUFDbEIsNkJBQTZCLEdBRTlCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdEUsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBRWxCLDBCQUEwQixHQUMzQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0MsT0FBTyxFQUNMLDBCQUEwQixFQUMxQiw2QkFBNkIsRUFDN0IsNEJBQTRCLEVBQzVCLHNCQUFzQixHQUN2QixNQUFNLElBQUksQ0FBQztBQUVaLE1BQU0sQ0FBTixJQUFZLHNCQU9YO0FBUEQsV0FBWSxzQkFBc0I7SUFDaEMseUZBQWUsQ0FBQTtJQUNmLGlHQUFtQixDQUFBO0lBQ25CLCtGQUFrQixDQUFBO0lBQ2xCLDJGQUFnQixDQUFBO0lBQ2hCLCtFQUFVLENBQUE7SUFDViw2RkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBUFcsc0JBQXNCLEtBQXRC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R0FBRywwQkFBMEIsRUFBRTtTQUM1QztRQUNELHNCQUFzQjtRQUN0QiwwQkFBMEI7S0FDM0IsQ0FBQztJQUVGLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7UUFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBQcm92aWRlciwgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG5vb3AgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQge1xyXG4gIFZBTElEQVRJT05fQkxVRVBSSU5UUyxcclxuICBWQUxJREFUSU9OX01BUF9FUlJPUlNfRk4sXHJcbiAgZGVmYXVsdE1hcEVycm9yc0ZuLFxyXG4gIFZBTElEQVRJT05fVkFMSURBVEVfT05fU1VCTUlULFxyXG4gIFZhbGlkYXRpb24sXHJcbn0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgREVGQVVMVF9WQUxJREFUSU9OX0JMVUVQUklOVFMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBEb2N1bWVudERpckhhbmRsZXJTZXJ2aWNlLCBFcnJvckhhbmRsZXIgfSBmcm9tICcuLi9oYW5kbGVycyc7XHJcbmltcG9ydCB7IEh0dHBFcnJvckNvbmZpZyB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7XHJcbiAgVEhFTUVfU0hBUkVEX0FQUEVORF9DT05URU5ULFxyXG4gIEhUVFBfRVJST1JfQ09ORklHLFxyXG4gIENPTkZJUk1BVElPTl9JQ09OUyxcclxuICBDb25maXJtYXRpb25JY29ucyxcclxuICBERUZBVUxUX0NPTkZJUk1BVElPTl9JQ09OUyxcclxufSBmcm9tICcuLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBEYXRlUGFyc2VyRm9ybWF0dGVyIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gIERFRkFVTFRfSEFORExFUlNfUFJPVklERVJTLFxyXG4gIE5HX0JPT1RTVFJBUF9DT05GSUdfUFJPVklERVJTLFxyXG4gIFRIRU1FX1NIQVJFRF9ST1VURV9QUk9WSURFUlMsXHJcbiAgdGVuYW50Tm90Rm91bmRQcm92aWRlcixcclxufSBmcm9tICcuLyc7XHJcblxyXG5leHBvcnQgZW51bSBUaGVtZVNoYXJlZEZlYXR1cmVLaW5kIHtcclxuICBIdHRwRXJyb3JDb25maWcsXHJcbiAgVmFsaWRhdGlvbkJsdWVQcmludCxcclxuICBWYWxpZGF0aW9uRXJyb3JzRm4sXHJcbiAgVmFsaWRhdGVPblN1Ym1pdCxcclxuICBWYWxpZGF0aW9uLFxyXG4gIENvbmZpcm1hdGlvbkljb25zLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRoZW1lU2hhcmVkRmVhdHVyZTxLaW5kVCBleHRlbmRzIFRoZW1lU2hhcmVkRmVhdHVyZUtpbmQ+IHtcclxuICDJtWtpbmQ6IEtpbmRUO1xyXG4gIMm1cHJvdmlkZXJzOiBQcm92aWRlcltdO1xyXG59XHJcblxyXG5mdW5jdGlvbiBtYWtlVGhlbWVTaGFyZWRGZWF0dXJlPEtpbmRUIGV4dGVuZHMgVGhlbWVTaGFyZWRGZWF0dXJlS2luZD4oXHJcbiAga2luZDogS2luZFQsXHJcbiAgcHJvdmlkZXJzOiBQcm92aWRlcltdLFxyXG4pOiBUaGVtZVNoYXJlZEZlYXR1cmU8S2luZFQ+IHtcclxuICByZXR1cm4ge1xyXG4gICAgybVraW5kOiBraW5kLFxyXG4gICAgybVwcm92aWRlcnM6IHByb3ZpZGVycyxcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aEh0dHBFcnJvckNvbmZpZyhcclxuICBodHRwRXJyb3JDb25maWc6IEh0dHBFcnJvckNvbmZpZyxcclxuKTogVGhlbWVTaGFyZWRGZWF0dXJlPFRoZW1lU2hhcmVkRmVhdHVyZUtpbmQuSHR0cEVycm9yQ29uZmlnPiB7XHJcbiAgcmV0dXJuIG1ha2VUaGVtZVNoYXJlZEZlYXR1cmUoVGhlbWVTaGFyZWRGZWF0dXJlS2luZC5IdHRwRXJyb3JDb25maWcsIFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogSFRUUF9FUlJPUl9DT05GSUcsXHJcbiAgICAgIHVzZVZhbHVlOiBodHRwRXJyb3JDb25maWcsXHJcbiAgICB9LFxyXG4gIF0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aFZhbGlkYXRpb25CbHVlUHJpbnQoXHJcbiAgYmx1ZVByaW50czogVmFsaWRhdGlvbi5CbHVlcHJpbnRzLFxyXG4pOiBUaGVtZVNoYXJlZEZlYXR1cmU8VGhlbWVTaGFyZWRGZWF0dXJlS2luZC5WYWxpZGF0aW9uQmx1ZVByaW50PiB7XHJcbiAgcmV0dXJuIG1ha2VUaGVtZVNoYXJlZEZlYXR1cmUoVGhlbWVTaGFyZWRGZWF0dXJlS2luZC5WYWxpZGF0aW9uQmx1ZVByaW50LCBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFZBTElEQVRJT05fQkxVRVBSSU5UUyxcclxuICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAuLi5ERUZBVUxUX1ZBTElEQVRJT05fQkxVRVBSSU5UUyxcclxuICAgICAgICAuLi4oYmx1ZVByaW50cyB8fCB7fSksXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIF0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd2l0aFZhbGlkYXRpb25NYXBFcnJvcnNGbihcclxuICBtYXBFcnJvcnNGbjogVmFsaWRhdGlvbi5NYXBFcnJvcnNGbixcclxuKTogVGhlbWVTaGFyZWRGZWF0dXJlPFRoZW1lU2hhcmVkRmVhdHVyZUtpbmQuVmFsaWRhdGlvbkVycm9yc0ZuPiB7XHJcbiAgcmV0dXJuIG1ha2VUaGVtZVNoYXJlZEZlYXR1cmUoVGhlbWVTaGFyZWRGZWF0dXJlS2luZC5WYWxpZGF0aW9uRXJyb3JzRm4sIFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogVkFMSURBVElPTl9NQVBfRVJST1JTX0ZOLFxyXG4gICAgICB1c2VWYWx1ZTogbWFwRXJyb3JzRm4gfHwgZGVmYXVsdE1hcEVycm9yc0ZuLFxyXG4gICAgfSxcclxuICBdKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhWYWxpZGF0ZU9uU3VibWl0KFxyXG4gIHZhbGlkYXRlT25TdWJtaXQ6IGJvb2xlYW4sXHJcbik6IFRoZW1lU2hhcmVkRmVhdHVyZTxUaGVtZVNoYXJlZEZlYXR1cmVLaW5kLlZhbGlkYXRlT25TdWJtaXQ+IHtcclxuICByZXR1cm4gbWFrZVRoZW1lU2hhcmVkRmVhdHVyZShUaGVtZVNoYXJlZEZlYXR1cmVLaW5kLlZhbGlkYXRlT25TdWJtaXQsIFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogVkFMSURBVElPTl9WQUxJREFURV9PTl9TVUJNSVQsXHJcbiAgICAgIHVzZVZhbHVlOiB2YWxpZGF0ZU9uU3VibWl0LFxyXG4gICAgfSxcclxuICBdKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhDb25maXJtYXRpb25JY29uKFxyXG4gIGNvbmZpcm1hdGlvbkljb25zOiBQYXJ0aWFsPENvbmZpcm1hdGlvbkljb25zPixcclxuKTogVGhlbWVTaGFyZWRGZWF0dXJlPFRoZW1lU2hhcmVkRmVhdHVyZUtpbmQuSHR0cEVycm9yQ29uZmlnPiB7XHJcbiAgcmV0dXJuIG1ha2VUaGVtZVNoYXJlZEZlYXR1cmUoVGhlbWVTaGFyZWRGZWF0dXJlS2luZC5IdHRwRXJyb3JDb25maWcsIFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogQ09ORklSTUFUSU9OX0lDT05TLFxyXG4gICAgICB1c2VWYWx1ZTogeyAuLi5ERUZBVUxUX0NPTkZJUk1BVElPTl9JQ09OUywgLi4uKGNvbmZpcm1hdGlvbkljb25zIHx8IHt9KSB9LFxyXG4gICAgfSxcclxuICBdKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBYnBUaGVtZVNoYXJlZCguLi5mZWF0dXJlczogVGhlbWVTaGFyZWRGZWF0dXJlPFRoZW1lU2hhcmVkRmVhdHVyZUtpbmQ+W10pIHtcclxuICBjb25zdCBwcm92aWRlcnMgPSBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIGRlcHM6IFtFcnJvckhhbmRsZXJdLFxyXG4gICAgICB1c2VGYWN0b3J5OiBub29wLFxyXG4gICAgfSxcclxuICAgIFRIRU1FX1NIQVJFRF9ST1VURV9QUk9WSURFUlMsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIGRlcHM6IFtUSEVNRV9TSEFSRURfQVBQRU5EX0NPTlRFTlRdLFxyXG4gICAgICB1c2VGYWN0b3J5OiBub29wLFxyXG4gICAgfSxcclxuICAgIHsgcHJvdmlkZTogSFRUUF9FUlJPUl9DT05GSUcsIHVzZVZhbHVlOiB1bmRlZmluZWQgfSxcclxuICAgIHsgcHJvdmlkZTogTmdiRGF0ZVBhcnNlckZvcm1hdHRlciwgdXNlQ2xhc3M6IERhdGVQYXJzZXJGb3JtYXR0ZXIgfSxcclxuICAgIE5HX0JPT1RTVFJBUF9DT05GSUdfUFJPVklERVJTLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBWQUxJREFUSU9OX0JMVUVQUklOVFMsXHJcbiAgICAgIHVzZVZhbHVlOiB7IC4uLkRFRkFVTFRfVkFMSURBVElPTl9CTFVFUFJJTlRTIH0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBWQUxJREFUSU9OX01BUF9FUlJPUlNfRk4sXHJcbiAgICAgIHVzZVZhbHVlOiBkZWZhdWx0TWFwRXJyb3JzRm4sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBWQUxJREFUSU9OX1ZBTElEQVRFX09OX1NVQk1JVCxcclxuICAgICAgdXNlVmFsdWU6IHVuZGVmaW5lZCxcclxuICAgIH0sXHJcbiAgICBEb2N1bWVudERpckhhbmRsZXJTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IG5vb3AsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICBkZXBzOiBbRG9jdW1lbnREaXJIYW5kbGVyU2VydmljZV0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBDT05GSVJNQVRJT05fSUNPTlMsXHJcbiAgICAgIHVzZVZhbHVlOiB7IC4uLkRFRkFVTFRfQ09ORklSTUFUSU9OX0lDT05TIH0sXHJcbiAgICB9LFxyXG4gICAgdGVuYW50Tm90Rm91bmRQcm92aWRlcixcclxuICAgIERFRkFVTFRfSEFORExFUlNfUFJPVklERVJTLFxyXG4gIF07XHJcblxyXG4gIGZvciAoY29uc3QgZmVhdHVyZSBvZiBmZWF0dXJlcykge1xyXG4gICAgcHJvdmlkZXJzLnB1c2goLi4uZmVhdHVyZS7JtXByb3ZpZGVycyk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKHByb3ZpZGVycyk7XHJcbn1cclxuIl19
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { AuthService } from '@abp/ng.core';
|
|
3
|
-
import { HttpErrorResponse } from '@angular/common/http';
|
|
4
|
-
import { getErrorFromRequestBody } from '../utils/error.utils';
|
|
5
|
-
import { ConfirmationService } from '../services/confirmation.service';
|
|
6
|
-
import { CUSTOM_HTTP_ERROR_HANDLER_PRIORITY } from '../constants/default-errors';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class AbpFormatErrorHandlerService {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.priority = CUSTOM_HTTP_ERROR_HANDLER_PRIORITY.high;
|
|
11
|
-
this.confirmationService = inject(ConfirmationService);
|
|
12
|
-
this.authService = inject(AuthService);
|
|
13
|
-
this.error = undefined;
|
|
14
|
-
}
|
|
15
|
-
navigateToLogin() {
|
|
16
|
-
return this.authService.navigateToLogin();
|
|
17
|
-
}
|
|
18
|
-
canHandle(error) {
|
|
19
|
-
if (error instanceof HttpErrorResponse && error.headers.get('_AbpErrorFormat')) {
|
|
20
|
-
this.error = error;
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
execute() {
|
|
26
|
-
const { message, title } = getErrorFromRequestBody(this.error?.error?.error);
|
|
27
|
-
this.confirmationService
|
|
28
|
-
.error(message, title, {
|
|
29
|
-
hideCancelBtn: true,
|
|
30
|
-
yesText: 'AbpAccount::Close',
|
|
31
|
-
})
|
|
32
|
-
.subscribe(() => {
|
|
33
|
-
if (this.error?.status === 401) {
|
|
34
|
-
this.navigateToLogin();
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AbpFormatErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AbpFormatErrorHandlerService, providedIn: 'root' }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AbpFormatErrorHandlerService, decorators: [{
|
|
42
|
-
type: Injectable,
|
|
43
|
-
args: [{ providedIn: 'root' }]
|
|
44
|
-
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLWZvcm1hdC1lcnJvci1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9hYnAtZm9ybWF0LWVycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUdqRixNQUFNLE9BQU8sNEJBQTRCO0lBRHpDO1FBRVcsYUFBUSxHQUFHLGtDQUFrQyxDQUFDLElBQUksQ0FBQztRQUNwRCx3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxVQUFLLEdBQWtDLFNBQVMsQ0FBQztLQTJCMUQ7SUF6QlMsZUFBZTtRQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFjO1FBQ3RCLElBQUksS0FBSyxZQUFZLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUMvRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsbUJBQW1CO2FBQ3JCLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQ3JCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLE9BQU8sRUFBRSxtQkFBbUI7U0FDN0IsQ0FBQzthQUNELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0E5QlUsNEJBQTRCO2tIQUE1Qiw0QkFBNEIsY0FEZixNQUFNOzsyRkFDbkIsNEJBQTRCO2tCQUR4QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBnZXRFcnJvckZyb21SZXF1ZXN0Qm9keSB9IGZyb20gJy4uL3V0aWxzL2Vycm9yLnV0aWxzJztcclxuaW1wb3J0IHsgQ3VzdG9tSHR0cEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ1VTVE9NX0hUVFBfRVJST1JfSEFORExFUl9QUklPUklUWSB9IGZyb20gJy4uL2NvbnN0YW50cy9kZWZhdWx0LWVycm9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQWJwRm9ybWF0RXJyb3JIYW5kbGVyU2VydmljZSBpbXBsZW1lbnRzIEN1c3RvbUh0dHBFcnJvckhhbmRsZXJTZXJ2aWNlIHtcclxuICByZWFkb25seSBwcmlvcml0eSA9IENVU1RPTV9IVFRQX0VSUk9SX0hBTkRMRVJfUFJJT1JJVFkuaGlnaDtcclxuICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2UgPSBpbmplY3QoQ29uZmlybWF0aW9uU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIHByaXZhdGUgbmF2aWdhdGVUb0xvZ2luKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UubmF2aWdhdGVUb0xvZ2luKCk7XHJcbiAgfVxyXG5cclxuICBjYW5IYW5kbGUoZXJyb3I6IHVua25vd24pOiBib29sZWFuIHtcclxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yLmhlYWRlcnMuZ2V0KCdfQWJwRXJyb3JGb3JtYXQnKSkge1xyXG4gICAgICB0aGlzLmVycm9yID0gZXJyb3I7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZSgpIHtcclxuICAgIGNvbnN0IHsgbWVzc2FnZSwgdGl0bGUgfSA9IGdldEVycm9yRnJvbVJlcXVlc3RCb2R5KHRoaXMuZXJyb3I/LmVycm9yPy5lcnJvcik7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgLmVycm9yKG1lc3NhZ2UsIHRpdGxlLCB7XHJcbiAgICAgICAgaGlkZUNhbmNlbEJ0bjogdHJ1ZSxcclxuICAgICAgICB5ZXNUZXh0OiAnQWJwQWNjb3VudDo6Q2xvc2UnLFxyXG4gICAgICB9KVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5lcnJvcj8uc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgIHRoaXMubmF2aWdhdGVUb0xvZ2luKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject } from 'rxjs';
|
|
2
|
-
import { inject } from '@angular/core';
|
|
3
|
-
import { SORT_COMPARE_FUNC } from '@abp/ng.core';
|
|
4
|
-
export class AbstractMenuService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.sortFn = inject(SORT_COMPARE_FUNC);
|
|
7
|
-
this._items$ = new BehaviorSubject([]);
|
|
8
|
-
this.sortItems = (a, b) => {
|
|
9
|
-
return this.sortFn(a, b);
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
get items() {
|
|
13
|
-
return this._items$.value;
|
|
14
|
-
}
|
|
15
|
-
get items$() {
|
|
16
|
-
return this._items$.asObservable();
|
|
17
|
-
}
|
|
18
|
-
addItems(newItems) {
|
|
19
|
-
const items = [...this.items];
|
|
20
|
-
newItems.forEach(item => {
|
|
21
|
-
const index = items.findIndex(i => i.id === item.id);
|
|
22
|
-
const data = new this.baseClass(item);
|
|
23
|
-
if (index > -1) {
|
|
24
|
-
items[index] = data;
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
items.push(data);
|
|
28
|
-
});
|
|
29
|
-
items.sort(this.sortItems);
|
|
30
|
-
this._items$.next(items);
|
|
31
|
-
}
|
|
32
|
-
removeItem(id) {
|
|
33
|
-
const index = this.items.findIndex(item => item.id === id);
|
|
34
|
-
if (index < 0)
|
|
35
|
-
return;
|
|
36
|
-
const items = [...this.items.slice(0, index), ...this.items.slice(index + 1)];
|
|
37
|
-
this._items$.next(items);
|
|
38
|
-
}
|
|
39
|
-
patchItem(id, item) {
|
|
40
|
-
const index = this.items.findIndex(i => i.id === id);
|
|
41
|
-
if (index < 0)
|
|
42
|
-
return;
|
|
43
|
-
const items = [...this.items];
|
|
44
|
-
items[index] = new this.baseClass({ ...items[index], ...item });
|
|
45
|
-
items.sort(this.sortItems);
|
|
46
|
-
this._items$.next(items);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvYWJzdHJhY3QtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakQsTUFBTSxPQUFnQixtQkFBbUI7SUFBekM7UUFHcUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTVDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQStDakQsY0FBUyxHQUFHLENBQUMsQ0FBSSxFQUFFLENBQUksRUFBRSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQWhEQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUFhO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXRDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDcEIsT0FBTztZQUNULENBQUM7WUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxFQUFtQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFM0QsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFFdEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBbUIsRUFBRSxJQUE0QjtRQUN6RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFckQsSUFBSSxLQUFLLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFFdEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FLRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBOYXZJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL25hdi1pdGVtJztcclxuaW1wb3J0IHsgaW5qZWN0LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNPUlRfQ09NUEFSRV9GVU5DIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1lbnVTZXJ2aWNlPFQgZXh0ZW5kcyBOYXZJdGVtPiB7XHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJhc2VDbGFzczogVHlwZTxhbnk+O1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc29ydEZuID0gaW5qZWN0KFNPUlRfQ09NUEFSRV9GVU5DKTtcclxuXHJcbiAgcHJvdGVjdGVkIF9pdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXT4oW10pO1xyXG5cclxuICBnZXQgaXRlbXMoKTogVFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtcyQudmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgaXRlbXMkKCk6IE9ic2VydmFibGU8VFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXRlbXMkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgYWRkSXRlbXMobmV3SXRlbXM6IFRbXSkge1xyXG4gICAgY29uc3QgaXRlbXMgPSBbLi4udGhpcy5pdGVtc107XHJcbiAgICBuZXdJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBpbmRleCA9IGl0ZW1zLmZpbmRJbmRleChpID0+IGkuaWQgPT09IGl0ZW0uaWQpO1xyXG4gICAgICBjb25zdCBkYXRhID0gbmV3IHRoaXMuYmFzZUNsYXNzKGl0ZW0pO1xyXG5cclxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICBpdGVtc1tpbmRleF0gPSBkYXRhO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaXRlbXMucHVzaChkYXRhKTtcclxuICAgIH0pO1xyXG4gICAgaXRlbXMuc29ydCh0aGlzLnNvcnRJdGVtcyk7XHJcbiAgICB0aGlzLl9pdGVtcyQubmV4dChpdGVtcyk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVJdGVtKGlkOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLmlkID09PSBpZCk7XHJcblxyXG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGl0ZW1zID0gWy4uLnRoaXMuaXRlbXMuc2xpY2UoMCwgaW5kZXgpLCAuLi50aGlzLml0ZW1zLnNsaWNlKGluZGV4ICsgMSldO1xyXG4gICAgdGhpcy5faXRlbXMkLm5leHQoaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2hJdGVtKGlkOiBzdHJpbmcgfCBudW1iZXIsIGl0ZW06IFBhcnRpYWw8T21pdDxULCAnaWQnPj4pIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaSA9PiBpLmlkID09PSBpZCk7XHJcblxyXG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGl0ZW1zID0gWy4uLnRoaXMuaXRlbXNdO1xyXG4gICAgaXRlbXNbaW5kZXhdID0gbmV3IHRoaXMuYmFzZUNsYXNzKHsgLi4uaXRlbXNbaW5kZXhdLCAuLi5pdGVtIH0pO1xyXG4gICAgaXRlbXMuc29ydCh0aGlzLnNvcnRJdGVtcyk7XHJcbiAgICB0aGlzLl9pdGVtcyQubmV4dChpdGVtcyk7XHJcbiAgfVxyXG5cclxuICBzb3J0SXRlbXMgPSAoYTogVCwgYjogVCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc29ydEZuKGEsIGIpO1xyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { AuthService, ConfigStateService } from '@abp/ng.core';
|
|
3
|
-
import { HttpErrorResponse } from '@angular/common/http';
|
|
4
|
-
import { CUSTOM_HTTP_ERROR_HANDLER_PRIORITY } from '../constants/default-errors';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class AbpAuthenticationErrorHandler {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.priority = CUSTOM_HTTP_ERROR_HANDLER_PRIORITY.veryHigh;
|
|
9
|
-
this.authService = inject(AuthService);
|
|
10
|
-
this.configStateService = inject(ConfigStateService);
|
|
11
|
-
}
|
|
12
|
-
canHandle(error) {
|
|
13
|
-
return error instanceof HttpErrorResponse && error.status === 401;
|
|
14
|
-
}
|
|
15
|
-
execute() {
|
|
16
|
-
this.configStateService.refreshAppState().subscribe(({ currentUser }) => {
|
|
17
|
-
if (!currentUser.isAuthenticated) {
|
|
18
|
-
this.authService.logout({ noRedirectToLogoutUrl: true });
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AbpAuthenticationErrorHandler, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AbpAuthenticationErrorHandler, providedIn: 'root' }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AbpAuthenticationErrorHandler, decorators: [{
|
|
26
|
-
type: Injectable,
|
|
27
|
-
args: [{ providedIn: 'root' }]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24tZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvYXV0aGVudGljYXRpb24tZXJyb3ItaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBR2pGLE1BQU0sT0FBTyw2QkFBNkI7SUFEMUM7UUFFVyxhQUFRLEdBQUcsa0NBQWtDLENBQUMsUUFBUSxDQUFDO1FBQzdDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBYXBFO0lBWEMsU0FBUyxDQUFDLEtBQWM7UUFDdEIsT0FBTyxLQUFLLFlBQVksaUJBQWlCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUM7SUFDcEUsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1lBQ3RFLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWZVLDZCQUE2QjtrSEFBN0IsNkJBQTZCLGNBRGhCLE1BQU07OzJGQUNuQiw2QkFBNkI7a0JBRHpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBDb25maWdTdGF0ZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ3VzdG9tSHR0cEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuaW1wb3J0IHsgQ1VTVE9NX0hUVFBfRVJST1JfSEFORExFUl9QUklPUklUWSB9IGZyb20gJy4uL2NvbnN0YW50cy9kZWZhdWx0LWVycm9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQWJwQXV0aGVudGljYXRpb25FcnJvckhhbmRsZXIgaW1wbGVtZW50cyBDdXN0b21IdHRwRXJyb3JIYW5kbGVyU2VydmljZSB7XHJcbiAgcmVhZG9ubHkgcHJpb3JpdHkgPSBDVVNUT01fSFRUUF9FUlJPUl9IQU5ETEVSX1BSSU9SSVRZLnZlcnlIaWdoO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZ1N0YXRlU2VydmljZSA9IGluamVjdChDb25maWdTdGF0ZVNlcnZpY2UpO1xyXG5cclxuICBjYW5IYW5kbGUoZXJyb3I6IHVua25vd24pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIGVycm9yLnN0YXR1cyA9PT0gNDAxO1xyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZSgpIHtcclxuICAgIHRoaXMuY29uZmlnU3RhdGVTZXJ2aWNlLnJlZnJlc2hBcHBTdGF0ZSgpLnN1YnNjcmliZSgoeyBjdXJyZW50VXNlciB9KSA9PiB7XHJcbiAgICAgIGlmICghY3VycmVudFVzZXIuaXNBdXRoZW50aWNhdGVkKSB7XHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoeyBub1JlZGlyZWN0VG9Mb2dvdXRVcmw6IHRydWUgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,68 +0,0 @@
|
|
|
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
|
-
export 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: "18.1.5", ngImport: i0, type: ConfirmationService, deps: [{ token: i1.ContentProjectionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
62
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ConfirmationService, providedIn: 'root' }); }
|
|
63
|
-
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ConfirmationService, decorators: [{
|
|
65
|
-
type: Injectable,
|
|
66
|
-
args: [{ providedIn: 'root' }]
|
|
67
|
-
}], ctorParameters: () => [{ type: i1.ContentProjectionService }] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hHLE9BQU8sRUFBZ0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUd0RCxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCLFlBQW9CLHdCQUFrRDtRQUFsRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBVHRFLGtCQUFhLEdBQUcsSUFBSSxhQUFhLENBQWlDLENBQUMsQ0FBQyxDQUFDO1FBSXJFLFVBQUssR0FBRyxDQUFDLFNBQThCLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDO0lBRXVFLENBQUM7SUFFbEUsWUFBWTtRQUNsQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FDdkUsbUJBQW1CLENBQUMscUJBQXFCLENBQUMscUJBQXFCLEVBQUU7WUFDL0QsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDLENBQ0gsQ0FBQztRQUVGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDL0QsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELElBQUksQ0FDRixPQUEwQixFQUMxQixLQUF3QixFQUN4QixPQUF1QztRQUV2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE9BQU8sQ0FDTCxPQUEwQixFQUMxQixLQUF3QixFQUN4QixPQUF1QztRQUV2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksQ0FDRixPQUEwQixFQUMxQixLQUF3QixFQUN4QixPQUF1QztRQUV2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FDSCxPQUEwQixFQUMxQixLQUF3QixFQUN4QixPQUF1QztRQUV2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksQ0FDRixPQUEwQixFQUMxQixLQUF3QixFQUN4QixRQUFnQyxFQUNoQyxVQUFVLEVBQW1DO1FBRTdDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCO1lBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXJELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLE9BQU87WUFDUCxLQUFLO1lBQ0wsUUFBUSxFQUFFLFFBQVEsSUFBSSxTQUFTO1lBQy9CLE9BQU87U0FDUixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDN0IsTUFBTSxFQUFFLFdBQVcsR0FBRyxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDdkMsSUFBSSxXQUFXO1lBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU8sY0FBYztRQUNwQixTQUFTLENBQWdCLFFBQVEsRUFBRSxPQUFPLENBQUM7YUFDeEMsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQ3ZCLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsTUFBTSxDQUFDLENBQUMsR0FBa0IsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQzVEO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0ExRlUsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FETixNQUFNOzsyRkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRQcm9qZWN0aW9uU2VydmljZSwgTG9jYWxpemF0aW9uUGFyYW0sIFBST0pFQ1RJT05fU1RSQVRFR1kgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29uZmlybWF0aW9uJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtYXRpb25TZXJ2aWNlIHtcclxuICBzdGF0dXMkITogU3ViamVjdDxDb25maXJtYXRpb24uU3RhdHVzPjtcclxuICBjb25maXJtYXRpb24kID0gbmV3IFJlcGxheVN1YmplY3Q8Q29uZmlybWF0aW9uLkRpYWxvZ0RhdGEgfCBudWxsPigxKTtcclxuXHJcbiAgcHJpdmF0ZSBjb250YWluZXJDb21wb25lbnRSZWYhOiBDb21wb25lbnRSZWY8Q29uZmlybWF0aW9uQ29tcG9uZW50PjtcclxuXHJcbiAgY2xlYXIgPSAoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzID0gQ29uZmlybWF0aW9uLlN0YXR1cy5kaXNtaXNzKSA9PiB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvbiQubmV4dChudWxsKTtcclxuICAgIHRoaXMuc3RhdHVzJC5uZXh0KHN0YXR1cyk7XHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250ZW50UHJvamVjdGlvblNlcnZpY2U6IENvbnRlbnRQcm9qZWN0aW9uU2VydmljZSkge31cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb250YWluZXIoKSB7XHJcbiAgICB0aGlzLmNvbnRhaW5lckNvbXBvbmVudFJlZiA9IHRoaXMuY29udGVudFByb2plY3Rpb25TZXJ2aWNlLnByb2plY3RDb250ZW50KFxyXG4gICAgICBQUk9KRUNUSU9OX1NUUkFURUdZLkFwcGVuZENvbXBvbmVudFRvQm9keShDb25maXJtYXRpb25Db21wb25lbnQsIHtcclxuICAgICAgICBjb25maXJtYXRpb24kOiB0aGlzLmNvbmZpcm1hdGlvbiQsXHJcbiAgICAgICAgY2xlYXI6IHRoaXMuY2xlYXIsXHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jb250YWluZXJDb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICBpbmZvKFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxDb25maXJtYXRpb24uT3B0aW9ucz4sXHJcbiAgKTogT2JzZXJ2YWJsZTxDb25maXJtYXRpb24uU3RhdHVzPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnaW5mbycsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgc3VjY2VzcyhcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgdGl0bGU6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8Q29uZmlybWF0aW9uLk9wdGlvbnM+LFxyXG4gICk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3N1Y2Nlc3MnLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHdhcm4oXHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIHRpdGxlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgIG9wdGlvbnM/OiBQYXJ0aWFsPENvbmZpcm1hdGlvbi5PcHRpb25zPixcclxuICApOiBPYnNlcnZhYmxlPENvbmZpcm1hdGlvbi5TdGF0dXM+IHtcclxuICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICd3YXJuaW5nJywgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBlcnJvcihcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgdGl0bGU6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8Q29uZmlybWF0aW9uLk9wdGlvbnM+LFxyXG4gICk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2Vycm9yJywgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzaG93KFxyXG4gICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICB0aXRsZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICBzZXZlcml0eT86IENvbmZpcm1hdGlvbi5TZXZlcml0eSxcclxuICAgIG9wdGlvbnMgPSB7fSBhcyBQYXJ0aWFsPENvbmZpcm1hdGlvbi5PcHRpb25zPixcclxuICApOiBPYnNlcnZhYmxlPENvbmZpcm1hdGlvbi5TdGF0dXM+IHtcclxuICAgIGlmICghdGhpcy5jb250YWluZXJDb21wb25lbnRSZWYpIHRoaXMuc2V0Q29udGFpbmVyKCk7XHJcblxyXG4gICAgdGhpcy5jb25maXJtYXRpb24kLm5leHQoe1xyXG4gICAgICBtZXNzYWdlLFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgc2V2ZXJpdHk6IHNldmVyaXR5IHx8ICduZXV0cmFsJyxcclxuICAgICAgb3B0aW9ucyxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc3RhdHVzJCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICBjb25zdCB7IGRpc21pc3NpYmxlID0gdHJ1ZSB9ID0gb3B0aW9ucztcclxuICAgIGlmIChkaXNtaXNzaWJsZSkgdGhpcy5saXN0ZW5Ub0VzY2FwZSgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnN0YXR1cyQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxpc3RlblRvRXNjYXBlKCkge1xyXG4gICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAna2V5dXAnKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5zdGF0dXMkKSxcclxuICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcclxuICAgICAgICBmaWx0ZXIoKGtleTogS2V5Ym9hcmRFdmVudCkgPT4ga2V5ICYmIGtleS5rZXkgPT09ICdFc2NhcGUnKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { ApplicationRef, createComponent, EnvironmentInjector, inject, Injectable, Injector, RendererFactory2, } from '@angular/core';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { ResolveEnd } from '@angular/router';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { filter } from 'rxjs/operators';
|
|
6
|
-
import { RouterEvents } from '@abp/ng.core';
|
|
7
|
-
import { HTTP_ERROR_CONFIG } from '../tokens/http-error.token';
|
|
8
|
-
import { HttpErrorWrapperComponent } from '../components/http-error-wrapper/http-error-wrapper.component';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class CreateErrorComponentService {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.document = inject(DOCUMENT);
|
|
13
|
-
this.rendererFactory = inject(RendererFactory2);
|
|
14
|
-
this.routerEvents = inject(RouterEvents);
|
|
15
|
-
this.injector = inject(Injector);
|
|
16
|
-
this.envInjector = inject(EnvironmentInjector);
|
|
17
|
-
this.httpErrorConfig = inject(HTTP_ERROR_CONFIG);
|
|
18
|
-
this.componentRef = null;
|
|
19
|
-
this.listenToRouterDataResolved();
|
|
20
|
-
}
|
|
21
|
-
listenToRouterDataResolved() {
|
|
22
|
-
this.routerEvents
|
|
23
|
-
.getEvents(ResolveEnd)
|
|
24
|
-
.pipe(filter(() => !!this.componentRef))
|
|
25
|
-
.subscribe(() => {
|
|
26
|
-
this.componentRef?.destroy();
|
|
27
|
-
this.componentRef = null;
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
getErrorHostElement() {
|
|
31
|
-
return this.document.body;
|
|
32
|
-
}
|
|
33
|
-
isCloseIconHidden() {
|
|
34
|
-
return !!this.httpErrorConfig?.errorScreen?.hideCloseIcon;
|
|
35
|
-
}
|
|
36
|
-
canCreateCustomError(status) {
|
|
37
|
-
const { component, forWhichErrors } = this.httpErrorConfig?.errorScreen || {};
|
|
38
|
-
if (!component || !forWhichErrors) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
return forWhichErrors.indexOf(status) > -1;
|
|
42
|
-
}
|
|
43
|
-
execute(instance) {
|
|
44
|
-
const renderer = this.rendererFactory.createRenderer(null, null);
|
|
45
|
-
const hostElement = this.getErrorHostElement();
|
|
46
|
-
const host = renderer.selectRootElement(hostElement, true);
|
|
47
|
-
this.componentRef = createComponent(HttpErrorWrapperComponent, {
|
|
48
|
-
environmentInjector: this.envInjector,
|
|
49
|
-
});
|
|
50
|
-
for (const key in instance) {
|
|
51
|
-
/* istanbul ignore else */
|
|
52
|
-
if (Object.prototype.hasOwnProperty.call(this.componentRef.instance, key)) {
|
|
53
|
-
this.componentRef.instance[key] = instance[key];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
this.componentRef.instance.hideCloseIcon = this.isCloseIconHidden();
|
|
57
|
-
const appRef = this.injector.get(ApplicationRef);
|
|
58
|
-
if (this.canCreateCustomError(instance.status)) {
|
|
59
|
-
this.componentRef.instance.appRef = appRef;
|
|
60
|
-
this.componentRef.instance.environmentInjector = this.envInjector;
|
|
61
|
-
this.componentRef.instance.customComponent = this.httpErrorConfig.errorScreen?.component;
|
|
62
|
-
}
|
|
63
|
-
appRef.attachView(this.componentRef.hostView);
|
|
64
|
-
renderer.appendChild(host, this.componentRef.hostView.rootNodes[0]);
|
|
65
|
-
const destroy$ = new Subject();
|
|
66
|
-
this.componentRef.instance.destroy$ = destroy$;
|
|
67
|
-
destroy$.subscribe(() => {
|
|
68
|
-
this.componentRef?.destroy();
|
|
69
|
-
this.componentRef = null;
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CreateErrorComponentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
73
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CreateErrorComponentService, providedIn: 'root' }); }
|
|
74
|
-
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: CreateErrorComponentService, decorators: [{
|
|
76
|
-
type: Injectable,
|
|
77
|
-
args: [{ providedIn: 'root' }]
|
|
78
|
-
}], ctorParameters: () => [] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWVycm9yLWNvbXBvbmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvY3JlYXRlLWVycm9yLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBRWQsZUFBZSxFQUVmLG1CQUFtQixFQUNuQixNQUFNLEVBQ04sVUFBVSxFQUNWLFFBQVEsRUFDUixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDOztBQUkxRyxNQUFNLE9BQU8sMkJBQTJCO0lBVXRDO1FBVG1CLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDMUMsb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUvRCxp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Q0FBQyxJQUFJLEVBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlGLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUUvQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E3RVUsMkJBQTJCO2tIQUEzQiwyQkFBMkIsY0FEZCxNQUFNOzsyRkFDbkIsMkJBQTJCO2tCQUR2QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25SZWYsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIGNyZWF0ZUNvbXBvbmVudCxcclxuICBFbWJlZGRlZFZpZXdSZWYsXHJcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcclxuICBpbmplY3QsXHJcbiAgSW5qZWN0YWJsZSxcclxuICBJbmplY3RvcixcclxuICBSZW5kZXJlckZhY3RvcnkyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFJlc29sdmVFbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUm91dGVyRXZlbnRzIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgSFRUUF9FUlJPUl9DT05GSUcgfSBmcm9tICcuLi90b2tlbnMvaHR0cC1lcnJvci50b2tlbic7XHJcbmltcG9ydCB7IEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2h0dHAtZXJyb3Itd3JhcHBlci9odHRwLWVycm9yLXdyYXBwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXJyb3JTY3JlZW5FcnJvckNvZGVzIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlRXJyb3JDb21wb25lbnRTZXJ2aWNlIHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlckZhY3RvcnkgPSBpbmplY3QoUmVuZGVyZXJGYWN0b3J5Mik7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlckV2ZW50cyA9IGluamVjdChSb3V0ZXJFdmVudHMpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVudkluamVjdG9yID0gaW5qZWN0KEVudmlyb25tZW50SW5qZWN0b3IpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBodHRwRXJyb3JDb25maWcgPSBpbmplY3QoSFRUUF9FUlJPUl9DT05GSUcpO1xyXG5cclxuICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxIdHRwRXJyb3JXcmFwcGVyQ29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMubGlzdGVuVG9Sb3V0ZXJEYXRhUmVzb2x2ZWQoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBsaXN0ZW5Ub1JvdXRlckRhdGFSZXNvbHZlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyRXZlbnRzXHJcbiAgICAgIC5nZXRFdmVudHMoUmVzb2x2ZUVuZClcclxuICAgICAgLnBpcGUoZmlsdGVyKCgpID0+ICEhdGhpcy5jb21wb25lbnRSZWYpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZj8uZGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gbnVsbDtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RXJyb3JIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5ib2R5O1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGlzQ2xvc2VJY29uSGlkZGVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5odHRwRXJyb3JDb25maWc/LmVycm9yU2NyZWVuPy5oaWRlQ2xvc2VJY29uO1xyXG4gIH1cclxuXHJcbiAgY2FuQ3JlYXRlQ3VzdG9tRXJyb3Ioc3RhdHVzOiBFcnJvclNjcmVlbkVycm9yQ29kZXMpIHtcclxuICAgIGNvbnN0IHsgY29tcG9uZW50LCBmb3JXaGljaEVycm9ycyB9ID0gdGhpcy5odHRwRXJyb3JDb25maWc/LmVycm9yU2NyZWVuIHx8IHt9O1xyXG5cclxuICAgIGlmICghY29tcG9uZW50IHx8ICFmb3JXaGljaEVycm9ycykge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZvcldoaWNoRXJyb3JzLmluZGV4T2Yoc3RhdHVzKSA+IC0xO1xyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZShpbnN0YW5jZTogUGFydGlhbDxIdHRwRXJyb3JXcmFwcGVyQ29tcG9uZW50Pik6IHZvaWQge1xyXG4gICAgY29uc3QgcmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcclxuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5nZXRFcnJvckhvc3RFbGVtZW50KCk7XHJcbiAgICBjb25zdCBob3N0ID0gcmVuZGVyZXIuc2VsZWN0Um9vdEVsZW1lbnQoaG9zdEVsZW1lbnQsIHRydWUpO1xyXG5cclxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnQsIHtcclxuICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5lbnZJbmplY3RvcixcclxuICAgIH0pO1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IGluIGluc3RhbmNlKSB7XHJcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXHJcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UsIGtleSkpIHtcclxuICAgICAgICAodGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgYW55KVtrZXldID0gKGluc3RhbmNlIGFzIGFueSlba2V5XTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmhpZGVDbG9zZUljb24gPSB0aGlzLmlzQ2xvc2VJY29uSGlkZGVuKCk7XHJcbiAgICBjb25zdCBhcHBSZWYgPSB0aGlzLmluamVjdG9yLmdldChBcHBsaWNhdGlvblJlZik7XHJcblxyXG4gICAgaWYgKHRoaXMuY2FuQ3JlYXRlQ3VzdG9tRXJyb3IoaW5zdGFuY2Uuc3RhdHVzIGFzIEVycm9yU2NyZWVuRXJyb3JDb2RlcykpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuYXBwUmVmID0gYXBwUmVmO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5lbnZpcm9ubWVudEluamVjdG9yID0gdGhpcy5lbnZJbmplY3RvcjtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuY3VzdG9tQ29tcG9uZW50ID0gdGhpcy5odHRwRXJyb3JDb25maWcuZXJyb3JTY3JlZW4/LmNvbXBvbmVudDtcclxuICAgIH1cclxuXHJcbiAgICBhcHBSZWYuYXR0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcbiAgICByZW5kZXJlci5hcHBlbmRDaGlsZChob3N0LCAodGhpcy5jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSk7XHJcblxyXG4gICAgY29uc3QgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZGVzdHJveSQgPSBkZXN0cm95JDtcclxuXHJcbiAgICBkZXN0cm95JC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZj8uZGVzdHJveSgpO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
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
|
-
export * from './create-error-component.service';
|
|
7
|
-
export * from './abp-format-error-handler.service';
|
|
8
|
-
export * from './tenant-resolve-error-handler.service';
|
|
9
|
-
export * from './status-code-error-handler.service';
|
|
10
|
-
export * from './unknown-status-code-error-handler.service';
|
|
11
|
-
export * from './router-error-handler.service';
|
|
12
|
-
export * from './authentication-error-handler.service';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx3Q0FBd0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlybWF0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL25hdi1pdGVtcy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wYWdlLWFsZXJ0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RvYXN0ZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1tZW51LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1lcnJvci1jb21wb25lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYWJwLWZvcm1hdC1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RlbmFudC1yZXNvbHZlLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RhdHVzLWNvZGUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi91bmtub3duLXN0YXR1cy1jb2RlLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVyLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXV0aGVudGljYXRpb24tZXJyb3ItaGFuZGxlci5zZXJ2aWNlJ1xyXG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
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
|
-
export 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: "18.1.5", ngImport: i0, type: NavItemsService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
11
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: NavItemsService, providedIn: 'root' }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: NavItemsService, decorators: [{
|
|
14
|
-
type: Injectable,
|
|
15
|
-
args: [{ providedIn: 'root' }]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9uYXYtaXRlbXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHOUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQTRCO0lBRGpFOztRQUVZLGNBQVMsR0FBRyxPQUFPLENBQUM7S0FDL0I7OEdBRlksZUFBZTtrSEFBZixlQUFlLGNBREYsTUFBTTs7MkZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL25hdi1pdGVtJztcclxuaW1wb3J0IHsgQWJzdHJhY3RNZW51U2VydmljZSB9IGZyb20gJy4vYWJzdHJhY3QtbWVudS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBOYXZJdGVtc1NlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdE1lbnVTZXJ2aWNlPE5hdkl0ZW0+IHtcclxuICBwcm90ZWN0ZWQgYmFzZUNsYXNzID0gTmF2SXRlbTtcclxufVxyXG4iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { InternalStore } from '@abp/ng.core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export 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: "18.1.5", ngImport: i0, type: PageAlertService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: PageAlertService, providedIn: 'root' }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: PageAlertService, decorators: [{
|
|
25
|
-
type: Injectable,
|
|
26
|
-
args: [{ providedIn: 'root' }]
|
|
27
|
-
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1hbGVydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvcGFnZS1hbGVydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFZN0MsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVVLFdBQU0sR0FBRyxJQUFJLGFBQWEsQ0FBYyxFQUFFLENBQUMsQ0FBQztRQUVwRCxZQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQWVsRDtJQWJDLElBQUksQ0FBQyxLQUFnQjtRQUNuQixNQUFNLFFBQVEsR0FBYztZQUMxQixHQUFHLEtBQUs7WUFDUixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJO1NBQ3ZDLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWE7UUFDbEIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQzs4R0FqQlUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW50ZXJuYWxTdG9yZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VBbGVydCB7XHJcbiAgdHlwZTogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAnZGFuZ2VyJyB8ICd3YXJuaW5nJyB8ICdpbmZvJyB8ICdsaWdodCcgfCAnZGFyayc7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIGRpc21pc3NpYmxlPzogYm9vbGVhbjtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zPzogc3RyaW5nW107XHJcbiAgdGl0bGVMb2NhbGl6YXRpb25QYXJhbXM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFBhZ2VBbGVydFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgYWxlcnRzID0gbmV3IEludGVybmFsU3RvcmU8UGFnZUFsZXJ0W10+KFtdKTtcclxuXHJcbiAgYWxlcnRzJCA9IHRoaXMuYWxlcnRzLnNsaWNlU3RhdGUoc3RhdGUgPT4gc3RhdGUpO1xyXG5cclxuICBzaG93KGFsZXJ0OiBQYWdlQWxlcnQpIHtcclxuICAgIGNvbnN0IG5ld0FsZXJ0OiBQYWdlQWxlcnQgPSB7XHJcbiAgICAgIC4uLmFsZXJ0LFxyXG4gICAgICBkaXNtaXNzaWJsZTogYWxlcnQuZGlzbWlzc2libGUgPz8gdHJ1ZSxcclxuICAgIH07XHJcbiAgICB0aGlzLmFsZXJ0cy5zZXQoW25ld0FsZXJ0LCAuLi50aGlzLmFsZXJ0cy5zdGF0ZV0pO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGFsZXJ0cyA9IFsuLi50aGlzLmFsZXJ0cy5zdGF0ZV07XHJcbiAgICBhbGVydHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMuYWxlcnRzLnNldChhbGVydHMpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { filter } from 'rxjs/operators';
|
|
3
|
-
import { RouterEvents } from '@abp/ng.core';
|
|
4
|
-
import { HTTP_ERROR_CONFIG } from '../tokens/';
|
|
5
|
-
import { CreateErrorComponentService } from '../services';
|
|
6
|
-
import { DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES } from '../constants/default-errors';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class RouterErrorHandlerService {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.routerEvents = inject(RouterEvents);
|
|
11
|
-
this.httpErrorConfig = inject(HTTP_ERROR_CONFIG);
|
|
12
|
-
this.createErrorComponentService = inject(CreateErrorComponentService);
|
|
13
|
-
this.filterRouteErrors = (navigationError) => {
|
|
14
|
-
if (!this.httpErrorConfig?.skipHandledErrorCodes) {
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
return (navigationError.error?.message?.indexOf('Cannot match') > -1 &&
|
|
18
|
-
this.httpErrorConfig.skipHandledErrorCodes.findIndex(code => code === 404) < 0);
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
listen() {
|
|
22
|
-
this.routerEvents
|
|
23
|
-
.getNavigationEvents('Error')
|
|
24
|
-
.pipe(filter(this.filterRouteErrors))
|
|
25
|
-
.subscribe(() => this.show404Page());
|
|
26
|
-
}
|
|
27
|
-
show404Page() {
|
|
28
|
-
const instance = {
|
|
29
|
-
title: {
|
|
30
|
-
key: DEFAULT_ERROR_LOCALIZATIONS.defaultError404.title,
|
|
31
|
-
defaultValue: DEFAULT_ERROR_MESSAGES.defaultError404.title,
|
|
32
|
-
},
|
|
33
|
-
status: 404,
|
|
34
|
-
};
|
|
35
|
-
this.createErrorComponentService.execute(instance);
|
|
36
|
-
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: RouterErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: RouterErrorHandlerService, providedIn: 'root' }); }
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: RouterErrorHandlerService, decorators: [{
|
|
41
|
-
type: Injectable,
|
|
42
|
-
args: [{ providedIn: 'root' }]
|
|
43
|
-
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL3JvdXRlci1lcnJvci1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFJbEcsTUFBTSxPQUFPLHlCQUF5QjtJQUR0QztRQUVxQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVDLGdDQUEyQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRTNFLHNCQUFpQixHQUFHLENBQUMsZUFBZ0MsRUFBVyxFQUFFO1lBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLHFCQUFxQixFQUFFLENBQUM7Z0JBQ2pELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELE9BQU8sQ0FDTCxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQy9FLENBQUM7UUFDSixDQUFDLENBQUM7S0FvQkg7SUFsQkMsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZO2FBQ2QsbUJBQW1CLENBQUMsT0FBTyxDQUFDO2FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxRQUFRLEdBQUc7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxFQUFFLDJCQUEyQixDQUFDLGVBQWUsQ0FBQyxLQUFLO2dCQUN0RCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDLEtBQUs7YUFDM0Q7WUFDRCxNQUFNLEVBQXlCLEdBQUc7U0FDbkMsQ0FBQztRQUVGLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0FqQ1UseUJBQXlCO2tIQUF6Qix5QkFBeUIsY0FEWixNQUFNOzsyRkFDbkIseUJBQXlCO2tCQURyQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRXJyb3IgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJvdXRlckV2ZW50cyB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEhUVFBfRVJST1JfQ09ORklHIH0gZnJvbSAnLi4vdG9rZW5zLyc7XHJcbmltcG9ydCB7IENyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TLCBERUZBVUxUX0VSUk9SX01FU1NBR0VTIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQtZXJyb3JzJztcclxuaW1wb3J0IHsgRXJyb3JTY3JlZW5FcnJvckNvZGVzIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZXJFcnJvckhhbmRsZXJTZXJ2aWNlIHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyRXZlbnRzID0gaW5qZWN0KFJvdXRlckV2ZW50cyk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHBFcnJvckNvbmZpZyA9IGluamVjdChIVFRQX0VSUk9SX0NPTkZJRyk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZSA9IGluamVjdChDcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UpO1xyXG5cclxuICBwcm90ZWN0ZWQgZmlsdGVyUm91dGVFcnJvcnMgPSAobmF2aWdhdGlvbkVycm9yOiBOYXZpZ2F0aW9uRXJyb3IpOiBib29sZWFuID0+IHtcclxuICAgIGlmICghdGhpcy5odHRwRXJyb3JDb25maWc/LnNraXBIYW5kbGVkRXJyb3JDb2Rlcykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBuYXZpZ2F0aW9uRXJyb3IuZXJyb3I/Lm1lc3NhZ2U/LmluZGV4T2YoJ0Nhbm5vdCBtYXRjaCcpID4gLTEgJiZcclxuICAgICAgdGhpcy5odHRwRXJyb3JDb25maWcuc2tpcEhhbmRsZWRFcnJvckNvZGVzLmZpbmRJbmRleChjb2RlID0+IGNvZGUgPT09IDQwNCkgPCAwXHJcbiAgICApO1xyXG4gIH07XHJcblxyXG4gIGxpc3RlbigpIHtcclxuICAgIHRoaXMucm91dGVyRXZlbnRzXHJcbiAgICAgIC5nZXROYXZpZ2F0aW9uRXZlbnRzKCdFcnJvcicpXHJcbiAgICAgIC5waXBlKGZpbHRlcih0aGlzLmZpbHRlclJvdXRlRXJyb3JzKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNob3c0MDRQYWdlKCkpO1xyXG4gIH1cclxuXHJcbiAgc2hvdzQwNFBhZ2UoKSB7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IHtcclxuICAgICAgdGl0bGU6IHtcclxuICAgICAgICBrZXk6IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUy5kZWZhdWx0RXJyb3I0MDQudGl0bGUsXHJcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLmRlZmF1bHRFcnJvcjQwNC50aXRsZSxcclxuICAgICAgfSxcclxuICAgICAgc3RhdHVzOiA8RXJyb3JTY3JlZW5FcnJvckNvZGVzPjQwNCxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5jcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UuZXhlY3V0ZShpbnN0YW5jZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|