@abp/ng.theme.shared 5.0.0-rc.1 → 5.1.1

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 (173) hide show
  1. package/README.md +3 -3
  2. package/{esm2015/abp-ng.theme.shared.js → esm2020/abp-ng.theme.shared.mjs} +0 -0
  3. package/{esm2015/extensions/abp-ng.theme.shared-extensions.js → esm2020/extensions/abp-ng.theme.shared-extensions.mjs} +0 -0
  4. package/esm2020/extensions/lib/adapters/date-time.adapter.mjs +44 -0
  5. package/{esm2015/extensions/lib/adapters/date.adapter.js → esm2020/extensions/lib/adapters/date.adapter.mjs} +4 -4
  6. package/{esm2015/extensions/lib/adapters/time.adapter.js → esm2020/extensions/lib/adapters/time.adapter.mjs} +4 -4
  7. package/{esm2015/extensions/lib/components/abstract-actions/abstract-actions.component.js → esm2020/extensions/lib/components/abstract-actions/abstract-actions.component.mjs} +4 -4
  8. package/{esm2015/extensions/lib/components/date-time-picker/date-time-picker.component.js → esm2020/extensions/lib/components/date-time-picker/date-time-picker.component.mjs} +40 -40
  9. package/esm2020/extensions/lib/components/extensible-form/extensible-form-prop.component.mjs +159 -0
  10. package/esm2020/extensions/lib/components/extensible-form/extensible-form.component.mjs +64 -0
  11. package/esm2020/extensions/lib/components/extensible-table/extensible-table.component.mjs +128 -0
  12. package/esm2020/extensions/lib/components/grid-actions/grid-actions.component.mjs +39 -0
  13. package/esm2020/extensions/lib/components/page-toolbar/page-toolbar.component.mjs +40 -0
  14. package/{esm2015/extensions/lib/constants/extra-properties.js → esm2020/extensions/lib/constants/extra-properties.mjs} +1 -1
  15. package/{esm2015/extensions/lib/directives/disabled.directive.js → esm2020/extensions/lib/directives/disabled.directive.mjs} +4 -4
  16. package/{esm2015/extensions/lib/directives/prop-data.directive.js → esm2020/extensions/lib/directives/prop-data.directive.mjs} +4 -4
  17. package/esm2020/extensions/lib/enums/props.enum.mjs +2 -0
  18. package/esm2020/extensions/lib/models/actions.mjs +46 -0
  19. package/esm2020/extensions/lib/models/entity-actions.mjs +29 -0
  20. package/esm2020/extensions/lib/models/entity-props.mjs +36 -0
  21. package/esm2020/extensions/lib/models/form-props.mjs +52 -0
  22. package/esm2020/extensions/lib/models/internal/object-extensions.mjs +2 -0
  23. package/{esm2015/extensions/lib/models/object-extensions.js → esm2020/extensions/lib/models/object-extensions.mjs} +1 -1
  24. package/{esm2015/extensions/lib/models/props.js → esm2020/extensions/lib/models/props.mjs} +1 -1
  25. package/esm2020/extensions/lib/models/toolbar-actions.mjs +41 -0
  26. package/{esm2015/extensions/lib/services/extensions.service.js → esm2020/extensions/lib/services/extensions.service.mjs} +4 -4
  27. package/{esm2015/extensions/lib/tokens/extensions.token.js → esm2020/extensions/lib/tokens/extensions.token.mjs} +1 -1
  28. package/{esm2015/extensions/lib/ui-extensions.module.js → esm2020/extensions/lib/ui-extensions.module.mjs} +9 -9
  29. package/esm2020/extensions/lib/utils/actions.util.mjs +9 -0
  30. package/{esm2015/extensions/lib/utils/enum.util.js → esm2020/extensions/lib/utils/enum.util.mjs} +1 -1
  31. package/{esm2015/extensions/lib/utils/factory.util.js → esm2020/extensions/lib/utils/factory.util.mjs} +1 -1
  32. package/{esm2015/extensions/lib/utils/form-props.util.js → esm2020/extensions/lib/utils/form-props.util.mjs} +1 -1
  33. package/{esm2015/extensions/lib/utils/localization.util.js → esm2020/extensions/lib/utils/localization.util.mjs} +1 -1
  34. package/esm2020/extensions/lib/utils/props.util.mjs +14 -0
  35. package/{esm2015/extensions/lib/utils/state.util.js → esm2020/extensions/lib/utils/state.util.mjs} +2 -3
  36. package/{esm2015/extensions/lib/utils/typeahead.util.js → esm2020/extensions/lib/utils/typeahead.util.mjs} +1 -1
  37. package/{esm2015/extensions/lib/utils/validation.util.js → esm2020/extensions/lib/utils/validation.util.mjs} +1 -1
  38. package/{esm2015/extensions/public-api.js → esm2020/extensions/public-api.mjs} +1 -1
  39. package/{esm2015/lib/animations/bounce.animations.js → esm2020/lib/animations/bounce.animations.mjs} +1 -1
  40. package/{esm2015/lib/animations/collapse.animations.js → esm2020/lib/animations/collapse.animations.mjs} +1 -1
  41. package/{esm2015/lib/animations/fade.animations.js → esm2020/lib/animations/fade.animations.mjs} +1 -1
  42. package/{esm2015/lib/animations/index.js → esm2020/lib/animations/index.mjs} +1 -1
  43. package/{esm2015/lib/animations/modal.animations.js → esm2020/lib/animations/modal.animations.mjs} +1 -1
  44. package/{esm2015/lib/animations/slide.animations.js → esm2020/lib/animations/slide.animations.mjs} +1 -1
  45. package/{esm2015/lib/animations/toast.animations.js → esm2020/lib/animations/toast.animations.mjs} +1 -1
  46. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +43 -0
  47. package/esm2020/lib/components/breadcrumb-items/breadcrumb-items.component.mjs +19 -0
  48. package/esm2020/lib/components/button/button.component.mjs +97 -0
  49. package/esm2020/lib/components/confirmation/confirmation.component.mjs +36 -0
  50. package/esm2020/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +59 -0
  51. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +1 -1
  52. package/{esm2015/lib/components/loader-bar/loader-bar.component.js → esm2020/lib/components/loader-bar/loader-bar.component.mjs} +28 -33
  53. package/esm2020/lib/components/loading/loading.component.mjs +47 -0
  54. package/{esm2015/lib/components/modal/modal-close.directive.js → esm2020/lib/components/modal/modal-close.directive.mjs} +5 -6
  55. package/{esm2015/lib/components/modal/modal-ref.service.js → esm2020/lib/components/modal/modal-ref.service.mjs} +4 -4
  56. package/esm2020/lib/components/modal/modal.component.mjs +189 -0
  57. package/esm2020/lib/components/toast/toast.component.mjs +55 -0
  58. package/esm2020/lib/components/toast-container/toast-container.component.mjs +43 -0
  59. package/esm2020/lib/constants/styles.mjs +182 -0
  60. package/{esm2015/lib/constants/validation.js → esm2020/lib/constants/validation.mjs} +1 -1
  61. package/{esm2015/lib/directives/ellipsis.directive.js → esm2020/lib/directives/ellipsis.directive.mjs} +8 -8
  62. package/{esm2015/lib/directives/index.js → esm2020/lib/directives/index.mjs} +1 -1
  63. package/esm2020/lib/directives/loading.directive.mjs +89 -0
  64. package/{esm2015/lib/directives/ngx-datatable-default.directive.js → esm2020/lib/directives/ngx-datatable-default.directive.mjs} +4 -4
  65. package/{esm2015/lib/directives/ngx-datatable-list.directive.js → esm2020/lib/directives/ngx-datatable-list.directive.mjs} +4 -4
  66. package/{esm2015/lib/enums/index.js → esm2020/lib/enums/index.mjs} +1 -1
  67. package/{esm2015/lib/enums/route-names.js → esm2020/lib/enums/route-names.mjs} +1 -1
  68. package/{esm2015/lib/handlers/document-dir.handler.js → esm2020/lib/handlers/document-dir.handler.mjs} +4 -4
  69. package/esm2020/lib/handlers/error.handler.mjs +286 -0
  70. package/{esm2015/lib/handlers/index.js → esm2020/lib/handlers/index.mjs} +1 -1
  71. package/esm2020/lib/models/common.mjs +2 -0
  72. package/esm2020/lib/models/confirmation.mjs +10 -0
  73. package/esm2020/lib/models/index.mjs +7 -0
  74. package/esm2020/lib/models/nav-item.mjs +7 -0
  75. package/esm2020/lib/models/statistics.mjs +2 -0
  76. package/esm2020/lib/models/toaster.mjs +2 -0
  77. package/esm2020/lib/models/user-menu.mjs +4 -0
  78. package/{esm2015/lib/providers/index.js → esm2020/lib/providers/index.mjs} +1 -1
  79. package/{esm2015/lib/providers/ng-bootstrap-config.provider.js → esm2020/lib/providers/ng-bootstrap-config.provider.mjs} +1 -1
  80. package/{esm2015/lib/providers/route.provider.js → esm2020/lib/providers/route.provider.mjs} +1 -1
  81. package/esm2020/lib/services/abstract-menu.service.mjs +50 -0
  82. package/{esm2015/lib/services/confirmation.service.js → esm2020/lib/services/confirmation.service.mjs} +4 -4
  83. package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +2 -1
  84. package/esm2020/lib/services/nav-items.service.mjs +17 -0
  85. package/esm2020/lib/services/page-alert.service.mjs +28 -0
  86. package/esm2020/lib/services/toaster.service.mjs +103 -0
  87. package/esm2020/lib/services/user-menu.service.mjs +17 -0
  88. package/esm2020/lib/theme-shared.module.mjs +162 -0
  89. package/{esm2015/lib/tokens/append-content.token.js → esm2020/lib/tokens/append-content.token.mjs} +1 -1
  90. package/esm2020/lib/tokens/http-error.token.mjs +14 -0
  91. package/{esm2015/lib/tokens/index.js → esm2020/lib/tokens/index.mjs} +1 -1
  92. package/{esm2015/lib/tokens/ngx-datatable-messages.token.js → esm2020/lib/tokens/ngx-datatable-messages.token.mjs} +1 -1
  93. package/{esm2015/lib/tokens/suppress-unsaved-changes-warning.token.js → esm2020/lib/tokens/suppress-unsaved-changes-warning.token.mjs} +1 -1
  94. package/{esm2015/lib/utils/date-parser-formatter.js → esm2020/lib/utils/date-parser-formatter.mjs} +5 -6
  95. package/{esm2015/lib/utils/index.js → esm2020/lib/utils/index.mjs} +1 -1
  96. package/{esm2015/lib/utils/validation-utils.js → esm2020/lib/utils/validation-utils.mjs} +1 -1
  97. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  98. package/{esm2015/testing/abp-ng.theme.shared-testing.js → esm2020/testing/abp-ng.theme.shared-testing.mjs} +0 -0
  99. package/{esm2015/testing/lib/models/config.js → esm2020/testing/lib/models/config.mjs} +1 -1
  100. package/{esm2015/testing/lib/models/index.js → esm2020/testing/lib/models/index.mjs} +1 -1
  101. package/esm2020/testing/lib/theme-shared-testing.module.mjs +46 -0
  102. package/{esm2015/testing/public-api.js → esm2020/testing/public-api.mjs} +1 -1
  103. package/extensions/lib/models/entity-props.d.ts +1 -1
  104. package/extensions/lib/tokens/extensions.token.d.ts +1 -1
  105. package/extensions/package.json +5 -5
  106. package/fesm2015/abp-ng.theme.shared-extensions.mjs +1329 -0
  107. package/fesm2015/abp-ng.theme.shared-extensions.mjs.map +1 -0
  108. package/fesm2015/{abp-ng.theme.shared-testing.js → abp-ng.theme.shared-testing.mjs} +5 -5
  109. package/fesm2015/abp-ng.theme.shared-testing.mjs.map +1 -0
  110. package/fesm2015/{abp-ng.theme.shared.js → abp-ng.theme.shared.mjs} +429 -430
  111. package/fesm2015/abp-ng.theme.shared.mjs.map +1 -0
  112. package/{fesm2015/abp-ng.theme.shared-extensions.js → fesm2020/abp-ng.theme.shared-extensions.mjs} +116 -135
  113. package/fesm2020/abp-ng.theme.shared-extensions.mjs.map +1 -0
  114. package/fesm2020/abp-ng.theme.shared-testing.mjs +57 -0
  115. package/fesm2020/abp-ng.theme.shared-testing.mjs.map +1 -0
  116. package/fesm2020/abp-ng.theme.shared.mjs +2202 -0
  117. package/fesm2020/abp-ng.theme.shared.mjs.map +1 -0
  118. package/lib/models/index.d.ts +2 -1
  119. package/lib/models/user-menu.d.ts +8 -0
  120. package/lib/services/abstract-menu.service.d.ts +12 -0
  121. package/lib/services/index.d.ts +1 -0
  122. package/lib/services/nav-items.service.d.ts +3 -8
  123. package/lib/services/user-menu.service.d.ts +8 -0
  124. package/package.json +39 -9
  125. package/testing/package.json +5 -5
  126. package/bundles/abp-ng.theme.shared-extensions.umd.js +0 -1904
  127. package/bundles/abp-ng.theme.shared-extensions.umd.js.map +0 -1
  128. package/bundles/abp-ng.theme.shared-testing.umd.js +0 -82
  129. package/bundles/abp-ng.theme.shared-testing.umd.js.map +0 -1
  130. package/bundles/abp-ng.theme.shared.umd.js +0 -2506
  131. package/bundles/abp-ng.theme.shared.umd.js.map +0 -1
  132. package/esm2015/extensions/lib/adapters/date-time.adapter.js +0 -34
  133. package/esm2015/extensions/lib/components/extensible-form/extensible-form-prop.component.js +0 -164
  134. package/esm2015/extensions/lib/components/extensible-form/extensible-form.component.js +0 -70
  135. package/esm2015/extensions/lib/components/extensible-table/extensible-table.component.js +0 -134
  136. package/esm2015/extensions/lib/components/grid-actions/grid-actions.component.js +0 -45
  137. package/esm2015/extensions/lib/components/page-toolbar/page-toolbar.component.js +0 -46
  138. package/esm2015/extensions/lib/enums/props.enum.js +0 -2
  139. package/esm2015/extensions/lib/models/actions.js +0 -46
  140. package/esm2015/extensions/lib/models/entity-actions.js +0 -29
  141. package/esm2015/extensions/lib/models/entity-props.js +0 -34
  142. package/esm2015/extensions/lib/models/form-props.js +0 -52
  143. package/esm2015/extensions/lib/models/internal/object-extensions.js +0 -2
  144. package/esm2015/extensions/lib/models/toolbar-actions.js +0 -41
  145. package/esm2015/extensions/lib/utils/actions.util.js +0 -9
  146. package/esm2015/extensions/lib/utils/props.util.js +0 -14
  147. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +0 -49
  148. package/esm2015/lib/components/breadcrumb-items/breadcrumb-items.component.js +0 -22
  149. package/esm2015/lib/components/button/button.component.js +0 -98
  150. package/esm2015/lib/components/confirmation/confirmation.component.js +0 -40
  151. package/esm2015/lib/components/http-error-wrapper/http-error-wrapper.component.js +0 -65
  152. package/esm2015/lib/components/loading/loading.component.js +0 -47
  153. package/esm2015/lib/components/modal/modal.component.js +0 -188
  154. package/esm2015/lib/components/toast/toast.component.js +0 -61
  155. package/esm2015/lib/components/toast-container/toast-container.component.js +0 -49
  156. package/esm2015/lib/constants/styles.js +0 -182
  157. package/esm2015/lib/directives/loading.directive.js +0 -90
  158. package/esm2015/lib/handlers/error.handler.js +0 -292
  159. package/esm2015/lib/models/common.js +0 -2
  160. package/esm2015/lib/models/confirmation.js +0 -10
  161. package/esm2015/lib/models/index.js +0 -6
  162. package/esm2015/lib/models/nav-item.js +0 -7
  163. package/esm2015/lib/models/statistics.js +0 -2
  164. package/esm2015/lib/models/toaster.js +0 -2
  165. package/esm2015/lib/services/nav-items.service.js +0 -51
  166. package/esm2015/lib/services/page-alert.service.js +0 -26
  167. package/esm2015/lib/services/toaster.service.js +0 -103
  168. package/esm2015/lib/theme-shared.module.js +0 -165
  169. package/esm2015/lib/tokens/http-error.token.js +0 -10
  170. package/esm2015/testing/lib/theme-shared-testing.module.js +0 -43
  171. package/fesm2015/abp-ng.theme.shared-extensions.js.map +0 -1
  172. package/fesm2015/abp-ng.theme.shared-testing.js.map +0 -1
  173. package/fesm2015/abp-ng.theme.shared.js.map +0 -1
@@ -1,65 +0,0 @@
1
- import { SubscriptionService } from '@abp/ng.core';
2
- import { Component, ElementRef, ViewChild, } from '@angular/core';
3
- import { fromEvent } from 'rxjs';
4
- import { debounceTime, filter } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@abp/ng.core";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "@angular/router";
9
- export class HttpErrorWrapperComponent {
10
- constructor(subscription) {
11
- this.subscription = subscription;
12
- this.status = 0;
13
- this.title = 'Oops!';
14
- this.details = 'Sorry, an error has occured.';
15
- this.customComponent = undefined;
16
- this.hideCloseIcon = false;
17
- this.isHomeShow = true;
18
- }
19
- get statusText() {
20
- return this.status ? `[${this.status}]` : '';
21
- }
22
- ngOnInit() {
23
- var _a;
24
- this.backgroundColor =
25
- ((_a = window.getComputedStyle(document.body)) === null || _a === void 0 ? void 0 : _a.getPropertyValue('background-color')) || '#fff';
26
- }
27
- ngAfterViewInit() {
28
- if (this.customComponent) {
29
- const customComponentRef = this.cfRes
30
- .resolveComponentFactory(this.customComponent)
31
- .create(this.injector);
32
- customComponentRef.instance.errorStatus = this.status;
33
- customComponentRef.instance.destroy$ = this.destroy$;
34
- this.appRef.attachView(customComponentRef.hostView);
35
- if (this.containerRef) {
36
- this.containerRef.nativeElement.appendChild(customComponentRef.hostView.rootNodes[0]);
37
- }
38
- customComponentRef.changeDetectorRef.detectChanges();
39
- }
40
- const keyup$ = fromEvent(document, 'keyup').pipe(debounceTime(150), filter((key) => key && key.key === 'Escape'));
41
- this.subscription.addOne(keyup$, () => this.destroy());
42
- }
43
- ngOnDestroy() {
44
- this.destroy();
45
- }
46
- destroy() {
47
- this.destroy$.next();
48
- this.destroy$.complete();
49
- }
50
- }
51
- HttpErrorWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpErrorWrapperComponent, deps: [{ token: i1.SubscriptionService }], target: i0.ɵɵFactoryTarget.Component });
52
- HttpErrorWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: HttpErrorWrapperComponent, selector: "abp-http-error-wrapper", providers: [SubscriptionService], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div\n #container\n id=\"abp-http-error-container\"\n class=\"error\"\n [style.backgroundColor]=\"backgroundColor\"\n>\n <button\n *ngIf=\"!hideCloseIcon\"\n id=\"abp-close-button\"\n type=\"button\"\n class=\"close me-2\"\n (click)=\"destroy()\"\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n\n <div *ngIf=\"!customComponent\" class=\"row centered\">\n <div class=\"col-md-12\">\n <div class=\"error-template\">\n <h1>{{ statusText }} {{ title | abpLocalization }}</h1>\n <div class=\"error-details\">\n {{ details | abpLocalization }}\n </div>\n <div class=\"error-actions\">\n <a\n *ngIf=\"isHomeShow\"\n (click)=\"destroy()\"\n routerLink=\"/\"\n class=\"btn btn-primary btn-md mt-2\"\n ><span class=\"glyphicon glyphicon-home\"></span>\n {{ { key: '::Menu:Home', defaultValue: 'Home' } | abpLocalization }}\n </a>\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".error{position:fixed;top:0;width:100vw;height:100vh;z-index:999999}.centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], pipes: { "abpLocalization": i1.LocalizationPipe } });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: HttpErrorWrapperComponent, decorators: [{
54
- type: Component,
55
- args: [{
56
- selector: 'abp-http-error-wrapper',
57
- templateUrl: './http-error-wrapper.component.html',
58
- styleUrls: ['http-error-wrapper.component.scss'],
59
- providers: [SubscriptionService],
60
- }]
61
- }], ctorParameters: function () { return [{ type: i1.SubscriptionService }]; }, propDecorators: { containerRef: [{
62
- type: ViewChild,
63
- args: ['container', { static: false }]
64
- }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvaHR0cC1lcnJvci13cmFwcGVyL2h0dHAtZXJyb3Itd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2h0dHAtZXJyb3Itd3JhcHBlci9odHRwLWVycm9yLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RSxPQUFPLEVBR0wsU0FBUyxFQUVULFVBQVUsRUFNVixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBVyxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVF0RCxNQUFNLE9BQU8seUJBQXlCO0lBOEJwQyxZQUFvQixZQUFpQztRQUFqQyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUF2QnJELFdBQU0sR0FBRyxDQUFDLENBQUM7UUFFWCxVQUFLLEdBQXNCLE9BQU8sQ0FBQztRQUVuQyxZQUFPLEdBQXNCLDhCQUE4QixDQUFDO1FBRTVELG9CQUFlLEdBQTBCLFNBQVMsQ0FBQztRQUluRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUl0QixlQUFVLEdBQUcsSUFBSSxDQUFDO0lBU3NDLENBQUM7SUFKekQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFJRCxRQUFROztRQUNOLElBQUksQ0FBQyxlQUFlO1lBQ2xCLENBQUEsTUFBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQywwQ0FBRSxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFJLE1BQU0sQ0FBQztJQUMzRixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLO2lCQUNsQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO2lCQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pCLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN0RCxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQ3hDLGtCQUFrQixDQUFDLFFBQWlDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUNuRSxDQUFDO2FBQ0g7WUFDRCxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0RDtRQUVELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBZ0IsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDN0QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixNQUFNLENBQUMsQ0FBQyxHQUFrQixFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FDNUQsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzt1SEFuRVUseUJBQXlCOzJHQUF6Qix5QkFBeUIsaURBRnpCLENBQUMsbUJBQW1CLENBQUMscUlDckJsQyw0aENBcUNBOzRGRGRhLHlCQUF5QjtrQkFOckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxTQUFTLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztvQkFDaEQsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDOzBHQXlCQyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2FsaXphdGlvblBhcmFtLCBTdWJzY3JpcHRpb25TZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtaHR0cC1lcnJvci13cmFwcGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtZXJyb3Itd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydodHRwLWVycm9yLXdyYXBwZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU3Vic2NyaXB0aW9uU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIGFwcFJlZiE6IEFwcGxpY2F0aW9uUmVmO1xuXG4gIGNmUmVzITogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuXG4gIGluamVjdG9yITogSW5qZWN0b3I7XG5cbiAgc3RhdHVzID0gMDtcblxuICB0aXRsZTogTG9jYWxpemF0aW9uUGFyYW0gPSAnT29wcyEnO1xuXG4gIGRldGFpbHM6IExvY2FsaXphdGlvblBhcmFtID0gJ1NvcnJ5LCBhbiBlcnJvciBoYXMgb2NjdXJlZC4nO1xuXG4gIGN1c3RvbUNvbXBvbmVudDogVHlwZTxhbnk+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIGRlc3Ryb3kkITogU3ViamVjdDx2b2lkPjtcblxuICBoaWRlQ2xvc2VJY29uID0gZmFsc2U7XG5cbiAgYmFja2dyb3VuZENvbG9yITogc3RyaW5nO1xuXG4gIGlzSG9tZVNob3cgPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjb250YWluZXJSZWY/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBnZXQgc3RhdHVzVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA/IGBbJHt0aGlzLnN0YXR1c31dYCA6ICcnO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvblNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IgPVxuICAgICAgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSk/LmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSB8fCAnI2ZmZic7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuY3VzdG9tQ29tcG9uZW50KSB7XG4gICAgICBjb25zdCBjdXN0b21Db21wb25lbnRSZWYgPSB0aGlzLmNmUmVzXG4gICAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0aGlzLmN1c3RvbUNvbXBvbmVudClcbiAgICAgICAgLmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgIGN1c3RvbUNvbXBvbmVudFJlZi5pbnN0YW5jZS5lcnJvclN0YXR1cyA9IHRoaXMuc3RhdHVzO1xuICAgICAgY3VzdG9tQ29tcG9uZW50UmVmLmluc3RhbmNlLmRlc3Ryb3kkID0gdGhpcy5kZXN0cm95JDtcbiAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY3VzdG9tQ29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgIGlmICh0aGlzLmNvbnRhaW5lclJlZikge1xuICAgICAgICB0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKFxuICAgICAgICAgIChjdXN0b21Db21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGN1c3RvbUNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgY29uc3Qga2V5dXAkID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAna2V5dXAnKS5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICBmaWx0ZXIoKGtleTogS2V5Ym9hcmRFdmVudCkgPT4ga2V5ICYmIGtleS5rZXkgPT09ICdFc2NhcGUnKSxcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZE9uZShrZXl1cCQsICgpID0+IHRoaXMuZGVzdHJveSgpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2NvbnRhaW5lclxuICBpZD1cImFicC1odHRwLWVycm9yLWNvbnRhaW5lclwiXG4gIGNsYXNzPVwiZXJyb3JcIlxuICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImJhY2tncm91bmRDb2xvclwiXG4+XG4gIDxidXR0b25cbiAgICAqbmdJZj1cIiFoaWRlQ2xvc2VJY29uXCJcbiAgICBpZD1cImFicC1jbG9zZS1idXR0b25cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiY2xvc2UgbWUtMlwiXG4gICAgKGNsaWNrKT1cImRlc3Ryb3koKVwiXG4gID5cbiAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mdGltZXM7PC9zcGFuPlxuICA8L2J1dHRvbj5cblxuICA8ZGl2ICpuZ0lmPVwiIWN1c3RvbUNvbXBvbmVudFwiIGNsYXNzPVwicm93IGNlbnRlcmVkXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yLXRlbXBsYXRlXCI+XG4gICAgICAgIDxoMT57eyBzdGF0dXNUZXh0IH19IHt7IHRpdGxlIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLWRldGFpbHNcIj5cbiAgICAgICAgICB7eyBkZXRhaWxzIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItYWN0aW9uc1wiPlxuICAgICAgICAgIDxhXG4gICAgICAgICAgICAqbmdJZj1cImlzSG9tZVNob3dcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImRlc3Ryb3koKVwiXG4gICAgICAgICAgICByb3V0ZXJMaW5rPVwiL1wiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tbWQgbXQtMlwiXG4gICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLWhvbWVcIj48L3NwYW4+XG4gICAgICAgICAgICB7eyB7IGtleTogJzo6TWVudTpIb21lJywgZGVmYXVsdFZhbHVlOiAnSG9tZScgfSB8IGFicExvY2FsaXphdGlvbiB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,47 +0,0 @@
1
- import { Component, ViewEncapsulation } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LoadingComponent {
4
- }
5
- LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: LoadingComponent, selector: "abp-loading", ngImport: i0, template: `
7
- <div class="abp-loading">
8
- <i class="fa fa-spinner fa-pulse abp-spinner"></i>
9
- </div>
10
- `, isInline: true, styles: ["\n .abp-loading {\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 1040;\n }\n\n .abp-loading .abp-spinner {\n position: absolute;\n top: 50%;\n left: 50%;\n font-size: 14px;\n -moz-transform: translateX(-50%) translateY(-50%);\n -o-transform: translateX(-50%) translateY(-50%);\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n }\n "], encapsulation: i0.ViewEncapsulation.None });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LoadingComponent, decorators: [{
12
- type: Component,
13
- args: [{
14
- selector: 'abp-loading',
15
- template: `
16
- <div class="abp-loading">
17
- <i class="fa fa-spinner fa-pulse abp-spinner"></i>
18
- </div>
19
- `,
20
- encapsulation: ViewEncapsulation.None,
21
- styles: [
22
- `
23
- .abp-loading {
24
- position: absolute;
25
- width: 100%;
26
- height: 100%;
27
- top: 0;
28
- left: 0;
29
- z-index: 1040;
30
- }
31
-
32
- .abp-loading .abp-spinner {
33
- position: absolute;
34
- top: 50%;
35
- left: 50%;
36
- font-size: 14px;
37
- -moz-transform: translateX(-50%) translateY(-50%);
38
- -o-transform: translateX(-50%) translateY(-50%);
39
- -ms-transform: translateX(-50%) translateY(-50%);
40
- -webkit-transform: translateX(-50%) translateY(-50%);
41
- transform: translateX(-50%) translateY(-50%);
42
- }
43
- `,
44
- ],
45
- }]
46
- }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFtQzdELE1BQU0sT0FBTyxnQkFBZ0I7OzhHQUFoQixnQkFBZ0I7a0dBQWhCLGdCQUFnQixtREEvQmpCOzs7O0dBSVQ7NEZBMkJVLGdCQUFnQjtrQkFqQzVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxNQUFNLEVBQUU7d0JBQ047Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXFCQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLWxvYWRpbmcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhYnAtbG9hZGluZ1wiPlxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS1zcGlubmVyIGZhLXB1bHNlIGFicC1zcGlubmVyXCI+PC9pPlxuICAgIDwvZGl2PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAuYWJwLWxvYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTA0MDtcbiAgICAgIH1cblxuICAgICAgLmFicC1sb2FkaW5nIC5hYnAtc3Bpbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nQ29tcG9uZW50IHt9XG4iXX0=
@@ -1,188 +0,0 @@
1
- import { SubscriptionService, uuid } from '@abp/ng.core';
2
- import { Component, ContentChild, EventEmitter, Inject, Input, Optional, Output, TemplateRef, ViewChild, } from '@angular/core';
3
- import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
4
- import { fromEvent, Subject } from 'rxjs';
5
- import { debounceTime, distinctUntilChanged, filter, takeUntil } from 'rxjs/operators';
6
- import { Confirmation } from '../../models/confirmation';
7
- import { ConfirmationService } from '../../services/confirmation.service';
8
- import { SUPPRESS_UNSAVED_CHANGES_WARNING } from '../../tokens/suppress-unsaved-changes-warning.token';
9
- import { ButtonComponent } from '../button/button.component';
10
- import { ModalRefService } from './modal-ref.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "../../services/confirmation.service";
13
- import * as i2 from "@abp/ng.core";
14
- import * as i3 from "@ng-bootstrap/ng-bootstrap";
15
- import * as i4 from "./modal-ref.service";
16
- import * as i5 from "@angular/common";
17
- export class ModalComponent {
18
- constructor(confirmationService, subscription, suppressUnsavedChangesWarningToken, modal, modalRefService) {
19
- this.confirmationService = confirmationService;
20
- this.subscription = subscription;
21
- this.suppressUnsavedChangesWarningToken = suppressUnsavedChangesWarningToken;
22
- this.modal = modal;
23
- this.modalRefService = modalRefService;
24
- this.options = {};
25
- this.suppressUnsavedChangesWarning = this.suppressUnsavedChangesWarningToken;
26
- this.visibleChange = new EventEmitter();
27
- this.init = new EventEmitter();
28
- this.appear = new EventEmitter();
29
- this.disappear = new EventEmitter();
30
- this._visible = false;
31
- this._busy = false;
32
- this.isConfirmationOpen = false;
33
- this.destroy$ = new Subject();
34
- this.modalIdentifier = `modal-${uuid()}`;
35
- this.toggle$ = new Subject();
36
- this.initToggleStream();
37
- }
38
- get visible() {
39
- return this._visible;
40
- }
41
- set visible(value) {
42
- if (typeof value !== 'boolean')
43
- return;
44
- this.toggle$.next(value);
45
- }
46
- get busy() {
47
- return this._busy;
48
- }
49
- set busy(value) {
50
- if (this.abpSubmit && this.abpSubmit instanceof ButtonComponent) {
51
- this.abpSubmit.loading = value;
52
- }
53
- this._busy = value;
54
- }
55
- get modalWindowRef() {
56
- return document.querySelector(`ngb-modal-window.${this.modalIdentifier}`);
57
- }
58
- get isFormDirty() {
59
- var _a;
60
- return Boolean((_a = this.modalWindowRef) === null || _a === void 0 ? void 0 : _a.querySelector('.ng-dirty'));
61
- }
62
- ngOnInit() {
63
- this.modalRefService.register(this);
64
- }
65
- dismiss(mode) {
66
- switch (mode) {
67
- case 'hard':
68
- this.visible = false;
69
- break;
70
- case 'soft':
71
- this.close();
72
- break;
73
- default:
74
- break;
75
- }
76
- }
77
- initToggleStream() {
78
- this.subscription.addOne(this.toggle$.pipe(debounceTime(0), distinctUntilChanged()), value => this.toggle(value));
79
- }
80
- toggle(value) {
81
- var _a;
82
- this._visible = value;
83
- this.visibleChange.emit(value);
84
- if (!value) {
85
- (_a = this.modalRef) === null || _a === void 0 ? void 0 : _a.dismiss();
86
- this.disappear.emit();
87
- this.destroy$.next();
88
- return;
89
- }
90
- setTimeout(() => this.listen(), 0);
91
- this.modalRef = this.modal.open(this.modalContent, Object.assign(Object.assign({ size: 'md', centered: false, keyboard: false, scrollable: true, beforeDismiss: () => {
92
- if (!this.visible)
93
- return true;
94
- this.close();
95
- return !this.visible;
96
- } }, this.options), { windowClass: `${this.options.windowClass || ''} ${this.modalIdentifier}` }));
97
- this.appear.emit();
98
- }
99
- ngOnDestroy() {
100
- this.modalRefService.unregister(this);
101
- this.toggle(false);
102
- this.destroy$.next();
103
- }
104
- close() {
105
- if (this.busy)
106
- return;
107
- if (this.isFormDirty && !this.suppressUnsavedChangesWarning) {
108
- if (this.isConfirmationOpen)
109
- return;
110
- this.isConfirmationOpen = true;
111
- this.confirmationService
112
- .warn('AbpAccount::AreYouSureYouWantToCancelEditingWarningMessage', 'AbpAccount::AreYouSure', { dismissible: false })
113
- .subscribe((status) => {
114
- this.isConfirmationOpen = false;
115
- if (status === Confirmation.Status.confirm) {
116
- this.visible = false;
117
- }
118
- });
119
- }
120
- else {
121
- this.visible = false;
122
- }
123
- }
124
- listen() {
125
- if (this.modalWindowRef) {
126
- fromEvent(this.modalWindowRef, 'keyup')
127
- .pipe(takeUntil(this.destroy$), debounceTime(150), filter((key) => key && key.key === 'Escape'))
128
- .subscribe(() => this.close());
129
- }
130
- fromEvent(window, 'beforeunload')
131
- .pipe(takeUntil(this.destroy$))
132
- .subscribe(event => {
133
- // TODO: check this
134
- if (!this.isFormDirty || this.suppressUnsavedChangesWarning) {
135
- event.preventDefault();
136
- }
137
- });
138
- this.init.emit();
139
- }
140
- }
141
- ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ModalComponent, deps: [{ token: i1.ConfirmationService }, { token: i2.SubscriptionService }, { token: SUPPRESS_UNSAVED_CHANGES_WARNING, optional: true }, { token: i3.NgbModal }, { token: i4.ModalRefService }], target: i0.ɵɵFactoryTarget.Component });
142
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ModalComponent, selector: "abp-modal", inputs: { visible: "visible", busy: "busy", options: "options", suppressUnsavedChangesWarning: "suppressUnsavedChangesWarning" }, outputs: { visibleChange: "visibleChange", init: "init", appear: "appear", disappear: "disappear" }, providers: [SubscriptionService], queries: [{ propertyName: "abpHeader", first: true, predicate: ["abpHeader"], descendants: true }, { propertyName: "abpBody", first: true, predicate: ["abpBody"], descendants: true }, { propertyName: "abpFooter", first: true, predicate: ["abpFooter"], descendants: true }, { propertyName: "abpSubmit", first: true, predicate: ButtonComponent, descendants: true, read: ButtonComponent }], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n\n<ng-template #modalContent let-modal>\n <div *ngIf=\"abpHeader\" id=\"abp-modal-header\" class=\"modal-header\">\n <ng-container *ngTemplateOutlet=\"abpHeader\"></ng-container>\n \u200B\n <button\n id=\"abp-modal-close-button\"\n type=\"button\"\n class=\"btn-sm btn-close\"\n aria-label=\"Close\"\n (click)=\"modal.dismiss()\"\n ></button>\n </div>\n <div *ngIf=\"abpBody\" id=\"abp-modal-body\" class=\"modal-body\">\n <ng-container *ngTemplateOutlet=\"abpBody\"></ng-container>\n </div>\n <div *ngIf=\"abpFooter\" id=\"abp-modal-footer\" class=\"modal-footer\">\n <ng-container *ngTemplateOutlet=\"abpFooter\"></ng-container>\n </div>\n</ng-template>\n", styles: [".modal.show{display:block!important}.modal-backdrop{opacity:.8}.modal::-webkit-scrollbar{width:7px}.modal::-webkit-scrollbar-track{background:#ddd}.modal::-webkit-scrollbar-thumb{background:#8a8686}.modal-dialog{z-index:1050}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ModalComponent, decorators: [{
144
- type: Component,
145
- args: [{
146
- selector: 'abp-modal',
147
- templateUrl: './modal.component.html',
148
- styleUrls: ['./modal.component.scss'],
149
- providers: [SubscriptionService],
150
- }]
151
- }], ctorParameters: function () { return [{ type: i1.ConfirmationService }, { type: i2.SubscriptionService }, { type: undefined, decorators: [{
152
- type: Optional
153
- }, {
154
- type: Inject,
155
- args: [SUPPRESS_UNSAVED_CHANGES_WARNING]
156
- }] }, { type: i3.NgbModal }, { type: i4.ModalRefService }]; }, propDecorators: { visible: [{
157
- type: Input
158
- }], busy: [{
159
- type: Input
160
- }], options: [{
161
- type: Input
162
- }], suppressUnsavedChangesWarning: [{
163
- type: Input
164
- }], modalContent: [{
165
- type: ViewChild,
166
- args: ['modalContent']
167
- }], abpHeader: [{
168
- type: ContentChild,
169
- args: ['abpHeader', { static: false }]
170
- }], abpBody: [{
171
- type: ContentChild,
172
- args: ['abpBody', { static: false }]
173
- }], abpFooter: [{
174
- type: ContentChild,
175
- args: ['abpFooter', { static: false }]
176
- }], abpSubmit: [{
177
- type: ContentChild,
178
- args: [ButtonComponent, { static: false, read: ButtonComponent }]
179
- }], visibleChange: [{
180
- type: Output
181
- }], init: [{
182
- type: Output
183
- }], appear: [{
184
- type: Output
185
- }], disappear: [{
186
- type: Output
187
- }] } });
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQWdDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQXNDLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBVTFGLE1BQU0sT0FBTyxjQUFjO0lBbUV6QixZQUNVLG1CQUF3QyxFQUN4QyxZQUFpQyxFQUdqQyxr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QUFJLEVBQUUsZUFBZSxFQUFFO2dCQUdwRCxhQUFhO3NCQUEvQixNQUFNO2dCQUVZLElBQUk7c0JBQXRCLE1BQU07Z0JBRVksTUFBTTtzQkFBeEIsTUFBTTtnQkFFWSxTQUFTO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uU2VydmljZSwgdXVpZCB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JNb2RhbCwgTmdiTW9kYWxPcHRpb25zLCBOZ2JNb2RhbFJlZiB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maXJtYXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29uZmlybWF0aW9uJztcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maXJtYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTVVBQUkVTU19VTlNBVkVEX0NIQU5HRVNfV0FSTklORyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zdXBwcmVzcy11bnNhdmVkLWNoYW5nZXMtd2FybmluZy50b2tlbic7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNtaXNzYWJsZU1vZGFsLCBNb2RhbERpc21pc3NNb2RlLCBNb2RhbFJlZlNlcnZpY2UgfSBmcm9tICcuL21vZGFsLXJlZi5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgTW9kYWxTaXplID0gJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbU3Vic2NyaXB0aW9uU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERpc21pc3NhYmxlTW9kYWwge1xuICBASW5wdXQoKVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykgcmV0dXJuO1xuICAgIHRoaXMudG9nZ2xlJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBidXN5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9idXN5O1xuICB9XG4gIHNldCBidXN5KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuYWJwU3VibWl0ICYmIHRoaXMuYWJwU3VibWl0IGluc3RhbmNlb2YgQnV0dG9uQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmFicFN1Ym1pdC5sb2FkaW5nID0gdmFsdWU7XG4gICAgfVxuXG4gICAgdGhpcy5fYnVzeSA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgb3B0aW9uczogTmdiTW9kYWxPcHRpb25zID0ge307XG5cbiAgQElucHV0KCkgc3VwcHJlc3NVbnNhdmVkQ2hhbmdlc1dhcm5pbmcgPSB0aGlzLnN1cHByZXNzVW5zYXZlZENoYW5nZXNXYXJuaW5nVG9rZW47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JykgbW9kYWxDb250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKCdhYnBIZWFkZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgYWJwSGVhZGVyPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKCdhYnBCb2R5JywgeyBzdGF0aWM6IGZhbHNlIH0pIGFicEJvZHk/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2FicEZvb3RlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBhYnBGb290ZXI/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoQnV0dG9uQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IEJ1dHRvbkNvbXBvbmVudCB9KVxuICBhYnBTdWJtaXQ/OiBCdXR0b25Db21wb25lbnQ7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGluaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGFwcGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZGlzYXBwZWFyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIF92aXNpYmxlID0gZmFsc2U7XG5cbiAgX2J1c3kgPSBmYWxzZTtcblxuICBtb2RhbFJlZiE6IE5nYk1vZGFsUmVmO1xuXG4gIGlzQ29uZmlybWF0aW9uT3BlbiA9IGZhbHNlO1xuXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBtb2RhbElkZW50aWZpZXIgPSBgbW9kYWwtJHt1dWlkKCl9YDtcblxuICBwcml2YXRlIHRvZ2dsZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGdldCBtb2RhbFdpbmRvd1JlZigpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbmdiLW1vZGFsLXdpbmRvdy4ke3RoaXMubW9kYWxJZGVudGlmaWVyfWApO1xuICB9XG5cbiAgZ2V0IGlzRm9ybURpcnR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMubW9kYWxXaW5kb3dSZWY/LnF1ZXJ5U2VsZWN0b3IoJy5uZy1kaXJ0eScpKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoU1VQUFJFU1NfVU5TQVZFRF9DSEFOR0VTX1dBUk5JTkcpXG4gICAgcHJpdmF0ZSBzdXBwcmVzc1Vuc2F2ZWRDaGFuZ2VzV2FybmluZ1Rva2VuOiBib29sZWFuLFxuICAgIHByaXZhdGUgbW9kYWw6IE5nYk1vZGFsLFxuICAgIHByaXZhdGUgbW9kYWxSZWZTZXJ2aWNlOiBNb2RhbFJlZlNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuaW5pdFRvZ2dsZVN0cmVhbSgpO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxSZWZTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMpO1xuICB9XG5cbiAgZGlzbWlzcyhtb2RlOiBNb2RhbERpc21pc3NNb2RlKSB7XG4gICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICBjYXNlICdoYXJkJzpcbiAgICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc29mdCc6XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRUb2dnbGVTdHJlYW0oKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkT25lKHRoaXMudG9nZ2xlJC5waXBlKGRlYm91bmNlVGltZSgwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSksIHZhbHVlID0+XG4gICAgICB0aGlzLnRvZ2dsZSh2YWx1ZSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMubW9kYWxSZWY/LmRpc21pc3MoKTtcbiAgICAgIHRoaXMuZGlzYXBwZWFyLmVtaXQoKTtcbiAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5saXN0ZW4oKSwgMCk7XG4gICAgdGhpcy5tb2RhbFJlZiA9IHRoaXMubW9kYWwub3Blbih0aGlzLm1vZGFsQ29udGVudCwge1xuICAgICAgc2l6ZTogJ21kJyxcbiAgICAgIGNlbnRlcmVkOiBmYWxzZSxcbiAgICAgIGtleWJvYXJkOiBmYWxzZSxcbiAgICAgIHNjcm9sbGFibGU6IHRydWUsXG4gICAgICBiZWZvcmVEaXNtaXNzOiAoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy52aXNpYmxlKSByZXR1cm4gdHJ1ZTtcblxuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIHJldHVybiAhdGhpcy52aXNpYmxlO1xuICAgICAgfSxcbiAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIHdpbmRvd0NsYXNzOiBgJHt0aGlzLm9wdGlvbnMud2luZG93Q2xhc3MgfHwgJyd9ICR7dGhpcy5tb2RhbElkZW50aWZpZXJ9YCxcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwZWFyLmVtaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWxSZWZTZXJ2aWNlLnVucmVnaXN0ZXIodGhpcyk7XG4gICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMuYnVzeSkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMuaXNGb3JtRGlydHkgJiYgIXRoaXMuc3VwcHJlc3NVbnNhdmVkQ2hhbmdlc1dhcm5pbmcpIHtcbiAgICAgIGlmICh0aGlzLmlzQ29uZmlybWF0aW9uT3BlbikgcmV0dXJuO1xuXG4gICAgICB0aGlzLmlzQ29uZmlybWF0aW9uT3BlbiA9IHRydWU7XG4gICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgICAgLndhcm4oXG4gICAgICAgICAgJ0FicEFjY291bnQ6OkFyZVlvdVN1cmVZb3VXYW50VG9DYW5jZWxFZGl0aW5nV2FybmluZ01lc3NhZ2UnLFxuICAgICAgICAgICdBYnBBY2NvdW50OjpBcmVZb3VTdXJlJyxcbiAgICAgICAgICB7IGRpc21pc3NpYmxlOiBmYWxzZSB9LFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogQ29uZmlybWF0aW9uLlN0YXR1cykgPT4ge1xuICAgICAgICAgIHRoaXMuaXNDb25maXJtYXRpb25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBsaXN0ZW4oKSB7XG4gICAgaWYgKHRoaXMubW9kYWxXaW5kb3dSZWYpIHtcbiAgICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pih0aGlzLm1vZGFsV2luZG93UmVmLCAna2V5dXAnKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDE1MCksXG4gICAgICAgICAgZmlsdGVyKChrZXk6IEtleWJvYXJkRXZlbnQpID0+IGtleSAmJiBrZXkua2V5ID09PSAnRXNjYXBlJyksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgIH1cblxuICAgIGZyb21FdmVudCh3aW5kb3csICdiZWZvcmV1bmxvYWQnKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIC8vIFRPRE86IGNoZWNrIHRoaXNcbiAgICAgICAgaWYgKCF0aGlzLmlzRm9ybURpcnR5IHx8IHRoaXMuc3VwcHJlc3NVbnNhdmVkQ2hhbmdlc1dhcm5pbmcpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuaW5pdC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuPG5nLXRlbXBsYXRlICNtb2RhbENvbnRlbnQgbGV0LW1vZGFsPlxuICA8ZGl2ICpuZ0lmPVwiYWJwSGVhZGVyXCIgaWQ9XCJhYnAtbW9kYWwtaGVhZGVyXCIgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWJwSGVhZGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAg4oCLXG4gICAgPGJ1dHRvblxuICAgICAgaWQ9XCJhYnAtbW9kYWwtY2xvc2UtYnV0dG9uXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJidG4tc20gYnRuLWNsb3NlXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZVwiXG4gICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCJcbiAgICA+PC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiYWJwQm9keVwiIGlkPVwiYWJwLW1vZGFsLWJvZHlcIiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWJwQm9keVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cImFicEZvb3RlclwiIGlkPVwiYWJwLW1vZGFsLWZvb3RlclwiIGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFicEZvb3RlclwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,61 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@abp/ng.core";
5
- export class ToastComponent {
6
- constructor() {
7
- this.remove = new EventEmitter();
8
- }
9
- get severityClass() {
10
- if (!this.toast || !this.toast.severity)
11
- return '';
12
- return `abp-toast-${this.toast.severity}`;
13
- }
14
- get iconClass() {
15
- switch (this.toast.severity) {
16
- case 'success':
17
- return 'fa-check-circle';
18
- case 'info':
19
- return 'fa-info-circle';
20
- case 'warning':
21
- return 'fa-exclamation-triangle';
22
- case 'error':
23
- return 'fa-times-circle';
24
- default:
25
- return 'fa-exclamation-circle';
26
- }
27
- }
28
- ngOnInit() {
29
- const { sticky, life } = this.toast.options || {};
30
- if (sticky)
31
- return;
32
- const timeout = life || 5000;
33
- setTimeout(() => {
34
- this.close();
35
- }, timeout);
36
- }
37
- close() {
38
- var _a;
39
- this.remove.emit((_a = this.toast.options) === null || _a === void 0 ? void 0 : _a.id);
40
- }
41
- tap() {
42
- var _a;
43
- if ((_a = this.toast.options) === null || _a === void 0 ? void 0 : _a.tapToDismiss)
44
- this.close();
45
- }
46
- }
47
- ToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
- ToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ToastComponent, selector: "abp-toast", inputs: { toast: "toast" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"abp-toast\" [ngClass]=\"severityClass\" (click)=\"tap()\">\n <div class=\"abp-toast-icon\">\n <i class=\"fa icon\" [ngClass]=\"iconClass\"></i>\n </div>\n <div class=\"abp-toast-content\">\n <button class=\"abp-toast-close-button\" (click)=\"close()\" *ngIf=\"toast.options?.closable\">\n <i class=\"fa fa-times\"></i>\n </button>\n <div class=\"abp-toast-title\">\n {{ toast.title | abpLocalization: toast.options?.titleLocalizationParams }}\n </div>\n <p\n class=\"abp-toast-message\"\n [innerHTML]=\"toast.message | abpLocalization: toast.options?.messageLocalizationParams\"\n ></p>\n </div>\n</div>\n", styles: [".abp-toast{display:grid;grid-template-columns:50px 1fr;grid-gap:10px;gap:10px;margin:5px 0;padding:10px;border-radius:0;width:350px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9999;border:2px solid #f0f0f0;background-color:#f0f0f0;color:#000;box-shadow:0 0 10px -5px #0006;opacity:1}.abp-toast:hover{border:2px solid #e3e3e3;background-color:#e3e3e3;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-success{border:2px solid #51a351;background-color:#51a351;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-success:hover{border:2px solid #499249;background-color:#499249;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-info{border:2px solid #2f96b4;background-color:#2f96b4;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-info:hover{border:2px solid #2a85a0;background-color:#2a85a0;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-warning{border:2px solid #f89406;background-color:#f89406;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-warning:hover{border:2px solid #df8505;background-color:#df8505;box-shadow:0 0 15px -5px #0006}.abp-toast.abp-toast-error{border:2px solid #bd362f;background-color:#bd362f;color:#fff;box-shadow:0 0 10px -5px #0006}.abp-toast.abp-toast-error:hover{border:2px solid #a9302a;background-color:#a9302a;box-shadow:0 0 15px -5px #0006}.abp-toast .abp-toast-icon{display:flex;align-items:center;justify-content:center}.abp-toast .abp-toast-icon .icon{font-size:36px}.abp-toast .abp-toast-content{position:relative}.abp-toast .abp-toast-content .abp-toast-close-button{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 5px 0 0;width:25px;height:25px;border:none;border-radius:50%;background:transparent;color:inherit}.abp-toast .abp-toast-content .abp-toast-close-button:focus{outline:none}.abp-toast .abp-toast-content .abp-toast-title{margin:0;padding:0;font-size:1rem;font-weight:600}.abp-toast .abp-toast-content .abp-toast-message{margin:0;padding:0;max-width:240px}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "abpLocalization": i2.LocalizationPipe } });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ToastComponent, decorators: [{
50
- type: Component,
51
- args: [{
52
- selector: 'abp-toast',
53
- templateUrl: './toast.component.html',
54
- styleUrls: ['./toast.component.scss'],
55
- }]
56
- }], propDecorators: { toast: [{
57
- type: Input
58
- }], remove: [{
59
- type: Output
60
- }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPL0UsTUFBTSxPQUFPLGNBQWM7SUFMM0I7UUFTWSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQXVDL0M7SUFyQ0MsSUFBSSxhQUFhO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNuRCxPQUFPLGFBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUMzQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxpQkFBaUIsQ0FBQztZQUMzQixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxnQkFBZ0IsQ0FBQztZQUMxQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyx5QkFBeUIsQ0FBQztZQUNuQyxLQUFLLE9BQU87Z0JBQ1YsT0FBTyxpQkFBaUIsQ0FBQztZQUMzQjtnQkFDRSxPQUFPLHVCQUF1QixDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUVsRCxJQUFJLE1BQU07WUFBRSxPQUFPO1FBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLOztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLDBDQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxHQUFHOztRQUNELElBQUksTUFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sMENBQUUsWUFBWTtZQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyRCxDQUFDOzs0R0ExQ1UsY0FBYztnR0FBZCxjQUFjLDRHQ1AzQix5cEJBaUJBOzRGRFZhLGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2lCQUN0Qzs4QkFHQyxLQUFLO3NCQURKLEtBQUs7Z0JBR0ksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9hc3RlciB9IGZyb20gJy4uLy4uL21vZGVscy90b2FzdGVyJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC10b2FzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RvYXN0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgdG9hc3QhOiBUb2FzdGVyLlRvYXN0O1xuXG4gIEBPdXRwdXQoKSByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBnZXQgc2V2ZXJpdHlDbGFzcygpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy50b2FzdCB8fCAhdGhpcy50b2FzdC5zZXZlcml0eSkgcmV0dXJuICcnO1xuICAgIHJldHVybiBgYWJwLXRvYXN0LSR7dGhpcy50b2FzdC5zZXZlcml0eX1gO1xuICB9XG5cbiAgZ2V0IGljb25DbGFzcygpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy50b2FzdC5zZXZlcml0eSkge1xuICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgIHJldHVybiAnZmEtY2hlY2stY2lyY2xlJztcbiAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICByZXR1cm4gJ2ZhLWluZm8tY2lyY2xlJztcbiAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICByZXR1cm4gJ2ZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlJztcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgcmV0dXJuICdmYS10aW1lcy1jaXJjbGUnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdmYS1leGNsYW1hdGlvbi1jaXJjbGUnO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHsgc3RpY2t5LCBsaWZlIH0gPSB0aGlzLnRvYXN0Lm9wdGlvbnMgfHwge307XG5cbiAgICBpZiAoc3RpY2t5KSByZXR1cm47XG4gICAgY29uc3QgdGltZW91dCA9IGxpZmUgfHwgNTAwMDtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9LCB0aW1lb3V0KTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMucmVtb3ZlLmVtaXQodGhpcy50b2FzdC5vcHRpb25zPy5pZCk7XG4gIH1cblxuICB0YXAoKSB7XG4gICAgaWYgKHRoaXMudG9hc3Qub3B0aW9ucz8udGFwVG9EaXNtaXNzKSB0aGlzLmNsb3NlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhYnAtdG9hc3RcIiBbbmdDbGFzc109XCJzZXZlcml0eUNsYXNzXCIgKGNsaWNrKT1cInRhcCgpXCI+XG4gIDxkaXYgY2xhc3M9XCJhYnAtdG9hc3QtaWNvblwiPlxuICAgIDxpIGNsYXNzPVwiZmEgaWNvblwiIFtuZ0NsYXNzXT1cImljb25DbGFzc1wiPjwvaT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhYnAtdG9hc3QtY29udGVudFwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJhYnAtdG9hc3QtY2xvc2UtYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlKClcIiAqbmdJZj1cInRvYXN0Lm9wdGlvbnM/LmNsb3NhYmxlXCI+XG4gICAgICA8aSBjbGFzcz1cImZhIGZhLXRpbWVzXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJhYnAtdG9hc3QtdGl0bGVcIj5cbiAgICAgIHt7IHRvYXN0LnRpdGxlIHwgYWJwTG9jYWxpemF0aW9uOiB0b2FzdC5vcHRpb25zPy50aXRsZUxvY2FsaXphdGlvblBhcmFtcyB9fVxuICAgIDwvZGl2PlxuICAgIDxwXG4gICAgICBjbGFzcz1cImFicC10b2FzdC1tZXNzYWdlXCJcbiAgICAgIFtpbm5lckhUTUxdPVwidG9hc3QubWVzc2FnZSB8IGFicExvY2FsaXphdGlvbjogdG9hc3Qub3B0aW9ucz8ubWVzc2FnZUxvY2FsaXphdGlvblBhcmFtc1wiXG4gICAgPjwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { toastInOut } from '../../animations/toast.animations';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../toast/toast.component";
5
- import * as i2 from "@angular/common";
6
- export class ToastContainerComponent {
7
- constructor() {
8
- this.toasts = [];
9
- this.right = '30px';
10
- this.bottom = '30px';
11
- }
12
- ngOnInit() {
13
- this.toasts$.subscribe(toasts => {
14
- this.toasts = this.toastKey
15
- ? toasts.filter(t => {
16
- return t.options && t.options.containerKey !== this.toastKey;
17
- })
18
- : toasts;
19
- });
20
- }
21
- trackByFunc(index, toast) {
22
- var _a;
23
- if (!toast)
24
- return null;
25
- return (_a = toast.options) === null || _a === void 0 ? void 0 : _a.id;
26
- }
27
- }
28
- ToastContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- ToastContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ToastContainerComponent, selector: "abp-toast-container", inputs: { top: "top", right: "right", bottom: "bottom", left: "left", toastKey: "toastKey" }, ngImport: i0, template: "<div\n class=\"abp-toast-container\"\n [style.top]=\"top || 'auto'\"\n [style.right]=\"right || 'auto'\"\n [style.bottom]=\"bottom || 'auto'\"\n [style.left]=\"left || 'auto'\"\n [style.display]=\"toasts.length ? 'flex' : 'none'\"\n [@toastInOut]=\"toasts.length\"\n>\n <abp-toast\n [toast]=\"toast\"\n *ngFor=\"let toast of toasts; trackBy: trackByFunc\"\n (remove)=\"remove($event)\"\n ></abp-toast>\n</div>\n", styles: [".abp-toast-container{position:fixed;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:350px;min-height:80px;z-index:1900}.abp-toast-container.new-on-top{flex-direction:column-reverse}\n"], components: [{ type: i1.ToastComponent, selector: "abp-toast", inputs: ["toast"], outputs: ["remove"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], animations: [toastInOut] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ToastContainerComponent, decorators: [{
31
- type: Component,
32
- args: [{
33
- selector: 'abp-toast-container',
34
- templateUrl: './toast-container.component.html',
35
- styleUrls: ['./toast-container.component.scss'],
36
- animations: [toastInOut],
37
- }]
38
- }], propDecorators: { top: [{
39
- type: Input
40
- }], right: [{
41
- type: Input
42
- }], bottom: [{
43
- type: Input
44
- }], left: [{
45
- type: Input
46
- }], toastKey: [{
47
- type: Input
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QtY29udGFpbmVyL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0LWNvbnRhaW5lci90b2FzdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7O0FBUy9ELE1BQU0sT0FBTyx1QkFBdUI7SUFOcEM7UUFXRSxXQUFNLEdBQUcsRUFBcUIsQ0FBQztRQU0vQixVQUFLLEdBQUcsTUFBTSxDQUFDO1FBR2YsV0FBTSxHQUFHLE1BQU0sQ0FBQztLQXNCakI7SUFkQyxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUTtnQkFDekIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2hCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUMvRCxDQUFDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhLEVBQUUsS0FBb0I7O1FBQzdDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEIsT0FBTyxNQUFBLEtBQUssQ0FBQyxPQUFPLDBDQUFFLEVBQUUsQ0FBQztJQUMzQixDQUFDOztxSEFuQ1UsdUJBQXVCO3lHQUF2Qix1QkFBdUIseUpDWHBDLCthQWVBLDhkRE5jLENBQUMsVUFBVSxDQUFDOzRGQUViLHVCQUF1QjtrQkFObkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztvQkFDL0MsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDO2lCQUN6Qjs4QkFTQyxHQUFHO3NCQURGLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0b2FzdEluT3V0IH0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucy90b2FzdC5hbmltYXRpb25zJztcbmltcG9ydCB7IFRvYXN0ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdG9hc3Rlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC10b2FzdC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFt0b2FzdEluT3V0XSxcbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB0b2FzdHMkITogUmVwbGF5U3ViamVjdDxUb2FzdGVyLlRvYXN0W10+O1xuXG4gIHJlbW92ZSE6ICh0b2FzdElkOiBudW1iZXIpID0+IHZvaWQ7XG5cbiAgdG9hc3RzID0gW10gYXMgVG9hc3Rlci5Ub2FzdFtdO1xuXG4gIEBJbnB1dCgpXG4gIHRvcD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICByaWdodCA9ICczMHB4JztcblxuICBASW5wdXQoKVxuICBib3R0b20gPSAnMzBweCc7XG5cbiAgQElucHV0KClcbiAgbGVmdD86IHN0cmluZztcblxuICBASW5wdXQoKVxuICB0b2FzdEtleT86IHN0cmluZztcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRvYXN0cyQuc3Vic2NyaWJlKHRvYXN0cyA9PiB7XG4gICAgICB0aGlzLnRvYXN0cyA9IHRoaXMudG9hc3RLZXlcbiAgICAgICAgPyB0b2FzdHMuZmlsdGVyKHQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHQub3B0aW9ucyAmJiB0Lm9wdGlvbnMuY29udGFpbmVyS2V5ICE9PSB0aGlzLnRvYXN0S2V5O1xuICAgICAgICAgIH0pXG4gICAgICAgIDogdG9hc3RzO1xuICAgIH0pO1xuICB9XG5cbiAgdHJhY2tCeUZ1bmMoaW5kZXg6IG51bWJlciwgdG9hc3Q6IFRvYXN0ZXIuVG9hc3QpIHtcbiAgICBpZiAoIXRvYXN0KSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdG9hc3Qub3B0aW9ucz8uaWQ7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhYnAtdG9hc3QtY29udGFpbmVyXCJcbiAgW3N0eWxlLnRvcF09XCJ0b3AgfHwgJ2F1dG8nXCJcbiAgW3N0eWxlLnJpZ2h0XT1cInJpZ2h0IHx8ICdhdXRvJ1wiXG4gIFtzdHlsZS5ib3R0b21dPVwiYm90dG9tIHx8ICdhdXRvJ1wiXG4gIFtzdHlsZS5sZWZ0XT1cImxlZnQgfHwgJ2F1dG8nXCJcbiAgW3N0eWxlLmRpc3BsYXldPVwidG9hc3RzLmxlbmd0aCA/ICdmbGV4JyA6ICdub25lJ1wiXG4gIFtAdG9hc3RJbk91dF09XCJ0b2FzdHMubGVuZ3RoXCJcbj5cbiAgPGFicC10b2FzdFxuICAgIFt0b2FzdF09XCJ0b2FzdFwiXG4gICAgKm5nRm9yPVwibGV0IHRvYXN0IG9mIHRvYXN0czsgdHJhY2tCeTogdHJhY2tCeUZ1bmNcIlxuICAgIChyZW1vdmUpPVwicmVtb3ZlKCRldmVudClcIlxuICA+PC9hYnAtdG9hc3Q+XG48L2Rpdj5cbiJdfQ==