@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.
Files changed (111) hide show
  1. package/fesm2022/abp-ng.theme.shared-testing.mjs +5 -5
  2. package/fesm2022/abp-ng.theme.shared.mjs +240 -240
  3. package/fesm2022/abp-ng.theme.shared.mjs.map +1 -1
  4. package/lib/providers/ng-bootstrap-config.provider.d.ts +2 -8
  5. package/lib/providers/route.provider.d.ts +2 -8
  6. package/lib/services/abstract-menu.service.d.ts +3 -1
  7. package/lib/services/toaster.service.d.ts +3 -3
  8. package/package.json +3 -7
  9. package/esm2022/abp-ng.theme.shared.mjs +0 -5
  10. package/esm2022/lib/adapters/date-time.adapter.mjs +0 -46
  11. package/esm2022/lib/adapters/date.adapter.mjs +0 -41
  12. package/esm2022/lib/adapters/index.mjs +0 -4
  13. package/esm2022/lib/adapters/time.adapter.mjs +0 -37
  14. package/esm2022/lib/animations/bounce.animations.mjs +0 -17
  15. package/esm2022/lib/animations/collapse.animations.mjs +0 -50
  16. package/esm2022/lib/animations/fade.animations.mjs +0 -38
  17. package/esm2022/lib/animations/index.mjs +0 -7
  18. package/esm2022/lib/animations/modal.animations.mjs +0 -11
  19. package/esm2022/lib/animations/slide.animations.mjs +0 -8
  20. package/esm2022/lib/animations/toast.animations.mjs +0 -13
  21. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -43
  22. package/esm2022/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +0 -19
  23. package/esm2022/lib/components/button/button.component.mjs +0 -102
  24. package/esm2022/lib/components/card/card-body.component.mjs +0 -29
  25. package/esm2022/lib/components/card/card-footer.component.mjs +0 -30
  26. package/esm2022/lib/components/card/card-header.component.mjs +0 -30
  27. package/esm2022/lib/components/card/card-header.directive.mjs +0 -19
  28. package/esm2022/lib/components/card/card-img-top.directive.mjs +0 -19
  29. package/esm2022/lib/components/card/card-subtitle.directive.mjs +0 -19
  30. package/esm2022/lib/components/card/card-title.directive.mjs +0 -19
  31. package/esm2022/lib/components/card/card.component.mjs +0 -23
  32. package/esm2022/lib/components/card/card.module.mjs +0 -49
  33. package/esm2022/lib/components/card/index.mjs +0 -10
  34. package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -92
  35. package/esm2022/lib/components/confirmation/confirmation.component.mjs +0 -45
  36. package/esm2022/lib/components/form-input/form-input.component.mjs +0 -98
  37. package/esm2022/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +0 -75
  38. package/esm2022/lib/components/index.mjs +0 -19
  39. package/esm2022/lib/components/internet-connection-status/internet-connection-status.component.mjs +0 -42
  40. package/esm2022/lib/components/loader-bar/loader-bar.component.mjs +0 -121
  41. package/esm2022/lib/components/loading/loading.component.mjs +0 -19
  42. package/esm2022/lib/components/modal/modal-close.directive.mjs +0 -27
  43. package/esm2022/lib/components/modal/modal-ref.service.mjs +0 -26
  44. package/esm2022/lib/components/modal/modal.component.mjs +0 -141
  45. package/esm2022/lib/components/password/password.component.mjs +0 -39
  46. package/esm2022/lib/components/spinner/spinner.component.mjs +0 -27
  47. package/esm2022/lib/components/toast/toast.component.mjs +0 -59
  48. package/esm2022/lib/components/toast-container/toast-container.component.mjs +0 -57
  49. package/esm2022/lib/constants/default-errors.mjs +0 -64
  50. package/esm2022/lib/constants/index.mjs +0 -5
  51. package/esm2022/lib/constants/scripts.mjs +0 -2
  52. package/esm2022/lib/constants/styles.mjs +0 -187
  53. package/esm2022/lib/constants/validation.mjs +0 -21
  54. package/esm2022/lib/directives/disabled.directive.mjs +0 -30
  55. package/esm2022/lib/directives/ellipsis.directive.mjs +0 -52
  56. package/esm2022/lib/directives/index.mjs +0 -7
  57. package/esm2022/lib/directives/loading.directive.mjs +0 -89
  58. package/esm2022/lib/directives/ngx-datatable-default.directive.mjs +0 -76
  59. package/esm2022/lib/directives/ngx-datatable-list.directive.mjs +0 -151
  60. package/esm2022/lib/directives/visible.directive.mjs +0 -63
  61. package/esm2022/lib/enums/form.mjs +0 -6
  62. package/esm2022/lib/enums/index.mjs +0 -3
  63. package/esm2022/lib/enums/route-names.mjs +0 -2
  64. package/esm2022/lib/handlers/document-dir.handler.mjs +0 -31
  65. package/esm2022/lib/handlers/error.handler.mjs +0 -81
  66. package/esm2022/lib/handlers/index.mjs +0 -3
  67. package/esm2022/lib/models/common.mjs +0 -2
  68. package/esm2022/lib/models/confirmation.mjs +0 -10
  69. package/esm2022/lib/models/index.mjs +0 -8
  70. package/esm2022/lib/models/nav-item.mjs +0 -6
  71. package/esm2022/lib/models/statistics.mjs +0 -2
  72. package/esm2022/lib/models/toaster.mjs +0 -2
  73. package/esm2022/lib/models/user-menu.mjs +0 -4
  74. package/esm2022/lib/models/validation.mjs +0 -2
  75. package/esm2022/lib/providers/error-handlers.provider.mjs +0 -30
  76. package/esm2022/lib/providers/index.mjs +0 -6
  77. package/esm2022/lib/providers/ng-bootstrap-config.provider.mjs +0 -17
  78. package/esm2022/lib/providers/route.provider.mjs +0 -18
  79. package/esm2022/lib/providers/tenant-not-found.provider.mjs +0 -19
  80. package/esm2022/lib/providers/theme-shared-config.provider.mjs +0 -117
  81. package/esm2022/lib/services/abp-format-error-handler.service.mjs +0 -45
  82. package/esm2022/lib/services/abstract-menu.service.mjs +0 -49
  83. package/esm2022/lib/services/authentication-error-handler.service.mjs +0 -29
  84. package/esm2022/lib/services/confirmation.service.mjs +0 -68
  85. package/esm2022/lib/services/create-error-component.service.mjs +0 -79
  86. package/esm2022/lib/services/index.mjs +0 -13
  87. package/esm2022/lib/services/nav-items.service.mjs +0 -17
  88. package/esm2022/lib/services/page-alert.service.mjs +0 -28
  89. package/esm2022/lib/services/router-error-handler.service.mjs +0 -44
  90. package/esm2022/lib/services/status-code-error-handler.service.mjs +0 -84
  91. package/esm2022/lib/services/tenant-resolve-error-handler.service.mjs +0 -29
  92. package/esm2022/lib/services/toaster.service.mjs +0 -103
  93. package/esm2022/lib/services/unknown-status-code-error-handler.service.mjs +0 -36
  94. package/esm2022/lib/services/user-menu.service.mjs +0 -17
  95. package/esm2022/lib/theme-shared.module.mjs +0 -151
  96. package/esm2022/lib/tokens/append-content.token.mjs +0 -11
  97. package/esm2022/lib/tokens/confirmation-icons.token.mjs +0 -11
  98. package/esm2022/lib/tokens/http-error.token.mjs +0 -8
  99. package/esm2022/lib/tokens/index.mjs +0 -6
  100. package/esm2022/lib/tokens/ngx-datatable-messages.token.mjs +0 -9
  101. package/esm2022/lib/tokens/suppress-unsaved-changes-warning.token.mjs +0 -3
  102. package/esm2022/lib/utils/date-parser-formatter.mjs +0 -58
  103. package/esm2022/lib/utils/error.utils.mjs +0 -25
  104. package/esm2022/lib/utils/index.mjs +0 -4
  105. package/esm2022/lib/utils/validation-utils.mjs +0 -62
  106. package/esm2022/public-api.mjs +0 -17
  107. package/esm2022/testing/abp-ng.theme.shared-testing.mjs +0 -5
  108. package/esm2022/testing/lib/models/config.mjs +0 -2
  109. package/esm2022/testing/lib/models/index.mjs +0 -2
  110. package/esm2022/testing/lib/theme-shared-testing.module.mjs +0 -46
  111. package/esm2022/testing/public-api.mjs +0 -4
@@ -1,151 +0,0 @@
1
- import { ChangeDetectorRef, Directive, Input, inject, DestroyRef, ViewContainerRef, Renderer2, } from '@angular/core';
2
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
- import { distinctUntilChanged } from 'rxjs';
4
- import { DatatableComponent } from '@swimlane/ngx-datatable';
5
- import { ListService, LocalizationService } from '@abp/ng.core';
6
- import { defaultNgxDatatableMessages, NGX_DATATABLE_MESSAGES, } from '../tokens/ngx-datatable-messages.token';
7
- import { SpinnerComponent } from '../components';
8
- import * as i0 from "@angular/core";
9
- export class NgxDatatableListDirective {
10
- constructor() {
11
- this.table = inject(DatatableComponent);
12
- this.cdRef = inject(ChangeDetectorRef);
13
- this.destroyRef = inject(DestroyRef);
14
- this.localizationService = inject(LocalizationService);
15
- this.ngxDatatableMessages = inject(NGX_DATATABLE_MESSAGES, { optional: true });
16
- this.viewContainerRef = inject(ViewContainerRef);
17
- this.renderer = inject(Renderer2);
18
- this.setInitialValues();
19
- }
20
- ngDoCheck() {
21
- this.refreshPageIfDataExist();
22
- }
23
- ngOnInit() {
24
- this.subscribeToPage();
25
- this.subscribeToSort();
26
- this.subscribeToRequestStatus();
27
- }
28
- ngOnChanges({ list }) {
29
- this.subscribeToQuery();
30
- if (!list.firstChange)
31
- return;
32
- const { maxResultCount, page } = list.currentValue;
33
- this.table.limit = maxResultCount;
34
- this.table.offset = page;
35
- }
36
- subscribeToRequestStatus() {
37
- const requestStatus$ = this.list.requestStatus$.pipe(distinctUntilChanged());
38
- const { emptyMessage, errorMessage } = this.ngxDatatableMessages || defaultNgxDatatableMessages;
39
- requestStatus$.subscribe(status => {
40
- this.table.loadingIndicator = false;
41
- if (status === 'idle') {
42
- return;
43
- }
44
- if (status === 'loading') {
45
- this.table.messages.emptyMessage = undefined;
46
- this.table.loadingIndicator = true;
47
- this.cdRef.detectChanges();
48
- this.updateLoadingIndicator();
49
- return;
50
- }
51
- if (status === 'error') {
52
- this.table.messages.emptyMessage = this.localizationService.instant(errorMessage);
53
- this.viewContainerRef.clear();
54
- this.cdRef.markForCheck();
55
- }
56
- if (status === 'success') {
57
- this.table.messages.emptyMessage = this.localizationService.instant(emptyMessage);
58
- this.viewContainerRef.clear();
59
- }
60
- });
61
- }
62
- updateLoadingIndicator() {
63
- const body = this.table.element.querySelector('datatable-body');
64
- const progress = this.table.element.querySelector('datatable-progress');
65
- if (!body) {
66
- return;
67
- }
68
- if (progress) {
69
- this.replaceLoadingIndicator(body, progress);
70
- }
71
- }
72
- replaceLoadingIndicator(parent, placeholder) {
73
- this.viewContainerRef.clear();
74
- const spinnerRef = this.viewContainerRef.createComponent(SpinnerComponent);
75
- const spinnerElement = spinnerRef.location.nativeElement;
76
- this.renderer.insertBefore(parent, spinnerElement, placeholder);
77
- this.renderer.removeChild(parent, placeholder);
78
- }
79
- setInitialValues() {
80
- this.table.externalPaging = true;
81
- this.table.externalSorting = true;
82
- const { selectedMessage, totalMessage } = this.ngxDatatableMessages || defaultNgxDatatableMessages;
83
- this.table.messages = {
84
- totalMessage: this.localizationService.instant(totalMessage),
85
- selectedMessage: this.localizationService.instant(selectedMessage),
86
- };
87
- }
88
- subscribeToSort() {
89
- this.table.sort
90
- .pipe(takeUntilDestroyed(this.destroyRef))
91
- .subscribe(({ sorts: [{ prop, dir }] }) => {
92
- if (prop === this.list.sortKey && this.list.sortOrder === 'desc') {
93
- this.list.sortKey = '';
94
- this.list.sortOrder = '';
95
- this.table.sorts = [];
96
- this.cdRef.detectChanges();
97
- }
98
- else {
99
- this.list.sortKey = prop;
100
- this.list.sortOrder = dir;
101
- }
102
- });
103
- }
104
- subscribeToPage() {
105
- this.table.page.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(({ offset }) => {
106
- this.setTablePage(offset);
107
- });
108
- }
109
- subscribeToQuery() {
110
- this.list.query$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
111
- const offset = this.list.page;
112
- if (this.table.offset !== offset)
113
- this.table.offset = offset;
114
- });
115
- }
116
- setTablePage(pageNum) {
117
- this.list.page = pageNum;
118
- this.table.offset = pageNum;
119
- }
120
- refreshPageIfDataExist() {
121
- if (this.table.rows?.length < 1 && this.table.count > 0) {
122
- let maxPage = Math.floor(Number(this.table.count / this.list.maxResultCount));
123
- if (this.table.count < this.list.maxResultCount) {
124
- this.setTablePage(0);
125
- return;
126
- }
127
- if (this.table.count % this.list.maxResultCount === 0) {
128
- maxPage -= 1;
129
- }
130
- if (this.list.page < maxPage) {
131
- this.setTablePage(this.list.page);
132
- return;
133
- }
134
- this.setTablePage(maxPage);
135
- }
136
- }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: NgxDatatableListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
138
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.5", type: NgxDatatableListDirective, isStandalone: true, selector: "ngx-datatable[list]", inputs: { list: "list" }, exportAs: ["ngxDatatableList"], usesOnChanges: true, ngImport: i0 }); }
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: NgxDatatableListDirective, decorators: [{
141
- type: Directive,
142
- args: [{
143
- // eslint-disable-next-line @angular-eslint/directive-selector
144
- selector: 'ngx-datatable[list]',
145
- standalone: true,
146
- exportAs: 'ngxDatatableList',
147
- }]
148
- }], ctorParameters: () => [], propDecorators: { list: [{
149
- type: Input
150
- }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2RpcmVjdGl2ZXMvbmd4LWRhdGF0YWJsZS1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBS0wsTUFBTSxFQUNOLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0Isc0JBQXNCLEdBQ3ZCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVFqRCxNQUFNLE9BQU8seUJBQXlCO0lBV3BDO1FBVm1CLFVBQUssR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNuQyxVQUFLLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyx3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRCx5QkFBb0IsR0FBRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRSxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JB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QUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBTnJDLFNBQVM7bUJBQUM7b0JBQ1QsOERBQThEO29CQUM5RCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7d0RBVVUsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBEaXJlY3RpdmUsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBEb0NoZWNrLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgaW5qZWN0LFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBSZW5kZXJlcjIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRGF0YXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUnO1xyXG5pbXBvcnQgeyBMaXN0U2VydmljZSwgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgZGVmYXVsdE5neERhdGF0YWJsZU1lc3NhZ2VzLFxyXG4gIE5HWF9EQVRBVEFCTEVfTUVTU0FHRVMsXHJcbn0gZnJvbSAnLi4vdG9rZW5zL25neC1kYXRhdGFibGUtbWVzc2FnZXMudG9rZW4nO1xyXG5pbXBvcnQgeyBTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnbmd4LWRhdGF0YWJsZVtsaXN0XScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBleHBvcnRBczogJ25neERhdGF0YWJsZUxpc3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4RGF0YXRhYmxlTGlzdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBEb0NoZWNrIHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFibGUgPSBpbmplY3QoRGF0YXRhYmxlQ29tcG9uZW50KTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBsb2NhbGl6YXRpb25TZXJ2aWNlID0gaW5qZWN0KExvY2FsaXphdGlvblNlcnZpY2UpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBuZ3hEYXRhdGFibGVNZXNzYWdlcyA9IGluamVjdChOR1hfREFUQVRBQkxFX01FU1NBR0VTLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG5cclxuICBASW5wdXQoKSBsaXN0ITogTGlzdFNlcnZpY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5zZXRJbml0aWFsVmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZnJlc2hQYWdlSWZEYXRhRXhpc3QoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb1BhZ2UoKTtcclxuICAgIHRoaXMuc3Vic2NyaWJlVG9Tb3J0KCk7XHJcbiAgICB0aGlzLnN1YnNjcmliZVRvUmVxdWVzdFN0YXR1cygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoeyBsaXN0IH06IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIHRoaXMuc3Vic2NyaWJlVG9RdWVyeSgpO1xyXG5cclxuICAgIGlmICghbGlzdC5maXJzdENoYW5nZSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHsgbWF4UmVzdWx0Q291bnQsIHBhZ2UgfSA9IGxpc3QuY3VycmVudFZhbHVlO1xyXG4gICAgdGhpcy50YWJsZS5saW1pdCA9IG1heFJlc3VsdENvdW50O1xyXG4gICAgdGhpcy50YWJsZS5vZmZzZXQgPSBwYWdlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHN1YnNjcmliZVRvUmVxdWVzdFN0YXR1cygpIHtcclxuICAgIGNvbnN0IHJlcXVlc3RTdGF0dXMkID0gdGhpcy5saXN0LnJlcXVlc3RTdGF0dXMkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XHJcbiAgICBjb25zdCB7IGVtcHR5TWVzc2FnZSwgZXJyb3JNZXNzYWdlIH0gPSB0aGlzLm5neERhdGF0YWJsZU1lc3NhZ2VzIHx8IGRlZmF1bHROZ3hEYXRhdGFibGVNZXNzYWdlcztcclxuXHJcbiAgICByZXF1ZXN0U3RhdHVzJC5zdWJzY3JpYmUoc3RhdHVzID0+IHtcclxuICAgICAgdGhpcy50YWJsZS5sb2FkaW5nSW5kaWNhdG9yID0gZmFsc2U7XHJcblxyXG4gICAgICBpZiAoc3RhdHVzID09PSAnaWRsZScpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzdGF0dXMgPT09ICdsb2FkaW5nJykge1xyXG4gICAgICAgIHRoaXMudGFibGUubWVzc2FnZXMuZW1wdHlNZXNzYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMudGFibGUubG9hZGluZ0luZGljYXRvciA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVMb2FkaW5nSW5kaWNhdG9yKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoc3RhdHVzID09PSAnZXJyb3InKSB7XHJcbiAgICAgICAgdGhpcy50YWJsZS5tZXNzYWdlcy5lbXB0eU1lc3NhZ2UgPSB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudChlcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChzdGF0dXMgPT09ICdzdWNjZXNzJykge1xyXG4gICAgICAgIHRoaXMudGFibGUubWVzc2FnZXMuZW1wdHlNZXNzYWdlID0gdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmluc3RhbnQoZW1wdHlNZXNzYWdlKTtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdXBkYXRlTG9hZGluZ0luZGljYXRvcigpIHtcclxuICAgIGNvbnN0IGJvZHkgPSB0aGlzLnRhYmxlLmVsZW1lbnQucXVlcnlTZWxlY3RvcignZGF0YXRhYmxlLWJvZHknKTtcclxuICAgIGNvbnN0IHByb2dyZXNzID0gdGhpcy50YWJsZS5lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2RhdGF0YWJsZS1wcm9ncmVzcycpO1xyXG5cclxuICAgIGlmICghYm9keSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHByb2dyZXNzKSB7XHJcbiAgICAgIHRoaXMucmVwbGFjZUxvYWRpbmdJbmRpY2F0b3IoYm9keSwgcHJvZ3Jlc3MpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlcGxhY2VMb2FkaW5nSW5kaWNhdG9yKHBhcmVudDogRWxlbWVudCwgcGxhY2Vob2xkZXI6IEVsZW1lbnQpIHtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xyXG5cclxuICAgIGNvbnN0IHNwaW5uZXJSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFNwaW5uZXJDb21wb25lbnQpO1xyXG4gICAgY29uc3Qgc3Bpbm5lckVsZW1lbnQgPSBzcGlubmVyUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCBzcGlubmVyRWxlbWVudCwgcGxhY2Vob2xkZXIpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChwYXJlbnQsIHBsYWNlaG9sZGVyKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzZXRJbml0aWFsVmFsdWVzKCkge1xyXG4gICAgdGhpcy50YWJsZS5leHRlcm5hbFBhZ2luZyA9IHRydWU7XHJcbiAgICB0aGlzLnRhYmxlLmV4dGVybmFsU29ydGluZyA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgeyBzZWxlY3RlZE1lc3NhZ2UsIHRvdGFsTWVzc2FnZSB9ID1cclxuICAgICAgdGhpcy5uZ3hEYXRhdGFibGVNZXNzYWdlcyB8fCBkZWZhdWx0Tmd4RGF0YXRhYmxlTWVzc2FnZXM7XHJcblxyXG4gICAgdGhpcy50YWJsZS5tZXNzYWdlcyA9IHtcclxuICAgICAgdG90YWxNZXNzYWdlOiB0aGlzLmxvY2FsaXphdGlvblNlcnZpY2UuaW5zdGFudCh0b3RhbE1lc3NhZ2UpLFxyXG4gICAgICBzZWxlY3RlZE1lc3NhZ2U6IHRoaXMubG9jYWxpemF0aW9uU2VydmljZS5pbnN0YW50KHNlbGVjdGVkTWVzc2FnZSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHN1YnNjcmliZVRvU29ydCgpIHtcclxuICAgIHRoaXMudGFibGUuc29ydFxyXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgICAgLnN1YnNjcmliZSgoeyBzb3J0czogW3sgcHJvcCwgZGlyIH1dIH0pID0+IHtcclxuICAgICAgICBpZiAocHJvcCA9PT0gdGhpcy5saXN0LnNvcnRLZXkgJiYgdGhpcy5saXN0LnNvcnRPcmRlciA9PT0gJ2Rlc2MnKSB7XHJcbiAgICAgICAgICB0aGlzLmxpc3Quc29ydEtleSA9ICcnO1xyXG4gICAgICAgICAgdGhpcy5saXN0LnNvcnRPcmRlciA9ICcnO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5zb3J0cyA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubGlzdC5zb3J0S2V5ID0gcHJvcDtcclxuICAgICAgICAgIHRoaXMubGlzdC5zb3J0T3JkZXIgPSBkaXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzdWJzY3JpYmVUb1BhZ2UoKSB7XHJcbiAgICB0aGlzLnRhYmxlLnBhZ2UucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCh7IG9mZnNldCB9KSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0VGFibGVQYWdlKG9mZnNldCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzdWJzY3JpYmVUb1F1ZXJ5KCkge1xyXG4gICAgdGhpcy5saXN0LnF1ZXJ5JC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmxpc3QucGFnZTtcclxuICAgICAgaWYgKHRoaXMudGFibGUub2Zmc2V0ICE9PSBvZmZzZXQpIHRoaXMudGFibGUub2Zmc2V0ID0gb2Zmc2V0O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2V0VGFibGVQYWdlKHBhZ2VOdW06IG51bWJlcikge1xyXG4gICAgdGhpcy5saXN0LnBhZ2UgPSBwYWdlTnVtO1xyXG4gICAgdGhpcy50YWJsZS5vZmZzZXQgPSBwYWdlTnVtO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlZnJlc2hQYWdlSWZEYXRhRXhpc3QoKSB7XHJcbiAgICBpZiAodGhpcy50YWJsZS5yb3dzPy5sZW5ndGggPCAxICYmIHRoaXMudGFibGUuY291bnQgPiAwKSB7XHJcbiAgICAgIGxldCBtYXhQYWdlID0gTWF0aC5mbG9vcihOdW1iZXIodGhpcy50YWJsZS5jb3VudCAvIHRoaXMubGlzdC5tYXhSZXN1bHRDb3VudCkpO1xyXG5cclxuICAgICAgaWYgKHRoaXMudGFibGUuY291bnQgPCB0aGlzLmxpc3QubWF4UmVzdWx0Q291bnQpIHtcclxuICAgICAgICB0aGlzLnNldFRhYmxlUGFnZSgwKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLnRhYmxlLmNvdW50ICUgdGhpcy5saXN0Lm1heFJlc3VsdENvdW50ID09PSAwKSB7XHJcbiAgICAgICAgbWF4UGFnZSAtPSAxO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5saXN0LnBhZ2UgPCBtYXhQYWdlKSB7XHJcbiAgICAgICAgdGhpcy5zZXRUYWJsZVBhZ2UodGhpcy5saXN0LnBhZ2UpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXRUYWJsZVBhZ2UobWF4UGFnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,63 +0,0 @@
1
- import { Directive, Input, ViewContainerRef, TemplateRef } from '@angular/core';
2
- import { EMPTY, from, Observable, of } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class AbpVisibleDirective {
5
- set abpVisible(value) {
6
- this.condition$ = checkType(value);
7
- this.subscribeToCondition();
8
- }
9
- constructor(viewContainerRef, templateRef) {
10
- this.viewContainerRef = viewContainerRef;
11
- this.templateRef = templateRef;
12
- this.condition$ = of(false);
13
- }
14
- ngOnInit() {
15
- this.updateVisibility();
16
- }
17
- ngOnDestroy() {
18
- this.conditionSubscription?.unsubscribe();
19
- }
20
- subscribeToCondition() {
21
- this.conditionSubscription = this.condition$.subscribe(value => {
22
- this.isVisible = value;
23
- this.updateVisibility();
24
- });
25
- }
26
- updateVisibility() {
27
- this.viewContainerRef.clear();
28
- // it should be false not falsy
29
- if (this.isVisible === false) {
30
- return;
31
- }
32
- this.viewContainerRef.createEmbeddedView(this.templateRef);
33
- }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AbpVisibleDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
35
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.5", type: AbpVisibleDirective, isStandalone: true, selector: "[abpVisible]", inputs: { abpVisible: "abpVisible" }, ngImport: i0 }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: AbpVisibleDirective, decorators: [{
38
- type: Directive,
39
- args: [{
40
- standalone: true,
41
- selector: '[abpVisible]',
42
- }]
43
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }], propDecorators: { abpVisible: [{
44
- type: Input
45
- }] } });
46
- function checkType(value) {
47
- if (value instanceof Promise) {
48
- return from(value);
49
- }
50
- else if (value instanceof Observable) {
51
- return value;
52
- }
53
- else if (typeof value === 'boolean') {
54
- return of(value);
55
- }
56
- else if (value === undefined || value === null) {
57
- return of(true);
58
- }
59
- else {
60
- return EMPTY;
61
- }
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9kaXJlY3RpdmVzL3Zpc2libGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxTQUFTLEVBQWEsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7QUFNakUsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixJQUFhLFVBQVUsQ0FDckIsS0FBMEU7UUFFMUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUlELFlBQ1UsZ0JBQWtDLEVBQ2xDLFdBQWlDO1FBRGpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBSm5DLGVBQVUsR0FBd0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBS2pELENBQUM7SUFDSixRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMscUJBQXFCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ08sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QiwrQkFBK0I7UUFDL0IsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RCxDQUFDOzhHQXJDVSxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOytHQUtjLFVBQVU7c0JBQXRCLEtBQUs7O0FBb0NSLFNBQVMsU0FBUyxDQUFDLEtBQTBFO0lBQzNGLElBQUksS0FBSyxZQUFZLE9BQU8sRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7U0FBTSxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7U0FBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUM7U0FBTSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2pELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgRGlyZWN0aXZlLCBPbkRlc3Ryb3ksIElucHV0LCBWaWV3Q29udGFpbmVyUmVmLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFTVBUWSwgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzZWxlY3RvcjogJ1thYnBWaXNpYmxlXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBYnBWaXNpYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xyXG4gIGNvbmRpdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIGlzVmlzaWJsZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KCkgc2V0IGFicFZpc2libGUoXHJcbiAgICB2YWx1ZTogYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgdW5kZWZpbmVkIHwgbnVsbCxcclxuICApIHtcclxuICAgIHRoaXMuY29uZGl0aW9uJCA9IGNoZWNrVHlwZSh2YWx1ZSk7XHJcbiAgICB0aGlzLnN1YnNjcmliZVRvQ29uZGl0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbmRpdGlvbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBvZihmYWxzZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4sXHJcbiAgKSB7fVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVWaXNpYmlsaXR5KCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25kaXRpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvQ29uZGl0aW9uKCkge1xyXG4gICAgdGhpcy5jb25kaXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLmNvbmRpdGlvbiQuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgdGhpcy5pc1Zpc2libGUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy51cGRhdGVWaXNpYmlsaXR5KCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSB1cGRhdGVWaXNpYmlsaXR5KCkge1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICAvLyBpdCBzaG91bGQgYmUgZmFsc2Ugbm90IGZhbHN5XHJcbiAgICBpZiAodGhpcy5pc1Zpc2libGUgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBjaGVja1R5cGUodmFsdWU6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHwgT2JzZXJ2YWJsZTxib29sZWFuPiB8IHVuZGVmaW5lZCB8IG51bGwpIHtcclxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICByZXR1cm4gZnJvbSh2YWx1ZSk7XHJcbiAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICByZXR1cm4gb2YodmFsdWUpO1xyXG4gIH0gZWxzZSBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIG9mKHRydWUpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gRU1QVFk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,6 +0,0 @@
1
- export var eFormComponets;
2
- (function (eFormComponets) {
3
- eFormComponets["FormInputComponent"] = "FormInputComponent";
4
- eFormComponets["FormCheckboxComponent"] = "FormCheckboxComponent";
5
- })(eFormComponets || (eFormComponets = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2VudW1zL2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QiwyREFBeUMsQ0FBQTtJQUN6QyxpRUFBK0MsQ0FBQTtBQUNqRCxDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBlRm9ybUNvbXBvbmV0cyB7XHJcbiAgRm9ybUlucHV0Q29tcG9uZW50ID0gJ0Zvcm1JbnB1dENvbXBvbmVudCcsXHJcbiAgRm9ybUNoZWNrYm94Q29tcG9uZW50ID0gJ0Zvcm1DaGVja2JveENvbXBvbmVudCcsXHJcbn1cclxuIl19
@@ -1,3 +0,0 @@
1
- export * from './form';
2
- export * from './route-names';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9lbnVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcm91dGUtbmFtZXMnO1xyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtbmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9lbnVtcy9yb3V0ZS1uYW1lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gZVRoZW1lU2hhcmVkUm91dGVOYW1lcyB7XHJcbiAgQWRtaW5pc3RyYXRpb24gPSAnQWJwVWlOYXZpZ2F0aW9uOjpNZW51OkFkbWluaXN0cmF0aW9uJyxcclxufVxyXG4iXX0=
@@ -1,31 +0,0 @@
1
- import { getLocaleDirection, LocalizationService } from '@abp/ng.core';
2
- import { Injectable, Injector } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { map } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- export class DocumentDirHandlerService {
7
- constructor(injector) {
8
- this.injector = injector;
9
- this.dir = new BehaviorSubject('ltr');
10
- this.dir$ = this.dir.asObservable();
11
- this.listenToLanguageChanges();
12
- }
13
- listenToLanguageChanges() {
14
- const l10n = this.injector.get(LocalizationService);
15
- // will always listen, no need to unsubscribe
16
- l10n.currentLang$.pipe(map(locale => getLocaleDirection(locale))).subscribe(dir => {
17
- this.dir.next(dir);
18
- this.setBodyDir(dir);
19
- });
20
- }
21
- setBodyDir(dir) {
22
- document.body.dir = dir;
23
- document.dir = dir;
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DocumentDirHandlerService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
26
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DocumentDirHandlerService }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: DocumentDirHandlerService, decorators: [{
29
- type: Injectable
30
- }], ctorParameters: () => [{ type: i0.Injector }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtZGlyLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9oYW5kbGVycy9kb2N1bWVudC1kaXIuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXJDLE1BQU0sT0FBTyx5QkFBeUI7SUFHcEMsWUFBc0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUZoQyxRQUFHLEdBQUcsSUFBSSxlQUFlLENBQWtCLEtBQUssQ0FBQyxDQUFDO1FBQzFELFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNwRCw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVUsQ0FBQyxHQUFvQjtRQUNyQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDeEIsUUFBUSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQzs4R0FuQlUseUJBQXlCO2tIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMb2NhbGVEaXJlY3Rpb24sIExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBMb2NhbGVEaXJlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERvY3VtZW50RGlySGFuZGxlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgZGlyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMb2NhbGVEaXJlY3Rpb24+KCdsdHInKTtcclxuICBkaXIkID0gdGhpcy5kaXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgdGhpcy5saXN0ZW5Ub0xhbmd1YWdlQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsaXN0ZW5Ub0xhbmd1YWdlQ2hhbmdlcygpIHtcclxuICAgIGNvbnN0IGwxMG4gPSB0aGlzLmluamVjdG9yLmdldChMb2NhbGl6YXRpb25TZXJ2aWNlKTtcclxuICAgIC8vIHdpbGwgYWx3YXlzIGxpc3Rlbiwgbm8gbmVlZCB0byB1bnN1YnNjcmliZVxyXG4gICAgbDEwbi5jdXJyZW50TGFuZyQucGlwZShtYXAobG9jYWxlID0+IGdldExvY2FsZURpcmVjdGlvbihsb2NhbGUpKSkuc3Vic2NyaWJlKGRpciA9PiB7XHJcbiAgICAgIHRoaXMuZGlyLm5leHQoZGlyKTtcclxuICAgICAgdGhpcy5zZXRCb2R5RGlyKGRpcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Qm9keURpcihkaXI6IExvY2FsZURpcmVjdGlvbikge1xyXG4gICAgZG9jdW1lbnQuYm9keS5kaXIgPSBkaXI7XHJcbiAgICBkb2N1bWVudC5kaXIgPSBkaXI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,81 +0,0 @@
1
- import { inject, Injectable, Injector } from '@angular/core';
2
- import { of } from 'rxjs';
3
- import { filter, switchMap } from 'rxjs/operators';
4
- import { HttpErrorReporterService } from '@abp/ng.core';
5
- import { CUSTOM_ERROR_HANDLERS, HTTP_ERROR_HANDLER } from '../tokens/http-error.token';
6
- import { HTTP_ERROR_CONFIG } from '../tokens/http-error.token';
7
- import { DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES } from '../constants/default-errors';
8
- import { ConfirmationService } from '../services/confirmation.service';
9
- import { RouterErrorHandlerService } from '../services/router-error-handler.service';
10
- import * as i0 from "@angular/core";
11
- export class ErrorHandler {
12
- constructor(injector) {
13
- this.injector = injector;
14
- this.httpErrorReporter = inject(HttpErrorReporterService);
15
- this.confirmationService = inject(ConfirmationService);
16
- this.routerErrorHandlerService = inject(RouterErrorHandlerService);
17
- this.httpErrorConfig = inject(HTTP_ERROR_CONFIG);
18
- this.customErrorHandlers = inject(CUSTOM_ERROR_HANDLERS);
19
- this.httpErrorHandler = inject(HTTP_ERROR_HANDLER, { optional: true });
20
- this.executeErrorHandler = (error) => {
21
- if (this.httpErrorHandler) {
22
- return this.httpErrorHandler(this.injector, error);
23
- }
24
- return of(error);
25
- };
26
- this.filterRestErrors = ({ status }) => {
27
- if (typeof status !== 'number')
28
- return false;
29
- if (!this.httpErrorConfig?.skipHandledErrorCodes) {
30
- return true;
31
- }
32
- return this.httpErrorConfig.skipHandledErrorCodes?.findIndex(code => code === status) < 0;
33
- };
34
- this.listenToRestError();
35
- this.listenToRouterError();
36
- }
37
- listenToRouterError() {
38
- this.routerErrorHandlerService.listen();
39
- }
40
- listenToRestError() {
41
- this.httpErrorReporter.reporter$
42
- .pipe(filter(this.filterRestErrors), switchMap(this.executeErrorHandler))
43
- .subscribe(err => this.handleError(err));
44
- }
45
- sortHttpErrorHandlers(a, b) {
46
- return (b.priority || 0) - (a.priority || 0);
47
- }
48
- handleError(err) {
49
- if (this.customErrorHandlers && this.customErrorHandlers.length) {
50
- const errorHandlerService = this.customErrorHandlers
51
- .sort(this.sortHttpErrorHandlers)
52
- .find(service => service.canHandle(err));
53
- if (errorHandlerService) {
54
- errorHandlerService.execute();
55
- return;
56
- }
57
- }
58
- this.showError().subscribe();
59
- }
60
- showError() {
61
- const title = {
62
- key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.title,
63
- defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.title,
64
- };
65
- const message = {
66
- key: DEFAULT_ERROR_LOCALIZATIONS.defaultError.details,
67
- defaultValue: DEFAULT_ERROR_MESSAGES.defaultError.details,
68
- };
69
- return this.confirmationService.error(message, title, {
70
- hideCancelBtn: true,
71
- yesText: 'AbpAccount::Close',
72
- });
73
- }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ErrorHandler, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
75
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ErrorHandler, providedIn: 'root' }); }
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: ErrorHandler, decorators: [{
78
- type: Injectable,
79
- args: [{ providedIn: 'root' }]
80
- }], ctorParameters: () => [{ type: i0.Injector }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFLeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBR3JGLE1BQU0sT0FBTyxZQUFZO0lBUXZCLFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFQckIsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDckQsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsOEJBQXlCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDOUQsb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1Qyx3QkFBbUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FB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QUNwRCxhQUFhLEVBQUUsSUFBSTtZQUNuQixPQUFPLEVBQUUsbUJBQW1CO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBbEVVLFlBQVk7a0hBQVosWUFBWSxjQURDLE1BQU07OzJGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgSHR0cEVycm9yUmVwb3J0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuXHJcbmltcG9ydCB7IEN1c3RvbUh0dHBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb25maXJtYXRpb24nO1xyXG5cclxuaW1wb3J0IHsgQ1VTVE9NX0VSUk9SX0hBTkRMRVJTLCBIVFRQX0VSUk9SX0hBTkRMRVIgfSBmcm9tICcuLi90b2tlbnMvaHR0cC1lcnJvci50b2tlbic7XHJcbmltcG9ydCB7IEhUVFBfRVJST1JfQ09ORklHIH0gZnJvbSAnLi4vdG9rZW5zL2h0dHAtZXJyb3IudG9rZW4nO1xyXG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMsIERFRkFVTFRfRVJST1JfTUVTU0FHRVMgfSBmcm9tICcuLi9jb25zdGFudHMvZGVmYXVsdC1lcnJvcnMnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3JvdXRlci1lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEVycm9ySGFuZGxlciB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHBFcnJvclJlcG9ydGVyID0gaW5qZWN0KEh0dHBFcnJvclJlcG9ydGVyU2VydmljZSk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2UgPSBpbmplY3QoQ29uZmlybWF0aW9uU2VydmljZSk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlckVycm9ySGFuZGxlclNlcnZpY2UgPSBpbmplY3QoUm91dGVyRXJyb3JIYW5kbGVyU2VydmljZSk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHBFcnJvckNvbmZpZyA9IGluamVjdChIVFRQX0VSUk9SX0NPTkZJRyk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1c3RvbUVycm9ySGFuZGxlcnMgPSBpbmplY3QoQ1VTVE9NX0VSUk9SX0hBTkRMRVJTKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaHR0cEVycm9ySGFuZGxlciA9IGluamVjdChIVFRQX0VSUk9SX0hBTkRMRVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHRoaXMubGlzdGVuVG9SZXN0RXJyb3IoKTtcclxuICAgIHRoaXMubGlzdGVuVG9Sb3V0ZXJFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGxpc3RlblRvUm91dGVyRXJyb3IoKSB7XHJcbiAgICB0aGlzLnJvdXRlckVycm9ySGFuZGxlclNlcnZpY2UubGlzdGVuKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbGlzdGVuVG9SZXN0RXJyb3IoKSB7XHJcbiAgICB0aGlzLmh0dHBFcnJvclJlcG9ydGVyLnJlcG9ydGVyJFxyXG4gICAgICAucGlwZShmaWx0ZXIodGhpcy5maWx0ZXJSZXN0RXJyb3JzKSwgc3dpdGNoTWFwKHRoaXMuZXhlY3V0ZUVycm9ySGFuZGxlcikpXHJcbiAgICAgIC5zdWJzY3JpYmUoZXJyID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZXhlY3V0ZUVycm9ySGFuZGxlciA9IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgIGlmICh0aGlzLmh0dHBFcnJvckhhbmRsZXIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cEVycm9ySGFuZGxlcih0aGlzLmluamVjdG9yLCBlcnJvcik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9mKGVycm9yKTtcclxuICB9O1xyXG5cclxuICBwcm90ZWN0ZWQgc29ydEh0dHBFcnJvckhhbmRsZXJzKFxyXG4gICAgYTogQ3VzdG9tSHR0cEVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgICBiOiBDdXN0b21IdHRwRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICApIHtcclxuICAgIHJldHVybiAoYi5wcmlvcml0eSB8fCAwKSAtIChhLnByaW9yaXR5IHx8IDApO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKGVycjogdW5rbm93bikge1xyXG4gICAgaWYgKHRoaXMuY3VzdG9tRXJyb3JIYW5kbGVycyAmJiB0aGlzLmN1c3RvbUVycm9ySGFuZGxlcnMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IGVycm9ySGFuZGxlclNlcnZpY2UgPSB0aGlzLmN1c3RvbUVycm9ySGFuZGxlcnNcclxuICAgICAgICAuc29ydCh0aGlzLnNvcnRIdHRwRXJyb3JIYW5kbGVycylcclxuICAgICAgICAuZmluZChzZXJ2aWNlID0+IHNlcnZpY2UuY2FuSGFuZGxlKGVycikpO1xyXG5cclxuICAgICAgaWYgKGVycm9ySGFuZGxlclNlcnZpY2UpIHtcclxuICAgICAgICBlcnJvckhhbmRsZXJTZXJ2aWNlLmV4ZWN1dGUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3dFcnJvcigpLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHNob3dFcnJvcigpOiBPYnNlcnZhYmxlPENvbmZpcm1hdGlvbi5TdGF0dXM+IHtcclxuICAgIGNvbnN0IHRpdGxlID0ge1xyXG4gICAgICBrZXk6IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUy5kZWZhdWx0RXJyb3IudGl0bGUsXHJcbiAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3IudGl0bGUsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgbWVzc2FnZSA9IHtcclxuICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yLmRldGFpbHMsXHJcbiAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3IuZGV0YWlscyxcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmVycm9yKG1lc3NhZ2UsIHRpdGxlLCB7XHJcbiAgICAgIGhpZGVDYW5jZWxCdG46IHRydWUsXHJcbiAgICAgIHllc1RleHQ6ICdBYnBBY2NvdW50OjpDbG9zZScsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBmaWx0ZXJSZXN0RXJyb3JzID0gKHsgc3RhdHVzIH06IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiA9PiB7XHJcbiAgICBpZiAodHlwZW9mIHN0YXR1cyAhPT0gJ251bWJlcicpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBpZiAoIXRoaXMuaHR0cEVycm9yQ29uZmlnPy5za2lwSGFuZGxlZEVycm9yQ29kZXMpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cEVycm9yQ29uZmlnLnNraXBIYW5kbGVkRXJyb3JDb2Rlcz8uZmluZEluZGV4KGNvZGUgPT4gY29kZSA9PT0gc3RhdHVzKSA8IDA7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './document-dir.handler';
2
- export * from './error.handler';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9oYW5kbGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RvY3VtZW50LWRpci5oYW5kbGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9lcnJvci5oYW5kbGVyJztcclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvbW9kZWxzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkljb25zIH0gZnJvbSAnLi4vdG9rZW5zL2NvbmZpcm1hdGlvbi1pY29ucy50b2tlbic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RQYXJhbXMge1xyXG4gIGh0dHBFcnJvckNvbmZpZz86IEh0dHBFcnJvckNvbmZpZztcclxuICB2YWxpZGF0aW9uPzogUGFydGlhbDxWYWxpZGF0aW9uLkNvbmZpZz47XHJcbiAgY29uZmlybWF0aW9uSWNvbnM/OiBQYXJ0aWFsPENvbmZpcm1hdGlvbkljb25zPjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXJyb3JTY3JlZW5FcnJvckNvZGVzID0gMCB8IDQwMSB8IDQwMyB8IDQwNCB8IDUwMDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSHR0cEVycm9yQ29uZmlnIHtcclxuICBza2lwSGFuZGxlZEVycm9yQ29kZXM/OiBFcnJvclNjcmVlbkVycm9yQ29kZXNbXSB8IG51bWJlcltdO1xyXG4gIGVycm9yU2NyZWVuPzoge1xyXG4gICAgY29tcG9uZW50OiBUeXBlPGFueT47XHJcbiAgICBmb3JXaGljaEVycm9ycz86IEVycm9yU2NyZWVuRXJyb3JDb2Rlc1tdO1xyXG4gICAgaGlkZUNsb3NlSWNvbj86IGJvb2xlYW47XHJcbiAgfTtcclxufVxyXG5leHBvcnQgdHlwZSBIdHRwRXJyb3JIYW5kbGVyPFQgPSBhbnk+ID0gKGluamVjdG9yOiBJbmplY3RvciwgaHR0cEVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gT2JzZXJ2YWJsZTxUPjtcclxuZXhwb3J0IHR5cGUgTG9jYWxlRGlyZWN0aW9uID0gJ2x0cicgfCAncnRsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tSHR0cEVycm9ySGFuZGxlclNlcnZpY2Uge1xyXG4gIHJlYWRvbmx5IHByaW9yaXR5OiBudW1iZXI7XHJcbiAgY2FuSGFuZGxlKGVycm9yOiB1bmtub3duKTogYm9vbGVhbjtcclxuICBleGVjdXRlKCk6IHZvaWQ7XHJcbn1cclxuIl19
@@ -1,10 +0,0 @@
1
- export var Confirmation;
2
- (function (Confirmation) {
3
- let Status;
4
- (function (Status) {
5
- Status["confirm"] = "confirm";
6
- Status["reject"] = "reject";
7
- Status["dismiss"] = "dismiss";
8
- })(Status = Confirmation.Status || (Confirmation.Status = {}));
9
- })(Confirmation || (Confirmation = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvbW9kZWxzL2NvbmZpcm1hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLEtBQVcsWUFBWSxDQTRCNUI7QUE1QkQsV0FBaUIsWUFBWTtJQXVCM0IsSUFBWSxNQUlYO0lBSkQsV0FBWSxNQUFNO1FBQ2hCLDZCQUFtQixDQUFBO1FBQ25CLDJCQUFpQixDQUFBO1FBQ2pCLDZCQUFtQixDQUFBO0lBQ3JCLENBQUMsRUFKVyxNQUFNLEdBQU4sbUJBQU0sS0FBTixtQkFBTSxRQUlqQjtBQUNILENBQUMsRUE1QmdCLFlBQVksS0FBWixZQUFZLFFBNEI1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsaXphdGlvblBhcmFtIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlybWF0aW9uIHtcclxuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xyXG4gICAgaWQ/OiBhbnk7XHJcbiAgICBkaXNtaXNzaWJsZT86IGJvb2xlYW47XHJcbiAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zPzogc3RyaW5nW107XHJcbiAgICB0aXRsZUxvY2FsaXphdGlvblBhcmFtcz86IHN0cmluZ1tdO1xyXG4gICAgaGlkZUNhbmNlbEJ0bj86IGJvb2xlYW47XHJcbiAgICBoaWRlWWVzQnRuPzogYm9vbGVhbjtcclxuICAgIGNhbmNlbFRleHQ/OiBMb2NhbGl6YXRpb25QYXJhbTtcclxuICAgIHllc1RleHQ/OiBMb2NhbGl6YXRpb25QYXJhbTtcclxuICAgIGljb24/OiBzdHJpbmc7XHJcbiAgICBpY29uVGVtcGxhdGU/OnN0cmluZ1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBEaWFsb2dEYXRhIHtcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtO1xyXG4gICAgdGl0bGU/OiBMb2NhbGl6YXRpb25QYXJhbTtcclxuICAgIHNldmVyaXR5PzogU2V2ZXJpdHk7XHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxPcHRpb25zPjtcclxuICB9XHJcblxyXG4gIGV4cG9ydCB0eXBlIFNldmVyaXR5ID0gJ25ldXRyYWwnIHwgJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJztcclxuXHJcbiAgZXhwb3J0IGVudW0gU3RhdHVzIHtcclxuICAgIGNvbmZpcm0gPSAnY29uZmlybScsXHJcbiAgICByZWplY3QgPSAncmVqZWN0JyxcclxuICAgIGRpc21pc3MgPSAnZGlzbWlzcycsXHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,8 +0,0 @@
1
- export * from './common';
2
- export * from './confirmation';
3
- export * from './nav-item';
4
- export * from './statistics';
5
- export * from './toaster';
6
- export * from './user-menu';
7
- export * from './validation';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL25hdi1pdGVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdGF0aXN0aWNzJztcclxuZXhwb3J0ICogZnJvbSAnLi90b2FzdGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi91c2VyLW1lbnUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24nO1xyXG4iXX0=
@@ -1,6 +0,0 @@
1
- export class NavItem {
2
- constructor(props) {
3
- Object.assign(this, props);
4
- }
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9tb2RlbHMvbmF2LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFPLE9BQU87SUFZbEIsWUFBWSxLQUF1QjtRQUNqQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJhZGdlIHtcclxuICBjb3VudD86IG51bWJlciB8IE9ic2VydmFibGU8bnVtYmVyPjtcclxuICBjb2xvcj86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTmF2SXRlbSB7XHJcbiAgaWQ/OiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICBiYWRnZT86IEJhZGdlO1xyXG4gIGNvbXBvbmVudD86IFR5cGU8YW55PjtcclxuICBodG1sPzogc3RyaW5nO1xyXG4gIGFjdGlvbj86ICgpID0+IHZvaWQ7XHJcbiAgb3JkZXI/OiBudW1iZXI7XHJcbiAgcmVxdWlyZWRQb2xpY3k/OiBzdHJpbmc7XHJcbiAgdmlzaWJsZT86IE5hdkJhclByb3BQcmVkaWNhdGU8TmF2SXRlbT47XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBjb25zdHJ1Y3Rvcihwcm9wczogUGFydGlhbDxOYXZJdGVtPikge1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBwcm9wcyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBOYXZCYXJQcm9wUHJlZGljYXRlPFQ+ID0gKFxyXG4gIHByb3A/OiBULFxyXG4gIGluamVjdG9yPzogSW5qZWN0b3IsXHJcbikgPT4gYm9vbGVhbiB8IFByb21pc2U8Ym9vbGVhbj4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGlzdGljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL21vZGVscy9zdGF0aXN0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgbmFtZXNwYWNlIFN0YXRpc3RpY3Mge1xyXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVzcG9uc2Uge1xyXG4gICAgZGF0YTogRGF0YTtcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgRGF0YSB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBudW1iZXI7XHJcbiAgfVxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIEZpbHRlciB7XHJcbiAgICBzdGFydERhdGU6IHN0cmluZyB8IERhdGU7XHJcbiAgICBlbmREYXRlOiBzdHJpbmcgfCBEYXRlO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL21vZGVscy90b2FzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhbGl6YXRpb25QYXJhbSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFRvYXN0ZXIge1xyXG4gIGV4cG9ydCBpbnRlcmZhY2UgVG9hc3RPcHRpb25zIHtcclxuICAgIGxpZmU/OiBudW1iZXI7XHJcbiAgICBzdGlja3k/OiBib29sZWFuO1xyXG4gICAgY2xvc2FibGU/OiBib29sZWFuO1xyXG4gICAgdGFwVG9EaXNtaXNzPzogYm9vbGVhbjtcclxuICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM/OiBzdHJpbmdbXTtcclxuICAgIHRpdGxlTG9jYWxpemF0aW9uUGFyYW1zPzogc3RyaW5nW107XHJcbiAgICBpZDogYW55O1xyXG4gICAgY29udGFpbmVyS2V5Pzogc3RyaW5nO1xyXG4gICAgaWNvbkNsYXNzPzogc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBUb2FzdCB7XHJcbiAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbTtcclxuICAgIHRpdGxlPzogTG9jYWxpemF0aW9uUGFyYW07XHJcbiAgICBzZXZlcml0eT86IHN0cmluZztcclxuICAgIG9wdGlvbnM/OiBUb2FzdE9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBleHBvcnQgdHlwZSBTZXZlcml0eSA9ICduZXV0cmFsJyB8ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcic7XHJcbiAgZXhwb3J0IHR5cGUgVG9hc3RlcklkID0gc3RyaW5nIHwgbnVtYmVyO1xyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIFNlcnZpY2Uge1xyXG4gICAgc2hvdzogKFxyXG4gICAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgICAgdGl0bGU6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgICBzZXZlcml0eTogVG9hc3Rlci5TZXZlcml0eSxcclxuICAgICAgb3B0aW9uczogUGFydGlhbDxUb2FzdGVyLlRvYXN0T3B0aW9ucz4sXHJcbiAgICApID0+IFRvYXN0ZXJJZDtcclxuICAgIHJlbW92ZTogKGlkOiBudW1iZXIpID0+IHZvaWQ7XHJcbiAgICBjbGVhcjogKGNvbnRhaW5lcktleT86IHN0cmluZykgPT4gdm9pZDtcclxuICAgIGluZm86IChcclxuICAgICAgbWVzc2FnZTogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICAgIHRpdGxlPzogTG9jYWxpemF0aW9uUGFyYW0sXHJcbiAgICAgIG9wdGlvbnM/OiBQYXJ0aWFsPFRvYXN0ZXIuVG9hc3RPcHRpb25zPixcclxuICAgICkgPT4gVG9hc3RlcklkO1xyXG4gICAgc3VjY2VzczogKFxyXG4gICAgICBtZXNzYWdlOiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgICAgdGl0bGU/OiBMb2NhbGl6YXRpb25QYXJhbSxcclxuICAgICAgb3B0aW9ucz86IFBhcnRpYWw8VG9hc3Rlci5Ub2FzdE9wdGlvbnM+LFxyXG4gICAgKSA9PiBUb2FzdGVySWQ7XHJcbiAgICB3YXJuOiAoXHJcbiAgICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgICB0aXRsZT86IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgICBvcHRpb25zPzogUGFydGlhbDxUb2FzdGVyLlRvYXN0T3B0aW9ucz4sXHJcbiAgICApID0+IFRvYXN0ZXJJZDtcclxuICAgIGVycm9yOiAoXHJcbiAgICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgICB0aXRsZT86IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgICBvcHRpb25zPzogUGFydGlhbDxUb2FzdGVyLlRvYXN0T3B0aW9ucz4sXHJcbiAgICApID0+IFRvYXN0ZXJJZDtcclxuICB9XHJcbn1cclxuIl19
@@ -1,4 +0,0 @@
1
- import { NavItem } from './nav-item';
2
- export class UserMenu extends NavItem {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvbW9kZWxzL3VzZXItbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXJDLE1BQU0sT0FBTyxRQUFTLFNBQVEsT0FBTztDQUVwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hdkl0ZW0gfSBmcm9tICcuL25hdi1pdGVtJztcclxuXHJcbmV4cG9ydCBjbGFzcyBVc2VyTWVudSBleHRlbmRzIE5hdkl0ZW0ge1xyXG4gIHRleHRUZW1wbGF0ZT86IFVzZXJNZW51VGV4dFRlbXBsYXRlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJNZW51VGV4dFRlbXBsYXRlIHtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL21vZGVscy92YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBQYXNzd29yZFJ1bGUgPSAnc21hbGwnIHwgJ2NhcGl0YWwnIHwgJ251bWJlcicgfCAnc3BlY2lhbCc7XHJcbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { CUSTOM_ERROR_HANDLERS } from '../tokens';
2
- import { TenantResolveErrorHandlerService, AbpFormatErrorHandlerService, StatusCodeErrorHandlerService, UnknownStatusCodeErrorHandlerService, AbpAuthenticationErrorHandler, } from '../services';
3
- export const DEFAULT_HANDLERS_PROVIDERS = [
4
- {
5
- provide: CUSTOM_ERROR_HANDLERS,
6
- multi: true,
7
- useExisting: TenantResolveErrorHandlerService,
8
- },
9
- {
10
- provide: CUSTOM_ERROR_HANDLERS,
11
- multi: true,
12
- useExisting: AbpFormatErrorHandlerService,
13
- },
14
- {
15
- provide: CUSTOM_ERROR_HANDLERS,
16
- multi: true,
17
- useExisting: StatusCodeErrorHandlerService,
18
- },
19
- {
20
- provide: CUSTOM_ERROR_HANDLERS,
21
- multi: true,
22
- useExisting: UnknownStatusCodeErrorHandlerService,
23
- },
24
- {
25
- provide: CUSTOM_ERROR_HANDLERS,
26
- multi: true,
27
- useExisting: AbpAuthenticationErrorHandler,
28
- },
29
- ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlcnMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9wcm92aWRlcnMvZXJyb3ItaGFuZGxlcnMucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xELE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsNkJBQTZCLEdBQzlCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFlO0lBQ3BEO1FBQ0UsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVcsRUFBRSxnQ0FBZ0M7S0FDOUM7SUFDRDtRQUNFLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXLEVBQUUsNEJBQTRCO0tBQzFDO0lBQ0Q7UUFDRSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLEtBQUssRUFBRSxJQUFJO1FBQ1gsV0FBVyxFQUFFLDZCQUE2QjtLQUMzQztJQUNEO1FBQ0UsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVcsRUFBRSxvQ0FBb0M7S0FDbEQ7SUFDRDtRQUNFLE9BQU8sRUFBRSxxQkFBcUI7UUFDOUIsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXLEVBQUUsNkJBQTZCO0tBQzNDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENVU1RPTV9FUlJPUl9IQU5ETEVSUyB9IGZyb20gJy4uL3Rva2Vucyc7XHJcbmltcG9ydCB7XHJcbiAgVGVuYW50UmVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgQWJwRm9ybWF0RXJyb3JIYW5kbGVyU2VydmljZSxcclxuICBTdGF0dXNDb2RlRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICBVbmtub3duU3RhdHVzQ29kZUVycm9ySGFuZGxlclNlcnZpY2UsXHJcbiAgQWJwQXV0aGVudGljYXRpb25FcnJvckhhbmRsZXIsXHJcbn0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfSEFORExFUlNfUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xyXG4gIHtcclxuICAgIHByb3ZpZGU6IENVU1RPTV9FUlJPUl9IQU5ETEVSUyxcclxuICAgIG11bHRpOiB0cnVlLFxyXG4gICAgdXNlRXhpc3Rpbmc6IFRlbmFudFJlc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcHJvdmlkZTogQ1VTVE9NX0VSUk9SX0hBTkRMRVJTLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgICB1c2VFeGlzdGluZzogQWJwRm9ybWF0RXJyb3JIYW5kbGVyU2VydmljZSxcclxuICB9LFxyXG4gIHtcclxuICAgIHByb3ZpZGU6IENVU1RPTV9FUlJPUl9IQU5ETEVSUyxcclxuICAgIG11bHRpOiB0cnVlLFxyXG4gICAgdXNlRXhpc3Rpbmc6IFN0YXR1c0NvZGVFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcHJvdmlkZTogQ1VTVE9NX0VSUk9SX0hBTkRMRVJTLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgICB1c2VFeGlzdGluZzogVW5rbm93blN0YXR1c0NvZGVFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcHJvdmlkZTogQ1VTVE9NX0VSUk9SX0hBTkRMRVJTLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgICB1c2VFeGlzdGluZzogQWJwQXV0aGVudGljYXRpb25FcnJvckhhbmRsZXIsXHJcbiAgfSxcclxuXTtcclxuIl19
@@ -1,6 +0,0 @@
1
- export * from './ng-bootstrap-config.provider';
2
- export * from './route.provider';
3
- export * from './tenant-not-found.provider';
4
- export * from './error-handlers.provider';
5
- export * from './theme-shared-config.provider';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9wcm92aWRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9uZy1ib290c3RyYXAtY29uZmlnLnByb3ZpZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS5wcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGVuYW50LW5vdC1mb3VuZC5wcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3ItaGFuZGxlcnMucHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3RoZW1lLXNoYXJlZC1jb25maWcucHJvdmlkZXInO1xyXG4iXX0=
@@ -1,17 +0,0 @@
1
- import { APP_INITIALIZER } from '@angular/core';
2
- import { NgbInputDatepickerConfig, NgbTypeaheadConfig } from '@ng-bootstrap/ng-bootstrap';
3
- export const NG_BOOTSTRAP_CONFIG_PROVIDERS = [
4
- {
5
- provide: APP_INITIALIZER,
6
- useFactory: configureNgBootstrap,
7
- deps: [NgbInputDatepickerConfig, NgbTypeaheadConfig],
8
- multi: true,
9
- },
10
- ];
11
- export function configureNgBootstrap(datepicker, typeahead) {
12
- return () => {
13
- datepicker.container = 'body';
14
- typeahead.container = 'body';
15
- };
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYm9vdHN0cmFwLWNvbmZpZy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3Byb3ZpZGVycy9uZy1ib290c3RyYXAtY29uZmlnLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFMUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUc7SUFDM0M7UUFDRSxPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsb0JBQW9CO1FBQ2hDLElBQUksRUFBRSxDQUFDLHdCQUF3QixFQUFFLGtCQUFrQixDQUFDO1FBQ3BELEtBQUssRUFBRSxJQUFJO0tBQ1o7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxVQUFvQyxFQUNwQyxTQUE2QjtJQUU3QixPQUFPLEdBQUcsRUFBRTtRQUNWLFVBQVUsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO0lBQy9CLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiSW5wdXREYXRlcGlja2VyQ29uZmlnLCBOZ2JUeXBlYWhlYWRDb25maWcgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcblxyXG5leHBvcnQgY29uc3QgTkdfQk9PVFNUUkFQX0NPTkZJR19QUk9WSURFUlMgPSBbXHJcbiAge1xyXG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgdXNlRmFjdG9yeTogY29uZmlndXJlTmdCb290c3RyYXAsXHJcbiAgICBkZXBzOiBbTmdiSW5wdXREYXRlcGlja2VyQ29uZmlnLCBOZ2JUeXBlYWhlYWRDb25maWddLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVOZ0Jvb3RzdHJhcChcclxuICBkYXRlcGlja2VyOiBOZ2JJbnB1dERhdGVwaWNrZXJDb25maWcsXHJcbiAgdHlwZWFoZWFkOiBOZ2JUeXBlYWhlYWRDb25maWcsXHJcbikge1xyXG4gIHJldHVybiAoKSA9PiB7XHJcbiAgICBkYXRlcGlja2VyLmNvbnRhaW5lciA9ICdib2R5JztcclxuICAgIHR5cGVhaGVhZC5jb250YWluZXIgPSAnYm9keSc7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -1,18 +0,0 @@
1
- import { RoutesService } from '@abp/ng.core';
2
- import { APP_INITIALIZER } from '@angular/core';
3
- export const THEME_SHARED_ROUTE_PROVIDERS = [
4
- { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },
5
- ];
6
- export function configureRoutes(routesService) {
7
- return () => {
8
- routesService.add([
9
- {
10
- path: undefined,
11
- name: "AbpUiNavigation::Menu:Administration" /* eThemeSharedRouteNames.Administration */,
12
- iconClass: 'fa fa-wrench',
13
- order: 100,
14
- },
15
- ]);
16
- };
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9wcm92aWRlcnMvcm91dGUucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2hELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHO0lBQzFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7Q0FDOUYsQ0FBQztBQUVGLE1BQU0sVUFBVSxlQUFlLENBQUMsYUFBNEI7SUFDMUQsT0FBTyxHQUFHLEVBQUU7UUFDVixhQUFhLENBQUMsR0FBRyxDQUFDO1lBQ2hCO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksb0ZBQXVDO2dCQUMzQyxTQUFTLEVBQUUsY0FBYztnQkFDekIsS0FBSyxFQUFFLEdBQUc7YUFDWDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXNTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGVUaGVtZVNoYXJlZFJvdXRlTmFtZXMgfSBmcm9tICcuLi9lbnVtcy9yb3V0ZS1uYW1lcyc7XHJcblxyXG5leHBvcnQgY29uc3QgVEhFTUVfU0hBUkVEX1JPVVRFX1BST1ZJREVSUyA9IFtcclxuICB7IHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUiwgdXNlRmFjdG9yeTogY29uZmlndXJlUm91dGVzLCBkZXBzOiBbUm91dGVzU2VydmljZV0sIG11bHRpOiB0cnVlIH0sXHJcbl07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlUm91dGVzKHJvdXRlc1NlcnZpY2U6IFJvdXRlc1NlcnZpY2UpIHtcclxuICByZXR1cm4gKCkgPT4ge1xyXG4gICAgcm91dGVzU2VydmljZS5hZGQoW1xyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogdW5kZWZpbmVkLFxyXG4gICAgICAgIG5hbWU6IGVUaGVtZVNoYXJlZFJvdXRlTmFtZXMuQWRtaW5pc3RyYXRpb24sXHJcbiAgICAgICAgaWNvbkNsYXNzOiAnZmEgZmEtd3JlbmNoJyxcclxuICAgICAgICBvcmRlcjogMTAwLFxyXG4gICAgICB9LFxyXG4gICAgXSk7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -1,19 +0,0 @@
1
- import { TENANT_NOT_FOUND_BY_NAME } from '@abp/ng.core';
2
- import { inject } from '@angular/core';
3
- import { ConfirmationService } from '../services';
4
- export const tenantNotFoundProvider = {
5
- provide: TENANT_NOT_FOUND_BY_NAME,
6
- useFactory: function () {
7
- const confirm = inject(ConfirmationService);
8
- return (response) => {
9
- const { error } = response.error;
10
- // hide loading donut
11
- const appRoot = document.querySelector('app-root div.donut');
12
- if (appRoot) {
13
- appRoot.remove();
14
- }
15
- confirm.error(error.details, error.message, { hideCancelBtn: true, hideYesBtn: true });
16
- };
17
- },
18
- };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW5vdC1mb3VuZC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3Byb3ZpZGVycy90ZW5hbnQtbm90LWZvdW5kLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdsRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBYTtJQUM5QyxPQUFPLEVBQUUsd0JBQXdCO0lBQ2pDLFVBQVUsRUFBRTtRQUNWLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxRQUEyQixFQUFFLEVBQUU7WUFDckMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDakMscUJBQXFCO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUM3RCxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixDQUFDO1lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVEVOQU5UX05PVF9GT1VORF9CWV9OQU1FIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgaW5qZWN0LCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmV4cG9ydCBjb25zdCB0ZW5hbnROb3RGb3VuZFByb3ZpZGVyOiBQcm92aWRlciA9IHtcclxuICBwcm92aWRlOiBURU5BTlRfTk9UX0ZPVU5EX0JZX05BTUUsXHJcbiAgdXNlRmFjdG9yeTogZnVuY3Rpb24gKCkge1xyXG4gICAgY29uc3QgY29uZmlybSA9IGluamVjdChDb25maXJtYXRpb25TZXJ2aWNlKTtcclxuICAgIHJldHVybiAocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgZXJyb3IgfSA9IHJlc3BvbnNlLmVycm9yO1xyXG4gICAgICAvLyBoaWRlIGxvYWRpbmcgZG9udXRcclxuICAgICAgY29uc3QgYXBwUm9vdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2FwcC1yb290IGRpdi5kb251dCcpO1xyXG4gICAgICBpZiAoYXBwUm9vdCkge1xyXG4gICAgICAgIGFwcFJvb3QucmVtb3ZlKCk7XHJcbiAgICAgIH1cclxuICAgICAgY29uZmlybS5lcnJvcihlcnJvci5kZXRhaWxzLCBlcnJvci5tZXNzYWdlLCB7IGhpZGVDYW5jZWxCdG46IHRydWUsIGhpZGVZZXNCdG46IHRydWUgfSk7XHJcbiAgICB9O1xyXG4gIH0sXHJcbn07XHJcbiJdfQ==