@abp/ng.theme.basic 7.2.1 → 7.3.0-rc.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 (92) hide show
  1. package/{esm2020 → esm2022}/abp-ng.theme.basic.mjs +4 -4
  2. package/esm2022/lib/components/account-layout/account-layout.component.mjs +32 -0
  3. package/esm2022/lib/components/account-layout/auth-wrapper/auth-wrapper.component.mjs +20 -0
  4. package/esm2022/lib/components/account-layout/tenant-box/tenant-box.component.mjs +21 -0
  5. package/esm2022/lib/components/application-layout/application-layout.component.mjs +31 -0
  6. package/esm2022/lib/components/empty-layout/empty-layout.component.mjs +24 -0
  7. package/{esm2020 → esm2022}/lib/components/index.mjs +12 -12
  8. package/esm2022/lib/components/logo/logo.component.mjs +53 -0
  9. package/esm2022/lib/components/nav-items/current-user.component.mjs +40 -0
  10. package/esm2022/lib/components/nav-items/languages.component.mjs +108 -0
  11. package/{esm2020 → esm2022}/lib/components/nav-items/nav-items.component.mjs +20 -19
  12. package/esm2022/lib/components/page-alert-container/page-alert-container.component.mjs +19 -0
  13. package/esm2022/lib/components/routes/routes.component.mjs +38 -0
  14. package/esm2022/lib/components/validation-error/validation-error.component.mjs +45 -0
  15. package/{esm2020 → esm2022}/lib/constants/styles.mjs +1 -1
  16. package/{esm2020 → esm2022}/lib/enums/components.mjs +1 -1
  17. package/{esm2020 → esm2022}/lib/enums/index.mjs +2 -2
  18. package/{esm2020 → esm2022}/lib/enums/user-menu-items.mjs +1 -1
  19. package/{esm2020 → esm2022}/lib/handlers/index.mjs +1 -1
  20. package/esm2022/lib/handlers/lazy-style.handler.mjs +83 -0
  21. package/{esm2020 → esm2022}/lib/models/index.mjs +1 -1
  22. package/{esm2020 → esm2022}/lib/models/layout.mjs +1 -1
  23. package/{esm2020 → esm2022}/lib/providers/index.mjs +3 -3
  24. package/{esm2020 → esm2022}/lib/providers/nav-item.provider.mjs +28 -28
  25. package/{esm2020 → esm2022}/lib/providers/styles.provider.mjs +34 -34
  26. package/{esm2020 → esm2022}/lib/providers/user-menu.provider.mjs +40 -40
  27. package/esm2022/lib/services/layout.service.mjs +42 -0
  28. package/esm2022/lib/theme-basic.module.mjs +128 -0
  29. package/{esm2020 → esm2022}/lib/tokens/index.mjs +1 -1
  30. package/{esm2020 → esm2022}/lib/tokens/lazy-styles.token.mjs +2 -2
  31. package/{esm2020 → esm2022}/public-api.mjs +10 -10
  32. package/{esm2020 → esm2022}/testing/abp-ng.theme.basic-testing.mjs +4 -4
  33. package/esm2022/testing/lib/theme-basic-testing.module.mjs +39 -0
  34. package/{esm2020 → esm2022}/testing/public-api.mjs +1 -1
  35. package/{fesm2015 → fesm2022}/abp-ng.theme.basic-testing.mjs +34 -34
  36. package/{fesm2015 → fesm2022}/abp-ng.theme.basic-testing.mjs.map +1 -1
  37. package/{fesm2020 → fesm2022}/abp-ng.theme.basic.mjs +520 -520
  38. package/{fesm2020 → fesm2022}/abp-ng.theme.basic.mjs.map +1 -1
  39. package/index.d.ts +5 -5
  40. package/lib/components/account-layout/account-layout.component.d.ts +13 -13
  41. package/lib/components/account-layout/auth-wrapper/auth-wrapper.component.d.ts +8 -8
  42. package/lib/components/account-layout/tenant-box/tenant-box.component.d.ts +8 -8
  43. package/lib/components/application-layout/application-layout.component.d.ts +12 -12
  44. package/lib/components/empty-layout/empty-layout.component.d.ts +7 -7
  45. package/lib/components/index.d.ts +12 -12
  46. package/lib/components/logo/logo.component.d.ts +9 -9
  47. package/lib/components/nav-items/current-user.component.d.ts +21 -21
  48. package/lib/components/nav-items/languages.component.d.ts +16 -16
  49. package/lib/components/nav-items/nav-items.component.d.ts +10 -10
  50. package/lib/components/page-alert-container/page-alert-container.component.d.ts +8 -8
  51. package/lib/components/routes/routes.component.d.ts +18 -18
  52. package/lib/components/validation-error/validation-error.component.d.ts +9 -9
  53. package/lib/constants/styles.d.ts +2 -2
  54. package/lib/enums/components.d.ts +10 -10
  55. package/lib/enums/index.d.ts +2 -2
  56. package/lib/enums/user-menu-items.d.ts +4 -4
  57. package/lib/handlers/index.d.ts +1 -1
  58. package/lib/handlers/lazy-style.handler.d.ts +23 -23
  59. package/lib/models/index.d.ts +1 -1
  60. package/lib/models/layout.d.ts +11 -11
  61. package/lib/providers/index.d.ts +3 -3
  62. package/lib/providers/nav-item.provider.d.ts +8 -8
  63. package/lib/providers/styles.provider.d.ts +8 -8
  64. package/lib/providers/user-menu.provider.d.ts +8 -8
  65. package/lib/services/layout.service.d.ts +18 -18
  66. package/lib/theme-basic.module.d.ts +32 -32
  67. package/lib/tokens/index.d.ts +1 -1
  68. package/lib/tokens/lazy-styles.token.d.ts +2 -2
  69. package/package.json +11 -19
  70. package/public-api.d.ts +7 -7
  71. package/testing/index.d.ts +5 -5
  72. package/testing/lib/theme-basic-testing.module.d.ts +9 -9
  73. package/testing/public-api.d.ts +1 -1
  74. package/esm2020/lib/components/account-layout/account-layout.component.mjs +0 -32
  75. package/esm2020/lib/components/account-layout/auth-wrapper/auth-wrapper.component.mjs +0 -19
  76. package/esm2020/lib/components/account-layout/tenant-box/tenant-box.component.mjs +0 -20
  77. package/esm2020/lib/components/application-layout/application-layout.component.mjs +0 -31
  78. package/esm2020/lib/components/empty-layout/empty-layout.component.mjs +0 -23
  79. package/esm2020/lib/components/logo/logo.component.mjs +0 -52
  80. package/esm2020/lib/components/nav-items/current-user.component.mjs +0 -39
  81. package/esm2020/lib/components/nav-items/languages.component.mjs +0 -107
  82. package/esm2020/lib/components/page-alert-container/page-alert-container.component.mjs +0 -18
  83. package/esm2020/lib/components/routes/routes.component.mjs +0 -37
  84. package/esm2020/lib/components/validation-error/validation-error.component.mjs +0 -44
  85. package/esm2020/lib/handlers/lazy-style.handler.mjs +0 -82
  86. package/esm2020/lib/services/layout.service.mjs +0 -41
  87. package/esm2020/lib/theme-basic.module.mjs +0 -126
  88. package/esm2020/testing/lib/theme-basic-testing.module.mjs +0 -38
  89. package/fesm2015/abp-ng.theme.basic.mjs +0 -834
  90. package/fesm2015/abp-ng.theme.basic.mjs.map +0 -1
  91. package/fesm2020/abp-ng.theme.basic-testing.mjs +0 -45
  92. package/fesm2020/abp-ng.theme.basic-testing.mjs.map +0 -1
@@ -0,0 +1,19 @@
1
+ import { Component, ViewEncapsulation } from '@angular/core';
2
+ import { PageAlertService } from '@abp/ng.theme.shared';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@abp/ng.theme.shared";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@abp/ng.core";
7
+ class PageAlertContainerComponent {
8
+ constructor(service) {
9
+ this.service = service;
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageAlertContainerComponent, deps: [{ token: i1.PageAlertService }], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: PageAlertContainerComponent, selector: "abp-page-alert-container", ngImport: i0, template: "<ng-container *ngFor=\"let alert of service.alerts$ | async; let i = index\">\r\n <div\r\n class=\"alert alert-{{ alert.type }} fade show\"\r\n [ngClass]=\"{ 'alert-dismissible fade show': alert.dismissible }\"\r\n role=\"alert\"\r\n >\r\n <h4\r\n class=\"alert-heading\"\r\n *ngIf=\"alert.title\"\r\n [innerHTML]=\"alert.title | abpSafeHtml | abpLocalization: alert.titleLocalizationParams\"\r\n ></h4>\r\n <span\r\n [innerHTML]=\"alert.message | abpSafeHtml | abpLocalization: alert.messageLocalizationParams\"\r\n ></span>\r\n <button\r\n *ngIf=\"alert.dismissible\"\r\n type=\"button\"\r\n class=\"btn-close\"\r\n data-dismiss=\"alert\"\r\n aria-label=\"Close\"\r\n (click)=\"service.remove(i)\"\r\n ></button>\r\n </div>\r\n</ng-container>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }, { kind: "pipe", type: i3.SafeHtmlPipe, name: "abpSafeHtml" }], encapsulation: i0.ViewEncapsulation.None }); }
13
+ }
14
+ export { PageAlertContainerComponent };
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageAlertContainerComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'abp-page-alert-container', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngFor=\"let alert of service.alerts$ | async; let i = index\">\r\n <div\r\n class=\"alert alert-{{ alert.type }} fade show\"\r\n [ngClass]=\"{ 'alert-dismissible fade show': alert.dismissible }\"\r\n role=\"alert\"\r\n >\r\n <h4\r\n class=\"alert-heading\"\r\n *ngIf=\"alert.title\"\r\n [innerHTML]=\"alert.title | abpSafeHtml | abpLocalization: alert.titleLocalizationParams\"\r\n ></h4>\r\n <span\r\n [innerHTML]=\"alert.message | abpSafeHtml | abpLocalization: alert.messageLocalizationParams\"\r\n ></span>\r\n <button\r\n *ngIf=\"alert.dismissible\"\r\n type=\"button\"\r\n class=\"btn-close\"\r\n data-dismiss=\"alert\"\r\n aria-label=\"Close\"\r\n (click)=\"service.remove(i)\"\r\n ></button>\r\n </div>\r\n</ng-container>\r\n" }]
18
+ }], ctorParameters: function () { return [{ type: i1.PageAlertService }]; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1hbGVydC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtYWxlcnQtY29udGFpbmVyL3BhZ2UtYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9wYWdlLWFsZXJ0LWNvbnRhaW5lci9wYWdlLWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQUV4RCxNQUthLDJCQUEyQjtJQUN0QyxZQUFtQixPQUF5QjtRQUF6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUFHLENBQUM7OEdBRHJDLDJCQUEyQjtrR0FBM0IsMkJBQTJCLGdFQ1J4Qyw4ekJBd0JBOztTRGhCYSwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEIsaUJBRXJCLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBhZ2VBbGVydFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1wYWdlLWFsZXJ0LWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UtYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZTogUGFnZUFsZXJ0U2VydmljZSkge31cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhbGVydCBvZiBzZXJ2aWNlLmFsZXJ0cyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQte3sgYWxlcnQudHlwZSB9fSBmYWRlIHNob3dcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAnYWxlcnQtZGlzbWlzc2libGUgZmFkZSBzaG93JzogYWxlcnQuZGlzbWlzc2libGUgfVwiXHJcbiAgICByb2xlPVwiYWxlcnRcIlxyXG4gID5cclxuICAgIDxoNFxyXG4gICAgICBjbGFzcz1cImFsZXJ0LWhlYWRpbmdcIlxyXG4gICAgICAqbmdJZj1cImFsZXJ0LnRpdGxlXCJcclxuICAgICAgW2lubmVySFRNTF09XCJhbGVydC50aXRsZSB8IGFicFNhZmVIdG1sIHwgYWJwTG9jYWxpemF0aW9uOiBhbGVydC50aXRsZUxvY2FsaXphdGlvblBhcmFtc1wiXHJcbiAgICA+PC9oND5cclxuICAgIDxzcGFuXHJcbiAgICAgIFtpbm5lckhUTUxdPVwiYWxlcnQubWVzc2FnZSB8IGFicFNhZmVIdG1sIHwgYWJwTG9jYWxpemF0aW9uOiBhbGVydC5tZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zXCJcclxuICAgID48L3NwYW4+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiYWxlcnQuZGlzbWlzc2libGVcIlxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgY2xhc3M9XCJidG4tY2xvc2VcIlxyXG4gICAgICBkYXRhLWRpc21pc3M9XCJhbGVydFwiXHJcbiAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZVwiXHJcbiAgICAgIChjbGljayk9XCJzZXJ2aWNlLnJlbW92ZShpKVwiXHJcbiAgICA+PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { RoutesService } from '@abp/ng.core';
2
+ import { Component, Input, QueryList, Renderer2, ViewChildren, } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@abp/ng.core";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/router";
7
+ import * as i4 from "@abp/ng.theme.shared";
8
+ import * as i5 from "@ng-bootstrap/ng-bootstrap";
9
+ class RoutesComponent {
10
+ constructor(routesService, renderer) {
11
+ this.routesService = routesService;
12
+ this.renderer = renderer;
13
+ this.rootDropdownExpand = {};
14
+ this.trackByFn = (_, item) => item.name;
15
+ }
16
+ isDropdown(node) {
17
+ return !node?.isLeaf || this.routesService.hasChildren(node.name);
18
+ }
19
+ closeDropdown() {
20
+ this.childrenContainers.forEach(({ nativeElement }) => {
21
+ this.renderer.addClass(nativeElement, 'd-none');
22
+ setTimeout(() => this.renderer.removeClass(nativeElement, 'd-none'), 0);
23
+ });
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RoutesComponent, deps: [{ token: i1.RoutesService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: RoutesComponent, selector: "abp-routes", inputs: { smallScreen: "smallScreen" }, viewQueries: [{ propertyName: "childrenContainers", predicate: ["childrenContainer"], descendants: true }], ngImport: i0, template: "<ul class=\"navbar-nav\">\r\n <ng-container\r\n *ngFor=\"let route of routesService.visible$ | async; trackBy: trackByFn\"\r\n [ngTemplateOutlet]=\"isDropdown(route) ? dropdownLink : defaultLink\"\r\n [ngTemplateOutletContext]=\"{ $implicit: route }\"\r\n >\r\n </ng-container>\r\n\r\n <ng-template #defaultLink let-route>\r\n <li class=\"nav-item\" *abpPermission=\"route.requiredPolicy\">\r\n <a class=\"nav-link\" [routerLink]=\"[route.path]\"\r\n ><i *ngIf=\"route.iconClass\" [ngClass]=\"route.iconClass\"></i>\r\n {{ route.name | abpLocalization }}</a\r\n >\r\n </li>\r\n </ng-template>\r\n\r\n <ng-template #dropdownLink let-route>\r\n <ng-container *ngIf=\"route.children?.length\">\r\n <li\r\n class=\"nav-item dropdown\"\r\n display=\"static\"\r\n *abpPermission=\"route.requiredPolicy\"\r\n (click)=\"\r\n rootDropdownExpand[route.name]\r\n ? (rootDropdownExpand[route.name] = false)\r\n : (rootDropdownExpand[route.name] = true)\r\n \"\r\n >\r\n <a\r\n class=\"nav-link dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n href=\"javascript:void(0)\"\r\n >\r\n <i *ngIf=\"route.iconClass\" [ngClass]=\"route.iconClass\"></i>\r\n {{ route.name | abpLocalization }}\r\n </a>\r\n <div\r\n #routeContainer\r\n class=\"dropdown-menu border-0 shadow-sm\"\r\n (click)=\"$event.preventDefault(); $event.stopPropagation()\"\r\n [class.d-block]=\"smallScreen && rootDropdownExpand[route.name]\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"forTemplate; context: { $implicit: route }\"\r\n ></ng-container>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template #forTemplate let-route>\r\n <ng-container *ngFor=\"let child of route.children\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"child.children?.length ? dropdownChild : defaultChild\"\r\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\r\n ></ng-template>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template #defaultChild let-child>\r\n <ng-container *ngIf=\"child.path\">\r\n <div class=\"dropdown-submenu\" *abpPermission=\"child.requiredPolicy\">\r\n <a class=\"dropdown-item\" [routerLink]=\"[child.path]\" (click)=\"closeDropdown()\">\r\n <i *ngIf=\"child.iconClass\" [ngClass]=\"child.iconClass\"></i>\r\n {{ child.name | abpLocalization }}</a\r\n >\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template #dropdownChild let-child>\r\n <div\r\n class=\"dropdown-submenu\"\r\n ngbDropdown\r\n #dropdownSubmenu=\"ngbDropdown\"\r\n placement=\"right-top\"\r\n [autoClose]=\"true\"\r\n *abpPermission=\"child.requiredPolicy\"\r\n >\r\n <div ngbDropdownToggle [class.dropdown-toggle]=\"false\">\r\n <a\r\n abpEllipsis=\"210px\"\r\n [abpEllipsisEnabled]=\"!smallScreen\"\r\n role=\"button\"\r\n class=\"btn d-block text-start dropdown-toggle\"\r\n >\r\n <i *ngIf=\"child.iconClass\" [ngClass]=\"child.iconClass\"></i>\r\n {{ child.name | abpLocalization }}\r\n </a>\r\n </div>\r\n <div\r\n #childrenContainer\r\n class=\"dropdown-menu dropdown-menu-start border-0 shadow-sm\"\r\n [class.d-block]=\"smallScreen && dropdownSubmenu.isOpen()\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"forTemplate; context: { $implicit: child }\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</ul>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "directive", type: i4.EllipsisDirective, selector: "[abpEllipsis]", inputs: ["abpEllipsis", "title", "abpEllipsisEnabled"] }, { kind: "directive", type: i5.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i5.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
27
+ }
28
+ export { RoutesComponent };
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RoutesComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'abp-routes', template: "<ul class=\"navbar-nav\">\r\n <ng-container\r\n *ngFor=\"let route of routesService.visible$ | async; trackBy: trackByFn\"\r\n [ngTemplateOutlet]=\"isDropdown(route) ? dropdownLink : defaultLink\"\r\n [ngTemplateOutletContext]=\"{ $implicit: route }\"\r\n >\r\n </ng-container>\r\n\r\n <ng-template #defaultLink let-route>\r\n <li class=\"nav-item\" *abpPermission=\"route.requiredPolicy\">\r\n <a class=\"nav-link\" [routerLink]=\"[route.path]\"\r\n ><i *ngIf=\"route.iconClass\" [ngClass]=\"route.iconClass\"></i>\r\n {{ route.name | abpLocalization }}</a\r\n >\r\n </li>\r\n </ng-template>\r\n\r\n <ng-template #dropdownLink let-route>\r\n <ng-container *ngIf=\"route.children?.length\">\r\n <li\r\n class=\"nav-item dropdown\"\r\n display=\"static\"\r\n *abpPermission=\"route.requiredPolicy\"\r\n (click)=\"\r\n rootDropdownExpand[route.name]\r\n ? (rootDropdownExpand[route.name] = false)\r\n : (rootDropdownExpand[route.name] = true)\r\n \"\r\n >\r\n <a\r\n class=\"nav-link dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n href=\"javascript:void(0)\"\r\n >\r\n <i *ngIf=\"route.iconClass\" [ngClass]=\"route.iconClass\"></i>\r\n {{ route.name | abpLocalization }}\r\n </a>\r\n <div\r\n #routeContainer\r\n class=\"dropdown-menu border-0 shadow-sm\"\r\n (click)=\"$event.preventDefault(); $event.stopPropagation()\"\r\n [class.d-block]=\"smallScreen && rootDropdownExpand[route.name]\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"forTemplate; context: { $implicit: route }\"\r\n ></ng-container>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template #forTemplate let-route>\r\n <ng-container *ngFor=\"let child of route.children\">\r\n <ng-template\r\n [ngTemplateOutlet]=\"child.children?.length ? dropdownChild : defaultChild\"\r\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\r\n ></ng-template>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template #defaultChild let-child>\r\n <ng-container *ngIf=\"child.path\">\r\n <div class=\"dropdown-submenu\" *abpPermission=\"child.requiredPolicy\">\r\n <a class=\"dropdown-item\" [routerLink]=\"[child.path]\" (click)=\"closeDropdown()\">\r\n <i *ngIf=\"child.iconClass\" [ngClass]=\"child.iconClass\"></i>\r\n {{ child.name | abpLocalization }}</a\r\n >\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template #dropdownChild let-child>\r\n <div\r\n class=\"dropdown-submenu\"\r\n ngbDropdown\r\n #dropdownSubmenu=\"ngbDropdown\"\r\n placement=\"right-top\"\r\n [autoClose]=\"true\"\r\n *abpPermission=\"child.requiredPolicy\"\r\n >\r\n <div ngbDropdownToggle [class.dropdown-toggle]=\"false\">\r\n <a\r\n abpEllipsis=\"210px\"\r\n [abpEllipsisEnabled]=\"!smallScreen\"\r\n role=\"button\"\r\n class=\"btn d-block text-start dropdown-toggle\"\r\n >\r\n <i *ngIf=\"child.iconClass\" [ngClass]=\"child.iconClass\"></i>\r\n {{ child.name | abpLocalization }}\r\n </a>\r\n </div>\r\n <div\r\n #childrenContainer\r\n class=\"dropdown-menu dropdown-menu-start border-0 shadow-sm\"\r\n [class.d-block]=\"smallScreen && dropdownSubmenu.isOpen()\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"forTemplate; context: { $implicit: child }\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</ul>\r\n" }]
32
+ }], ctorParameters: function () { return [{ type: i1.RoutesService }, { type: i0.Renderer2 }]; }, propDecorators: { smallScreen: [{
33
+ type: Input
34
+ }], childrenContainers: [{
35
+ type: ViewChildren,
36
+ args: ['childrenContainer']
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXMvcm91dGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXMvcm91dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxhQUFhLEVBQVksTUFBTSxjQUFjLENBQUM7QUFDNUQsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFFVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFFdkIsTUFJYSxlQUFlO0lBUzFCLFlBQTRCLGFBQTRCLEVBQVksUUFBbUI7UUFBM0Qsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBWSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBSnZGLHVCQUFrQixHQUFHLEVBQWdDLENBQUM7UUFFdEQsY0FBUyxHQUF5QyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFFaUIsQ0FBQztJQUUzRixVQUFVLENBQUMsSUFBeUI7UUFDbEMsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDaEQsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBcEJVLGVBQWU7a0dBQWYsZUFBZSxzTUNmNUIsNnVIQXVHQTs7U0R4RmEsZUFBZTsyRkFBZixlQUFlO2tCQUozQixTQUFTOytCQUNFLFlBQVk7NEhBSWIsV0FBVztzQkFBbkIsS0FBSztnQkFFNkIsa0JBQWtCO3NCQUFwRCxZQUFZO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFCUCwgUm91dGVzU2VydmljZSwgVHJlZU5vZGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBSZW5kZXJlcjIsXHJcbiAgVHJhY2tCeUZ1bmN0aW9uLFxyXG4gIFZpZXdDaGlsZHJlbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXJvdXRlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICdyb3V0ZXMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm91dGVzQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBzbWFsbFNjcmVlbj86IGJvb2xlYW47XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2NoaWxkcmVuQ29udGFpbmVyJykgY2hpbGRyZW5Db250YWluZXJzITogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PjtcclxuXHJcbiAgcm9vdERyb3Bkb3duRXhwYW5kID0ge30gYXMgeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH07XHJcblxyXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPFRyZWVOb2RlPEFCUC5Sb3V0ZT4+ID0gKF8sIGl0ZW0pID0+IGl0ZW0ubmFtZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHJvdXRlc1NlcnZpY2U6IFJvdXRlc1NlcnZpY2UsIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICBpc0Ryb3Bkb3duKG5vZGU6IFRyZWVOb2RlPEFCUC5Sb3V0ZT4pIHtcclxuICAgIHJldHVybiAhbm9kZT8uaXNMZWFmIHx8IHRoaXMucm91dGVzU2VydmljZS5oYXNDaGlsZHJlbihub2RlLm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VEcm9wZG93bigpIHtcclxuICAgIHRoaXMuY2hpbGRyZW5Db250YWluZXJzLmZvckVhY2goKHsgbmF0aXZlRWxlbWVudCB9KSA9PiB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobmF0aXZlRWxlbWVudCwgJ2Qtbm9uZScpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MobmF0aXZlRWxlbWVudCwgJ2Qtbm9uZScpLCAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJuYXZiYXItbmF2XCI+XHJcbiAgPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nRm9yPVwibGV0IHJvdXRlIG9mIHJvdXRlc1NlcnZpY2UudmlzaWJsZSQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImlzRHJvcGRvd24ocm91dGUpID8gZHJvcGRvd25MaW5rIDogZGVmYXVsdExpbmtcIlxyXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3V0ZSB9XCJcclxuICA+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExpbmsgbGV0LXJvdXRlPlxyXG4gICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiAqYWJwUGVybWlzc2lvbj1cInJvdXRlLnJlcXVpcmVkUG9saWN5XCI+XHJcbiAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBbcm91dGVyTGlua109XCJbcm91dGUucGF0aF1cIlxyXG4gICAgICAgID48aSAqbmdJZj1cInJvdXRlLmljb25DbGFzc1wiIFtuZ0NsYXNzXT1cInJvdXRlLmljb25DbGFzc1wiPjwvaT5cclxuICAgICAgICB7eyByb3V0ZS5uYW1lIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hXHJcbiAgICAgID5cclxuICAgIDwvbGk+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNkcm9wZG93bkxpbmsgbGV0LXJvdXRlPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdXRlLmNoaWxkcmVuPy5sZW5ndGhcIj5cclxuICAgICAgPGxpXHJcbiAgICAgICAgY2xhc3M9XCJuYXYtaXRlbSBkcm9wZG93blwiXHJcbiAgICAgICAgZGlzcGxheT1cInN0YXRpY1wiXHJcbiAgICAgICAgKmFicFBlcm1pc3Npb249XCJyb3V0ZS5yZXF1aXJlZFBvbGljeVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIlxyXG4gICAgICAgICAgcm9vdERyb3Bkb3duRXhwYW5kW3JvdXRlLm5hbWVdXHJcbiAgICAgICAgICAgID8gKHJvb3REcm9wZG93bkV4cGFuZFtyb3V0ZS5uYW1lXSA9IGZhbHNlKVxyXG4gICAgICAgICAgICA6IChyb290RHJvcGRvd25FeHBhbmRbcm91dGUubmFtZV0gPSB0cnVlKVxyXG4gICAgICAgIFwiXHJcbiAgICAgID5cclxuICAgICAgICA8YVxyXG4gICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBkcm9wZG93bi10b2dnbGVcIlxyXG4gICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXHJcbiAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxyXG4gICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGkgKm5nSWY9XCJyb3V0ZS5pY29uQ2xhc3NcIiBbbmdDbGFzc109XCJyb3V0ZS5pY29uQ2xhc3NcIj48L2k+XHJcbiAgICAgICAgICB7eyByb3V0ZS5uYW1lIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICNyb3V0ZUNvbnRhaW5lclxyXG4gICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1tZW51IGJvcmRlci0wIHNoYWRvdy1zbVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICBbY2xhc3MuZC1ibG9ja109XCJzbWFsbFNjcmVlbiAmJiByb290RHJvcGRvd25FeHBhbmRbcm91dGUubmFtZV1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHJvdXRlIH1cIlxyXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNmb3JUZW1wbGF0ZSBsZXQtcm91dGU+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiByb3V0ZS5jaGlsZHJlblwiPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlsZC5jaGlsZHJlbj8ubGVuZ3RoID8gZHJvcGRvd25DaGlsZCA6IGRlZmF1bHRDaGlsZFwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjaGlsZCB9XCJcclxuICAgICAgPjwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDaGlsZCBsZXQtY2hpbGQ+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2hpbGQucGF0aFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tc3VibWVudVwiICphYnBQZXJtaXNzaW9uPVwiY2hpbGQucmVxdWlyZWRQb2xpY3lcIj5cclxuICAgICAgICA8YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBbcm91dGVyTGlua109XCJbY2hpbGQucGF0aF1cIiAoY2xpY2spPVwiY2xvc2VEcm9wZG93bigpXCI+XHJcbiAgICAgICAgICA8aSAqbmdJZj1cImNoaWxkLmljb25DbGFzc1wiIFtuZ0NsYXNzXT1cImNoaWxkLmljb25DbGFzc1wiPjwvaT5cclxuICAgICAgICAgIHt7IGNoaWxkLm5hbWUgfCBhYnBMb2NhbGl6YXRpb24gfX08L2FcclxuICAgICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNkcm9wZG93bkNoaWxkIGxldC1jaGlsZD5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJkcm9wZG93bi1zdWJtZW51XCJcclxuICAgICAgbmdiRHJvcGRvd25cclxuICAgICAgI2Ryb3Bkb3duU3VibWVudT1cIm5nYkRyb3Bkb3duXCJcclxuICAgICAgcGxhY2VtZW50PVwicmlnaHQtdG9wXCJcclxuICAgICAgW2F1dG9DbG9zZV09XCJ0cnVlXCJcclxuICAgICAgKmFicFBlcm1pc3Npb249XCJjaGlsZC5yZXF1aXJlZFBvbGljeVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgbmdiRHJvcGRvd25Ub2dnbGUgW2NsYXNzLmRyb3Bkb3duLXRvZ2dsZV09XCJmYWxzZVwiPlxyXG4gICAgICAgIDxhXHJcbiAgICAgICAgICBhYnBFbGxpcHNpcz1cIjIxMHB4XCJcclxuICAgICAgICAgIFthYnBFbGxpcHNpc0VuYWJsZWRdPVwiIXNtYWxsU2NyZWVuXCJcclxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJidG4gZC1ibG9jayB0ZXh0LXN0YXJ0IGRyb3Bkb3duLXRvZ2dsZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGkgKm5nSWY9XCJjaGlsZC5pY29uQ2xhc3NcIiBbbmdDbGFzc109XCJjaGlsZC5pY29uQ2xhc3NcIj48L2k+XHJcbiAgICAgICAgICB7eyBjaGlsZC5uYW1lIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgICNjaGlsZHJlbkNvbnRhaW5lclxyXG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LXN0YXJ0IGJvcmRlci0wIHNoYWRvdy1zbVwiXHJcbiAgICAgICAgW2NsYXNzLmQtYmxvY2tdPVwic21hbGxTY3JlZW4gJiYgZHJvcGRvd25TdWJtZW51LmlzT3BlbigpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGNoaWxkIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3VsPlxyXG4iXX0=
@@ -0,0 +1,45 @@
1
+ import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
2
+ import { ValidationErrorComponent as ErrorComponent } from '@ngx-validate/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@abp/ng.core";
6
+ class ValidationErrorComponent extends ErrorComponent {
7
+ get abpErrors() {
8
+ if (!this.errors || !this.errors.length)
9
+ return [];
10
+ return this.errors.map(error => {
11
+ if (!error.message)
12
+ return error;
13
+ const index = error.message.indexOf('[');
14
+ if (index > -1) {
15
+ return {
16
+ ...error,
17
+ message: error.message.slice(0, index),
18
+ interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(','),
19
+ };
20
+ }
21
+ return error;
22
+ });
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidationErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ValidationErrorComponent, selector: "abp-validation-error", usesInheritance: true, ngImport: i0, template: `
26
+ <div class="invalid-feedback" *ngFor="let error of abpErrors; trackBy: trackByFn">
27
+ {{ error.message | abpLocalization: error.interpoliteParams }}
28
+ </div>
29
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
30
+ }
31
+ export { ValidationErrorComponent };
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidationErrorComponent, decorators: [{
33
+ type: Component,
34
+ args: [{
35
+ selector: 'abp-validation-error',
36
+ template: `
37
+ <div class="invalid-feedback" *ngFor="let error of abpErrors; trackBy: trackByFn">
38
+ {{ error.message | abpLocalization: error.interpoliteParams }}
39
+ </div>
40
+ `,
41
+ changeDetection: ChangeDetectionStrategy.OnPush,
42
+ encapsulation: ViewEncapsulation.None,
43
+ }]
44
+ }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2NvbXBvbmVudHMvdmFsaWRhdGlvbi1lcnJvci92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBYyx3QkFBd0IsSUFBSSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUU1RixNQVVhLHdCQUF5QixTQUFRLGNBQWM7SUFDMUQsSUFBSSxTQUFTO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVuRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUVqQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUV6QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDZCxPQUFPO29CQUNMLEdBQUcsS0FBSztvQkFDUixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztvQkFDdEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUN2RixDQUFDO2FBQ0g7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FuQlUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsbUZBUnpCOzs7O0dBSVQ7O1NBSVUsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBVnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFOzs7O0dBSVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb24sIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCBhcyBFcnJvckNvbXBvbmVudCB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC12YWxpZGF0aW9uLWVycm9yJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgYWJwRXJyb3JzOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cclxuICAgICAge3sgZXJyb3IubWVzc2FnZSB8IGFicExvY2FsaXphdGlvbjogZXJyb3IuaW50ZXJwb2xpdGVQYXJhbXMgfX1cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCBleHRlbmRzIEVycm9yQ29tcG9uZW50IHtcclxuICBnZXQgYWJwRXJyb3JzKCk6IChWYWxpZGF0aW9uLkVycm9yICYgeyBpbnRlcnBvbGl0ZVBhcmFtcz86IHN0cmluZ1tdIH0pW10ge1xyXG4gICAgaWYgKCF0aGlzLmVycm9ycyB8fCAhdGhpcy5lcnJvcnMubGVuZ3RoKSByZXR1cm4gW107XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3JzLm1hcChlcnJvciA9PiB7XHJcbiAgICAgIGlmICghZXJyb3IubWVzc2FnZSkgcmV0dXJuIGVycm9yO1xyXG5cclxuICAgICAgY29uc3QgaW5kZXggPSBlcnJvci5tZXNzYWdlLmluZGV4T2YoJ1snKTtcclxuXHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLmVycm9yLFxyXG4gICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZS5zbGljZSgwLCBpbmRleCksXHJcbiAgICAgICAgICBpbnRlcnBvbGl0ZVBhcmFtczogZXJyb3IubWVzc2FnZS5zbGljZShpbmRleCArIDEsIGVycm9yLm1lc3NhZ2UubGVuZ3RoIC0gMSkuc3BsaXQoJywnKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gZXJyb3I7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -147,5 +147,5 @@ background-color: rgba(0, 0, 0, 0.6);
147
147
  background-color: transparent;
148
148
  padding: 0.27rem;
149
149
  }
150
- `;
150
+ `;
151
151
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9jb25zdGFudHMvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcUpkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBgXHJcbi5jb250ZW50LWhlYWRlci10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbn1cclxuLmVudHJ5LXJvdyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcbiNtYWluLW5hdmJhci10b29scyBhLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG4ubmF2YmFyIC5kcm9wZG93bi1zdWJtZW51IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4ubmF2YmFyIC5kcm9wZG93bi1tZW51IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuLm5hdmJhciAuZHJvcGRvd24tbWVudSBhIHtcclxuICAgIGZvbnQtc2l6ZTogLjllbTtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWluLXdpZHRoOiAyMTBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xyXG4gICAgbWluLWhlaWdodDogNDRweDtcclxufVxyXG5bZGlyPXJ0bF0gLm5hdmJhciAuZHJvcGRvd24tbWVudSBhIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0IWltcG9ydGFudDtcclxufVxyXG4ubmF2YmFyIC5kcm9wZG93bi1zdWJtZW51IGE6OmFmdGVyIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMTZweDtcclxuICAgIHRvcDogMThweDtcclxufVxyXG5bZGlyPXJ0bF0gLm5hdmJhciAuZHJvcGRvd24tc3VibWVudSBhOjphZnRlciB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICBsZWZ0OiAxNnB4O1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICB0b3A6IDIwcHg7XHJcbn1cclxuLm5hdmJhciAuZHJvcGRvd24tc3VibWVudSAuZHJvcGRvd24tbWVudSB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAxMDAlO1xyXG59XHJcbi8qIHdvcmsgYXJvdW5kIGZvciBydGwuIFRyYWNrIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1ib290c3RyYXAvbmctYm9vdHN0cmFwL2lzc3Vlcy80MTAwIGlzc3VlICovXHJcbltkaXI9cnRsXSAubmF2YmFyIC5kcm9wZG93bi1zdWJtZW51IC5kcm9wZG93bi1tZW51IHtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAxMDAlO1xyXG59XHJcbi5jYXJkLWhlYWRlciAuYnRuIHtcclxuICAgIHBhZGRpbmc6IDJweCA2cHg7XHJcbn1cclxuLmNhcmQtaGVhZGVyIGg1IHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG4uY29udGFpbmVyID4gLmNhcmQge1xyXG4gICAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgIC5uYXZiYXIgLmRyb3Bkb3duOmhvdmVyID4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZiYXIgLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuLmlucHV0LXZhbGlkYXRpb24tZXJyb3Ige1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xyXG59XHJcbi5maWVsZC12YWxpZGF0aW9uLWVycm9yIHtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbn1cclxuLnVpLXRhYmxlIC51aS10YWJsZS10Ym9keSA+IHRyLmVtcHR5LXJvdyA+IGRpdi5lbXB0eS1yb3ctY29udGVudCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xyXG4gIH1cclxuLmFicC1sb2FkaW5nIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbn1cclxuLm1vZGFsLWJhY2tkcm9wIHtcclxuYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG59XHJcblxyXG4uY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tYmFja2Ryb3Age1xyXG5cdCBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNykgIWltcG9ydGFudDtcclxufVxyXG4gLmNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLWRpYWxvZyB7XHJcblx0IGJvcmRlcjogbm9uZTtcclxuXHQgYm9yZGVyLXJhZGl1czogMTBweDtcclxuXHQgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHQgYm94LXNoYWRvdzogMCAwIDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbn1cclxuIC5jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1kaWFsb2cgLmljb24tY29udGFpbmVyIC5pY29uIHtcclxuXHQgc3Ryb2tlOiAjZmZmO1xyXG5cdCBjb2xvcjogI2ZmZjtcclxufVxyXG4gLmNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLWRpYWxvZyAuaWNvbi1jb250YWluZXIuaW5mbyAuaWNvbiB7XHJcblx0IHN0cm9rZTogIzJmOTZiNDtcclxuXHQgY29sb3I6ICMyZjk2YjQ7XHJcbn1cclxuIC5jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1kaWFsb2cgLmljb24tY29udGFpbmVyLnN1Y2Nlc3MgLmljb24ge1xyXG5cdCBzdHJva2U6ICM1MWEzNTE7XHJcblx0IGNvbG9yOiAjNTFhMzUxO1xyXG59XHJcbiAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5pY29uLWNvbnRhaW5lci53YXJuaW5nIC5pY29uIHtcclxuXHQgc3Ryb2tlOiAjZjg5NDA2O1xyXG5cdCBjb2xvcjogI2Y4OTQwNjtcclxufVxyXG4gLmNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLWRpYWxvZyAuaWNvbi1jb250YWluZXIuZXJyb3IgLmljb24ge1xyXG5cdCBzdHJva2U6ICNiZDM2MmY7XHJcblx0IGNvbG9yOiAjYmQzNjJmO1xyXG59XHJcbiAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5jb250ZW50IC50aXRsZSB7XHJcblx0IGNvbG9yOiAjMjIyO1xyXG59XHJcbiAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5jb250ZW50IC5tZXNzYWdlIHtcclxuXHQgY29sb3I6ICM3Nzc7XHJcbn1cclxuIC5jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1kaWFsb2cgLmZvb3RlciB7XHJcblx0IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59XHJcbiAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5mb290ZXIgLmNvbmZpcm1hdGlvbi1idXR0b24ge1xyXG5cdCBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG5cdCBjb2xvcjogIzc3NztcclxufVxyXG4gLmNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLWRpYWxvZyAuZm9vdGVyIC5jb25maXJtYXRpb24tYnV0dG9uOmhvdmVyLCAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5mb290ZXIgLmNvbmZpcm1hdGlvbi1idXR0b246Zm9jdXMsIC5jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1kaWFsb2cgLmZvb3RlciAuY29uZmlybWF0aW9uLWJ1dHRvbjphY3RpdmUge1xyXG5cdCBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiO1xyXG59XHJcbiAuY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tZGlhbG9nIC5mb290ZXIgLmNvbmZpcm1hdGlvbi1idXR0b24tLWNvbmZpcm0ge1xyXG5cdCBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY5NmI0O1xyXG5cdCBjb2xvcjogI2ZmZjtcclxufVxyXG4gLmNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLWRpYWxvZyAuZm9vdGVyIC5jb25maXJtYXRpb24tYnV0dG9uLS1jb25maXJtOmhvdmVyIHtcclxuXHQgYmFja2dyb3VuZC1jb2xvcjogIzJlODE5YjtcclxufVxyXG4udWktdGFibGUgLnBhZ2luYXRpb24td3JhcHBlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcclxufVxyXG4uYm9yZGVyZWQgLmRhdGF0YWJsZS1ib2R5LXJvdyB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcclxuICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbn1cclxuLmJyZWFkY3J1bWIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBwYWRkaW5nOiAwLjI3cmVtO1xyXG59XHJcbmA7XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvZW51bXMvY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudW0gZVRoZW1lQmFzaWNDb21wb25lbnRzIHtcclxuICBBcHBsaWNhdGlvbkxheW91dCA9ICdUaGVtZS5BcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCcsXHJcbiAgQWNjb3VudExheW91dCA9ICdUaGVtZS5BY2NvdW50TGF5b3V0Q29tcG9uZW50JyxcclxuICBFbXB0eUxheW91dCA9ICdUaGVtZS5FbXB0eUxheW91dENvbXBvbmVudCcsXHJcbiAgTG9nbyA9ICdUaGVtZS5Mb2dvQ29tcG9uZW50JyxcclxuICBSb3V0ZXMgPSAnVGhlbWUuUm91dGVzQ29tcG9uZW50JyxcclxuICBOYXZJdGVtcyA9ICdUaGVtZS5OYXZJdGVtc0NvbXBvbmVudCcsXHJcbiAgQ3VycmVudFVzZXIgPSAnVGhlbWUuQ3VycmVudFVzZXJDb21wb25lbnQnLFxyXG4gIExhbmd1YWdlcyA9ICdUaGVtZS5MYW5ndWFnZXNDb21wb25lbnQnLFxyXG59XHJcbiJdfQ==
@@ -1,3 +1,3 @@
1
- export * from './components';
2
- export * from './user-menu-items';
1
+ export * from './components';
2
+ export * from './user-menu-items';
3
3
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2VudW1zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VzZXItbWVudS1pdGVtcyc7XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9lbnVtcy91c2VyLW1lbnUtaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlbnVtIGVVc2VyTWVudUl0ZW1zIHtcclxuICBNeUFjY291bnQgPSAnVXNlck1lbnUuTXlBY2NvdW50JyxcclxuICBMb2dvdXQgPSAnVXNlck1lbnUuTG9nb3V0JyxcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './lazy-style.handler';
1
+ export * from './lazy-style.handler';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2hhbmRsZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xhenktc3R5bGUuaGFuZGxlcic7XHJcbiJdfQ==
@@ -0,0 +1,83 @@
1
+ import { LazyLoadService, LOADING_STRATEGY } from '@abp/ng.core';
2
+ import { DocumentDirHandlerService } from '@abp/ng.theme.shared';
3
+ import { Injectable, Injector } from '@angular/core';
4
+ import { LAZY_STYLES } from '../tokens/lazy-styles.token';
5
+ import * as i0 from "@angular/core";
6
+ export const BOOTSTRAP = 'bootstrap-{{dir}}.min.css';
7
+ class LazyStyleHandler {
8
+ set dir(dir) {
9
+ if (dir === this._dir)
10
+ return;
11
+ this.switchCSS(dir);
12
+ this._dir = dir;
13
+ }
14
+ get dir() {
15
+ return this._dir;
16
+ }
17
+ constructor(injector) {
18
+ this._dir = 'ltr';
19
+ this.loaded = new Map();
20
+ this.setStyles(injector);
21
+ this.setLazyLoad(injector);
22
+ this.listenToDirectionChanges(injector);
23
+ }
24
+ getHrefFromLink(link) {
25
+ if (!link)
26
+ return '';
27
+ const a = document.createElement('a');
28
+ a.href = link.href;
29
+ return a.pathname.replace(/^\//, '');
30
+ }
31
+ getLoadedBootstrap() {
32
+ const href = createLazyStyleHref(BOOTSTRAP, this.dir);
33
+ const selector = `[href*="${href.replace(/\.css$/, '')}"]`;
34
+ const link = document.querySelector(selector);
35
+ return { href, link };
36
+ }
37
+ listenToDirectionChanges(injector) {
38
+ const docDirHandler = injector.get(DocumentDirHandlerService);
39
+ // will always listen, no need to unsubscribe
40
+ docDirHandler.dir$.subscribe(dir => {
41
+ this.dir = dir;
42
+ });
43
+ }
44
+ setLazyLoad(injector) {
45
+ this.lazyLoad = injector.get(LazyLoadService);
46
+ const { href, link } = this.getLoadedBootstrap();
47
+ this.lazyLoad.loaded.set(href, link);
48
+ }
49
+ setStyles(injector) {
50
+ this.styles = injector.get(LAZY_STYLES, [BOOTSTRAP]);
51
+ }
52
+ switchCSS(dir) {
53
+ this.styles.forEach(style => {
54
+ const oldHref = createLazyStyleHref(style, this.dir);
55
+ const newHref = createLazyStyleHref(style, dir);
56
+ const link = this.loaded.get(newHref);
57
+ const href = this.getHrefFromLink(link) || newHref;
58
+ const strategy = LOADING_STRATEGY.PrependAnonymousStyleToHead(href);
59
+ this.lazyLoad.load(strategy).subscribe(() => {
60
+ const oldLink = this.lazyLoad.loaded.get(oldHref);
61
+ this.loaded.delete(newHref);
62
+ this.loaded.set(oldHref, oldLink);
63
+ const newLink = this.lazyLoad.loaded.get(href);
64
+ this.lazyLoad.loaded.delete(href);
65
+ this.lazyLoad.loaded.set(newHref, newLink);
66
+ this.lazyLoad.remove(oldHref);
67
+ });
68
+ });
69
+ }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LazyStyleHandler, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
71
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LazyStyleHandler }); }
72
+ }
73
+ export { LazyStyleHandler };
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LazyStyleHandler, decorators: [{
75
+ type: Injectable
76
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
77
+ export function createLazyStyleHref(style, dir) {
78
+ return style.replace(/{{\s*dir\s*}}/g, dir);
79
+ }
80
+ export function initLazyStyleHandler(injector) {
81
+ return () => new LazyStyleHandler(injector);
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1zdHlsZS5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9oYW5kbGVycy9sYXp5LXN0eWxlLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRSxPQUFPLEVBQUUseUJBQXlCLEVBQW1CLE1BQU0sc0JBQXNCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUMxRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsMkJBQTJCLENBQUM7QUFFckQsTUFDYSxnQkFBZ0I7SUFPM0IsSUFBSSxHQUFHLENBQUMsR0FBb0I7UUFDMUIsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBWSxRQUFrQjtRQWZ0QixTQUFJLEdBQW9CLEtBQUssQ0FBQztRQUU3QixXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQTJCLENBQUM7UUFjbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQXdDO1FBQzlELElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFckIsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sUUFBUSxHQUFHLFdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQztRQUMzRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFrQixRQUFRLENBQUMsQ0FBQztRQUMvRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxRQUFrQjtRQUNqRCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFOUQsNkNBQTZDO1FBQzdDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUFrQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxTQUFTLENBQUMsUUFBa0I7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFvQjtRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQztZQUVuRCxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFvQixDQUFDO2dCQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFvQixDQUFDO2dCQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTVFVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7U0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7O0FBZ0ZYLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsR0FBVztJQUM1RCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxRQUFrQjtJQUNyRCxPQUFPLEdBQUcsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhenlMb2FkU2VydmljZSwgTE9BRElOR19TVFJBVEVHWSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50RGlySGFuZGxlclNlcnZpY2UsIExvY2FsZURpcmVjdGlvbiB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTEFaWV9TVFlMRVMgfSBmcm9tICcuLi90b2tlbnMvbGF6eS1zdHlsZXMudG9rZW4nO1xyXG5leHBvcnQgY29uc3QgQk9PVFNUUkFQID0gJ2Jvb3RzdHJhcC17e2Rpcn19Lm1pbi5jc3MnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTGF6eVN0eWxlSGFuZGxlciB7XHJcbiAgcHJpdmF0ZSBsYXp5TG9hZCE6IExhenlMb2FkU2VydmljZTtcclxuICBwcml2YXRlIHN0eWxlcyE6IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX2RpcjogTG9jYWxlRGlyZWN0aW9uID0gJ2x0cic7XHJcblxyXG4gIHJlYWRvbmx5IGxvYWRlZCA9IG5ldyBNYXA8c3RyaW5nLCBIVE1MTGlua0VsZW1lbnQ+KCk7XHJcblxyXG4gIHNldCBkaXIoZGlyOiBMb2NhbGVEaXJlY3Rpb24pIHtcclxuICAgIGlmIChkaXIgPT09IHRoaXMuX2RpcikgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuc3dpdGNoQ1NTKGRpcik7XHJcbiAgICB0aGlzLl9kaXIgPSBkaXI7XHJcbiAgfVxyXG5cclxuICBnZXQgZGlyKCk6IExvY2FsZURpcmVjdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGlyO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLnNldFN0eWxlcyhpbmplY3Rvcik7XHJcbiAgICB0aGlzLnNldExhenlMb2FkKGluamVjdG9yKTtcclxuICAgIHRoaXMubGlzdGVuVG9EaXJlY3Rpb25DaGFuZ2VzKGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0SHJlZkZyb21MaW5rKGxpbms6IEhUTUxMaW5rRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFsaW5rKSByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGEuaHJlZiA9IGxpbmsuaHJlZjtcclxuICAgIHJldHVybiBhLnBhdGhuYW1lLnJlcGxhY2UoL15cXC8vLCAnJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldExvYWRlZEJvb3RzdHJhcCgpOiBMb2FkZWRTdHlsZSB7XHJcbiAgICBjb25zdCBocmVmID0gY3JlYXRlTGF6eVN0eWxlSHJlZihCT09UU1RSQVAsIHRoaXMuZGlyKTtcclxuICAgIGNvbnN0IHNlbGVjdG9yID0gYFtocmVmKj1cIiR7aHJlZi5yZXBsYWNlKC9cXC5jc3MkLywgJycpfVwiXWA7XHJcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MTGlua0VsZW1lbnQ+KHNlbGVjdG9yKTtcclxuICAgIHJldHVybiB7IGhyZWYsIGxpbmsgfTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGlzdGVuVG9EaXJlY3Rpb25DaGFuZ2VzKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgY29uc3QgZG9jRGlySGFuZGxlciA9IGluamVjdG9yLmdldChEb2N1bWVudERpckhhbmRsZXJTZXJ2aWNlKTtcclxuXHJcbiAgICAvLyB3aWxsIGFsd2F5cyBsaXN0ZW4sIG5vIG5lZWQgdG8gdW5zdWJzY3JpYmVcclxuICAgIGRvY0RpckhhbmRsZXIuZGlyJC5zdWJzY3JpYmUoZGlyID0+IHtcclxuICAgICAgdGhpcy5kaXIgPSBkaXI7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TGF6eUxvYWQoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLmxhenlMb2FkID0gaW5qZWN0b3IuZ2V0KExhenlMb2FkU2VydmljZSk7XHJcbiAgICBjb25zdCB7IGhyZWYsIGxpbmsgfSA9IHRoaXMuZ2V0TG9hZGVkQm9vdHN0cmFwKCk7XHJcbiAgICB0aGlzLmxhenlMb2FkLmxvYWRlZC5zZXQoaHJlZiwgbGluayk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFN0eWxlcyhpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHRoaXMuc3R5bGVzID0gaW5qZWN0b3IuZ2V0KExBWllfU1RZTEVTLCBbQk9PVFNUUkFQXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN3aXRjaENTUyhkaXI6IExvY2FsZURpcmVjdGlvbikge1xyXG4gICAgdGhpcy5zdHlsZXMuZm9yRWFjaChzdHlsZSA9PiB7XHJcbiAgICAgIGNvbnN0IG9sZEhyZWYgPSBjcmVhdGVMYXp5U3R5bGVIcmVmKHN0eWxlLCB0aGlzLmRpcik7XHJcbiAgICAgIGNvbnN0IG5ld0hyZWYgPSBjcmVhdGVMYXp5U3R5bGVIcmVmKHN0eWxlLCBkaXIpO1xyXG4gICAgICBjb25zdCBsaW5rID0gdGhpcy5sb2FkZWQuZ2V0KG5ld0hyZWYpO1xyXG4gICAgICBjb25zdCBocmVmID0gdGhpcy5nZXRIcmVmRnJvbUxpbmsobGluaykgfHwgbmV3SHJlZjtcclxuXHJcbiAgICAgIGNvbnN0IHN0cmF0ZWd5ID0gTE9BRElOR19TVFJBVEVHWS5QcmVwZW5kQW5vbnltb3VzU3R5bGVUb0hlYWQoaHJlZik7XHJcbiAgICAgIHRoaXMubGF6eUxvYWQubG9hZChzdHJhdGVneSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBjb25zdCBvbGRMaW5rID0gdGhpcy5sYXp5TG9hZC5sb2FkZWQuZ2V0KG9sZEhyZWYpIGFzIEhUTUxMaW5rRWxlbWVudDtcclxuICAgICAgICB0aGlzLmxvYWRlZC5kZWxldGUobmV3SHJlZik7XHJcbiAgICAgICAgdGhpcy5sb2FkZWQuc2V0KG9sZEhyZWYsIG9sZExpbmspO1xyXG4gICAgICAgIGNvbnN0IG5ld0xpbmsgPSB0aGlzLmxhenlMb2FkLmxvYWRlZC5nZXQoaHJlZikgYXMgSFRNTExpbmtFbGVtZW50O1xyXG4gICAgICAgIHRoaXMubGF6eUxvYWQubG9hZGVkLmRlbGV0ZShocmVmKTtcclxuICAgICAgICB0aGlzLmxhenlMb2FkLmxvYWRlZC5zZXQobmV3SHJlZiwgbmV3TGluayk7XHJcbiAgICAgICAgdGhpcy5sYXp5TG9hZC5yZW1vdmUob2xkSHJlZik7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTGF6eVN0eWxlSHJlZihzdHlsZTogc3RyaW5nLCBkaXI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHN0eWxlLnJlcGxhY2UoL3t7XFxzKmRpclxccyp9fS9nLCBkaXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaW5pdExhenlTdHlsZUhhbmRsZXIoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgcmV0dXJuICgpID0+IG5ldyBMYXp5U3R5bGVIYW5kbGVyKGluamVjdG9yKTtcclxufVxyXG5cclxuaW50ZXJmYWNlIExvYWRlZFN0eWxlIHtcclxuICBocmVmOiBzdHJpbmc7XHJcbiAgbGluazogSFRNTExpbmtFbGVtZW50IHwgbnVsbDtcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export * from './layout';
1
+ export * from './layout';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGF5b3V0JztcclxuIl19
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9tb2RlbHMvbGF5b3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBMYXlvdXQge1xyXG4gIGV4cG9ydCBpbnRlcmZhY2UgU3RhdGUge1xyXG4gICAgbmF2aWdhdGlvbkVsZW1lbnRzOiBOYXZpZ2F0aW9uRWxlbWVudFtdO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uRWxlbWVudCB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBlbGVtZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgb3JkZXI/OiBudW1iZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- export * from './nav-item.provider';
2
- export * from './styles.provider';
3
- export * from './user-menu.provider';
1
+ export * from './nav-item.provider';
2
+ export * from './styles.provider';
3
+ export * from './user-menu.provider';
4
4
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL3Byb3ZpZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmF2LWl0ZW0ucHJvdmlkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0eWxlcy5wcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1tZW51LnByb3ZpZGVyJztcclxuIl19
@@ -1,29 +1,29 @@
1
- import { NavItemsService } from '@abp/ng.theme.shared';
2
- import { APP_INITIALIZER } from '@angular/core';
3
- import { CurrentUserComponent } from '../components/nav-items/current-user.component';
4
- import { LanguagesComponent } from '../components/nav-items/languages.component';
5
- export const BASIC_THEME_NAV_ITEM_PROVIDERS = [
6
- {
7
- provide: APP_INITIALIZER,
8
- useFactory: configureNavItems,
9
- deps: [NavItemsService],
10
- multi: true,
11
- },
12
- ];
13
- export function configureNavItems(navItems) {
14
- return () => {
15
- navItems.addItems([
16
- {
17
- id: "Theme.LanguagesComponent" /* eThemeBasicComponents.Languages */,
18
- order: 100,
19
- component: LanguagesComponent,
20
- },
21
- {
22
- id: "Theme.CurrentUserComponent" /* eThemeBasicComponents.CurrentUser */,
23
- order: 100,
24
- component: CurrentUserComponent,
25
- },
26
- ]);
27
- };
28
- }
1
+ import { NavItemsService } from '@abp/ng.theme.shared';
2
+ import { APP_INITIALIZER } from '@angular/core';
3
+ import { CurrentUserComponent } from '../components/nav-items/current-user.component';
4
+ import { LanguagesComponent } from '../components/nav-items/languages.component';
5
+ export const BASIC_THEME_NAV_ITEM_PROVIDERS = [
6
+ {
7
+ provide: APP_INITIALIZER,
8
+ useFactory: configureNavItems,
9
+ deps: [NavItemsService],
10
+ multi: true,
11
+ },
12
+ ];
13
+ export function configureNavItems(navItems) {
14
+ return () => {
15
+ navItems.addItems([
16
+ {
17
+ id: "Theme.LanguagesComponent" /* eThemeBasicComponents.Languages */,
18
+ order: 100,
19
+ component: LanguagesComponent,
20
+ },
21
+ {
22
+ id: "Theme.CurrentUserComponent" /* eThemeBasicComponents.CurrentUser */,
23
+ order: 100,
24
+ component: CurrentUserComponent,
25
+ },
26
+ ]);
27
+ };
28
+ }
29
29
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0ucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL3Byb3ZpZGVycy9uYXYtaXRlbS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUdqRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRztJQUM1QztRQUNFLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFVBQVUsRUFBRSxpQkFBaUI7UUFDN0IsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQ3ZCLEtBQUssRUFBRSxJQUFJO0tBQ1o7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFFBQXlCO0lBQ3pELE9BQU8sR0FBRyxFQUFFO1FBQ1YsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNoQjtnQkFDRSxFQUFFLGtFQUFpQztnQkFDbkMsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsU0FBUyxFQUFFLGtCQUFrQjthQUM5QjtZQUNEO2dCQUNFLEVBQUUsc0VBQW1DO2dCQUNyQyxLQUFLLEVBQUUsR0FBRztnQkFDVixTQUFTLEVBQUUsb0JBQW9CO2FBQ2hDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hdkl0ZW1zU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1cnJlbnRVc2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9uYXYtaXRlbXMvY3VycmVudC11c2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExhbmd1YWdlc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvbmF2LWl0ZW1zL2xhbmd1YWdlcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBlVGhlbWVCYXNpY0NvbXBvbmVudHMgfSBmcm9tICcuLi9lbnVtcy9jb21wb25lbnRzJztcclxuXHJcbmV4cG9ydCBjb25zdCBCQVNJQ19USEVNRV9OQVZfSVRFTV9QUk9WSURFUlMgPSBbXHJcbiAge1xyXG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgdXNlRmFjdG9yeTogY29uZmlndXJlTmF2SXRlbXMsXHJcbiAgICBkZXBzOiBbTmF2SXRlbXNTZXJ2aWNlXSxcclxuICAgIG11bHRpOiB0cnVlLFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlTmF2SXRlbXMobmF2SXRlbXM6IE5hdkl0ZW1zU2VydmljZSkge1xyXG4gIHJldHVybiAoKSA9PiB7XHJcbiAgICBuYXZJdGVtcy5hZGRJdGVtcyhbXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogZVRoZW1lQmFzaWNDb21wb25lbnRzLkxhbmd1YWdlcyxcclxuICAgICAgICBvcmRlcjogMTAwLFxyXG4gICAgICAgIGNvbXBvbmVudDogTGFuZ3VhZ2VzQ29tcG9uZW50LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IGVUaGVtZUJhc2ljQ29tcG9uZW50cy5DdXJyZW50VXNlcixcclxuICAgICAgICBvcmRlcjogMTAwLFxyXG4gICAgICAgIGNvbXBvbmVudDogQ3VycmVudFVzZXJDb21wb25lbnQsXHJcbiAgICAgIH0sXHJcbiAgICBdKTtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -1,35 +1,35 @@
1
- import { CONTENT_STRATEGY, DomInsertionService, ReplaceableComponentsService } from '@abp/ng.core';
2
- import { APP_INITIALIZER } from '@angular/core';
3
- import { AccountLayoutComponent } from '../components/account-layout/account-layout.component';
4
- import { ApplicationLayoutComponent } from '../components/application-layout/application-layout.component';
5
- import { EmptyLayoutComponent } from '../components/empty-layout/empty-layout.component';
6
- import styles from '../constants/styles';
7
- export const BASIC_THEME_STYLES_PROVIDERS = [
8
- {
9
- provide: APP_INITIALIZER,
10
- useFactory: configureStyles,
11
- deps: [DomInsertionService, ReplaceableComponentsService],
12
- multi: true,
13
- },
14
- ];
15
- export function configureStyles(domInsertion, replaceableComponents) {
16
- return () => {
17
- domInsertion.insertContent(CONTENT_STRATEGY.AppendStyleToHead(styles));
18
- initLayouts(replaceableComponents);
19
- };
20
- }
21
- function initLayouts(replaceableComponents) {
22
- replaceableComponents.add({
23
- key: "Theme.ApplicationLayoutComponent" /* eThemeBasicComponents.ApplicationLayout */,
24
- component: ApplicationLayoutComponent,
25
- });
26
- replaceableComponents.add({
27
- key: "Theme.AccountLayoutComponent" /* eThemeBasicComponents.AccountLayout */,
28
- component: AccountLayoutComponent,
29
- });
30
- replaceableComponents.add({
31
- key: "Theme.EmptyLayoutComponent" /* eThemeBasicComponents.EmptyLayout */,
32
- component: EmptyLayoutComponent,
33
- });
34
- }
1
+ import { CONTENT_STRATEGY, DomInsertionService, ReplaceableComponentsService } from '@abp/ng.core';
2
+ import { APP_INITIALIZER } from '@angular/core';
3
+ import { AccountLayoutComponent } from '../components/account-layout/account-layout.component';
4
+ import { ApplicationLayoutComponent } from '../components/application-layout/application-layout.component';
5
+ import { EmptyLayoutComponent } from '../components/empty-layout/empty-layout.component';
6
+ import styles from '../constants/styles';
7
+ export const BASIC_THEME_STYLES_PROVIDERS = [
8
+ {
9
+ provide: APP_INITIALIZER,
10
+ useFactory: configureStyles,
11
+ deps: [DomInsertionService, ReplaceableComponentsService],
12
+ multi: true,
13
+ },
14
+ ];
15
+ export function configureStyles(domInsertion, replaceableComponents) {
16
+ return () => {
17
+ domInsertion.insertContent(CONTENT_STRATEGY.AppendStyleToHead(styles));
18
+ initLayouts(replaceableComponents);
19
+ };
20
+ }
21
+ function initLayouts(replaceableComponents) {
22
+ replaceableComponents.add({
23
+ key: "Theme.ApplicationLayoutComponent" /* eThemeBasicComponents.ApplicationLayout */,
24
+ component: ApplicationLayoutComponent,
25
+ });
26
+ replaceableComponents.add({
27
+ key: "Theme.AccountLayoutComponent" /* eThemeBasicComponents.AccountLayout */,
28
+ component: AccountLayoutComponent,
29
+ });
30
+ replaceableComponents.add({
31
+ key: "Theme.EmptyLayoutComponent" /* eThemeBasicComponents.EmptyLayout */,
32
+ component: EmptyLayoutComponent,
33
+ });
34
+ }
35
35
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9wcm92aWRlcnMvc3R5bGVzLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sTUFBTSxNQUFNLHFCQUFxQixDQUFDO0FBR3pDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHO0lBQzFDO1FBQ0UsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLGVBQWU7UUFDM0IsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsNEJBQTRCLENBQUM7UUFDekQsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsZUFBZSxDQUM3QixZQUFpQyxFQUNqQyxxQkFBbUQ7SUFFbkQsT0FBTyxHQUFHLEVBQUU7UUFDVixZQUFZLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFdkUsV0FBVyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLHFCQUFtRDtJQUN0RSxxQkFBcUIsQ0FBQyxHQUFHLENBQUM7UUFDeEIsR0FBRyxrRkFBeUM7UUFDNUMsU0FBUyxFQUFFLDBCQUEwQjtLQUN0QyxDQUFDLENBQUM7SUFDSCxxQkFBcUIsQ0FBQyxHQUFHLENBQUM7UUFDeEIsR0FBRywwRUFBcUM7UUFDeEMsU0FBUyxFQUFFLHNCQUFzQjtLQUNsQyxDQUFDLENBQUM7SUFDSCxxQkFBcUIsQ0FBQyxHQUFHLENBQUM7UUFDeEIsR0FBRyxzRUFBbUM7UUFDdEMsU0FBUyxFQUFFLG9CQUFvQjtLQUNoQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09OVEVOVF9TVFJBVEVHWSwgRG9tSW5zZXJ0aW9uU2VydmljZSwgUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY2NvdW50TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY2NvdW50LWxheW91dC9hY2NvdW50LWxheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbkxheW91dENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXBwbGljYXRpb24tbGF5b3V0L2FwcGxpY2F0aW9uLWxheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbXB0eUxheW91dENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZW1wdHktbGF5b3V0L2VtcHR5LWxheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gJy4uL2NvbnN0YW50cy9zdHlsZXMnO1xyXG5pbXBvcnQgeyBlVGhlbWVCYXNpY0NvbXBvbmVudHMgfSBmcm9tICcuLi9lbnVtcy9jb21wb25lbnRzJztcclxuXHJcbmV4cG9ydCBjb25zdCBCQVNJQ19USEVNRV9TVFlMRVNfUFJPVklERVJTID0gW1xyXG4gIHtcclxuICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgIHVzZUZhY3Rvcnk6IGNvbmZpZ3VyZVN0eWxlcyxcclxuICAgIGRlcHM6IFtEb21JbnNlcnRpb25TZXJ2aWNlLCBSZXBsYWNlYWJsZUNvbXBvbmVudHNTZXJ2aWNlXSxcclxuICAgIG11bHRpOiB0cnVlLFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlU3R5bGVzKFxyXG4gIGRvbUluc2VydGlvbjogRG9tSW5zZXJ0aW9uU2VydmljZSxcclxuICByZXBsYWNlYWJsZUNvbXBvbmVudHM6IFJlcGxhY2VhYmxlQ29tcG9uZW50c1NlcnZpY2UsXHJcbikge1xyXG4gIHJldHVybiAoKSA9PiB7XHJcbiAgICBkb21JbnNlcnRpb24uaW5zZXJ0Q29udGVudChDT05URU5UX1NUUkFURUdZLkFwcGVuZFN0eWxlVG9IZWFkKHN0eWxlcykpO1xyXG5cclxuICAgIGluaXRMYXlvdXRzKHJlcGxhY2VhYmxlQ29tcG9uZW50cyk7XHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gaW5pdExheW91dHMocmVwbGFjZWFibGVDb21wb25lbnRzOiBSZXBsYWNlYWJsZUNvbXBvbmVudHNTZXJ2aWNlKSB7XHJcbiAgcmVwbGFjZWFibGVDb21wb25lbnRzLmFkZCh7XHJcbiAgICBrZXk6IGVUaGVtZUJhc2ljQ29tcG9uZW50cy5BcHBsaWNhdGlvbkxheW91dCxcclxuICAgIGNvbXBvbmVudDogQXBwbGljYXRpb25MYXlvdXRDb21wb25lbnQsXHJcbiAgfSk7XHJcbiAgcmVwbGFjZWFibGVDb21wb25lbnRzLmFkZCh7XHJcbiAgICBrZXk6IGVUaGVtZUJhc2ljQ29tcG9uZW50cy5BY2NvdW50TGF5b3V0LFxyXG4gICAgY29tcG9uZW50OiBBY2NvdW50TGF5b3V0Q29tcG9uZW50LFxyXG4gIH0pO1xyXG4gIHJlcGxhY2VhYmxlQ29tcG9uZW50cy5hZGQoe1xyXG4gICAga2V5OiBlVGhlbWVCYXNpY0NvbXBvbmVudHMuRW1wdHlMYXlvdXQsXHJcbiAgICBjb21wb25lbnQ6IEVtcHR5TGF5b3V0Q29tcG9uZW50LFxyXG4gIH0pO1xyXG59XHJcbiJdfQ==
@@ -1,41 +1,41 @@
1
- import { AuthService, NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core';
2
- import { UserMenuService } from '@abp/ng.theme.shared';
3
- import { APP_INITIALIZER, Injector } from '@angular/core';
4
- export const BASIC_THEME_USER_MENU_PROVIDERS = [
5
- {
6
- provide: APP_INITIALIZER,
7
- useFactory: configureUserMenu,
8
- deps: [Injector],
9
- multi: true,
10
- },
11
- ];
12
- export function configureUserMenu(injector) {
13
- const userMenu = injector.get(UserMenuService);
14
- const authService = injector.get(AuthService);
15
- const navigateToManageProfile = injector.get(NAVIGATE_TO_MANAGE_PROFILE);
16
- return () => {
17
- userMenu.addItems([
18
- {
19
- id: "UserMenu.MyAccount" /* eUserMenuItems.MyAccount */,
20
- order: 100,
21
- textTemplate: {
22
- text: 'AbpAccount::MyAccount',
23
- icon: 'fa fa-cog',
24
- },
25
- action: () => navigateToManageProfile(),
26
- },
27
- {
28
- id: "UserMenu.Logout" /* eUserMenuItems.Logout */,
29
- order: 101,
30
- textTemplate: {
31
- text: 'AbpUi::Logout',
32
- icon: 'fa fa-power-off',
33
- },
34
- action: () => {
35
- authService.logout().subscribe();
36
- },
37
- },
38
- ]);
39
- };
40
- }
1
+ import { AuthService, NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core';
2
+ import { UserMenuService } from '@abp/ng.theme.shared';
3
+ import { APP_INITIALIZER, Injector } from '@angular/core';
4
+ export const BASIC_THEME_USER_MENU_PROVIDERS = [
5
+ {
6
+ provide: APP_INITIALIZER,
7
+ useFactory: configureUserMenu,
8
+ deps: [Injector],
9
+ multi: true,
10
+ },
11
+ ];
12
+ export function configureUserMenu(injector) {
13
+ const userMenu = injector.get(UserMenuService);
14
+ const authService = injector.get(AuthService);
15
+ const navigateToManageProfile = injector.get(NAVIGATE_TO_MANAGE_PROFILE);
16
+ return () => {
17
+ userMenu.addItems([
18
+ {
19
+ id: "UserMenu.MyAccount" /* eUserMenuItems.MyAccount */,
20
+ order: 100,
21
+ textTemplate: {
22
+ text: 'AbpAccount::MyAccount',
23
+ icon: 'fa fa-cog',
24
+ },
25
+ action: () => navigateToManageProfile(),
26
+ },
27
+ {
28
+ id: "UserMenu.Logout" /* eUserMenuItems.Logout */,
29
+ order: 101,
30
+ textTemplate: {
31
+ text: 'AbpUi::Logout',
32
+ icon: 'fa fa-power-off',
33
+ },
34
+ action: () => {
35
+ authService.logout().subscribe();
36
+ },
37
+ },
38
+ ]);
39
+ };
40
+ }
41
41
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9wcm92aWRlcnMvdXNlci1tZW51LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHO0lBQzdDO1FBQ0UsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDaEIsS0FBSyxFQUFFLElBQUk7S0FDWjtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBa0I7SUFDbEQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sdUJBQXVCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBRXpFLE9BQU8sR0FBRyxFQUFFO1FBQ1YsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNoQjtnQkFDRSxFQUFFLHFEQUEwQjtnQkFDNUIsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSx1QkFBdUI7b0JBQzdCLElBQUksRUFBRSxXQUFXO2lCQUNsQjtnQkFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCLEVBQUU7YUFDeEM7WUFDRDtnQkFDRSxFQUFFLCtDQUF1QjtnQkFDekIsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxlQUFlO29CQUNyQixJQUFJLEVBQUUsaUJBQWlCO2lCQUN4QjtnQkFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFO29CQUNYLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkMsQ0FBQzthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhTZXJ2aWNlLCBOQVZJR0FURV9UT19NQU5BR0VfUFJPRklMRSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFVzZXJNZW51U2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBlVXNlck1lbnVJdGVtcyB9IGZyb20gJy4uL2VudW1zL3VzZXItbWVudS1pdGVtcyc7XHJcblxyXG5leHBvcnQgY29uc3QgQkFTSUNfVEhFTUVfVVNFUl9NRU5VX1BST1ZJREVSUyA9IFtcclxuICB7XHJcbiAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICB1c2VGYWN0b3J5OiBjb25maWd1cmVVc2VyTWVudSxcclxuICAgIGRlcHM6IFtJbmplY3Rvcl0sXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICB9LFxyXG5dO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZVVzZXJNZW51KGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gIGNvbnN0IHVzZXJNZW51ID0gaW5qZWN0b3IuZ2V0KFVzZXJNZW51U2VydmljZSk7XHJcbiAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoQXV0aFNlcnZpY2UpO1xyXG4gIGNvbnN0IG5hdmlnYXRlVG9NYW5hZ2VQcm9maWxlID0gaW5qZWN0b3IuZ2V0KE5BVklHQVRFX1RPX01BTkFHRV9QUk9GSUxFKTtcclxuXHJcbiAgcmV0dXJuICgpID0+IHtcclxuICAgIHVzZXJNZW51LmFkZEl0ZW1zKFtcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBlVXNlck1lbnVJdGVtcy5NeUFjY291bnQsXHJcbiAgICAgICAgb3JkZXI6IDEwMCxcclxuICAgICAgICB0ZXh0VGVtcGxhdGU6IHtcclxuICAgICAgICAgIHRleHQ6ICdBYnBBY2NvdW50OjpNeUFjY291bnQnLFxyXG4gICAgICAgICAgaWNvbjogJ2ZhIGZhLWNvZycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhY3Rpb246ICgpID0+IG5hdmlnYXRlVG9NYW5hZ2VQcm9maWxlKCksXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogZVVzZXJNZW51SXRlbXMuTG9nb3V0LFxyXG4gICAgICAgIG9yZGVyOiAxMDEsXHJcbiAgICAgICAgdGV4dFRlbXBsYXRlOiB7XHJcbiAgICAgICAgICB0ZXh0OiAnQWJwVWk6OkxvZ291dCcsXHJcbiAgICAgICAgICBpY29uOiAnZmEgZmEtcG93ZXItb2ZmJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4ge1xyXG4gICAgICAgICAgYXV0aFNlcnZpY2UubG9nb3V0KCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIF0pO1xyXG4gIH07XHJcbn1cclxuIl19
@@ -0,0 +1,42 @@
1
+ import { RouterEvents, SubscriptionService } from '@abp/ng.core';
2
+ import { ChangeDetectorRef, Injectable } from '@angular/core';
3
+ import { fromEvent } from 'rxjs';
4
+ import { debounceTime } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@abp/ng.core";
7
+ class LayoutService {
8
+ constructor(subscription, cdRef, routerEvents) {
9
+ this.subscription = subscription;
10
+ this.cdRef = cdRef;
11
+ this.isCollapsed = true;
12
+ this.logoComponentKey = "Theme.LogoComponent" /* eThemeBasicComponents.Logo */;
13
+ this.routesComponentKey = "Theme.RoutesComponent" /* eThemeBasicComponents.Routes */;
14
+ this.navItemsComponentKey = "Theme.NavItemsComponent" /* eThemeBasicComponents.NavItems */;
15
+ subscription.addOne(routerEvents.getNavigationEvents("End"), () => {
16
+ this.isCollapsed = true;
17
+ });
18
+ }
19
+ checkWindowWidth() {
20
+ const isSmallScreen = window.innerWidth < 992;
21
+ if (isSmallScreen && this.smallScreen === false) {
22
+ this.isCollapsed = false;
23
+ setTimeout(() => {
24
+ this.isCollapsed = true;
25
+ }, 100);
26
+ }
27
+ this.smallScreen = isSmallScreen;
28
+ this.cdRef.detectChanges();
29
+ }
30
+ subscribeWindowSize() {
31
+ this.checkWindowWidth();
32
+ const resize$ = fromEvent(window, 'resize').pipe(debounceTime(150));
33
+ this.subscription.addOne(resize$, () => this.checkWindowWidth());
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LayoutService, deps: [{ token: i1.SubscriptionService }, { token: i0.ChangeDetectorRef }, { token: i1.RouterEvents }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LayoutService }); }
37
+ }
38
+ export { LayoutService };
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LayoutService, decorators: [{
40
+ type: Injectable
41
+ }], ctorParameters: function () { return [{ type: i1.SubscriptionService }, { type: i0.ChangeDetectorRef }, { type: i1.RouterEvents }]; } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRzlDLE1BQ2EsYUFBYTtJQVd4QixZQUFvQixZQUFpQyxFQUNqQyxLQUF3QixFQUNoQyxZQUF5QjtRQUZqQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFYNUMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFJbkIscUJBQWdCLDBEQUE4QjtRQUU5Qyx1QkFBa0IsOERBQWdDO1FBRWxELHlCQUFvQixrRUFBa0M7UUFLcEQsWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUMsR0FBRyxFQUFFO1lBQy9ELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztRQUM5QyxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLEtBQUssRUFBRTtZQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzFCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OEdBcENVLGFBQWE7a0hBQWIsYUFBYTs7U0FBYixhQUFhOzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JvdXRlckV2ZW50cywgU3Vic2NyaXB0aW9uU2VydmljZX0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgZVRoZW1lQmFzaWNDb21wb25lbnRzIH0gZnJvbSAnLi4vZW51bXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0U2VydmljZSB7XHJcbiAgaXNDb2xsYXBzZWQgPSB0cnVlO1xyXG5cclxuICBzbWFsbFNjcmVlbiE6IGJvb2xlYW47IC8vIGRvIG5vdCBzZXQgdHJ1ZSBvciBmYWxzZVxyXG5cclxuICBsb2dvQ29tcG9uZW50S2V5ID0gZVRoZW1lQmFzaWNDb21wb25lbnRzLkxvZ287XHJcblxyXG4gIHJvdXRlc0NvbXBvbmVudEtleSA9IGVUaGVtZUJhc2ljQ29tcG9uZW50cy5Sb3V0ZXM7XHJcblxyXG4gIG5hdkl0ZW1zQ29tcG9uZW50S2V5ID0gZVRoZW1lQmFzaWNDb21wb25lbnRzLk5hdkl0ZW1zO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICByb3V0ZXJFdmVudHM6Um91dGVyRXZlbnRzKSB7XHJcbiAgICBzdWJzY3JpcHRpb24uYWRkT25lKHJvdXRlckV2ZW50cy5nZXROYXZpZ2F0aW9uRXZlbnRzKFwiRW5kXCIpLCgpID0+IHtcclxuICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IHRydWU7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja1dpbmRvd1dpZHRoKCkge1xyXG4gICAgY29uc3QgaXNTbWFsbFNjcmVlbiA9IHdpbmRvdy5pbm5lcldpZHRoIDwgOTkyO1xyXG4gICAgaWYgKGlzU21hbGxTY3JlZW4gJiYgdGhpcy5zbWFsbFNjcmVlbiA9PT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IGZhbHNlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gdHJ1ZTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICAgIHRoaXMuc21hbGxTY3JlZW4gPSBpc1NtYWxsU2NyZWVuO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzdWJzY3JpYmVXaW5kb3dTaXplKCkge1xyXG4gICAgdGhpcy5jaGVja1dpbmRvd1dpZHRoKCk7XHJcblxyXG4gICAgY29uc3QgcmVzaXplJCA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5waXBlKGRlYm91bmNlVGltZSgxNTApKTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZE9uZShyZXNpemUkLCAoKSA9PiB0aGlzLmNoZWNrV2luZG93V2lkdGgoKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==