@abp/ng.theme.shared 7.3.2 → 7.4.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/esm2022/extensions/lib/components/extensible-table/extensible-table.component.mjs +4 -1
- package/esm2022/extensions/lib/components/grid-actions/grid-actions.component.mjs +3 -3
- package/esm2022/extensions/lib/models/actions.mjs +4 -2
- package/esm2022/extensions/lib/models/entity-actions.mjs +3 -1
- package/esm2022/lib/components/index.mjs +2 -1
- package/esm2022/lib/components/internet-connection-status/internet-connection-status.component.mjs +29 -0
- package/esm2022/lib/constants/default-errors.mjs +52 -0
- package/esm2022/lib/handlers/error.handler.mjs +43 -251
- package/esm2022/lib/models/common.mjs +1 -1
- package/esm2022/lib/models/nav-item.mjs +1 -1
- package/esm2022/lib/providers/error-handlers.provider.mjs +28 -0
- package/esm2022/lib/providers/index.mjs +2 -1
- package/esm2022/lib/services/abp-format-error-handler.service.mjs +46 -0
- package/esm2022/lib/services/create-error-component.service.mjs +77 -0
- package/esm2022/lib/services/index.mjs +7 -1
- package/esm2022/lib/services/router-error-handler.service.mjs +45 -0
- package/esm2022/lib/services/status-code-error-handler.service.mjs +85 -0
- package/esm2022/lib/services/tenant-resolve-error-handler.service.mjs +30 -0
- package/esm2022/lib/services/unknown-status-code-error-handler.service.mjs +37 -0
- package/esm2022/lib/theme-shared.module.mjs +5 -4
- package/esm2022/lib/tokens/http-error.token.mjs +2 -1
- package/esm2022/lib/utils/error.utils.mjs +25 -0
- package/esm2022/lib/utils/index.mjs +2 -1
- package/esm2022/public-api.mjs +2 -1
- package/extensions/lib/models/actions.d.ts +3 -1
- package/extensions/lib/models/entity-actions.d.ts +2 -0
- package/fesm2022/abp-ng.theme.shared-extensions.mjs +10 -3
- package/fesm2022/abp-ng.theme.shared-extensions.mjs.map +1 -1
- package/fesm2022/abp-ng.theme.shared.mjs +708 -515
- package/fesm2022/abp-ng.theme.shared.mjs.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/internet-connection-status/internet-connection-status.component.d.ts +8 -0
- package/lib/constants/default-errors.d.ts +51 -0
- package/lib/handlers/error.handler.d.ts +11 -69
- package/lib/models/common.d.ts +7 -2
- package/lib/models/nav-item.d.ts +9 -0
- package/lib/providers/error-handlers.provider.d.ts +2 -0
- package/lib/providers/index.d.ts +1 -0
- package/lib/services/abp-format-error-handler.service.d.ts +13 -0
- package/lib/services/create-error-component.service.d.ts +20 -0
- package/lib/services/index.d.ts +6 -0
- package/lib/services/router-error-handler.service.d.ts +12 -0
- package/lib/services/status-code-error-handler.service.d.ts +21 -0
- package/lib/services/tenant-resolve-error-handler.service.d.ts +13 -0
- package/lib/services/unknown-status-code-error-handler.service.d.ts +16 -0
- package/lib/tokens/http-error.token.d.ts +2 -1
- package/lib/utils/error.utils.d.ts +8 -0
- package/lib/utils/index.d.ts +1 -0
- package/package.json +3 -3
- package/public-api.d.ts +1 -0
|
@@ -3,4 +3,10 @@ export * from './nav-items.service';
|
|
|
3
3
|
export * from './page-alert.service';
|
|
4
4
|
export * from './toaster.service';
|
|
5
5
|
export * from './user-menu.service';
|
|
6
|
-
|
|
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
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9uYXYtaXRlbXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1hbGVydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2FzdGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VzZXItbWVudS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtZXJyb3ItY29tcG9uZW50LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FicC1mb3JtYXQtZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQtcmVzb2x2ZS1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy1jb2RlLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdW5rbm93bi1zdGF0dXMtY29kZS1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JvdXRlci1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG4iXX0=
|
|
@@ -0,0 +1,45 @@
|
|
|
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
|
+
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: "16.0.6", ngImport: i0, type: RouterErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: RouterErrorHandlerService, providedIn: 'root' }); }
|
|
39
|
+
}
|
|
40
|
+
export { RouterErrorHandlerService };
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: RouterErrorHandlerService, decorators: [{
|
|
42
|
+
type: Injectable,
|
|
43
|
+
args: [{ providedIn: 'root' }]
|
|
44
|
+
}] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL3JvdXRlci1lcnJvci1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFbEcsTUFDYSx5QkFBeUI7SUFEdEM7UUFFbUIsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0Msb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxnQ0FBMkIsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQVNoRSxzQkFBaUIsR0FBRyxDQUFDLGVBQWdDLEVBQVcsRUFBRTtZQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsRUFBRTtnQkFDL0MsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUVELE9BQU8sQ0FDTCxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQy9FLENBQUM7UUFDSixDQUFDLENBQUM7S0FhSDtJQTdCQyxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVk7YUFDZCxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7YUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQWFELFdBQVc7UUFDVCxNQUFNLFFBQVEsR0FBRztZQUNmLEtBQUssRUFBRTtnQkFDTCxHQUFHLEVBQUUsMkJBQTJCLENBQUMsZUFBZSxDQUFDLEtBQUs7Z0JBQ3RELFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsS0FBSzthQUMzRDtZQUNELE1BQU0sRUFBRSxHQUFHO1NBQ1osQ0FBQztRQUVGLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0FqQ1UseUJBQXlCO2tIQUF6Qix5QkFBeUIsY0FEWixNQUFNOztTQUNuQix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJFdmVudHMgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRXJyb3IgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBIVFRQX0VSUk9SX0NPTkZJRyB9IGZyb20gJy4uL3Rva2Vucy8nO1xyXG5pbXBvcnQgeyBDcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUywgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyB9IGZyb20gJy4uL2NvbnN0YW50cy9kZWZhdWx0LWVycm9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUm91dGVyRXJyb3JIYW5kbGVyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXJFdmVudHMgPSBpbmplY3QoUm91dGVyRXZlbnRzKTtcclxuICBwcml2YXRlIGh0dHBFcnJvckNvbmZpZyA9IGluamVjdChIVFRQX0VSUk9SX0NPTkZJRyk7XHJcbiAgcHJpdmF0ZSBjcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UgPSBpbmplY3QoQ3JlYXRlRXJyb3JDb21wb25lbnRTZXJ2aWNlKTtcclxuXHJcbiAgbGlzdGVuKCkge1xyXG4gICAgdGhpcy5yb3V0ZXJFdmVudHNcclxuICAgICAgLmdldE5hdmlnYXRpb25FdmVudHMoJ0Vycm9yJylcclxuICAgICAgLnBpcGUoZmlsdGVyKHRoaXMuZmlsdGVyUm91dGVFcnJvcnMpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2hvdzQwNFBhZ2UoKSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZmlsdGVyUm91dGVFcnJvcnMgPSAobmF2aWdhdGlvbkVycm9yOiBOYXZpZ2F0aW9uRXJyb3IpOiBib29sZWFuID0+IHtcclxuICAgIGlmICghdGhpcy5odHRwRXJyb3JDb25maWcuc2tpcEhhbmRsZWRFcnJvckNvZGVzKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBuYXZpZ2F0aW9uRXJyb3IuZXJyb3I/Lm1lc3NhZ2U/LmluZGV4T2YoJ0Nhbm5vdCBtYXRjaCcpID4gLTEgJiZcclxuICAgICAgdGhpcy5odHRwRXJyb3JDb25maWcuc2tpcEhhbmRsZWRFcnJvckNvZGVzLmZpbmRJbmRleChjb2RlID0+IGNvZGUgPT09IDQwNCkgPCAwXHJcbiAgICApO1xyXG4gIH07XHJcblxyXG4gIHNob3c0MDRQYWdlKCkge1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSB7XHJcbiAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yNDA0LnRpdGxlLFxyXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3I0MDQudGl0bGUsXHJcbiAgICAgIH0sXHJcbiAgICAgIHN0YXR1czogNDA0LFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmNyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZS5leGVjdXRlKGluc3RhbmNlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { CUSTOM_HTTP_ERROR_HANDLER_PRIORITY, DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES, } from '../constants/default-errors';
|
|
2
|
+
import { AuthService } from '@abp/ng.core';
|
|
3
|
+
import { inject, Injectable } from '@angular/core';
|
|
4
|
+
import { ConfirmationService } from './confirmation.service';
|
|
5
|
+
import { CreateErrorComponentService } from './create-error-component.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
class StatusCodeErrorHandlerService {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.confirmationService = inject(ConfirmationService);
|
|
10
|
+
this.createErrorComponentService = inject(CreateErrorComponentService);
|
|
11
|
+
this.authService = inject(AuthService);
|
|
12
|
+
this.priority = CUSTOM_HTTP_ERROR_HANDLER_PRIORITY.normal;
|
|
13
|
+
this.handledStatusCodes = [401, 403, 404, 500];
|
|
14
|
+
}
|
|
15
|
+
canHandle({ status }) {
|
|
16
|
+
this.status = status;
|
|
17
|
+
return this.handledStatusCodes.indexOf(status) > -1;
|
|
18
|
+
}
|
|
19
|
+
execute() {
|
|
20
|
+
const key = `defaultError${this.status}`;
|
|
21
|
+
const title = {
|
|
22
|
+
key: DEFAULT_ERROR_LOCALIZATIONS[key]?.title,
|
|
23
|
+
defaultValue: DEFAULT_ERROR_MESSAGES[key]?.title,
|
|
24
|
+
};
|
|
25
|
+
const message = {
|
|
26
|
+
key: DEFAULT_ERROR_LOCALIZATIONS[key]?.details,
|
|
27
|
+
defaultValue: DEFAULT_ERROR_MESSAGES[key]?.details,
|
|
28
|
+
};
|
|
29
|
+
const canCreateCustomError = this.createErrorComponentService.canCreateCustomError(this.status);
|
|
30
|
+
switch (this.status) {
|
|
31
|
+
case 401:
|
|
32
|
+
case 404:
|
|
33
|
+
if (canCreateCustomError) {
|
|
34
|
+
this.showPage();
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
this.showConfirmation(title, message).subscribe(() => {
|
|
38
|
+
if (this.status === 401) {
|
|
39
|
+
this.navigateToLogin();
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
break;
|
|
43
|
+
case 403:
|
|
44
|
+
case 500:
|
|
45
|
+
this.showPage();
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
navigateToLogin() {
|
|
50
|
+
this.authService.navigateToLogin();
|
|
51
|
+
}
|
|
52
|
+
showConfirmation(message, title) {
|
|
53
|
+
return this.confirmationService.error(message, title, {
|
|
54
|
+
hideCancelBtn: true,
|
|
55
|
+
yesText: 'AbpAccount::Close',
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
showPage() {
|
|
59
|
+
const key = `defaultError${this.status}`;
|
|
60
|
+
const instance = {
|
|
61
|
+
title: {
|
|
62
|
+
key: DEFAULT_ERROR_LOCALIZATIONS[key]?.title,
|
|
63
|
+
defaultValue: DEFAULT_ERROR_MESSAGES[key]?.title,
|
|
64
|
+
},
|
|
65
|
+
details: {
|
|
66
|
+
key: DEFAULT_ERROR_LOCALIZATIONS[key]?.details,
|
|
67
|
+
defaultValue: DEFAULT_ERROR_MESSAGES[key]?.details,
|
|
68
|
+
},
|
|
69
|
+
status: this.status,
|
|
70
|
+
};
|
|
71
|
+
const shouldRemoveDetail = [401, 404].indexOf(this.status) > -1;
|
|
72
|
+
if (shouldRemoveDetail) {
|
|
73
|
+
delete instance.details;
|
|
74
|
+
}
|
|
75
|
+
this.createErrorComponentService.execute(instance);
|
|
76
|
+
}
|
|
77
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: StatusCodeErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
78
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: StatusCodeErrorHandlerService, providedIn: 'root' }); }
|
|
79
|
+
}
|
|
80
|
+
export { StatusCodeErrorHandlerService };
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: StatusCodeErrorHandlerService, decorators: [{
|
|
82
|
+
type: Injectable,
|
|
83
|
+
args: [{ providedIn: 'root' }]
|
|
84
|
+
}] });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWNvZGUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvc3RhdHVzLWNvZGUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbEMsMkJBQTJCLEVBQzNCLHNCQUFzQixHQUN2QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQXFCLE1BQU0sY0FBYyxDQUFDO0FBRTlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUUvRSxNQUNhLDZCQUE2QjtJQUQxQztRQUVtQix3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRCxnQ0FBMkIsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNsRSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQyxhQUFRLEdBQUcsa0NBQWtDLENBQUMsTUFBTSxDQUFDO1FBRTdDLHVCQUFrQixHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFVLENBQUM7S0EwRXJFO0lBeEVDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRTtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEdBQUcsR0FBRyxlQUFlLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRztZQUNaLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO1lBQzVDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO1NBQ2pELENBQUM7UUFDRixNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPO1lBQzlDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPO1NBQ25ELENBQUM7UUFFRixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEcsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHO2dCQUNOLElBQUksb0JBQW9CLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEIsTUFBTTtpQkFDUDtnQkFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ25ELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7d0JBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztxQkFDeEI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUVSLEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHO2dCQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEIsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRVMsZ0JBQWdCLENBQ3hCLE9BQTBCLEVBQzFCLEtBQXdCO1FBRXhCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQ3BELGFBQWEsRUFBRSxJQUFJO1lBQ25CLE9BQU8sRUFBRSxtQkFBbUI7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLFFBQVE7UUFDaEIsTUFBTSxHQUFHLEdBQUcsZUFBZSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFekMsTUFBTSxRQUFRLEdBQUc7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxFQUFFLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUs7Z0JBQzVDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO2FBQ2pEO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPO2dCQUM5QyxZQUFZLEVBQUUsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTzthQUNuRDtZQUNELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDO1FBQ0YsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLElBQUksa0JBQWtCLEVBQUU7WUFDdEIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRCxDQUFDOzhHQS9FVSw2QkFBNkI7a0hBQTdCLDZCQUE2QixjQURoQixNQUFNOztTQUNuQiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maXJtYXRpb24sIEN1c3RvbUh0dHBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHtcclxuICBDVVNUT01fSFRUUF9FUlJPUl9IQU5ETEVSX1BSSU9SSVRZLFxyXG4gIERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUyxcclxuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxyXG59IGZyb20gJy4uL2NvbnN0YW50cy9kZWZhdWx0LWVycm9ycyc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBMb2NhbGl6YXRpb25QYXJhbSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3JlYXRlRXJyb3JDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi9jcmVhdGUtZXJyb3ItY29tcG9uZW50LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFN0YXR1c0NvZGVFcnJvckhhbmRsZXJTZXJ2aWNlIGltcGxlbWVudHMgQ3VzdG9tSHR0cEVycm9ySGFuZGxlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWF0aW9uU2VydmljZSA9IGluamVjdChDb25maXJtYXRpb25TZXJ2aWNlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZSA9IGluamVjdChDcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xyXG4gIHJlYWRvbmx5IHByaW9yaXR5ID0gQ1VTVE9NX0hUVFBfRVJST1JfSEFORExFUl9QUklPUklUWS5ub3JtYWw7XHJcbiAgcHJpdmF0ZSBzdGF0dXM6IHR5cGVvZiB0aGlzLmhhbmRsZWRTdGF0dXNDb2Rlc1tudW1iZXJdO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlZFN0YXR1c0NvZGVzID0gWzQwMSwgNDAzLCA0MDQsIDUwMF0gYXMgY29uc3Q7XHJcblxyXG4gIGNhbkhhbmRsZSh7IHN0YXR1cyB9KTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLnN0YXR1cyA9IHN0YXR1cztcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZWRTdGF0dXNDb2Rlcy5pbmRleE9mKHN0YXR1cykgPiAtMTtcclxuICB9XHJcblxyXG4gIGV4ZWN1dGUoKSB7XHJcbiAgICBjb25zdCBrZXkgPSBgZGVmYXVsdEVycm9yJHt0aGlzLnN0YXR1c31gO1xyXG4gICAgY29uc3QgdGl0bGUgPSB7XHJcbiAgICAgIGtleTogREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TW2tleV0/LnRpdGxlLFxyXG4gICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVNba2V5XT8udGl0bGUsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgbWVzc2FnZSA9IHtcclxuICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlNba2V5XT8uZGV0YWlscyxcclxuICAgICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTW2tleV0/LmRldGFpbHMsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGNhbkNyZWF0ZUN1c3RvbUVycm9yID0gdGhpcy5jcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UuY2FuQ3JlYXRlQ3VzdG9tRXJyb3IodGhpcy5zdGF0dXMpO1xyXG4gICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xyXG4gICAgICBjYXNlIDQwMTpcclxuICAgICAgY2FzZSA0MDQ6XHJcbiAgICAgICAgaWYgKGNhbkNyZWF0ZUN1c3RvbUVycm9yKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3dQYWdlKCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaG93Q29uZmlybWF0aW9uKHRpdGxlLCBtZXNzYWdlKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvTG9naW4oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgNDAzOlxyXG4gICAgICBjYXNlIDUwMDpcclxuICAgICAgICB0aGlzLnNob3dQYWdlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5hdmlnYXRlVG9Mb2dpbigpIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubmF2aWdhdGVUb0xvZ2luKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2hvd0NvbmZpcm1hdGlvbihcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgdGl0bGU6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSwge1xyXG4gICAgICBoaWRlQ2FuY2VsQnRuOiB0cnVlLFxyXG4gICAgICB5ZXNUZXh0OiAnQWJwQWNjb3VudDo6Q2xvc2UnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2hvd1BhZ2UoKSB7XHJcbiAgICBjb25zdCBrZXkgPSBgZGVmYXVsdEVycm9yJHt0aGlzLnN0YXR1c31gO1xyXG5cclxuICAgIGNvbnN0IGluc3RhbmNlID0ge1xyXG4gICAgICB0aXRsZToge1xyXG4gICAgICAgIGtleTogREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TW2tleV0/LnRpdGxlLFxyXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFU1trZXldPy50aXRsZSxcclxuICAgICAgfSxcclxuICAgICAgZGV0YWlsczoge1xyXG4gICAgICAgIGtleTogREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TW2tleV0/LmRldGFpbHMsXHJcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTW2tleV0/LmRldGFpbHMsXHJcbiAgICAgIH0sXHJcbiAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXHJcbiAgICB9O1xyXG4gICAgY29uc3Qgc2hvdWxkUmVtb3ZlRGV0YWlsID0gWzQwMSwgNDA0XS5pbmRleE9mKHRoaXMuc3RhdHVzKSA+IC0xO1xyXG4gICAgaWYgKHNob3VsZFJlbW92ZURldGFpbCkge1xyXG4gICAgICBkZWxldGUgaW5zdGFuY2UuZGV0YWlscztcclxuICAgIH1cclxuICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnRTZXJ2aWNlLmV4ZWN1dGUoaW5zdGFuY2UpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { AuthService, SessionStateService } 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
|
+
class TenantResolveErrorHandlerService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.sessionService = inject(SessionStateService);
|
|
9
|
+
this.priority = CUSTOM_HTTP_ERROR_HANDLER_PRIORITY.high;
|
|
10
|
+
this.authService = inject(AuthService);
|
|
11
|
+
}
|
|
12
|
+
isTenantResolveError(error) {
|
|
13
|
+
return error instanceof HttpErrorResponse && !!error.headers.get('Abp-Tenant-Resolve-Error');
|
|
14
|
+
}
|
|
15
|
+
canHandle(error) {
|
|
16
|
+
return this.isTenantResolveError(error);
|
|
17
|
+
}
|
|
18
|
+
execute() {
|
|
19
|
+
this.sessionService.setTenant(null);
|
|
20
|
+
this.authService.logout().subscribe();
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: TenantResolveErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: TenantResolveErrorHandlerService, providedIn: 'root' }); }
|
|
24
|
+
}
|
|
25
|
+
export { TenantResolveErrorHandlerService };
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: TenantResolveErrorHandlerService, decorators: [{
|
|
27
|
+
type: Injectable,
|
|
28
|
+
args: [{ providedIn: 'root' }]
|
|
29
|
+
}] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXJlc29sdmUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvdGVuYW50LXJlc29sdmUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRWpGLE1BQ2EsZ0NBQWdDO0lBRDdDO1FBRXFCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdkQsYUFBUSxHQUFHLGtDQUFrQyxDQUFDLElBQUksQ0FBQztRQUNwRCxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQWEzQztJQVpTLG9CQUFvQixDQUFDLEtBQWM7UUFDekMsT0FBTyxLQUFLLFlBQVksaUJBQWlCLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFjO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzhHQWZVLGdDQUFnQztrSEFBaEMsZ0NBQWdDLGNBRG5CLE1BQU07O1NBQ25CLGdDQUFnQzsyRkFBaEMsZ0NBQWdDO2tCQUQ1QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbUh0dHBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XHJcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgU2Vzc2lvblN0YXRlU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDVVNUT01fSFRUUF9FUlJPUl9IQU5ETEVSX1BSSU9SSVRZIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQtZXJyb3JzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUZW5hbnRSZXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSBpbXBsZW1lbnRzIEN1c3RvbUh0dHBFcnJvckhhbmRsZXJTZXJ2aWNlIHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoU2Vzc2lvblN0YXRlU2VydmljZSk7XHJcbiAgcmVhZG9ubHkgcHJpb3JpdHkgPSBDVVNUT01fSFRUUF9FUlJPUl9IQU5ETEVSX1BSSU9SSVRZLmhpZ2g7XHJcbiAgcHJpdmF0ZSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBpc1RlbmFudFJlc29sdmVFcnJvcihlcnJvcjogdW5rbm93bikge1xyXG4gICAgcmV0dXJuIGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgISFlcnJvci5oZWFkZXJzLmdldCgnQWJwLVRlbmFudC1SZXNvbHZlLUVycm9yJyk7XHJcbiAgfVxyXG5cclxuICBjYW5IYW5kbGUoZXJyb3I6IHVua25vd24pOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzVGVuYW50UmVzb2x2ZUVycm9yKGVycm9yKTtcclxuICB9XHJcblxyXG4gIGV4ZWN1dGUoKSB7XHJcbiAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnNldFRlbmFudChudWxsKTtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CUSTOM_HTTP_ERROR_HANDLER_PRIORITY, DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES, } from '../constants/default-errors';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { CreateErrorComponentService } from './create-error-component.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
class UnknownStatusCodeErrorHandlerService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.priority = CUSTOM_HTTP_ERROR_HANDLER_PRIORITY.normal;
|
|
8
|
+
this.statusText = 'Unknown Error';
|
|
9
|
+
this.message = '';
|
|
10
|
+
this.createErrorComponentService = inject(CreateErrorComponentService);
|
|
11
|
+
}
|
|
12
|
+
canHandle(error) {
|
|
13
|
+
if (error && error.status === 0 && error.statusText === this.statusText) {
|
|
14
|
+
this.message = error.message;
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
execute() {
|
|
20
|
+
this.createErrorComponentService.execute({
|
|
21
|
+
title: {
|
|
22
|
+
key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
|
|
23
|
+
defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
|
|
24
|
+
},
|
|
25
|
+
details: this.message,
|
|
26
|
+
isHomeShow: false,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: UnknownStatusCodeErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
30
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: UnknownStatusCodeErrorHandlerService, providedIn: 'root' }); }
|
|
31
|
+
}
|
|
32
|
+
export { UnknownStatusCodeErrorHandlerService };
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: UnknownStatusCodeErrorHandlerService, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{ providedIn: 'root' }]
|
|
36
|
+
}] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5rbm93bi1zdGF0dXMtY29kZS1lcnJvci1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy91bmtub3duLXN0YXR1cy1jb2RlLWVycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsa0NBQWtDLEVBQ2xDLDJCQUEyQixFQUMzQixzQkFBc0IsR0FDdkIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFFL0UsTUFDYSxvQ0FBb0M7SUFEakQ7UUFFVyxhQUFRLEdBQUcsa0NBQWtDLENBQUMsTUFBTSxDQUFDO1FBQ3RELGVBQVUsR0FBRyxlQUFlLENBQUM7UUFDN0IsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdDQUEyQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0tBb0IzRTtJQWxCQyxTQUFTLENBQUMsS0FBMEU7UUFDbEYsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUM7WUFDdkMsS0FBSyxFQUFFO2dCQUNMLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxZQUFZLENBQUMsS0FBSztnQkFDbkQsWUFBWSxFQUFFLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxLQUFLO2FBQ3hEO1lBQ0QsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBdkJVLG9DQUFvQztrSEFBcEMsb0NBQW9DLGNBRHZCLE1BQU07O1NBQ25CLG9DQUFvQzsyRkFBcEMsb0NBQW9DO2tCQURoRCxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1c3RvbUh0dHBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHtcclxuICBDVVNUT01fSFRUUF9FUlJPUl9IQU5ETEVSX1BSSU9SSVRZLFxyXG4gIERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUyxcclxuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTLFxyXG59IGZyb20gJy4uL2NvbnN0YW50cy9kZWZhdWx0LWVycm9ycyc7XHJcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuL2NyZWF0ZS1lcnJvci1jb21wb25lbnQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVW5rbm93blN0YXR1c0NvZGVFcnJvckhhbmRsZXJTZXJ2aWNlIGltcGxlbWVudHMgQ3VzdG9tSHR0cEVycm9ySGFuZGxlclNlcnZpY2Uge1xyXG4gIHJlYWRvbmx5IHByaW9yaXR5ID0gQ1VTVE9NX0hUVFBfRVJST1JfSEFORExFUl9QUklPUklUWS5ub3JtYWw7XHJcbiAgcHJpdmF0ZSBzdGF0dXNUZXh0ID0gJ1Vua25vd24gRXJyb3InO1xyXG4gIHByaXZhdGUgbWVzc2FnZSA9ICcnO1xyXG4gIHByaXZhdGUgY3JlYXRlRXJyb3JDb21wb25lbnRTZXJ2aWNlID0gaW5qZWN0KENyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZSk7XHJcblxyXG4gIGNhbkhhbmRsZShlcnJvcjogeyBzdGF0dXM6IG51bWJlcjsgc3RhdHVzVGV4dDogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGVycm9yICYmIGVycm9yLnN0YXR1cyA9PT0gMCAmJiBlcnJvci5zdGF0dXNUZXh0ID09PSB0aGlzLnN0YXR1c1RleHQpIHtcclxuICAgICAgdGhpcy5tZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5jcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UuZXhlY3V0ZSh7XHJcbiAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yLnRpdGxlLFxyXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3IudGl0bGUsXHJcbiAgICAgIH0sXHJcbiAgICAgIGRldGFpbHM6IHRoaXMubWVzc2FnZSxcclxuICAgICAgaXNIb21lU2hvdzogZmFsc2UsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -22,7 +22,7 @@ import { NgxDatatableDefaultDirective } from './directives/ngx-datatable-default
|
|
|
22
22
|
import { NgxDatatableListDirective } from './directives/ngx-datatable-list.directive';
|
|
23
23
|
import { DocumentDirHandlerService } from './handlers/document-dir.handler';
|
|
24
24
|
import { ErrorHandler } from './handlers/error.handler';
|
|
25
|
-
import { NG_BOOTSTRAP_CONFIG_PROVIDERS } from './providers';
|
|
25
|
+
import { ERROR_HANDLERS_PROVIDERS, NG_BOOTSTRAP_CONFIG_PROVIDERS } from './providers';
|
|
26
26
|
import { THEME_SHARED_ROUTE_PROVIDERS } from './providers/route.provider';
|
|
27
27
|
import { THEME_SHARED_APPEND_CONTENT } from './tokens/append-content.token';
|
|
28
28
|
import { HTTP_ERROR_CONFIG, httpErrorConfigFactory } from './tokens/http-error.token';
|
|
@@ -51,7 +51,7 @@ const declarationsWithExports = [
|
|
|
51
51
|
ModalCloseDirective,
|
|
52
52
|
AbpVisibleDirective,
|
|
53
53
|
FormInputComponent,
|
|
54
|
-
FormCheckboxComponent
|
|
54
|
+
FormCheckboxComponent,
|
|
55
55
|
];
|
|
56
56
|
class BaseThemeSharedModule {
|
|
57
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: BaseThemeSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -124,7 +124,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImpor
|
|
|
124
124
|
EllipsisModule,
|
|
125
125
|
NgxValidateCoreModule,
|
|
126
126
|
CardModule,
|
|
127
|
-
...declarationsWithExports
|
|
127
|
+
...declarationsWithExports,
|
|
128
128
|
],
|
|
129
129
|
providers: [DatePipe],
|
|
130
130
|
}]
|
|
@@ -184,6 +184,7 @@ class ThemeSharedModule {
|
|
|
184
184
|
...(confirmationIcons || {}),
|
|
185
185
|
},
|
|
186
186
|
},
|
|
187
|
+
ERROR_HANDLERS_PROVIDERS,
|
|
187
188
|
],
|
|
188
189
|
};
|
|
189
190
|
}
|
|
@@ -199,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImpor
|
|
|
199
200
|
exports: [BaseThemeSharedModule],
|
|
200
201
|
}]
|
|
201
202
|
}] });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3RoZW1lLXNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLDZCQUE2QixHQUM5QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0s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QztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlLCBub29wIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIE5nYlBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7XHJcbiAgZGVmYXVsdE1hcEVycm9yc0ZuLFxyXG4gIE5neFZhbGlkYXRlQ29yZU1vZHVsZSxcclxuICBWQUxJREFUSU9OX0JMVUVQUklOVFMsXHJcbiAgVkFMSURBVElPTl9NQVBfRVJST1JTX0ZOLFxyXG4gIFZBTElEQVRJT05fVkFMSURBVEVfT05fU1VCTUlULFxyXG59IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XHJcbmltcG9ydCB7IE5neERhdGF0YWJsZU1vZHVsZSB9IGZyb20gJ0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlJztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYkl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkY3J1bWItaXRlbXMvYnJlYWRjcnVtYi1pdGVtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uL2NvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2h0dHAtZXJyb3Itd3JhcHBlci9odHRwLWVycm9yLXdyYXBwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9hZGVyQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvYWRlci1iYXIvbG9hZGVyLWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNb2RhbENsb3NlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFsL21vZGFsLWNsb3NlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0LWNvbnRhaW5lci90b2FzdC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgREVGQVVMVF9WQUxJREFUSU9OX0JMVUVQUklOVFMgfSBmcm9tICcuL2NvbnN0YW50cy92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgRWxsaXBzaXNNb2R1bGUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZWxsaXBzaXMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTG9hZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9sb2FkaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5neERhdGF0YWJsZURlZmF1bHREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbmd4LWRhdGF0YWJsZS1kZWZhdWx0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE5neERhdGF0YWJsZUxpc3REaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IERvY3VtZW50RGlySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL2hhbmRsZXJzL2RvY3VtZW50LWRpci5oYW5kbGVyJztcclxuaW1wb3J0IHsgRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9oYW5kbGVycy9lcnJvci5oYW5kbGVyJztcclxuaW1wb3J0IHsgUm9vdFBhcmFtcyB9IGZyb20gJy4vbW9kZWxzL2NvbW1vbic7XHJcbmltcG9ydCB7IE5HX0JPT1RTVFJBUF9DT05GSUdfUFJPVklERVJTIH0gZnJvbSAnLi9wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBUSEVNRV9TSEFSRURfUk9VVEVfUFJPVklERVJTIH0gZnJvbSAnLi9wcm92aWRlcnMvcm91dGUucHJvdmlkZXInO1xyXG5pbXBvcnQgeyBUSEVNRV9TSEFSRURfQVBQRU5EX0NPTlRFTlQgfSBmcm9tICcuL3Rva2Vucy9hcHBlbmQtY29udGVudC50b2tlbic7XHJcbmltcG9ydCB7IEhUVFBfRVJST1JfQ09ORklHLCBodHRwRXJyb3JDb25maWdGYWN0b3J5IH0gZnJvbSAnLi90b2tlbnMvaHR0cC1lcnJvci50b2tlbic7XHJcbmltcG9ydCB7IERhdGVQYXJzZXJGb3JtYXR0ZXIgfSBmcm9tICcuL3V0aWxzL2RhdGUtcGFyc2VyLWZvcm1hdHRlcic7XHJcbmltcG9ydCB7IENPTkZJUk1BVElPTl9JQ09OUywgREVGQVVMVF9DT05GSVJNQVRJT05fSUNPTlMgfSBmcm9tICcuL3Rva2Vucy9jb25maXJtYXRpb24taWNvbnMudG9rZW4nO1xyXG5pbXBvcnQgeyBQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXNzd29yZC9wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJkTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBYnBWaXNpYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuXHJcbmNvbnN0IGRlY2xhcmF0aW9uc1dpdGhFeHBvcnRzID0gW1xyXG4gIEJyZWFkY3J1bWJDb21wb25lbnQsXHJcbiAgQnJlYWRjcnVtYkl0ZW1zQ29tcG9uZW50LFxyXG4gIEJ1dHRvbkNvbXBvbmVudCxcclxuICBDb25maXJtYXRpb25Db21wb25lbnQsXHJcbiAgTG9hZGVyQmFyQ29tcG9uZW50LFxyXG4gIExvYWRpbmdDb21wb25lbnQsXHJcbiAgTW9kYWxDb21wb25lbnQsXHJcbiAgVG9hc3RDb21wb25lbnQsXHJcbiAgVG9hc3RDb250YWluZXJDb21wb25lbnQsXHJcbiAgUGFzc3dvcmRDb21wb25lbnQsXHJcbiAgTmd4RGF0YXRhYmxlRGVmYXVsdERpcmVjdGl2ZSxcclxuICBOZ3hEYXRhdGFibGVMaXN0RGlyZWN0aXZlLFxyXG4gIExvYWRpbmdEaXJlY3RpdmUsXHJcbiAgTW9kYWxDbG9zZURpcmVjdGl2ZSxcclxuICBBYnBWaXNpYmxlRGlyZWN0aXZlLFxyXG4gIEZvcm1JbnB1dENvbXBvbmVudCxcclxuICBGb3JtQ2hlY2tib3hDb21wb25lbnRcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29yZU1vZHVsZSxcclxuICAgIE5neERhdGF0YWJsZU1vZHVsZSxcclxuICAgIE5neFZhbGlkYXRlQ29yZU1vZHVsZSxcclxuICAgIE5nYlBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBFbGxpcHNpc01vZHVsZSxcclxuICAgIENhcmRNb2R1bGUsXHJcblxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbLi4uZGVjbGFyYXRpb25zV2l0aEV4cG9ydHMsIEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIE5neERhdGF0YWJsZU1vZHVsZSxcclxuICAgIEVsbGlwc2lzTW9kdWxlLFxyXG4gICAgTmd4VmFsaWRhdGVDb3JlTW9kdWxlLFxyXG4gICAgQ2FyZE1vZHVsZSxcclxuICAgIC4uLmRlY2xhcmF0aW9uc1dpdGhFeHBvcnRzXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtEYXRlUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXNlVGhlbWVTaGFyZWRNb2R1bGUgeyB9XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtCYXNlVGhlbWVTaGFyZWRNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtCYXNlVGhlbWVTaGFyZWRNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGhlbWVTaGFyZWRNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KFxyXG4gICAgeyBodHRwRXJyb3JDb25maWcsIHZhbGlkYXRpb24gPSB7fSwgY29uZmlybWF0aW9uSWNvbnMgPSB7fSB9ID0ge30gYXMgUm9vdFBhcmFtcyxcclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFRoZW1lU2hhcmVkTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogVGhlbWVTaGFyZWRNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW0Vycm9ySGFuZGxlcl0sXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBub29wLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgVEhFTUVfU0hBUkVEX1JPVVRFX1BST1ZJREVSUyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIGRlcHM6IFtUSEVNRV9TSEFSRURfQVBQRU5EX0NPTlRFTlRdLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogSFRUUF9FUlJPUl9DT05GSUcsIHVzZVZhbHVlOiBodHRwRXJyb3JDb25maWcgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiAnSFRUUF9FUlJPUl9DT05GSUcnLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogaHR0cEVycm9yQ29uZmlnRmFjdG9yeSxcclxuICAgICAgICAgIGRlcHM6IFtIVFRQX0VSUk9SX0NPTkZJR10sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIHVzZUNsYXNzOiBEYXRlUGFyc2VyRm9ybWF0dGVyIH0sXHJcbiAgICAgICAgTkdfQk9PVFNUUkFQX0NPTkZJR19QUk9WSURFUlMsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVkFMSURBVElPTl9CTFVFUFJJTlRTLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAgICAgLi4uREVGQVVMVF9WQUxJREFUSU9OX0JMVUVQUklOVFMsXHJcbiAgICAgICAgICAgIC4uLih2YWxpZGF0aW9uLmJsdWVwcmludHMgfHwge30pLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFZBTElEQVRJT05fTUFQX0VSUk9SU19GTixcclxuICAgICAgICAgIHVzZVZhbHVlOiB2YWxpZGF0aW9uLm1hcEVycm9yc0ZuIHx8IGRlZmF1bHRNYXBFcnJvcnNGbixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFZBTElEQVRJT05fVkFMSURBVEVfT05fU1VCTUlULFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHZhbGlkYXRpb24udmFsaWRhdGVPblN1Ym1pdCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIERvY3VtZW50RGlySGFuZGxlclNlcnZpY2UsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW0RvY3VtZW50RGlySGFuZGxlclNlcnZpY2VdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQ09ORklSTUFUSU9OX0lDT05TLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAgICAgLi4uREVGQVVMVF9DT05GSVJNQVRJT05fSUNPTlMsXHJcbiAgICAgICAgICAgIC4uLihjb25maXJtYXRpb25JY29ucyB8fCB7fSksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3RoZW1lLXNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLDZCQUE2QixHQUM5QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0s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T0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSwgbm9vcCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlUGFyc2VyRm9ybWF0dGVyLCBOZ2JQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQge1xyXG4gIGRlZmF1bHRNYXBFcnJvcnNGbixcclxuICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXHJcbiAgVkFMSURBVElPTl9CTFVFUFJJTlRTLFxyXG4gIFZBTElEQVRJT05fTUFQX0VSUk9SU19GTixcclxuICBWQUxJREFUSU9OX1ZBTElEQVRFX09OX1NVQk1JVCxcclxufSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ3hEYXRhdGFibGVNb2R1bGUgfSBmcm9tICdAc3dpbWxhbmUvbmd4LWRhdGF0YWJsZSc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iLWl0ZW1zL2JyZWFkY3J1bWItaXRlbXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi9jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHR0cEVycm9yV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9odHRwLWVycm9yLXdyYXBwZXIvaHR0cC1lcnJvci13cmFwcGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvYWRlckJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkZXItYmFyL2xvYWRlci1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW9kYWxDbG9zZURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC9tb2RhbC1jbG9zZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b2FzdC1jb250YWluZXIvdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERFRkFVTFRfVkFMSURBVElPTl9CTFVFUFJJTlRTIH0gZnJvbSAnLi9jb25zdGFudHMvdmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IEVsbGlwc2lzTW9kdWxlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2VsbGlwc2lzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IExvYWRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbG9hZGluZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOZ3hEYXRhdGFibGVEZWZhdWx0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL25neC1kYXRhdGFibGUtZGVmYXVsdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOZ3hEYXRhdGFibGVMaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL25neC1kYXRhdGFibGUtbGlzdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBEb2N1bWVudERpckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi9oYW5kbGVycy9kb2N1bWVudC1kaXIuaGFuZGxlcic7XHJcbmltcG9ydCB7IEVycm9ySGFuZGxlciB9IGZyb20gJy4vaGFuZGxlcnMvZXJyb3IuaGFuZGxlcic7XHJcbmltcG9ydCB7IFJvb3RQYXJhbXMgfSBmcm9tICcuL21vZGVscy9jb21tb24nO1xyXG5pbXBvcnQgeyBFUlJPUl9IQU5ETEVSU19QUk9WSURFUlMsIE5HX0JPT1RTVFJBUF9DT05GSUdfUFJPVklERVJTIH0gZnJvbSAnLi9wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBUSEVNRV9TSEFSRURfUk9VVEVfUFJPVklERVJTIH0gZnJvbSAnLi9wcm92aWRlcnMvcm91dGUucHJvdmlkZXInO1xyXG5pbXBvcnQgeyBUSEVNRV9TSEFSRURfQVBQRU5EX0NPTlRFTlQgfSBmcm9tICcuL3Rva2Vucy9hcHBlbmQtY29udGVudC50b2tlbic7XHJcbmltcG9ydCB7IEhUVFBfRVJST1JfQ09ORklHLCBodHRwRXJyb3JDb25maWdGYWN0b3J5IH0gZnJvbSAnLi90b2tlbnMvaHR0cC1lcnJvci50b2tlbic7XHJcbmltcG9ydCB7IERhdGVQYXJzZXJGb3JtYXR0ZXIgfSBmcm9tICcuL3V0aWxzL2RhdGUtcGFyc2VyLWZvcm1hdHRlcic7XHJcbmltcG9ydCB7IENPTkZJUk1BVElPTl9JQ09OUywgREVGQVVMVF9DT05GSVJNQVRJT05fSUNPTlMgfSBmcm9tICcuL3Rva2Vucy9jb25maXJtYXRpb24taWNvbnMudG9rZW4nO1xyXG5pbXBvcnQgeyBQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXNzd29yZC9wYXNzd29yZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJkTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NhcmQvY2FyZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBYnBWaXNpYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuXHJcbmNvbnN0IGRlY2xhcmF0aW9uc1dpdGhFeHBvcnRzID0gW1xyXG4gIEJyZWFkY3J1bWJDb21wb25lbnQsXHJcbiAgQnJlYWRjcnVtYkl0ZW1zQ29tcG9uZW50LFxyXG4gIEJ1dHRvbkNvbXBvbmVudCxcclxuICBDb25maXJtYXRpb25Db21wb25lbnQsXHJcbiAgTG9hZGVyQmFyQ29tcG9uZW50LFxyXG4gIExvYWRpbmdDb21wb25lbnQsXHJcbiAgTW9kYWxDb21wb25lbnQsXHJcbiAgVG9hc3RDb21wb25lbnQsXHJcbiAgVG9hc3RDb250YWluZXJDb21wb25lbnQsXHJcbiAgUGFzc3dvcmRDb21wb25lbnQsXHJcbiAgTmd4RGF0YXRhYmxlRGVmYXVsdERpcmVjdGl2ZSxcclxuICBOZ3hEYXRhdGFibGVMaXN0RGlyZWN0aXZlLFxyXG4gIExvYWRpbmdEaXJlY3RpdmUsXHJcbiAgTW9kYWxDbG9zZURpcmVjdGl2ZSxcclxuICBBYnBWaXNpYmxlRGlyZWN0aXZlLFxyXG4gIEZvcm1JbnB1dENvbXBvbmVudCxcclxuICBGb3JtQ2hlY2tib3hDb21wb25lbnQsXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBOZ3hEYXRhdGFibGVNb2R1bGUsXHJcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXHJcbiAgICBOZ2JQYWdpbmF0aW9uTW9kdWxlLFxyXG4gICAgRWxsaXBzaXNNb2R1bGUsXHJcbiAgICBDYXJkTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbLi4uZGVjbGFyYXRpb25zV2l0aEV4cG9ydHMsIEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIE5neERhdGF0YWJsZU1vZHVsZSxcclxuICAgIEVsbGlwc2lzTW9kdWxlLFxyXG4gICAgTmd4VmFsaWRhdGVDb3JlTW9kdWxlLFxyXG4gICAgQ2FyZE1vZHVsZSxcclxuICAgIC4uLmRlY2xhcmF0aW9uc1dpdGhFeHBvcnRzLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbRGF0ZVBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFzZVRoZW1lU2hhcmVkTW9kdWxlIHt9XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtCYXNlVGhlbWVTaGFyZWRNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtCYXNlVGhlbWVTaGFyZWRNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGhlbWVTaGFyZWRNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KFxyXG4gICAgeyBodHRwRXJyb3JDb25maWcsIHZhbGlkYXRpb24gPSB7fSwgY29uZmlybWF0aW9uSWNvbnMgPSB7fSB9ID0ge30gYXMgUm9vdFBhcmFtcyxcclxuICApOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFRoZW1lU2hhcmVkTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogVGhlbWVTaGFyZWRNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW0Vycm9ySGFuZGxlcl0sXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBub29wLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgVEhFTUVfU0hBUkVEX1JPVVRFX1BST1ZJREVSUyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIGRlcHM6IFtUSEVNRV9TSEFSRURfQVBQRU5EX0NPTlRFTlRdLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogSFRUUF9FUlJPUl9DT05GSUcsIHVzZVZhbHVlOiBodHRwRXJyb3JDb25maWcgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiAnSFRUUF9FUlJPUl9DT05GSUcnLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogaHR0cEVycm9yQ29uZmlnRmFjdG9yeSxcclxuICAgICAgICAgIGRlcHM6IFtIVFRQX0VSUk9SX0NPTkZJR10sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE5nYkRhdGVQYXJzZXJGb3JtYXR0ZXIsIHVzZUNsYXNzOiBEYXRlUGFyc2VyRm9ybWF0dGVyIH0sXHJcbiAgICAgICAgTkdfQk9PVFNUUkFQX0NPTkZJR19QUk9WSURFUlMsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVkFMSURBVElPTl9CTFVFUFJJTlRTLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAgICAgLi4uREVGQVVMVF9WQUxJREFUSU9OX0JMVUVQUklOVFMsXHJcbiAgICAgICAgICAgIC4uLih2YWxpZGF0aW9uLmJsdWVwcmludHMgfHwge30pLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFZBTElEQVRJT05fTUFQX0VSUk9SU19GTixcclxuICAgICAgICAgIHVzZVZhbHVlOiB2YWxpZGF0aW9uLm1hcEVycm9yc0ZuIHx8IGRlZmF1bHRNYXBFcnJvcnNGbixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFZBTElEQVRJT05fVkFMSURBVEVfT05fU1VCTUlULFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHZhbGlkYXRpb24udmFsaWRhdGVPblN1Ym1pdCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIERvY3VtZW50RGlySGFuZGxlclNlcnZpY2UsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW0RvY3VtZW50RGlySGFuZGxlclNlcnZpY2VdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQ09ORklSTUFUSU9OX0lDT05TLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAgICAgLi4uREVGQVVMVF9DT05GSVJNQVRJT05fSUNPTlMsXHJcbiAgICAgICAgICAgIC4uLihjb25maXJtYXRpb25JY29ucyB8fCB7fSksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgRVJST1JfSEFORExFUlNfUFJPVklERVJTLFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -11,4 +11,5 @@ export function httpErrorConfigFactory(config = {}) {
|
|
|
11
11
|
}
|
|
12
12
|
export const HTTP_ERROR_CONFIG = new InjectionToken('HTTP_ERROR_CONFIG');
|
|
13
13
|
export const HTTP_ERROR_HANDLER = new InjectionToken('HTTP_ERROR_HANDLER');
|
|
14
|
-
|
|
14
|
+
export const CUSTOM_ERROR_HANDLERS = new InjectionToken('CUSTOM_ERROR_HANDLERS');
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3Rva2Vucy9odHRwLWVycm9yLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFNBQVMsRUFBcUI7SUFDbkUsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUU7UUFDNUYsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztLQUMxRDtJQUVELE9BQU87UUFDTCxxQkFBcUIsRUFBRSxFQUFFO1FBQ3pCLFdBQVcsRUFBRSxFQUFFO1FBQ2YsR0FBRyxNQUFNO0tBQ1MsQ0FBQztBQUN2QixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWtCLG1CQUFtQixDQUFDLENBQUM7QUFFMUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQW1CLG9CQUFvQixDQUFDLENBQUM7QUFFN0YsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ3JELHVCQUF1QixDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3VzdG9tSHR0cEVycm9ySGFuZGxlclNlcnZpY2UsIEh0dHBFcnJvckNvbmZpZywgSHR0cEVycm9ySGFuZGxlciB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGh0dHBFcnJvckNvbmZpZ0ZhY3RvcnkoY29uZmlnID0ge30gYXMgSHR0cEVycm9yQ29uZmlnKSB7XHJcbiAgaWYgKGNvbmZpZy5lcnJvclNjcmVlbiAmJiBjb25maWcuZXJyb3JTY3JlZW4uY29tcG9uZW50ICYmICFjb25maWcuZXJyb3JTY3JlZW4uZm9yV2hpY2hFcnJvcnMpIHtcclxuICAgIGNvbmZpZy5lcnJvclNjcmVlbi5mb3JXaGljaEVycm9ycyA9IFs0MDEsIDQwMywgNDA0LCA1MDBdO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIHNraXBIYW5kbGVkRXJyb3JDb2RlczogW10sXHJcbiAgICBlcnJvclNjcmVlbjoge30sXHJcbiAgICAuLi5jb25maWcsXHJcbiAgfSBhcyBIdHRwRXJyb3JDb25maWc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBIVFRQX0VSUk9SX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxIdHRwRXJyb3JDb25maWc+KCdIVFRQX0VSUk9SX0NPTkZJRycpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEhUVFBfRVJST1JfSEFORExFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxIdHRwRXJyb3JIYW5kbGVyPignSFRUUF9FUlJPUl9IQU5ETEVSJyk7XHJcblxyXG5leHBvcnQgY29uc3QgQ1VTVE9NX0VSUk9SX0hBTkRMRVJTID0gbmV3IEluamVjdGlvblRva2VuPEN1c3RvbUh0dHBFcnJvckhhbmRsZXJTZXJ2aWNlW10+KFxyXG4gICdDVVNUT01fRVJST1JfSEFORExFUlMnLFxyXG4pO1xyXG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES } from '../constants/default-errors';
|
|
2
|
+
export function getErrorFromRequestBody(body) {
|
|
3
|
+
let message;
|
|
4
|
+
let title;
|
|
5
|
+
if (body.details) {
|
|
6
|
+
message = body.details;
|
|
7
|
+
title = body.message;
|
|
8
|
+
}
|
|
9
|
+
else if (body.message) {
|
|
10
|
+
title = {
|
|
11
|
+
key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
|
|
12
|
+
defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
|
|
13
|
+
};
|
|
14
|
+
message = body.message;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
message = {
|
|
18
|
+
key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
|
|
19
|
+
defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
|
|
20
|
+
};
|
|
21
|
+
title = '';
|
|
22
|
+
}
|
|
23
|
+
return { message, title };
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi91dGlscy9lcnJvci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRyxNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBd0Q7SUFDOUYsSUFBSSxPQUEwQixDQUFDO0lBQy9CLElBQUksS0FBd0IsQ0FBQztJQUU3QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDaEIsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdkIsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7S0FDdEI7U0FBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDdkIsS0FBSyxHQUFHO1lBQ04sR0FBRyxFQUFFLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxLQUFLO1lBQ25ELFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsS0FBSztTQUN4RCxDQUFDO1FBQ0YsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7S0FDeEI7U0FBTTtRQUNMLE9BQU8sR0FBRztZQUNSLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxZQUFZLENBQUMsS0FBSztZQUNuRCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsWUFBWSxDQUFDLEtBQUs7U0FDeEQsQ0FBQztRQUNGLEtBQUssR0FBRyxFQUFFLENBQUM7S0FDWjtJQUVELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsaXphdGlvblBhcmFtIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TLCBERUZBVUxUX0VSUk9SX01FU1NBR0VTIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQtZXJyb3JzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFcnJvckZyb21SZXF1ZXN0Qm9keShib2R5OiB7IGRldGFpbHM/OiBzdHJpbmc7IG1lc3NhZ2U/OiBzdHJpbmcgfSB8IHVuZGVmaW5lZCkge1xyXG4gIGxldCBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbTtcclxuICBsZXQgdGl0bGU6IExvY2FsaXphdGlvblBhcmFtO1xyXG5cclxuICBpZiAoYm9keS5kZXRhaWxzKSB7XHJcbiAgICBtZXNzYWdlID0gYm9keS5kZXRhaWxzO1xyXG4gICAgdGl0bGUgPSBib2R5Lm1lc3NhZ2U7XHJcbiAgfSBlbHNlIGlmIChib2R5Lm1lc3NhZ2UpIHtcclxuICAgIHRpdGxlID0ge1xyXG4gICAgICBrZXk6IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUy5kZWZhdWx0RXJyb3IudGl0bGUsXHJcbiAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3IudGl0bGUsXHJcbiAgICB9O1xyXG4gICAgbWVzc2FnZSA9IGJvZHkubWVzc2FnZTtcclxuICB9IGVsc2Uge1xyXG4gICAgbWVzc2FnZSA9IHtcclxuICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yLnRpdGxlLFxyXG4gICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVMuZGVmYXVsdEVycm9yLnRpdGxlLFxyXG4gICAgfTtcclxuICAgIHRpdGxlID0gJyc7XHJcbiAgfVxyXG5cclxuICByZXR1cm4geyBtZXNzYWdlLCB0aXRsZSB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './date-parser-formatter';
|
|
2
2
|
export * from './validation-utils';
|
|
3
|
-
|
|
3
|
+
export * from './error.utils';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGUtcGFyc2VyLWZvcm1hdHRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGlvbi11dGlscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3IudXRpbHMnO1xyXG4iXX0=
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
export * from './lib/animations';
|
|
5
5
|
export * from './lib/components';
|
|
6
6
|
export * from './lib/constants/validation';
|
|
7
|
+
export * from './lib/constants/default-errors';
|
|
7
8
|
export * from './lib/directives';
|
|
8
9
|
export * from './lib/enums';
|
|
9
10
|
export * from './lib/handlers';
|
|
@@ -13,4 +14,4 @@ export * from './lib/services';
|
|
|
13
14
|
export * from './lib/theme-shared.module';
|
|
14
15
|
export * from './lib/tokens';
|
|
15
16
|
export * from './lib/utils';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHRoZW1lLXNoYXJlZFxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzL3ZhbGlkYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMvZGVmYXVsdC1lcnJvcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW51bXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9oYW5kbGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb3ZpZGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGhlbWUtc2hhcmVkLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcclxuIl19
|
|
@@ -14,7 +14,9 @@ export declare abstract class Action<R = any> {
|
|
|
14
14
|
readonly permission: string;
|
|
15
15
|
readonly visible: ActionPredicate<R>;
|
|
16
16
|
readonly action: ActionCallback<R>;
|
|
17
|
-
|
|
17
|
+
readonly btnClass?: string;
|
|
18
|
+
readonly btnStyle?: string;
|
|
19
|
+
constructor(permission: string, visible?: ActionPredicate<R>, action?: ActionCallback<R>, btnClass?: string, btnStyle?: string);
|
|
18
20
|
}
|
|
19
21
|
export type ActionCallback<T, R = any> = (data: Omit<ActionData<T>, 'data'>) => R;
|
|
20
22
|
export type ActionPredicate<T> = (data?: Omit<ActionData<T>, 'data'>) => boolean;
|
|
@@ -12,6 +12,8 @@ export declare class EntityActionsFactory<R = any> extends ActionsFactory<Entity
|
|
|
12
12
|
export declare class EntityAction<R = any> extends Action<R> {
|
|
13
13
|
readonly text: string;
|
|
14
14
|
readonly icon: string;
|
|
15
|
+
readonly btnClass?: string;
|
|
16
|
+
readonly btnStyle?: string;
|
|
15
17
|
constructor(options: EntityActionOptions<R>);
|
|
16
18
|
static create<R = any>(options: EntityActionOptions<R>): EntityAction<R>;
|
|
17
19
|
static createMany<R = any>(arrayOfOptions: EntityActionOptions<R>[]): EntityAction<R>[];
|
|
@@ -633,10 +633,12 @@ class ActionData {
|
|
|
633
633
|
}
|
|
634
634
|
}
|
|
635
635
|
class Action {
|
|
636
|
-
constructor(permission, visible = () => true, action = () => { }) {
|
|
636
|
+
constructor(permission, visible = () => true, action = () => { }, btnClass, btnStyle) {
|
|
637
637
|
this.permission = permission;
|
|
638
638
|
this.visible = visible;
|
|
639
639
|
this.action = action;
|
|
640
|
+
this.btnClass = btnClass;
|
|
641
|
+
this.btnStyle = btnStyle;
|
|
640
642
|
}
|
|
641
643
|
}
|
|
642
644
|
class ActionsFactory {
|
|
@@ -685,6 +687,8 @@ class EntityAction extends Action {
|
|
|
685
687
|
super(options.permission || '', options.visible, options.action);
|
|
686
688
|
this.text = options.text;
|
|
687
689
|
this.icon = options.icon || '';
|
|
690
|
+
this.btnClass = options.btnClass || 'btn btn-primary text-center';
|
|
691
|
+
this.btnStyle = options.btnStyle;
|
|
688
692
|
}
|
|
689
693
|
static create(options) {
|
|
690
694
|
return new EntityAction(options);
|
|
@@ -923,7 +927,7 @@ class GridActionsComponent extends AbstractActionsComponent {
|
|
|
923
927
|
provide: EXTENSIONS_ACTION_TYPE,
|
|
924
928
|
useValue: 'entityActions',
|
|
925
929
|
},
|
|
926
|
-
], exportAs: ["abpGridActions"], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"actionList.length > 1\" ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i [ngClass]=\"icon\" [class.me-1]=\"icon\"></i>{{ text | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <ng-container\r\n *ngFor=\"let action of actionList; trackBy: trackByFn\"\r\n [ngTemplateOutlet]=\"dropDownBtnItemTmp\"\r\n [ngTemplateOutletContext]=\"{ $implicit: action }\"\r\n >\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-container\r\n *ngIf=\"actionList.length === 1\"\r\n [ngTemplateOutlet]=\"btnTmp\"\r\n [ngTemplateOutletContext]=\"{ $implicit: actionList.get(0).value }\"\r\n></ng-container>\r\n\r\n<ng-template #dropDownBtnItemTmp let-action>\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"action.permission; runChangeDetection: false\"\r\n (click)=\"action.action(data)\"\r\n type=\"button\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"buttonContentTmp; context: { $implicit: action }\"\r\n ></ng-container>\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #buttonContentTmp let-action>\r\n <i [ngClass]=\"action.icon\" [class.me-1]=\"action.icon\"></i>\r\n <span *ngIf=\"action.icon; else ellipsis\">{{ action.text | abpLocalization }}</span>\r\n <ng-template #ellipsis>\r\n <div abpEllipsis>{{ action.text | abpLocalization }}</div>\r\n </ng-template>\r\n</ng-template>\r\n\r\n<ng-template #btnTmp let-action>\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <button\r\n *abpPermission=\"action.permission; runChangeDetection: false\"\r\n (click)=\"action.action(data)\"\r\n type=\"button\"\r\n class=\"
|
|
930
|
+
], exportAs: ["abpGridActions"], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"actionList.length > 1\" ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i [ngClass]=\"icon\" [class.me-1]=\"icon\"></i>{{ text | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <ng-container\r\n *ngFor=\"let action of actionList; trackBy: trackByFn\"\r\n [ngTemplateOutlet]=\"dropDownBtnItemTmp\"\r\n [ngTemplateOutletContext]=\"{ $implicit: action }\"\r\n >\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-container\r\n *ngIf=\"actionList.length === 1\"\r\n [ngTemplateOutlet]=\"btnTmp\"\r\n [ngTemplateOutletContext]=\"{ $implicit: actionList.get(0).value }\"\r\n></ng-container>\r\n\r\n<ng-template #dropDownBtnItemTmp let-action>\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"action.permission; runChangeDetection: false\"\r\n (click)=\"action.action(data)\"\r\n type=\"button\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"buttonContentTmp; context: { $implicit: action }\"\r\n ></ng-container>\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #buttonContentTmp let-action>\r\n <i [ngClass]=\"action.icon\" [class.me-1]=\"action.icon\"></i>\r\n <span *ngIf=\"action.icon; else ellipsis\">{{ action.text | abpLocalization }}</span>\r\n <ng-template #ellipsis>\r\n <div abpEllipsis>{{ action.text | abpLocalization }}</div>\r\n </ng-template>\r\n</ng-template>\r\n\r\n<ng-template #btnTmp let-action>\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <button\r\n *abpPermission=\"action.permission; runChangeDetection: false\"\r\n (click)=\"action.action(data)\"\r\n type=\"button\"\r\n [class]=\"action.btnClass\"\r\n [style]=\"action.btnStyle\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"buttonContentTmp; context: { $implicit: action }\"\r\n ></ng-container>\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "directive", type: i4$2.EllipsisDirective, selector: "[abpEllipsis]", inputs: ["abpEllipsis", "title", "abpEllipsisEnabled"] }, { kind: "directive", type: i4$1.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i4$1.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i4$1.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i4$1.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
927
931
|
}
|
|
928
932
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: GridActionsComponent, decorators: [{
|
|
929
933
|
type: Component,
|
|
@@ -932,7 +936,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImpor
|
|
|
932
936
|
provide: EXTENSIONS_ACTION_TYPE,
|
|
933
937
|
useValue: 'entityActions',
|
|
934
938
|
},
|
|
935
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"actionList.length > 1\" ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i [ngClass]=\"icon\" [class.me-1]=\"icon\"></i>{{ text | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <ng-container\r\n *ngFor=\"let action of actionList; trackBy: trackByFn\"\r\n [ngTemplateOutlet]=\"dropDownBtnItemTmp\"\r\n [ngTemplateOutletContext]=\"{ $implicit: action }\"\r\n >\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-container\r\n *ngIf=\"actionList.length === 1\"\r\n [ngTemplateOutlet]=\"btnTmp\"\r\n [ngTemplateOutletContext]=\"{ $implicit: actionList.get(0).value }\"\r\n></ng-container>\r\n\r\n<ng-template #dropDownBtnItemTmp let-action>\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"action.permission; runChangeDetection: false\"\r\n (click)=\"action.action(data)\"\r\n type=\"button\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"buttonContentTmp; context: { $implicit: action }\"\r\n ></ng-container>\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #buttonContentTmp let-action>\r\n <i [ngClass]=\"action.icon\" [class.me-1]=\"action.icon\"></i>\r\n <span *ngIf=\"action.icon; else ellipsis\">{{ action.text | abpLocalization }}</span>\r\n <ng-template #ellipsis>\r\n <div abpEllipsis>{{ action.text | abpLocalization }}</div>\r\n </ng-template>\r\n</ng-template>\r\n\r\n<ng-template #btnTmp let-action>\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <button\r\n *abpPermission=\"action.permission; runChangeDetection: false\"\r\n (click)=\"action.action(data)\"\r\n type=\"button\"\r\n class=\"
|
|
939
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"actionList.length > 1\" ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button\r\n class=\"btn btn-primary btn-sm dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n ngbDropdownToggle\r\n >\r\n <i [ngClass]=\"icon\" [class.me-1]=\"icon\"></i>{{ text | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <ng-container\r\n *ngFor=\"let action of actionList; trackBy: trackByFn\"\r\n [ngTemplateOutlet]=\"dropDownBtnItemTmp\"\r\n [ngTemplateOutletContext]=\"{ $implicit: action }\"\r\n >\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<ng-container\r\n *ngIf=\"actionList.length === 1\"\r\n [ngTemplateOutlet]=\"btnTmp\"\r\n [ngTemplateOutletContext]=\"{ $implicit: actionList.get(0).value }\"\r\n></ng-container>\r\n\r\n<ng-template #dropDownBtnItemTmp let-action>\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <button\r\n ngbDropdownItem\r\n *abpPermission=\"action.permission; runChangeDetection: false\"\r\n (click)=\"action.action(data)\"\r\n type=\"button\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"buttonContentTmp; context: { $implicit: action }\"\r\n ></ng-container>\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #buttonContentTmp let-action>\r\n <i [ngClass]=\"action.icon\" [class.me-1]=\"action.icon\"></i>\r\n <span *ngIf=\"action.icon; else ellipsis\">{{ action.text | abpLocalization }}</span>\r\n <ng-template #ellipsis>\r\n <div abpEllipsis>{{ action.text | abpLocalization }}</div>\r\n </ng-template>\r\n</ng-template>\r\n\r\n<ng-template #btnTmp let-action>\r\n <ng-container *ngIf=\"action.visible(data)\">\r\n <button\r\n *abpPermission=\"action.permission; runChangeDetection: false\"\r\n (click)=\"action.action(data)\"\r\n type=\"button\"\r\n [class]=\"action.btnClass\"\r\n [style]=\"action.btnStyle\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"buttonContentTmp; context: { $implicit: action }\"\r\n ></ng-container>\r\n </button>\r\n </ng-container>\r\n</ng-template>\r\n" }]
|
|
936
940
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { icon: [{
|
|
937
941
|
type: Input
|
|
938
942
|
}], index: [{
|
|
@@ -1013,6 +1017,9 @@ class ExtensibleTableComponent {
|
|
|
1013
1017
|
ngOnChanges({ data }) {
|
|
1014
1018
|
if (!data?.currentValue)
|
|
1015
1019
|
return;
|
|
1020
|
+
if (data.currentValue.length < 1) {
|
|
1021
|
+
this.list.totalCount = this.recordsTotal;
|
|
1022
|
+
}
|
|
1016
1023
|
this.data = data.currentValue.map((record, index) => {
|
|
1017
1024
|
this.propList.forEach(prop => {
|
|
1018
1025
|
const propData = { getInjected: this.getInjected, record, index };
|