@abp/ng.theme.basic 5.0.1 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +3 -3
  2. package/abp-ng.theme.basic.d.ts +5 -5
  3. package/bundles/abp-ng.theme.basic-testing.umd.js +37 -37
  4. package/bundles/abp-ng.theme.basic-testing.umd.js.map +1 -1
  5. package/bundles/abp-ng.theme.basic.umd.js +883 -883
  6. package/bundles/abp-ng.theme.basic.umd.js.map +1 -1
  7. package/esm2015/abp-ng.theme.basic.js +4 -4
  8. package/esm2015/lib/components/account-layout/account-layout.component.js +36 -36
  9. package/esm2015/lib/components/account-layout/auth-wrapper/auth-wrapper.component.js +23 -23
  10. package/esm2015/lib/components/account-layout/tenant-box/tenant-box.component.js +24 -24
  11. package/esm2015/lib/components/application-layout/application-layout.component.js +36 -36
  12. package/esm2015/lib/components/empty-layout/empty-layout.component.js +23 -23
  13. package/esm2015/lib/components/index.js +13 -13
  14. package/esm2015/lib/components/logo/logo.component.js +52 -52
  15. package/esm2015/lib/components/nav-items/current-user.component.js +38 -38
  16. package/esm2015/lib/components/nav-items/languages.component.js +107 -107
  17. package/esm2015/lib/components/nav-items/nav-items.component.js +22 -22
  18. package/esm2015/lib/components/page-alert-container/page-alert-container.component.js +22 -22
  19. package/esm2015/lib/components/routes/routes.component.js +40 -40
  20. package/esm2015/lib/components/validation-error/validation-error.component.js +40 -40
  21. package/esm2015/lib/constants/styles.js +151 -151
  22. package/esm2015/lib/enums/components.js +2 -2
  23. package/esm2015/lib/enums/index.js +2 -2
  24. package/esm2015/lib/handlers/index.js +2 -2
  25. package/esm2015/lib/handlers/lazy-style.handler.js +82 -82
  26. package/esm2015/lib/models/index.js +2 -2
  27. package/esm2015/lib/models/layout.js +2 -2
  28. package/esm2015/lib/providers/index.js +3 -3
  29. package/esm2015/lib/providers/nav-item.provider.js +29 -29
  30. package/esm2015/lib/providers/styles.provider.js +35 -35
  31. package/esm2015/lib/services/layout.service.js +38 -38
  32. package/esm2015/lib/theme-basic.module.js +127 -127
  33. package/esm2015/lib/tokens/index.js +2 -2
  34. package/esm2015/lib/tokens/lazy-styles.token.js +3 -3
  35. package/esm2015/public-api.js +11 -11
  36. package/esm2015/testing/abp-ng.theme.basic-testing.js +4 -4
  37. package/esm2015/testing/lib/theme-basic-testing.module.js +38 -38
  38. package/esm2015/testing/public-api.js +2 -2
  39. package/fesm2015/abp-ng.theme.basic-testing.js +34 -34
  40. package/fesm2015/abp-ng.theme.basic-testing.js.map +1 -1
  41. package/fesm2015/abp-ng.theme.basic.js +760 -760
  42. package/fesm2015/abp-ng.theme.basic.js.map +1 -1
  43. package/lib/components/account-layout/account-layout.component.d.ts +13 -13
  44. package/lib/components/account-layout/auth-wrapper/auth-wrapper.component.d.ts +8 -8
  45. package/lib/components/account-layout/tenant-box/tenant-box.component.d.ts +8 -8
  46. package/lib/components/application-layout/application-layout.component.d.ts +12 -12
  47. package/lib/components/empty-layout/empty-layout.component.d.ts +7 -7
  48. package/lib/components/index.d.ts +12 -12
  49. package/lib/components/logo/logo.component.d.ts +9 -9
  50. package/lib/components/nav-items/current-user.component.d.ts +17 -17
  51. package/lib/components/nav-items/languages.component.d.ts +16 -16
  52. package/lib/components/nav-items/nav-items.component.d.ts +10 -10
  53. package/lib/components/page-alert-container/page-alert-container.component.d.ts +8 -8
  54. package/lib/components/routes/routes.component.d.ts +18 -18
  55. package/lib/components/validation-error/validation-error.component.d.ts +9 -9
  56. package/lib/constants/styles.d.ts +2 -2
  57. package/lib/enums/components.d.ts +10 -10
  58. package/lib/enums/index.d.ts +1 -1
  59. package/lib/handlers/index.d.ts +1 -1
  60. package/lib/handlers/lazy-style.handler.d.ts +23 -23
  61. package/lib/models/index.d.ts +1 -1
  62. package/lib/models/layout.d.ts +11 -11
  63. package/lib/providers/index.d.ts +2 -2
  64. package/lib/providers/nav-item.provider.d.ts +8 -8
  65. package/lib/providers/styles.provider.d.ts +8 -8
  66. package/lib/services/layout.service.d.ts +18 -18
  67. package/lib/theme-basic.module.d.ts +32 -32
  68. package/lib/tokens/index.d.ts +1 -1
  69. package/lib/tokens/lazy-styles.token.d.ts +2 -2
  70. package/package.json +4 -4
  71. package/public-api.d.ts +7 -7
  72. package/testing/abp-ng.theme.basic-testing.d.ts +5 -5
  73. package/testing/lib/theme-basic-testing.module.d.ts +9 -9
  74. package/testing/public-api.d.ts +1 -1
@@ -1,107 +1,107 @@
1
- import { ConfigStateService, SessionStateService } from '@abp/ng.core';
2
- import { Component } from '@angular/core';
3
- import { map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@abp/ng.core";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "@ng-bootstrap/ng-bootstrap";
8
- export class LanguagesComponent {
9
- constructor(sessionState, configState) {
10
- this.sessionState = sessionState;
11
- this.configState = configState;
12
- this.languages$ = this.configState.getDeep$('localization.languages');
13
- }
14
- get smallScreen() {
15
- return window.innerWidth < 992;
16
- }
17
- get defaultLanguage$() {
18
- return this.languages$.pipe(map(languages => { var _a; return ((_a = languages === null || languages === void 0 ? void 0 : languages.find(lang => lang.cultureName === this.selectedLangCulture)) === null || _a === void 0 ? void 0 : _a.displayName) || ''; }));
19
- }
20
- get dropdownLanguages$() {
21
- return this.languages$.pipe(map(languages => (languages === null || languages === void 0 ? void 0 : languages.filter(lang => lang.cultureName !== this.selectedLangCulture)) || []));
22
- }
23
- get selectedLangCulture() {
24
- return this.sessionState.getLanguage();
25
- }
26
- onChangeLang(cultureName) {
27
- this.sessionState.setLanguage(cultureName);
28
- }
29
- }
30
- LanguagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LanguagesComponent, deps: [{ token: i1.SessionStateService }, { token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Component });
31
- LanguagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: LanguagesComponent, selector: "abp-languages", ngImport: i0, template: `
32
- <div
33
- *ngIf="((dropdownLanguages$ | async)?.length || 0) > 0"
34
- class="dropdown"
35
- ngbDropdown
36
- #languageDropdown="ngbDropdown"
37
- display="static"
38
- >
39
- <a
40
- ngbDropdownToggle
41
- class="nav-link"
42
- href="javascript:void(0)"
43
- role="button"
44
- id="dropdownMenuLink"
45
- data-toggle="dropdown"
46
- aria-haspopup="true"
47
- aria-expanded="false"
48
- >
49
- {{ defaultLanguage$ | async }}
50
- </a>
51
- <div
52
- class="dropdown-menu dropdown-menu-end border-0 shadow-sm"
53
- aria-labelledby="dropdownMenuLink"
54
- [class.d-block]="smallScreen && languageDropdown.isOpen()"
55
- >
56
- <a
57
- *ngFor="let lang of dropdownLanguages$ | async"
58
- href="javascript:void(0)"
59
- class="dropdown-item"
60
- (click)="onChangeLang(lang.cultureName || '')"
61
- >{{ lang?.displayName }}</a
62
- >
63
- </div>
64
- </div>
65
- `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display", "dropdownClass"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i3.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i2.AsyncPipe } });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LanguagesComponent, decorators: [{
67
- type: Component,
68
- args: [{
69
- selector: 'abp-languages',
70
- template: `
71
- <div
72
- *ngIf="((dropdownLanguages$ | async)?.length || 0) > 0"
73
- class="dropdown"
74
- ngbDropdown
75
- #languageDropdown="ngbDropdown"
76
- display="static"
77
- >
78
- <a
79
- ngbDropdownToggle
80
- class="nav-link"
81
- href="javascript:void(0)"
82
- role="button"
83
- id="dropdownMenuLink"
84
- data-toggle="dropdown"
85
- aria-haspopup="true"
86
- aria-expanded="false"
87
- >
88
- {{ defaultLanguage$ | async }}
89
- </a>
90
- <div
91
- class="dropdown-menu dropdown-menu-end border-0 shadow-sm"
92
- aria-labelledby="dropdownMenuLink"
93
- [class.d-block]="smallScreen && languageDropdown.isOpen()"
94
- >
95
- <a
96
- *ngFor="let lang of dropdownLanguages$ | async"
97
- href="javascript:void(0)"
98
- class="dropdown-item"
99
- (click)="onChangeLang(lang.cultureName || '')"
100
- >{{ lang?.displayName }}</a
101
- >
102
- </div>
103
- </div>
104
- `,
105
- }]
106
- }], ctorParameters: function () { return [{ type: i1.SessionStateService }, { type: i1.ConfigStateService }]; } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvbGFuZ3VhZ2VzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQXdDckMsTUFBTSxPQUFPLGtCQUFrQjtJQTRCN0IsWUFBb0IsWUFBaUMsRUFBVSxXQUErQjtRQUExRSxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUF2QjlGLGVBQVUsR0FBK0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQXVCSSxDQUFDO0lBM0JsRyxJQUFJLFdBQVc7UUFDYixPQUFPLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ2pDLENBQUM7SUFJRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQ0QsU0FBUyxDQUFDLEVBQUUsV0FDVixPQUFBLENBQUEsTUFBQSxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsbUJBQW1CLENBQUMsMENBQUUsV0FBVyxLQUFJLEVBQUUsQ0FBQSxFQUFBLENBQzVGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQ0QsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFJLEVBQUUsQ0FDNUYsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBSUQsWUFBWSxDQUFDLFdBQW1CO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O2dIQWhDVSxrQkFBa0I7b0dBQWxCLGtCQUFrQixxREFwQ25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUOzRGQUVVLGtCQUFrQjtrQkF0QzlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSwgTGFuZ3VhZ2VJbmZvLCBTZXNzaW9uU3RhdGVTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtbGFuZ3VhZ2VzJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cIigoZHJvcGRvd25MYW5ndWFnZXMkIHwgYXN5bmMpPy5sZW5ndGggfHwgMCkgPiAwXCJcclxuICAgICAgY2xhc3M9XCJkcm9wZG93blwiXHJcbiAgICAgIG5nYkRyb3Bkb3duXHJcbiAgICAgICNsYW5ndWFnZURyb3Bkb3duPVwibmdiRHJvcGRvd25cIlxyXG4gICAgICBkaXNwbGF5PVwic3RhdGljXCJcclxuICAgID5cclxuICAgICAgPGFcclxuICAgICAgICBuZ2JEcm9wZG93blRvZ2dsZVxyXG4gICAgICAgIGNsYXNzPVwibmF2LWxpbmtcIlxyXG4gICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxyXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgIGlkPVwiZHJvcGRvd25NZW51TGlua1wiXHJcbiAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXHJcbiAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxyXG4gICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBkZWZhdWx0TGFuZ3VhZ2UkIHwgYXN5bmMgfX1cclxuICAgICAgPC9hPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtZW5kIGJvcmRlci0wIHNoYWRvdy1zbVwiXHJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiZHJvcGRvd25NZW51TGlua1wiXHJcbiAgICAgICAgW2NsYXNzLmQtYmxvY2tdPVwic21hbGxTY3JlZW4gJiYgbGFuZ3VhZ2VEcm9wZG93bi5pc09wZW4oKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8YVxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGxhbmcgb2YgZHJvcGRvd25MYW5ndWFnZXMkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlTGFuZyhsYW5nLmN1bHR1cmVOYW1lIHx8ICcnKVwiXHJcbiAgICAgICAgICA+e3sgbGFuZz8uZGlzcGxheU5hbWUgfX08L2FcclxuICAgICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIExhbmd1YWdlc0NvbXBvbmVudCB7XHJcbiAgZ2V0IHNtYWxsU2NyZWVuKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDwgOTkyO1xyXG4gIH1cclxuXHJcbiAgbGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxMYW5ndWFnZUluZm9bXT4gPSB0aGlzLmNvbmZpZ1N0YXRlLmdldERlZXAkKCdsb2NhbGl6YXRpb24ubGFuZ3VhZ2VzJyk7XHJcblxyXG4gIGdldCBkZWZhdWx0TGFuZ3VhZ2UkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXHJcbiAgICAgIG1hcChcclxuICAgICAgICBsYW5ndWFnZXMgPT5cclxuICAgICAgICAgIGxhbmd1YWdlcz8uZmluZChsYW5nID0+IGxhbmcuY3VsdHVyZU5hbWUgPT09IHRoaXMuc2VsZWN0ZWRMYW5nQ3VsdHVyZSk/LmRpc3BsYXlOYW1lIHx8ICcnLFxyXG4gICAgICApLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldCBkcm9wZG93bkxhbmd1YWdlcyQoKTogT2JzZXJ2YWJsZTxMYW5ndWFnZUluZm9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzJC5waXBlKFxyXG4gICAgICBtYXAoXHJcbiAgICAgICAgbGFuZ3VhZ2VzID0+IGxhbmd1YWdlcz8uZmlsdGVyKGxhbmcgPT4gbGFuZy5jdWx0dXJlTmFtZSAhPT0gdGhpcy5zZWxlY3RlZExhbmdDdWx0dXJlKSB8fCBbXSxcclxuICAgICAgKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgc2VsZWN0ZWRMYW5nQ3VsdHVyZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvblN0YXRlLmdldExhbmd1YWdlKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlc3Npb25TdGF0ZTogU2Vzc2lvblN0YXRlU2VydmljZSwgcHJpdmF0ZSBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlKSB7fVxyXG5cclxuICBvbkNoYW5nZUxhbmcoY3VsdHVyZU5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXNzaW9uU3RhdGUuc2V0TGFuZ3VhZ2UoY3VsdHVyZU5hbWUpO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { ConfigStateService, SessionStateService } from '@abp/ng.core';
2
+ import { Component } from '@angular/core';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@abp/ng.core";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@ng-bootstrap/ng-bootstrap";
8
+ export class LanguagesComponent {
9
+ constructor(sessionState, configState) {
10
+ this.sessionState = sessionState;
11
+ this.configState = configState;
12
+ this.languages$ = this.configState.getDeep$('localization.languages');
13
+ }
14
+ get smallScreen() {
15
+ return window.innerWidth < 992;
16
+ }
17
+ get defaultLanguage$() {
18
+ return this.languages$.pipe(map(languages => { var _a; return ((_a = languages === null || languages === void 0 ? void 0 : languages.find(lang => lang.cultureName === this.selectedLangCulture)) === null || _a === void 0 ? void 0 : _a.displayName) || ''; }));
19
+ }
20
+ get dropdownLanguages$() {
21
+ return this.languages$.pipe(map(languages => (languages === null || languages === void 0 ? void 0 : languages.filter(lang => lang.cultureName !== this.selectedLangCulture)) || []));
22
+ }
23
+ get selectedLangCulture() {
24
+ return this.sessionState.getLanguage();
25
+ }
26
+ onChangeLang(cultureName) {
27
+ this.sessionState.setLanguage(cultureName);
28
+ }
29
+ }
30
+ LanguagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LanguagesComponent, deps: [{ token: i1.SessionStateService }, { token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Component });
31
+ LanguagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: LanguagesComponent, selector: "abp-languages", ngImport: i0, template: `
32
+ <div
33
+ *ngIf="((dropdownLanguages$ | async)?.length || 0) > 0"
34
+ class="dropdown"
35
+ ngbDropdown
36
+ #languageDropdown="ngbDropdown"
37
+ display="static"
38
+ >
39
+ <a
40
+ ngbDropdownToggle
41
+ class="nav-link"
42
+ href="javascript:void(0)"
43
+ role="button"
44
+ id="dropdownMenuLink"
45
+ data-toggle="dropdown"
46
+ aria-haspopup="true"
47
+ aria-expanded="false"
48
+ >
49
+ {{ defaultLanguage$ | async }}
50
+ </a>
51
+ <div
52
+ class="dropdown-menu dropdown-menu-end border-0 shadow-sm"
53
+ aria-labelledby="dropdownMenuLink"
54
+ [class.d-block]="smallScreen && languageDropdown.isOpen()"
55
+ >
56
+ <a
57
+ *ngFor="let lang of dropdownLanguages$ | async"
58
+ href="javascript:void(0)"
59
+ class="dropdown-item"
60
+ (click)="onChangeLang(lang.cultureName || '')"
61
+ >{{ lang?.displayName }}</a
62
+ >
63
+ </div>
64
+ </div>
65
+ `, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display", "dropdownClass"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i3.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i2.AsyncPipe } });
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LanguagesComponent, decorators: [{
67
+ type: Component,
68
+ args: [{
69
+ selector: 'abp-languages',
70
+ template: `
71
+ <div
72
+ *ngIf="((dropdownLanguages$ | async)?.length || 0) > 0"
73
+ class="dropdown"
74
+ ngbDropdown
75
+ #languageDropdown="ngbDropdown"
76
+ display="static"
77
+ >
78
+ <a
79
+ ngbDropdownToggle
80
+ class="nav-link"
81
+ href="javascript:void(0)"
82
+ role="button"
83
+ id="dropdownMenuLink"
84
+ data-toggle="dropdown"
85
+ aria-haspopup="true"
86
+ aria-expanded="false"
87
+ >
88
+ {{ defaultLanguage$ | async }}
89
+ </a>
90
+ <div
91
+ class="dropdown-menu dropdown-menu-end border-0 shadow-sm"
92
+ aria-labelledby="dropdownMenuLink"
93
+ [class.d-block]="smallScreen && languageDropdown.isOpen()"
94
+ >
95
+ <a
96
+ *ngFor="let lang of dropdownLanguages$ | async"
97
+ href="javascript:void(0)"
98
+ class="dropdown-item"
99
+ (click)="onChangeLang(lang.cultureName || '')"
100
+ >{{ lang?.displayName }}</a
101
+ >
102
+ </div>
103
+ </div>
104
+ `,
105
+ }]
106
+ }], ctorParameters: function () { return [{ type: i1.SessionStateService }, { type: i1.ConfigStateService }]; } });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2VzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvbGFuZ3VhZ2VzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQXdDckMsTUFBTSxPQUFPLGtCQUFrQjtJQTRCN0IsWUFBb0IsWUFBaUMsRUFBVSxXQUErQjtRQUExRSxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUF2QjlGLGVBQVUsR0FBK0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQXVCSSxDQUFDO0lBM0JsRyxJQUFJLFdBQVc7UUFDYixPQUFPLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ2pDLENBQUM7SUFJRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQ0QsU0FBUyxDQUFDLEVBQUUsV0FDVixPQUFBLENBQUEsTUFBQSxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsbUJBQW1CLENBQUMsMENBQUUsV0FBVyxLQUFJLEVBQUUsQ0FBQSxFQUFBLENBQzVGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixHQUFHLENBQ0QsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFJLEVBQUUsQ0FDNUYsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBSUQsWUFBWSxDQUFDLFdBQW1CO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O2dIQWhDVSxrQkFBa0I7b0dBQWxCLGtCQUFrQixxREFwQ25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUOzRGQUVVLGtCQUFrQjtrQkF0QzlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSwgTGFuZ3VhZ2VJbmZvLCBTZXNzaW9uU3RhdGVTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtbGFuZ3VhZ2VzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIigoZHJvcGRvd25MYW5ndWFnZXMkIHwgYXN5bmMpPy5sZW5ndGggfHwgMCkgPiAwXCJcbiAgICAgIGNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgbmdiRHJvcGRvd25cbiAgICAgICNsYW5ndWFnZURyb3Bkb3duPVwibmdiRHJvcGRvd25cIlxuICAgICAgZGlzcGxheT1cInN0YXRpY1wiXG4gICAgPlxuICAgICAgPGFcbiAgICAgICAgbmdiRHJvcGRvd25Ub2dnbGVcbiAgICAgICAgY2xhc3M9XCJuYXYtbGlua1wiXG4gICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgaWQ9XCJkcm9wZG93bk1lbnVMaW5rXCJcbiAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgID5cbiAgICAgICAge3sgZGVmYXVsdExhbmd1YWdlJCB8IGFzeW5jIH19XG4gICAgICA8L2E+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LWVuZCBib3JkZXItMCBzaGFkb3ctc21cIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJkcm9wZG93bk1lbnVMaW5rXCJcbiAgICAgICAgW2NsYXNzLmQtYmxvY2tdPVwic21hbGxTY3JlZW4gJiYgbGFuZ3VhZ2VEcm9wZG93bi5pc09wZW4oKVwiXG4gICAgICA+XG4gICAgICAgIDxhXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGxhbmcgb2YgZHJvcGRvd25MYW5ndWFnZXMkIHwgYXN5bmNcIlxuICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlTGFuZyhsYW5nLmN1bHR1cmVOYW1lIHx8ICcnKVwiXG4gICAgICAgICAgPnt7IGxhbmc/LmRpc3BsYXlOYW1lIH19PC9hXG4gICAgICAgID5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZXNDb21wb25lbnQge1xuICBnZXQgc21hbGxTY3JlZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDwgOTkyO1xuICB9XG5cbiAgbGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxMYW5ndWFnZUluZm9bXT4gPSB0aGlzLmNvbmZpZ1N0YXRlLmdldERlZXAkKCdsb2NhbGl6YXRpb24ubGFuZ3VhZ2VzJyk7XG5cbiAgZ2V0IGRlZmF1bHRMYW5ndWFnZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXMkLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIGxhbmd1YWdlcyA9PlxuICAgICAgICAgIGxhbmd1YWdlcz8uZmluZChsYW5nID0+IGxhbmcuY3VsdHVyZU5hbWUgPT09IHRoaXMuc2VsZWN0ZWRMYW5nQ3VsdHVyZSk/LmRpc3BsYXlOYW1lIHx8ICcnLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duTGFuZ3VhZ2VzJCgpOiBPYnNlcnZhYmxlPExhbmd1YWdlSW5mb1tdPiB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzJC5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICBsYW5ndWFnZXMgPT4gbGFuZ3VhZ2VzPy5maWx0ZXIobGFuZyA9PiBsYW5nLmN1bHR1cmVOYW1lICE9PSB0aGlzLnNlbGVjdGVkTGFuZ0N1bHR1cmUpIHx8IFtdLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkTGFuZ0N1bHR1cmUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uU3RhdGUuZ2V0TGFuZ3VhZ2UoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Vzc2lvblN0YXRlOiBTZXNzaW9uU3RhdGVTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZ1N0YXRlOiBDb25maWdTdGF0ZVNlcnZpY2UpIHt9XG5cbiAgb25DaGFuZ2VMYW5nKGN1bHR1cmVOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlc3Npb25TdGF0ZS5zZXRMYW5ndWFnZShjdWx0dXJlTmFtZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,22 +1,22 @@
1
- import { NavItemsService } from '@abp/ng.theme.shared';
2
- import { Component } from '@angular/core';
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
- export class NavItemsComponent {
8
- constructor(navItems) {
9
- this.navItems = navItems;
10
- this.trackByFn = (_, element) => element.id;
11
- }
12
- }
13
- NavItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NavItemsComponent, deps: [{ token: i1.NavItemsService }], target: i0.ɵɵFactoryTarget.Component });
14
- NavItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: NavItemsComponent, selector: "abp-nav-items", ngImport: i0, template: "<ul class=\"navbar-nav\">\r\n <ng-container *ngFor=\"let item of navItems.items$ | async; trackBy: trackByFn\">\r\n <ng-container *ngIf=\"item.visible && item.visible()\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n <ng-container\r\n *ngIf=\"item.component; else htmlTemplate\"\r\n [ngComponentOutlet]=\"item.component\"\r\n ></ng-container>\r\n\r\n <ng-template #htmlTemplate>\r\n <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\r\n </ng-template>\r\n </li>\r\n </ng-container>\r\n </ng-container>\r\n</ul>\r\n", directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }], pipes: { "async": i2.AsyncPipe } });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NavItemsComponent, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'abp-nav-items',
19
- templateUrl: 'nav-items.component.html',
20
- }]
21
- }], ctorParameters: function () { return [{ type: i1.NavItemsService }]; } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvbmF2LWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvbmF2LWl0ZW1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUEwQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFNbEUsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUE0QixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUZyRCxjQUFTLEdBQTZCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUVULENBQUM7OytHQUg5QyxpQkFBaUI7bUdBQWpCLGlCQUFpQixxRENQOUIsb3FCQWdCQTs0RkRUYSxpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFdBQVcsRUFBRSwwQkFBMEI7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2SXRlbSwgTmF2SXRlbXNTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBUcmFja0J5RnVuY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLW5hdi1pdGVtcycsXHJcbiAgdGVtcGxhdGVVcmw6ICduYXYtaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2SXRlbXNDb21wb25lbnQge1xyXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPE5hdkl0ZW0+ID0gKF8sIGVsZW1lbnQpID0+IGVsZW1lbnQuaWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBuYXZJdGVtczogTmF2SXRlbXNTZXJ2aWNlKSB7fVxyXG59XHJcbiIsIjx1bCBjbGFzcz1cIm5hdmJhci1uYXZcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5hdkl0ZW1zLml0ZW1zJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLnZpc2libGUgJiYgaXRlbS52aXNpYmxlKClcIj5cclxuICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiICphYnBQZXJtaXNzaW9uPVwiaXRlbS5yZXF1aXJlZFBvbGljeVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICpuZ0lmPVwiaXRlbS5jb21wb25lbnQ7IGVsc2UgaHRtbFRlbXBsYXRlXCJcclxuICAgICAgICAgIFtuZ0NvbXBvbmVudE91dGxldF09XCJpdGVtLmNvbXBvbmVudFwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2h0bWxUZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJpdGVtLmh0bWxcIiAoY2xpY2spPVwiaXRlbS5hY3Rpb24gPyBpdGVtLmFjdGlvbigpIDogbnVsbFwiPjwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC91bD5cclxuIl19
1
+ import { NavItemsService } from '@abp/ng.theme.shared';
2
+ import { Component } from '@angular/core';
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
+ export class NavItemsComponent {
8
+ constructor(navItems) {
9
+ this.navItems = navItems;
10
+ this.trackByFn = (_, element) => element.id;
11
+ }
12
+ }
13
+ NavItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NavItemsComponent, deps: [{ token: i1.NavItemsService }], target: i0.ɵɵFactoryTarget.Component });
14
+ NavItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: NavItemsComponent, selector: "abp-nav-items", ngImport: i0, template: "<ul class=\"navbar-nav\">\n <ng-container *ngFor=\"let item of navItems.items$ | async; trackBy: trackByFn\">\n <ng-container *ngIf=\"item.visible && item.visible()\">\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\n <ng-container\n *ngIf=\"item.component; else htmlTemplate\"\n [ngComponentOutlet]=\"item.component\"\n ></ng-container>\n\n <ng-template #htmlTemplate>\n <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\n </ng-template>\n </li>\n </ng-container>\n </ng-container>\n</ul>\n", directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }], pipes: { "async": i2.AsyncPipe } });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: NavItemsComponent, decorators: [{
16
+ type: Component,
17
+ args: [{
18
+ selector: 'abp-nav-items',
19
+ templateUrl: 'nav-items.component.html',
20
+ }]
21
+ }], ctorParameters: function () { return [{ type: i1.NavItemsService }]; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvbmF2LWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9uYXYtaXRlbXMvbmF2LWl0ZW1zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUEwQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFNbEUsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUE0QixRQUF5QjtRQUF6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUZyRCxjQUFTLEdBQTZCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUVULENBQUM7OytHQUg5QyxpQkFBaUI7bUdBQWpCLGlCQUFpQixxRENQOUIsb29CQWdCQTs0RkRUYSxpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFdBQVcsRUFBRSwwQkFBMEI7aUJBQ3hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2SXRlbSwgTmF2SXRlbXNTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVHJhY2tCeUZ1bmN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1uYXYtaXRlbXMnLFxuICB0ZW1wbGF0ZVVybDogJ25hdi1pdGVtcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE5hdkl0ZW1zQ29tcG9uZW50IHtcbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248TmF2SXRlbT4gPSAoXywgZWxlbWVudCkgPT4gZWxlbWVudC5pZDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbmF2SXRlbXM6IE5hdkl0ZW1zU2VydmljZSkge31cbn1cbiIsIjx1bCBjbGFzcz1cIm5hdmJhci1uYXZcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBuYXZJdGVtcy5pdGVtcyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udmlzaWJsZSAmJiBpdGVtLnZpc2libGUoKVwiPlxuICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiICphYnBQZXJtaXNzaW9uPVwiaXRlbS5yZXF1aXJlZFBvbGljeVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nSWY9XCJpdGVtLmNvbXBvbmVudDsgZWxzZSBodG1sVGVtcGxhdGVcIlxuICAgICAgICAgIFtuZ0NvbXBvbmVudE91dGxldF09XCJpdGVtLmNvbXBvbmVudFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2h0bWxUZW1wbGF0ZT5cbiAgICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaXRlbS5odG1sXCIgKGNsaWNrKT1cIml0ZW0uYWN0aW9uID8gaXRlbS5hY3Rpb24oKSA6IG51bGxcIj48L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbGk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC91bD5cbiJdfQ==
@@ -1,22 +1,22 @@
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
- export class PageAlertContainerComponent {
8
- constructor(service) {
9
- this.service = service;
10
- }
11
- }
12
- PageAlertContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageAlertContainerComponent, deps: [{ token: i1.PageAlertService }], target: i0.ɵɵFactoryTarget.Component });
13
- PageAlertContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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 class=\"alert-heading\" *ngIf=\"alert.title\">\r\n {{ alert.title | abpLocalization: alert.titleLocalizationParams }}\r\n </h4>\r\n {{ alert.message | abpLocalization: alert.messageLocalizationParams }}\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", directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe, "abpLocalization": i3.LocalizationPipe }, encapsulation: i0.ViewEncapsulation.None });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageAlertContainerComponent, decorators: [{
15
- type: Component,
16
- args: [{
17
- selector: 'abp-page-alert-container',
18
- templateUrl: './page-alert-container.component.html',
19
- encapsulation: ViewEncapsulation.None,
20
- }]
21
- }], ctorParameters: function () { return [{ type: i1.PageAlertService }]; } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1hbGVydC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtYWxlcnQtY29udGFpbmVyL3BhZ2UtYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9wYWdlLWFsZXJ0LWNvbnRhaW5lci9wYWdlLWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQU94RCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBQW1CLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQUcsQ0FBQzs7eUhBRHJDLDJCQUEyQjs2R0FBM0IsMkJBQTJCLGdFQ1J4Qyw2dEJBb0JBOzRGRFphLDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBhZ2VBbGVydFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1wYWdlLWFsZXJ0LWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UtYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZTogUGFnZUFsZXJ0U2VydmljZSkge31cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhbGVydCBvZiBzZXJ2aWNlLmFsZXJ0cyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQte3sgYWxlcnQudHlwZSB9fSBmYWRlIHNob3dcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAnYWxlcnQtZGlzbWlzc2libGUgZmFkZSBzaG93JzogYWxlcnQuZGlzbWlzc2libGUgfVwiXHJcbiAgICByb2xlPVwiYWxlcnRcIlxyXG4gID5cclxuICAgIDxoNCBjbGFzcz1cImFsZXJ0LWhlYWRpbmdcIiAqbmdJZj1cImFsZXJ0LnRpdGxlXCI+XHJcbiAgICAgIHt7IGFsZXJ0LnRpdGxlIHwgYWJwTG9jYWxpemF0aW9uOiBhbGVydC50aXRsZUxvY2FsaXphdGlvblBhcmFtcyB9fVxyXG4gICAgPC9oND5cclxuICAgIHt7IGFsZXJ0Lm1lc3NhZ2UgfCBhYnBMb2NhbGl6YXRpb246IGFsZXJ0Lm1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXMgfX1cclxuICAgIDxidXR0b25cclxuICAgICAgKm5nSWY9XCJhbGVydC5kaXNtaXNzaWJsZVwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBjbGFzcz1cImJ0bi1jbG9zZVwiXHJcbiAgICAgIGRhdGEtZGlzbWlzcz1cImFsZXJ0XCJcclxuICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCJcclxuICAgICAgKGNsaWNrKT1cInNlcnZpY2UucmVtb3ZlKGkpXCJcclxuICAgID48L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
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
+ export class PageAlertContainerComponent {
8
+ constructor(service) {
9
+ this.service = service;
10
+ }
11
+ }
12
+ PageAlertContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageAlertContainerComponent, deps: [{ token: i1.PageAlertService }], target: i0.ɵɵFactoryTarget.Component });
13
+ PageAlertContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: PageAlertContainerComponent, selector: "abp-page-alert-container", ngImport: i0, template: "<ng-container *ngFor=\"let alert of service.alerts$ | async; let i = index\">\n <div\n class=\"alert alert-{{ alert.type }} fade show\"\n [ngClass]=\"{ 'alert-dismissible fade show': alert.dismissible }\"\n role=\"alert\"\n >\n <h4 class=\"alert-heading\" *ngIf=\"alert.title\">\n {{ alert.title | abpLocalization: alert.titleLocalizationParams }}\n </h4>\n {{ alert.message | abpLocalization: alert.messageLocalizationParams }}\n <button\n *ngIf=\"alert.dismissible\"\n type=\"button\"\n class=\"btn-close\"\n data-dismiss=\"alert\"\n aria-label=\"Close\"\n (click)=\"service.remove(i)\"\n ></button>\n </div>\n</ng-container>\n", directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe, "abpLocalization": i3.LocalizationPipe }, encapsulation: i0.ViewEncapsulation.None });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageAlertContainerComponent, decorators: [{
15
+ type: Component,
16
+ args: [{
17
+ selector: 'abp-page-alert-container',
18
+ templateUrl: './page-alert-container.component.html',
19
+ encapsulation: ViewEncapsulation.None,
20
+ }]
21
+ }], ctorParameters: function () { return [{ type: i1.PageAlertService }]; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1hbGVydC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtYmFzaWMvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtYWxlcnQtY29udGFpbmVyL3BhZ2UtYWxlcnQtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9wYWdlLWFsZXJ0LWNvbnRhaW5lci9wYWdlLWFsZXJ0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQU94RCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLFlBQW1CLE9BQXlCO1FBQXpCLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBQUcsQ0FBQzs7eUhBRHJDLDJCQUEyQjs2R0FBM0IsMkJBQTJCLGdFQ1J4QyxxckJBb0JBOzRGRFphLDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdlQWxlcnRTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtcGFnZS1hbGVydC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1hbGVydC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlQWxlcnRDb250YWluZXJDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZTogUGFnZUFsZXJ0U2VydmljZSkge31cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFsZXJ0IG9mIHNlcnZpY2UuYWxlcnRzJCB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFsZXJ0IGFsZXJ0LXt7IGFsZXJ0LnR5cGUgfX0gZmFkZSBzaG93XCJcbiAgICBbbmdDbGFzc109XCJ7ICdhbGVydC1kaXNtaXNzaWJsZSBmYWRlIHNob3cnOiBhbGVydC5kaXNtaXNzaWJsZSB9XCJcbiAgICByb2xlPVwiYWxlcnRcIlxuICA+XG4gICAgPGg0IGNsYXNzPVwiYWxlcnQtaGVhZGluZ1wiICpuZ0lmPVwiYWxlcnQudGl0bGVcIj5cbiAgICAgIHt7IGFsZXJ0LnRpdGxlIHwgYWJwTG9jYWxpemF0aW9uOiBhbGVydC50aXRsZUxvY2FsaXphdGlvblBhcmFtcyB9fVxuICAgIDwvaDQ+XG4gICAge3sgYWxlcnQubWVzc2FnZSB8IGFicExvY2FsaXphdGlvbjogYWxlcnQubWVzc2FnZUxvY2FsaXphdGlvblBhcmFtcyB9fVxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwiYWxlcnQuZGlzbWlzc2libGVcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJ0bi1jbG9zZVwiXG4gICAgICBkYXRhLWRpc21pc3M9XCJhbGVydFwiXG4gICAgICBhcmlhLWxhYmVsPVwiQ2xvc2VcIlxuICAgICAgKGNsaWNrKT1cInNlcnZpY2UucmVtb3ZlKGkpXCJcbiAgICA+PC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,40 +1,40 @@
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 "@ng-bootstrap/ng-bootstrap";
8
- import * as i5 from "@abp/ng.theme.shared";
9
- export 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 === null || node === void 0 ? void 0 : 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
- }
26
- RoutesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesComponent, deps: [{ token: i1.RoutesService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
27
- RoutesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", 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", directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display", "dropdownClass"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i5.EllipsisDirective, selector: "[abpEllipsis]", inputs: ["abpEllipsis", "title", "abpEllipsisEnabled"] }], pipes: { "async": i2.AsyncPipe, "abpLocalization": i1.LocalizationPipe } });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesComponent, decorators: [{
29
- type: Component,
30
- args: [{
31
- selector: 'abp-routes',
32
- templateUrl: 'routes.component.html',
33
- }]
34
- }], ctorParameters: function () { return [{ type: i1.RoutesService }, { type: i0.Renderer2 }]; }, propDecorators: { smallScreen: [{
35
- type: Input
36
- }], childrenContainers: [{
37
- type: ViewChildren,
38
- args: ['childrenContainer']
39
- }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXMvcm91dGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXMvcm91dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxhQUFhLEVBQVksTUFBTSxjQUFjLENBQUM7QUFDNUQsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFFVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFNdkIsTUFBTSxPQUFPLGVBQWU7SUFTMUIsWUFBNEIsYUFBNEIsRUFBWSxRQUFtQjtRQUEzRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQVc7UUFKdkYsdUJBQWtCLEdBQUcsRUFBZ0MsQ0FBQztRQUV0RCxjQUFTLEdBQXlDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUVpQixDQUFDO0lBRTNGLFVBQVUsQ0FBQyxJQUF5QjtRQUNsQyxPQUFPLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxDQUFBLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDaEQsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzZHQXBCVSxlQUFlO2lHQUFmLGVBQWUsc01DZjVCLDZ1SEF1R0E7NEZEeEZhLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFdBQVcsRUFBRSx1QkFBdUI7aUJBQ3JDOzRIQUVVLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRTZCLGtCQUFrQjtzQkFBcEQsWUFBWTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIFJvdXRlc1NlcnZpY2UsIFRyZWVOb2RlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBJbnB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFRyYWNrQnlGdW5jdGlvbixcclxuICBWaWV3Q2hpbGRyZW4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1yb3V0ZXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAncm91dGVzLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlc0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgc21hbGxTY3JlZW4/OiBib29sZWFuO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKCdjaGlsZHJlbkNvbnRhaW5lcicpIGNoaWxkcmVuQ29udGFpbmVycyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj47XHJcblxyXG4gIHJvb3REcm9wZG93bkV4cGFuZCA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG5cclxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxUcmVlTm9kZTxBQlAuUm91dGU+PiA9IChfLCBpdGVtKSA9PiBpdGVtLm5hbWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSByb3V0ZXNTZXJ2aWNlOiBSb3V0ZXNTZXJ2aWNlLCBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cclxuXHJcbiAgaXNEcm9wZG93bihub2RlOiBUcmVlTm9kZTxBQlAuUm91dGU+KSB7XHJcbiAgICByZXR1cm4gIW5vZGU/LmlzTGVhZiB8fCB0aGlzLnJvdXRlc1NlcnZpY2UuaGFzQ2hpbGRyZW4obm9kZS5uYW1lKTtcclxuICB9XHJcblxyXG4gIGNsb3NlRHJvcGRvd24oKSB7XHJcbiAgICB0aGlzLmNoaWxkcmVuQ29udGFpbmVycy5mb3JFYWNoKCh7IG5hdGl2ZUVsZW1lbnQgfSkgPT4ge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKG5hdGl2ZUVsZW1lbnQsICdkLW5vbmUnKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsZW1lbnQsICdkLW5vbmUnKSwgMCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPHVsIGNsYXNzPVwibmF2YmFyLW5hdlwiPlxyXG4gIDxuZy1jb250YWluZXJcclxuICAgICpuZ0Zvcj1cImxldCByb3V0ZSBvZiByb3V0ZXNTZXJ2aWNlLnZpc2libGUkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpc0Ryb3Bkb3duKHJvdXRlKSA/IGRyb3Bkb3duTGluayA6IGRlZmF1bHRMaW5rXCJcclxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcm91dGUgfVwiXHJcbiAgPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMaW5rIGxldC1yb3V0ZT5cclxuICAgIDxsaSBjbGFzcz1cIm5hdi1pdGVtXCIgKmFicFBlcm1pc3Npb249XCJyb3V0ZS5yZXF1aXJlZFBvbGljeVwiPlxyXG4gICAgICA8YSBjbGFzcz1cIm5hdi1saW5rXCIgW3JvdXRlckxpbmtdPVwiW3JvdXRlLnBhdGhdXCJcclxuICAgICAgICA+PGkgKm5nSWY9XCJyb3V0ZS5pY29uQ2xhc3NcIiBbbmdDbGFzc109XCJyb3V0ZS5pY29uQ2xhc3NcIj48L2k+XHJcbiAgICAgICAge3sgcm91dGUubmFtZSB8IGFicExvY2FsaXphdGlvbiB9fTwvYVxyXG4gICAgICA+XHJcbiAgICA8L2xpPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25MaW5rIGxldC1yb3V0ZT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyb3V0ZS5jaGlsZHJlbj8ubGVuZ3RoXCI+XHJcbiAgICAgIDxsaVxyXG4gICAgICAgIGNsYXNzPVwibmF2LWl0ZW0gZHJvcGRvd25cIlxyXG4gICAgICAgIGRpc3BsYXk9XCJzdGF0aWNcIlxyXG4gICAgICAgICphYnBQZXJtaXNzaW9uPVwicm91dGUucmVxdWlyZWRQb2xpY3lcIlxyXG4gICAgICAgIChjbGljayk9XCJcclxuICAgICAgICAgIHJvb3REcm9wZG93bkV4cGFuZFtyb3V0ZS5uYW1lXVxyXG4gICAgICAgICAgICA/IChyb290RHJvcGRvd25FeHBhbmRbcm91dGUubmFtZV0gPSBmYWxzZSlcclxuICAgICAgICAgICAgOiAocm9vdERyb3Bkb3duRXhwYW5kW3JvdXRlLm5hbWVdID0gdHJ1ZSlcclxuICAgICAgICBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGFcclxuICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgZHJvcGRvd24tdG9nZ2xlXCJcclxuICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxyXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxyXG4gICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcclxuICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpICpuZ0lmPVwicm91dGUuaWNvbkNsYXNzXCIgW25nQ2xhc3NdPVwicm91dGUuaWNvbkNsYXNzXCI+PC9pPlxyXG4gICAgICAgICAge3sgcm91dGUubmFtZSB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAjcm91dGVDb250YWluZXJcclxuICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24tbWVudSBib3JkZXItMCBzaGFkb3ctc21cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgW2NsYXNzLmQtYmxvY2tdPVwic21hbGxTY3JlZW4gJiYgcm9vdERyb3Bkb3duRXhwYW5kW3JvdXRlLm5hbWVdXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9yVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiByb3V0ZSB9XCJcclxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9saT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjZm9yVGVtcGxhdGUgbGV0LXJvdXRlPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2Ygcm91dGUuY2hpbGRyZW5cIj5cclxuICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hpbGQuY2hpbGRyZW4/Lmxlbmd0aCA/IGRyb3Bkb3duQ2hpbGQgOiBkZWZhdWx0Q2hpbGRcIlxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY2hpbGQgfVwiXHJcbiAgICAgID48L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2hpbGQgbGV0LWNoaWxkPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoaWxkLnBhdGhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXN1Ym1lbnVcIiAqYWJwUGVybWlzc2lvbj1cImNoaWxkLnJlcXVpcmVkUG9saWN5XCI+XHJcbiAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgW3JvdXRlckxpbmtdPVwiW2NoaWxkLnBhdGhdXCIgKGNsaWNrKT1cImNsb3NlRHJvcGRvd24oKVwiPlxyXG4gICAgICAgICAgPGkgKm5nSWY9XCJjaGlsZC5pY29uQ2xhc3NcIiBbbmdDbGFzc109XCJjaGlsZC5pY29uQ2xhc3NcIj48L2k+XHJcbiAgICAgICAgICB7eyBjaGlsZC5uYW1lIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hXHJcbiAgICAgICAgPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25DaGlsZCBsZXQtY2hpbGQ+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiZHJvcGRvd24tc3VibWVudVwiXHJcbiAgICAgIG5nYkRyb3Bkb3duXHJcbiAgICAgICNkcm9wZG93blN1Ym1lbnU9XCJuZ2JEcm9wZG93blwiXHJcbiAgICAgIHBsYWNlbWVudD1cInJpZ2h0LXRvcFwiXHJcbiAgICAgIFthdXRvQ2xvc2VdPVwidHJ1ZVwiXHJcbiAgICAgICphYnBQZXJtaXNzaW9uPVwiY2hpbGQucmVxdWlyZWRQb2xpY3lcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IG5nYkRyb3Bkb3duVG9nZ2xlIFtjbGFzcy5kcm9wZG93bi10b2dnbGVdPVwiZmFsc2VcIj5cclxuICAgICAgICA8YVxyXG4gICAgICAgICAgYWJwRWxsaXBzaXM9XCIyMTBweFwiXHJcbiAgICAgICAgICBbYWJwRWxsaXBzaXNFbmFibGVkXT1cIiFzbWFsbFNjcmVlblwiXHJcbiAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIGNsYXNzPVwiYnRuIGQtYmxvY2sgdGV4dC1zdGFydCBkcm9wZG93bi10b2dnbGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpICpuZ0lmPVwiY2hpbGQuaWNvbkNsYXNzXCIgW25nQ2xhc3NdPVwiY2hpbGQuaWNvbkNsYXNzXCI+PC9pPlxyXG4gICAgICAgICAge3sgY2hpbGQubmFtZSB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAjY2hpbGRyZW5Db250YWluZXJcclxuICAgICAgICBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1zdGFydCBib3JkZXItMCBzaGFkb3ctc21cIlxyXG4gICAgICAgIFtjbGFzcy5kLWJsb2NrXT1cInNtYWxsU2NyZWVuICYmIGRyb3Bkb3duU3VibWVudS5pc09wZW4oKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9yVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlsZCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC91bD5cclxuIl19
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 "@ng-bootstrap/ng-bootstrap";
8
+ import * as i5 from "@abp/ng.theme.shared";
9
+ export 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 === null || node === void 0 ? void 0 : 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
+ }
26
+ RoutesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesComponent, deps: [{ token: i1.RoutesService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
27
+ RoutesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RoutesComponent, selector: "abp-routes", inputs: { smallScreen: "smallScreen" }, viewQueries: [{ propertyName: "childrenContainers", predicate: ["childrenContainer"], descendants: true }], ngImport: i0, template: "<ul class=\"navbar-nav\">\n <ng-container\n *ngFor=\"let route of routesService.visible$ | async; trackBy: trackByFn\"\n [ngTemplateOutlet]=\"isDropdown(route) ? dropdownLink : defaultLink\"\n [ngTemplateOutletContext]=\"{ $implicit: route }\"\n >\n </ng-container>\n\n <ng-template #defaultLink let-route>\n <li class=\"nav-item\" *abpPermission=\"route.requiredPolicy\">\n <a class=\"nav-link\" [routerLink]=\"[route.path]\"\n ><i *ngIf=\"route.iconClass\" [ngClass]=\"route.iconClass\"></i>\n {{ route.name | abpLocalization }}</a\n >\n </li>\n </ng-template>\n\n <ng-template #dropdownLink let-route>\n <ng-container *ngIf=\"route.children?.length\">\n <li\n class=\"nav-item dropdown\"\n display=\"static\"\n *abpPermission=\"route.requiredPolicy\"\n (click)=\"\n rootDropdownExpand[route.name]\n ? (rootDropdownExpand[route.name] = false)\n : (rootDropdownExpand[route.name] = true)\n \"\n >\n <a\n class=\"nav-link dropdown-toggle\"\n data-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n href=\"javascript:void(0)\"\n >\n <i *ngIf=\"route.iconClass\" [ngClass]=\"route.iconClass\"></i>\n {{ route.name | abpLocalization }}\n </a>\n <div\n #routeContainer\n class=\"dropdown-menu border-0 shadow-sm\"\n (click)=\"$event.preventDefault(); $event.stopPropagation()\"\n [class.d-block]=\"smallScreen && rootDropdownExpand[route.name]\"\n >\n <ng-container\n *ngTemplateOutlet=\"forTemplate; context: { $implicit: route }\"\n ></ng-container>\n </div>\n </li>\n </ng-container>\n </ng-template>\n\n <ng-template #forTemplate let-route>\n <ng-container *ngFor=\"let child of route.children\">\n <ng-template\n [ngTemplateOutlet]=\"child.children?.length ? dropdownChild : defaultChild\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-template>\n </ng-container>\n </ng-template>\n\n <ng-template #defaultChild let-child>\n <ng-container *ngIf=\"child.path\">\n <div class=\"dropdown-submenu\" *abpPermission=\"child.requiredPolicy\">\n <a class=\"dropdown-item\" [routerLink]=\"[child.path]\" (click)=\"closeDropdown()\">\n <i *ngIf=\"child.iconClass\" [ngClass]=\"child.iconClass\"></i>\n {{ child.name | abpLocalization }}</a\n >\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #dropdownChild let-child>\n <div\n class=\"dropdown-submenu\"\n ngbDropdown\n #dropdownSubmenu=\"ngbDropdown\"\n placement=\"right-top\"\n [autoClose]=\"true\"\n *abpPermission=\"child.requiredPolicy\"\n >\n <div ngbDropdownToggle [class.dropdown-toggle]=\"false\">\n <a\n abpEllipsis=\"210px\"\n [abpEllipsisEnabled]=\"!smallScreen\"\n role=\"button\"\n class=\"btn d-block text-start dropdown-toggle\"\n >\n <i *ngIf=\"child.iconClass\" [ngClass]=\"child.iconClass\"></i>\n {{ child.name | abpLocalization }}\n </a>\n </div>\n <div\n #childrenContainer\n class=\"dropdown-menu dropdown-menu-start border-0 shadow-sm\"\n [class.d-block]=\"smallScreen && dropdownSubmenu.isOpen()\"\n >\n <ng-container *ngTemplateOutlet=\"forTemplate; context: { $implicit: child }\"></ng-container>\n </div>\n </div>\n </ng-template>\n</ul>\n", directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display", "dropdownClass"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i5.EllipsisDirective, selector: "[abpEllipsis]", inputs: ["abpEllipsis", "title", "abpEllipsisEnabled"] }], pipes: { "async": i2.AsyncPipe, "abpLocalization": i1.LocalizationPipe } });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RoutesComponent, decorators: [{
29
+ type: Component,
30
+ args: [{
31
+ selector: 'abp-routes',
32
+ templateUrl: 'routes.component.html',
33
+ }]
34
+ }], ctorParameters: function () { return [{ type: i1.RoutesService }, { type: i0.Renderer2 }]; }, propDecorators: { smallScreen: [{
35
+ type: Input
36
+ }], childrenContainers: [{
37
+ type: ViewChildren,
38
+ args: ['childrenContainer']
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXMvcm91dGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLWJhc2ljL3NyYy9saWIvY29tcG9uZW50cy9yb3V0ZXMvcm91dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBTyxhQUFhLEVBQVksTUFBTSxjQUFjLENBQUM7QUFDNUQsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFFVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFNdkIsTUFBTSxPQUFPLGVBQWU7SUFTMUIsWUFBNEIsYUFBNEIsRUFBWSxRQUFtQjtRQUEzRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQVc7UUFKdkYsdUJBQWtCLEdBQUcsRUFBZ0MsQ0FBQztRQUV0RCxjQUFTLEdBQXlDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUVpQixDQUFDO0lBRTNGLFVBQVUsQ0FBQyxJQUF5QjtRQUNsQyxPQUFPLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxDQUFBLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRTtZQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDaEQsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzZHQXBCVSxlQUFlO2lHQUFmLGVBQWUsc01DZjVCLCtoSEF1R0E7NEZEeEZhLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFdBQVcsRUFBRSx1QkFBdUI7aUJBQ3JDOzRIQUVVLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRTZCLGtCQUFrQjtzQkFBcEQsWUFBWTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBQlAsIFJvdXRlc1NlcnZpY2UsIFRyZWVOb2RlIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1yb3V0ZXMnLFxuICB0ZW1wbGF0ZVVybDogJ3JvdXRlcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJvdXRlc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNtYWxsU2NyZWVuPzogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkcmVuKCdjaGlsZHJlbkNvbnRhaW5lcicpIGNoaWxkcmVuQ29udGFpbmVycyE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj47XG5cbiAgcm9vdERyb3Bkb3duRXhwYW5kID0ge30gYXMgeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH07XG5cbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248VHJlZU5vZGU8QUJQLlJvdXRlPj4gPSAoXywgaXRlbSkgPT4gaXRlbS5uYW1lO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSByb3V0ZXNTZXJ2aWNlOiBSb3V0ZXNTZXJ2aWNlLCBwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICBpc0Ryb3Bkb3duKG5vZGU6IFRyZWVOb2RlPEFCUC5Sb3V0ZT4pIHtcbiAgICByZXR1cm4gIW5vZGU/LmlzTGVhZiB8fCB0aGlzLnJvdXRlc1NlcnZpY2UuaGFzQ2hpbGRyZW4obm9kZS5uYW1lKTtcbiAgfVxuXG4gIGNsb3NlRHJvcGRvd24oKSB7XG4gICAgdGhpcy5jaGlsZHJlbkNvbnRhaW5lcnMuZm9yRWFjaCgoeyBuYXRpdmVFbGVtZW50IH0pID0+IHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MobmF0aXZlRWxlbWVudCwgJ2Qtbm9uZScpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKG5hdGl2ZUVsZW1lbnQsICdkLW5vbmUnKSwgMCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjx1bCBjbGFzcz1cIm5hdmJhci1uYXZcIj5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj1cImxldCByb3V0ZSBvZiByb3V0ZXNTZXJ2aWNlLnZpc2libGUkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXNEcm9wZG93bihyb3V0ZSkgPyBkcm9wZG93bkxpbmsgOiBkZWZhdWx0TGlua1wiXG4gICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3V0ZSB9XCJcbiAgPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMaW5rIGxldC1yb3V0ZT5cbiAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiICphYnBQZXJtaXNzaW9uPVwicm91dGUucmVxdWlyZWRQb2xpY3lcIj5cbiAgICAgIDxhIGNsYXNzPVwibmF2LWxpbmtcIiBbcm91dGVyTGlua109XCJbcm91dGUucGF0aF1cIlxuICAgICAgICA+PGkgKm5nSWY9XCJyb3V0ZS5pY29uQ2xhc3NcIiBbbmdDbGFzc109XCJyb3V0ZS5pY29uQ2xhc3NcIj48L2k+XG4gICAgICAgIHt7IHJvdXRlLm5hbWUgfCBhYnBMb2NhbGl6YXRpb24gfX08L2FcbiAgICAgID5cbiAgICA8L2xpPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25MaW5rIGxldC1yb3V0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm91dGUuY2hpbGRyZW4/Lmxlbmd0aFwiPlxuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwibmF2LWl0ZW0gZHJvcGRvd25cIlxuICAgICAgICBkaXNwbGF5PVwic3RhdGljXCJcbiAgICAgICAgKmFicFBlcm1pc3Npb249XCJyb3V0ZS5yZXF1aXJlZFBvbGljeVwiXG4gICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICByb290RHJvcGRvd25FeHBhbmRbcm91dGUubmFtZV1cbiAgICAgICAgICAgID8gKHJvb3REcm9wZG93bkV4cGFuZFtyb3V0ZS5uYW1lXSA9IGZhbHNlKVxuICAgICAgICAgICAgOiAocm9vdERyb3Bkb3duRXhwYW5kW3JvdXRlLm5hbWVdID0gdHJ1ZSlcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPGFcbiAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGRyb3Bkb3duLXRvZ2dsZVwiXG4gICAgICAgICAgZGF0YS10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSAqbmdJZj1cInJvdXRlLmljb25DbGFzc1wiIFtuZ0NsYXNzXT1cInJvdXRlLmljb25DbGFzc1wiPjwvaT5cbiAgICAgICAgICB7eyByb3V0ZS5uYW1lIHwgYWJwTG9jYWxpemF0aW9uIH19XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICNyb3V0ZUNvbnRhaW5lclxuICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24tbWVudSBib3JkZXItMCBzaGFkb3ctc21cIlxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgICBbY2xhc3MuZC1ibG9ja109XCJzbWFsbFNjcmVlbiAmJiByb290RHJvcGRvd25FeHBhbmRbcm91dGUubmFtZV1cIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHJvdXRlIH1cIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZm9yVGVtcGxhdGUgbGV0LXJvdXRlPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkIG9mIHJvdXRlLmNoaWxkcmVuXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hpbGQuY2hpbGRyZW4/Lmxlbmd0aCA/IGRyb3Bkb3duQ2hpbGQgOiBkZWZhdWx0Q2hpbGRcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGNoaWxkIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2hpbGQgbGV0LWNoaWxkPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGlsZC5wYXRoXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tc3VibWVudVwiICphYnBQZXJtaXNzaW9uPVwiY2hpbGQucmVxdWlyZWRQb2xpY3lcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgW3JvdXRlckxpbmtdPVwiW2NoaWxkLnBhdGhdXCIgKGNsaWNrKT1cImNsb3NlRHJvcGRvd24oKVwiPlxuICAgICAgICAgIDxpICpuZ0lmPVwiY2hpbGQuaWNvbkNsYXNzXCIgW25nQ2xhc3NdPVwiY2hpbGQuaWNvbkNsYXNzXCI+PC9pPlxuICAgICAgICAgIHt7IGNoaWxkLm5hbWUgfCBhYnBMb2NhbGl6YXRpb24gfX08L2FcbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNkcm9wZG93bkNoaWxkIGxldC1jaGlsZD5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImRyb3Bkb3duLXN1Ym1lbnVcIlxuICAgICAgbmdiRHJvcGRvd25cbiAgICAgICNkcm9wZG93blN1Ym1lbnU9XCJuZ2JEcm9wZG93blwiXG4gICAgICBwbGFjZW1lbnQ9XCJyaWdodC10b3BcIlxuICAgICAgW2F1dG9DbG9zZV09XCJ0cnVlXCJcbiAgICAgICphYnBQZXJtaXNzaW9uPVwiY2hpbGQucmVxdWlyZWRQb2xpY3lcIlxuICAgID5cbiAgICAgIDxkaXYgbmdiRHJvcGRvd25Ub2dnbGUgW2NsYXNzLmRyb3Bkb3duLXRvZ2dsZV09XCJmYWxzZVwiPlxuICAgICAgICA8YVxuICAgICAgICAgIGFicEVsbGlwc2lzPVwiMjEwcHhcIlxuICAgICAgICAgIFthYnBFbGxpcHNpc0VuYWJsZWRdPVwiIXNtYWxsU2NyZWVuXCJcbiAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImJ0biBkLWJsb2NrIHRleHQtc3RhcnQgZHJvcGRvd24tdG9nZ2xlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpICpuZ0lmPVwiY2hpbGQuaWNvbkNsYXNzXCIgW25nQ2xhc3NdPVwiY2hpbGQuaWNvbkNsYXNzXCI+PC9pPlxuICAgICAgICAgIHt7IGNoaWxkLm5hbWUgfCBhYnBMb2NhbGl6YXRpb24gfX1cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICNjaGlsZHJlbkNvbnRhaW5lclxuICAgICAgICBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1zdGFydCBib3JkZXItMCBzaGFkb3ctc21cIlxuICAgICAgICBbY2xhc3MuZC1ibG9ja109XCJzbWFsbFNjcmVlbiAmJiBkcm9wZG93blN1Ym1lbnUuaXNPcGVuKClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9yVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlsZCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvdWw+XG4iXX0=
@@ -1,40 +1,40 @@
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
- export 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 Object.assign(Object.assign({}, error), { message: error.message.slice(0, index), interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(',') });
16
- }
17
- return error;
18
- });
19
- }
20
- }
21
- ValidationErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ValidationErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
22
- ValidationErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ValidationErrorComponent, selector: "abp-validation-error", usesInheritance: true, ngImport: i0, template: `
23
- <div class="invalid-feedback" *ngFor="let error of abpErrors; trackBy: trackByFn">
24
- {{ error.message | abpLocalization: error.interpoliteParams }}
25
- </div>
26
- `, isInline: true, directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "abpLocalization": i2.LocalizationPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ValidationErrorComponent, decorators: [{
28
- type: Component,
29
- args: [{
30
- selector: 'abp-validation-error',
31
- template: `
32
- <div class="invalid-feedback" *ngFor="let error of abpErrors; trackBy: trackByFn">
33
- {{ error.message | abpLocalization: error.interpoliteParams }}
34
- </div>
35
- `,
36
- changeDetection: ChangeDetectionStrategy.OnPush,
37
- encapsulation: ViewEncapsulation.None,
38
- }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2NvbXBvbmVudHMvdmFsaWRhdGlvbi1lcnJvci92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBYyx3QkFBd0IsSUFBSSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVk1RixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsY0FBYztJQUMxRCxJQUFJLFNBQVM7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRW5ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1lBRWpDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXpDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNkLHVDQUNLLEtBQUssS0FDUixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN0QyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFDdEY7YUFDSDtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztzSEFuQlUsd0JBQXdCOzBHQUF4Qix3QkFBd0IsbUZBUnpCOzs7O0dBSVQ7NEZBSVUsd0JBQXdCO2tCQVZwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uLCBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgYXMgRXJyb3JDb21wb25lbnQgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtdmFsaWRhdGlvbi1lcnJvcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nRm9yPVwibGV0IGVycm9yIG9mIGFicEVycm9yczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XHJcbiAgICAgIHt7IGVycm9yLm1lc3NhZ2UgfCBhYnBMb2NhbGl6YXRpb246IGVycm9yLmludGVycG9saXRlUGFyYW1zIH19XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQgZXh0ZW5kcyBFcnJvckNvbXBvbmVudCB7XHJcbiAgZ2V0IGFicEVycm9ycygpOiAoVmFsaWRhdGlvbi5FcnJvciAmIHsgaW50ZXJwb2xpdGVQYXJhbXM/OiBzdHJpbmdbXSB9KVtdIHtcclxuICAgIGlmICghdGhpcy5lcnJvcnMgfHwgIXRoaXMuZXJyb3JzLmxlbmd0aCkgcmV0dXJuIFtdO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmVycm9ycy5tYXAoZXJyb3IgPT4ge1xyXG4gICAgICBpZiAoIWVycm9yLm1lc3NhZ2UpIHJldHVybiBlcnJvcjtcclxuXHJcbiAgICAgIGNvbnN0IGluZGV4ID0gZXJyb3IubWVzc2FnZS5pbmRleE9mKCdbJyk7XHJcblxyXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5lcnJvcixcclxuICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2Uuc2xpY2UoMCwgaW5kZXgpLFxyXG4gICAgICAgICAgaW50ZXJwb2xpdGVQYXJhbXM6IGVycm9yLm1lc3NhZ2Uuc2xpY2UoaW5kZXggKyAxLCBlcnJvci5tZXNzYWdlLmxlbmd0aCAtIDEpLnNwbGl0KCcsJyksXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGVycm9yO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
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
+ export 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 Object.assign(Object.assign({}, error), { message: error.message.slice(0, index), interpoliteParams: error.message.slice(index + 1, error.message.length - 1).split(',') });
16
+ }
17
+ return error;
18
+ });
19
+ }
20
+ }
21
+ ValidationErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ValidationErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
22
+ ValidationErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ValidationErrorComponent, selector: "abp-validation-error", usesInheritance: true, ngImport: i0, template: `
23
+ <div class="invalid-feedback" *ngFor="let error of abpErrors; trackBy: trackByFn">
24
+ {{ error.message | abpLocalization: error.interpoliteParams }}
25
+ </div>
26
+ `, isInline: true, directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "abpLocalization": i2.LocalizationPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ValidationErrorComponent, decorators: [{
28
+ type: Component,
29
+ args: [{
30
+ selector: 'abp-validation-error',
31
+ template: `
32
+ <div class="invalid-feedback" *ngFor="let error of abpErrors; trackBy: trackByFn">
33
+ {{ error.message | abpLocalization: error.interpoliteParams }}
34
+ </div>
35
+ `,
36
+ changeDetection: ChangeDetectionStrategy.OnPush,
37
+ encapsulation: ViewEncapsulation.None,
38
+ }]
39
+ }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1iYXNpYy9zcmMvbGliL2NvbXBvbmVudHMvdmFsaWRhdGlvbi1lcnJvci92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBYyx3QkFBd0IsSUFBSSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVk1RixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsY0FBYztJQUMxRCxJQUFJLFNBQVM7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRW5ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1lBRWpDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXpDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUNkLHVDQUNLLEtBQUssS0FDUixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN0QyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFDdEY7YUFDSDtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztzSEFuQlUsd0JBQXdCOzBHQUF4Qix3QkFBd0IsbUZBUnpCOzs7O0dBSVQ7NEZBSVUsd0JBQXdCO2tCQVZwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiwgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50IGFzIEVycm9yQ29tcG9uZW50IH0gZnJvbSAnQG5neC12YWxpZGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXZhbGlkYXRpb24tZXJyb3InLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJpbnZhbGlkLWZlZWRiYWNrXCIgKm5nRm9yPVwibGV0IGVycm9yIG9mIGFicEVycm9yczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICB7eyBlcnJvci5tZXNzYWdlIHwgYWJwTG9jYWxpemF0aW9uOiBlcnJvci5pbnRlcnBvbGl0ZVBhcmFtcyB9fVxuICAgIDwvZGl2PlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50IGV4dGVuZHMgRXJyb3JDb21wb25lbnQge1xuICBnZXQgYWJwRXJyb3JzKCk6IChWYWxpZGF0aW9uLkVycm9yICYgeyBpbnRlcnBvbGl0ZVBhcmFtcz86IHN0cmluZ1tdIH0pW10ge1xuICAgIGlmICghdGhpcy5lcnJvcnMgfHwgIXRoaXMuZXJyb3JzLmxlbmd0aCkgcmV0dXJuIFtdO1xuXG4gICAgcmV0dXJuIHRoaXMuZXJyb3JzLm1hcChlcnJvciA9PiB7XG4gICAgICBpZiAoIWVycm9yLm1lc3NhZ2UpIHJldHVybiBlcnJvcjtcblxuICAgICAgY29uc3QgaW5kZXggPSBlcnJvci5tZXNzYWdlLmluZGV4T2YoJ1snKTtcblxuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5lcnJvcixcbiAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICBpbnRlcnBvbGl0ZVBhcmFtczogZXJyb3IubWVzc2FnZS5zbGljZShpbmRleCArIDEsIGVycm9yLm1lc3NhZ2UubGVuZ3RoIC0gMSkuc3BsaXQoJywnKSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH0pO1xuICB9XG59XG4iXX0=