@abp/ng.theme.basic 9.2.1 → 9.3.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/abp-ng.theme.basic.mjs +131 -109
- package/fesm2022/abp-ng.theme.basic.mjs.map +1 -1
- package/lib/components/account-layout/account-layout.component.d.ts +1 -1
- package/lib/components/account-layout/auth-wrapper/auth-wrapper.component.d.ts +1 -1
- package/lib/components/account-layout/tenant-box/tenant-box.component.d.ts +1 -1
- package/lib/components/application-layout/application-layout.component.d.ts +1 -1
- package/lib/components/empty-layout/empty-layout.component.d.ts +1 -1
- package/lib/components/logo/logo.component.d.ts +1 -1
- package/lib/components/nav-items/current-user.component.d.ts +1 -1
- package/lib/components/nav-items/languages.component.d.ts +1 -1
- package/lib/components/nav-items/nav-items.component.d.ts +1 -1
- package/lib/components/page-alert-container/page-alert-container.component.d.ts +1 -1
- package/lib/components/routes/routes.component.d.ts +1 -1
- package/lib/components/validation-error/validation-error.component.d.ts +1 -1
- package/lib/theme-basic.module.d.ts +5 -9
- package/package.json +3 -3
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Component, inject, Renderer2, ViewChildren, Input, ViewEncapsulation, Inject, ChangeDetectionStrategy, InjectionToken, provideAppInitializer, Injector, makeEnvironmentProviders, NgModule } from '@angular/core';
|
|
3
|
-
import * as
|
|
4
|
-
import { RoutesService, SubscriptionService, NAVIGATE_TO_MANAGE_PROFILE, LazyLoadService, LOADING_STRATEGY, DomInsertionService, ReplaceableComponentsService, CONTENT_STRATEGY, AuthService
|
|
3
|
+
import * as i1 from '@abp/ng.core';
|
|
4
|
+
import { RoutesService, LazyLocalizationPipe, PermissionDirective, LocalizationPipe, ToInjectorPipe, ReplaceableTemplateDirective, SafeHtmlPipe, SubscriptionService, NAVIGATE_TO_MANAGE_PROFILE, LazyLoadService, LOADING_STRATEGY, DomInsertionService, ReplaceableComponentsService, CONTENT_STRATEGY, AuthService } from '@abp/ng.core';
|
|
5
5
|
import { fromEvent } from 'rxjs';
|
|
6
6
|
import { debounceTime, map } from 'rxjs/operators';
|
|
7
|
-
import * as i2
|
|
7
|
+
import * as i2 from '@angular/common';
|
|
8
|
+
import { CommonModule } from '@angular/common';
|
|
9
|
+
import * as i3 from '@ng-bootstrap/ng-bootstrap';
|
|
10
|
+
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
|
|
8
11
|
import * as i2$1 from '@angular/router';
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import * as i1$1 from '@abp/ng.account.core';
|
|
12
|
+
import { RouterModule } from '@angular/router';
|
|
13
|
+
import * as i1$1 from '@abp/ng.theme.shared';
|
|
14
|
+
import { EllipsisDirective, AbpVisibleDirective, ModalComponent, ButtonComponent, ModalCloseDirective, slideFromBottom, collapseWithMargin, DocumentDirHandlerService, NavItemsService, UserMenuService } from '@abp/ng.theme.shared';
|
|
15
|
+
import * as i1$2 from '@abp/ng.account.core';
|
|
14
16
|
import { TenantBoxService, AuthWrapperService } from '@abp/ng.account.core';
|
|
15
|
-
import * as
|
|
16
|
-
import {
|
|
17
|
+
import * as i3$1 from '@angular/forms';
|
|
18
|
+
import { FormsModule } from '@angular/forms';
|
|
19
|
+
import { ValidationErrorComponent as ValidationErrorComponent$1, VALIDATION_ERROR_TEMPLATE, VALIDATION_TARGET_SELECTOR, VALIDATION_INVALID_CLASSES } from '@ngx-validate/core';
|
|
17
20
|
|
|
18
21
|
class LayoutService {
|
|
19
22
|
constructor(subscription, cdRef, routerEvents) {
|
|
@@ -43,12 +46,12 @@ class LayoutService {
|
|
|
43
46
|
const resize$ = fromEvent(window, 'resize').pipe(debounceTime(150));
|
|
44
47
|
this.subscription.addOne(resize$, () => this.checkWindowWidth());
|
|
45
48
|
}
|
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LayoutService, deps: [{ token:
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LayoutService, deps: [{ token: i1.SubscriptionService }, { token: i0.ChangeDetectorRef }, { token: i1.RouterEvents }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
47
50
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LayoutService }); }
|
|
48
51
|
}
|
|
49
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LayoutService, decorators: [{
|
|
50
53
|
type: Injectable
|
|
51
|
-
}], ctorParameters: () => [{ type:
|
|
54
|
+
}], ctorParameters: () => [{ type: i1.SubscriptionService }, { type: i0.ChangeDetectorRef }, { type: i1.RouterEvents }] });
|
|
52
55
|
|
|
53
56
|
class LogoComponent {
|
|
54
57
|
get appInfo() {
|
|
@@ -57,8 +60,8 @@ class LogoComponent {
|
|
|
57
60
|
constructor(environment) {
|
|
58
61
|
this.environment = environment;
|
|
59
62
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LogoComponent, deps: [{ token:
|
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: LogoComponent, isStandalone:
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LogoComponent, deps: [{ token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: LogoComponent, isStandalone: true, selector: "abp-logo", ngImport: i0, template: `
|
|
62
65
|
<a class="navbar-brand" routerLink="/">
|
|
63
66
|
@if (appInfo.logoUrl) {
|
|
64
67
|
<img [src]="appInfo.logoUrl" [alt]="appInfo.name" width="100%" height="auto" />
|
|
@@ -66,12 +69,11 @@ class LogoComponent {
|
|
|
66
69
|
{{ appInfo.name }}
|
|
67
70
|
}
|
|
68
71
|
</a>
|
|
69
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
72
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
70
73
|
}
|
|
71
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LogoComponent, decorators: [{
|
|
72
75
|
type: Component,
|
|
73
76
|
args: [{
|
|
74
|
-
standalone: false,
|
|
75
77
|
selector: 'abp-logo',
|
|
76
78
|
template: `
|
|
77
79
|
<a class="navbar-brand" routerLink="/">
|
|
@@ -82,21 +84,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
|
|
|
82
84
|
}
|
|
83
85
|
</a>
|
|
84
86
|
`,
|
|
87
|
+
imports: [CommonModule],
|
|
85
88
|
}]
|
|
86
|
-
}], ctorParameters: () => [{ type:
|
|
87
|
-
|
|
88
|
-
class NavItemsComponent {
|
|
89
|
-
constructor(navItems) {
|
|
90
|
-
this.navItems = navItems;
|
|
91
|
-
this.trackByFn = (_, element) => element.id;
|
|
92
|
-
}
|
|
93
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: NavItemsComponent, deps: [{ token: i1.NavItemsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
94
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: NavItemsComponent, isStandalone: false, selector: "abp-nav-items", ngImport: i0, template: "<ul class=\"navbar-nav\">\r\n @for (item of navItems.items$ | async; track $index) {\r\n <ng-container *abpVisible=\"!item.visible || item.visible(item)\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n @if (item.component) {\r\n <ng-container\r\n [ngComponentOutlet]=\"item.component\"\r\n [ngComponentOutletInjector]=\"item | toInjector\"\r\n ></ng-container>\r\n } @else {\r\n <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\r\n }\r\n </li>\r\n </ng-container>\r\n }\r\n</ul>\r\n", dependencies: [{ kind: "directive", type: i2$2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i2.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "directive", type: i1.AbpVisibleDirective, selector: "[abpVisible]", inputs: ["abpVisible"] }, { kind: "pipe", type: i2$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.ToInjectorPipe, name: "toInjector" }] }); }
|
|
95
|
-
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: NavItemsComponent, decorators: [{
|
|
97
|
-
type: Component,
|
|
98
|
-
args: [{ standalone: false, selector: 'abp-nav-items', template: "<ul class=\"navbar-nav\">\r\n @for (item of navItems.items$ | async; track $index) {\r\n <ng-container *abpVisible=\"!item.visible || item.visible(item)\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n @if (item.component) {\r\n <ng-container\r\n [ngComponentOutlet]=\"item.component\"\r\n [ngComponentOutletInjector]=\"item | toInjector\"\r\n ></ng-container>\r\n } @else {\r\n <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\r\n }\r\n </li>\r\n </ng-container>\r\n }\r\n</ul>\r\n" }]
|
|
99
|
-
}], ctorParameters: () => [{ type: i1.NavItemsService }] });
|
|
89
|
+
}], ctorParameters: () => [{ type: i1.EnvironmentService }] });
|
|
100
90
|
|
|
101
91
|
class RoutesComponent {
|
|
102
92
|
constructor() {
|
|
@@ -115,11 +105,19 @@ class RoutesComponent {
|
|
|
115
105
|
});
|
|
116
106
|
}
|
|
117
107
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RoutesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: RoutesComponent, isStandalone:
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: RoutesComponent, isStandalone: true, selector: "abp-routes", inputs: { smallScreen: "smallScreen" }, viewQueries: [{ propertyName: "childrenContainers", predicate: ["childrenContainer"], descendants: true }], ngImport: i0, template: "<ul class=\"navbar-nav\">\r\n @for (route of routesService.visible$ | async; track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"isDropdown(route) ? dropdownLink : defaultLink\"\r\n [ngTemplateOutletContext]=\"{ $implicit: route }\"\r\n />\r\n }\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 @if (route.iconClass) {\r\n <i [ngClass]=\"route.iconClass\"></i>\r\n }\r\n {{ route.name | abpLazyLocalization | async }}\r\n </a>\r\n </li>\r\n </ng-template>\r\n\r\n <ng-template #dropdownLink let-route>\r\n @if (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 @if (route.iconClass) {\r\n <i [ngClass]=\"route.iconClass\"></i>\r\n }\r\n {{ route.name | abpLazyLocalization | async }}\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 *ngTemplateOutlet=\"forTemplate; context: { $implicit: route }\" />\r\n </div>\r\n </li>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #forTemplate let-route>\r\n @for (child of route.children; track $index) {\r\n <ng-template\r\n [ngTemplateOutlet]=\"child.children?.length ? dropdownChild : defaultChild\"\r\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\r\n />\r\n }\r\n </ng-template>\r\n\r\n <ng-template #defaultChild let-child>\r\n @if (child.path) {\r\n <div class=\"dropdown-submenu\" *abpPermission=\"child.requiredPolicy\">\r\n <a class=\"dropdown-item\" [routerLink]=\"[child.path]\" (click)=\"closeDropdown()\">\r\n @if (child.iconClass) {\r\n <i [ngClass]=\"child.iconClass\"></i>\r\n }\r\n {{ child.name | abpLocalization }}</a\r\n >\r\n </div>\r\n }\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 @if (child.iconClass) {\r\n <i [ngClass]=\"child.iconClass\"></i>\r\n }\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 }\" />\r\n </div>\r\n </div>\r\n </ng-template>\r\n</ul>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i3.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i3.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "pipe", type: LazyLocalizationPipe, name: "abpLazyLocalization" }, { kind: "directive", type: PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "directive", type: EllipsisDirective, selector: "[abpEllipsis]", inputs: ["abpEllipsis", "title", "abpEllipsisEnabled"] }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
|
|
119
109
|
}
|
|
120
110
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RoutesComponent, decorators: [{
|
|
121
111
|
type: Component,
|
|
122
|
-
args: [{
|
|
112
|
+
args: [{ selector: 'abp-routes', imports: [
|
|
113
|
+
CommonModule,
|
|
114
|
+
RouterModule,
|
|
115
|
+
NgbDropdownModule,
|
|
116
|
+
LazyLocalizationPipe,
|
|
117
|
+
PermissionDirective,
|
|
118
|
+
EllipsisDirective,
|
|
119
|
+
LocalizationPipe,
|
|
120
|
+
], template: "<ul class=\"navbar-nav\">\r\n @for (route of routesService.visible$ | async; track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"isDropdown(route) ? dropdownLink : defaultLink\"\r\n [ngTemplateOutletContext]=\"{ $implicit: route }\"\r\n />\r\n }\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 @if (route.iconClass) {\r\n <i [ngClass]=\"route.iconClass\"></i>\r\n }\r\n {{ route.name | abpLazyLocalization | async }}\r\n </a>\r\n </li>\r\n </ng-template>\r\n\r\n <ng-template #dropdownLink let-route>\r\n @if (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 @if (route.iconClass) {\r\n <i [ngClass]=\"route.iconClass\"></i>\r\n }\r\n {{ route.name | abpLazyLocalization | async }}\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 *ngTemplateOutlet=\"forTemplate; context: { $implicit: route }\" />\r\n </div>\r\n </li>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #forTemplate let-route>\r\n @for (child of route.children; track $index) {\r\n <ng-template\r\n [ngTemplateOutlet]=\"child.children?.length ? dropdownChild : defaultChild\"\r\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\r\n />\r\n }\r\n </ng-template>\r\n\r\n <ng-template #defaultChild let-child>\r\n @if (child.path) {\r\n <div class=\"dropdown-submenu\" *abpPermission=\"child.requiredPolicy\">\r\n <a class=\"dropdown-item\" [routerLink]=\"[child.path]\" (click)=\"closeDropdown()\">\r\n @if (child.iconClass) {\r\n <i [ngClass]=\"child.iconClass\"></i>\r\n }\r\n {{ child.name | abpLocalization }}</a\r\n >\r\n </div>\r\n }\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 @if (child.iconClass) {\r\n <i [ngClass]=\"child.iconClass\"></i>\r\n }\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 }\" />\r\n </div>\r\n </div>\r\n </ng-template>\r\n</ul>\r\n" }]
|
|
123
121
|
}], propDecorators: { smallScreen: [{
|
|
124
122
|
type: Input
|
|
125
123
|
}], childrenContainers: [{
|
|
@@ -127,41 +125,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
|
|
|
127
125
|
args: ['childrenContainer']
|
|
128
126
|
}] } });
|
|
129
127
|
|
|
130
|
-
class
|
|
131
|
-
constructor(
|
|
132
|
-
this.
|
|
128
|
+
class NavItemsComponent {
|
|
129
|
+
constructor(navItems) {
|
|
130
|
+
this.navItems = navItems;
|
|
131
|
+
this.trackByFn = (_, element) => element.id;
|
|
133
132
|
}
|
|
134
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type:
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type:
|
|
133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: NavItemsComponent, deps: [{ token: i1$1.NavItemsService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: NavItemsComponent, isStandalone: true, selector: "abp-nav-items", ngImport: i0, template: "<ul class=\"navbar-nav\">\r\n @for (item of navItems.items$ | async; track $index) {\r\n <ng-container *abpVisible=\"!item.visible || item.visible(item)\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n @if (item.component) {\r\n <ng-container\r\n [ngComponentOutlet]=\"item.component\"\r\n [ngComponentOutletInjector]=\"item | toInjector\"\r\n ></ng-container>\r\n } @else {\r\n <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\r\n }\r\n </li>\r\n </ng-container>\r\n }\r\n</ul>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: AbpVisibleDirective, selector: "[abpVisible]", inputs: ["abpVisible"] }, { kind: "directive", type: PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "pipe", type: ToInjectorPipe, name: "toInjector" }] }); }
|
|
136
135
|
}
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type:
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: NavItemsComponent, decorators: [{
|
|
138
137
|
type: Component,
|
|
139
|
-
args: [{
|
|
140
|
-
}], ctorParameters: () => [{ type: i1.
|
|
138
|
+
args: [{ selector: 'abp-nav-items', imports: [CommonModule, AbpVisibleDirective, PermissionDirective, ToInjectorPipe], template: "<ul class=\"navbar-nav\">\r\n @for (item of navItems.items$ | async; track $index) {\r\n <ng-container *abpVisible=\"!item.visible || item.visible(item)\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n @if (item.component) {\r\n <ng-container\r\n [ngComponentOutlet]=\"item.component\"\r\n [ngComponentOutletInjector]=\"item | toInjector\"\r\n ></ng-container>\r\n } @else {\r\n <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\r\n }\r\n </li>\r\n </ng-container>\r\n }\r\n</ul>\r\n" }]
|
|
139
|
+
}], ctorParameters: () => [{ type: i1$1.NavItemsService }] });
|
|
141
140
|
|
|
142
141
|
class TenantBoxComponent {
|
|
143
142
|
constructor(service) {
|
|
144
143
|
this.service = service;
|
|
145
144
|
}
|
|
146
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TenantBoxComponent, deps: [{ token: i1$
|
|
147
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: TenantBoxComponent, isStandalone:
|
|
145
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TenantBoxComponent, deps: [{ token: i1$2.TenantBoxService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
146
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: TenantBoxComponent, isStandalone: true, selector: "abp-tenant-box", providers: [TenantBoxService], ngImport: i0, template: "@if ((service.currentTenant$ | async) || { name: '' }; as currentTenant) {\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-5\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <span style=\"font-size: 0.8em\" class=\"text-uppercase text-muted\">{{\r\n 'AbpUiMultiTenancy::Tenant' | abpLocalization\r\n }}</span\r\n ><br />\r\n <h6 class=\"m-0 d-inline-block\">\r\n <i>{{ currentTenant.name || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}</i>\r\n </h6>\r\n </div>\r\n <div class=\"col-auto\">\r\n <a\r\n id=\"AbpTenantSwitchLink\"\r\n href=\"javascript:void(0);\"\r\n class=\"btn btn-sm mt-3 btn-outline-primary\"\r\n (click)=\"service.onSwitch()\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal [(visible)]=\"service.isModalVisible\" [busy]=\"service.modalBusy\">\r\n <ng-template #abpHeader>\r\n <h5>Switch Tenant</h5>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <form (ngSubmit)=\"service.save()\">\r\n <div class=\"mt-2\">\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"name\" class=\"form-label\">{{\r\n 'AbpUiMultiTenancy::Name' | abpLocalization\r\n }}</label>\r\n <input\r\n [(ngModel)]=\"service.name\"\r\n type=\"text\"\r\n id=\"name\"\r\n name=\"tenant\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <p>{{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}</p>\r\n </div>\r\n </form>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-outline-primary\">\r\n {{ 'AbpTenantManagement::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n type=\"abp-button\"\r\n iconClass=\"fa fa-check\"\r\n (click)=\"service.save()\"\r\n [disabled]=\"currentTenant?.name === service.name\"\r\n >\r\n <span>{{ 'AbpTenantManagement::Save' | abpLocalization }}</span>\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }, { kind: "component", type: ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "directive", type: ModalCloseDirective, selector: "[abpClose]" }] }); }
|
|
148
147
|
}
|
|
149
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: TenantBoxComponent, decorators: [{
|
|
150
149
|
type: Component,
|
|
151
|
-
args: [{
|
|
152
|
-
|
|
150
|
+
args: [{ selector: 'abp-tenant-box', providers: [TenantBoxService], imports: [
|
|
151
|
+
CommonModule,
|
|
152
|
+
FormsModule,
|
|
153
|
+
ModalComponent,
|
|
154
|
+
LocalizationPipe,
|
|
155
|
+
ButtonComponent,
|
|
156
|
+
ModalCloseDirective,
|
|
157
|
+
], template: "@if ((service.currentTenant$ | async) || { name: '' }; as currentTenant) {\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-5\">\r\n <div class=\"row\">\r\n <div class=\"col\">\r\n <span style=\"font-size: 0.8em\" class=\"text-uppercase text-muted\">{{\r\n 'AbpUiMultiTenancy::Tenant' | abpLocalization\r\n }}</span\r\n ><br />\r\n <h6 class=\"m-0 d-inline-block\">\r\n <i>{{ currentTenant.name || ('AbpUiMultiTenancy::NotSelected' | abpLocalization) }}</i>\r\n </h6>\r\n </div>\r\n <div class=\"col-auto\">\r\n <a\r\n id=\"AbpTenantSwitchLink\"\r\n href=\"javascript:void(0);\"\r\n class=\"btn btn-sm mt-3 btn-outline-primary\"\r\n (click)=\"service.onSwitch()\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal [(visible)]=\"service.isModalVisible\" [busy]=\"service.modalBusy\">\r\n <ng-template #abpHeader>\r\n <h5>Switch Tenant</h5>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <form (ngSubmit)=\"service.save()\">\r\n <div class=\"mt-2\">\r\n <div class=\"mb-3 form-group\">\r\n <label for=\"name\" class=\"form-label\">{{\r\n 'AbpUiMultiTenancy::Name' | abpLocalization\r\n }}</label>\r\n <input\r\n [(ngModel)]=\"service.name\"\r\n type=\"text\"\r\n id=\"name\"\r\n name=\"tenant\"\r\n class=\"form-control\"\r\n autofocus\r\n />\r\n </div>\r\n <p>{{ 'AbpUiMultiTenancy::SwitchTenantHint' | abpLocalization }}</p>\r\n </div>\r\n </form>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-outline-primary\">\r\n {{ 'AbpTenantManagement::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n type=\"abp-button\"\r\n iconClass=\"fa fa-check\"\r\n (click)=\"service.save()\"\r\n [disabled]=\"currentTenant?.name === service.name\"\r\n >\r\n <span>{{ 'AbpTenantManagement::Save' | abpLocalization }}</span>\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n}\r\n" }]
|
|
158
|
+
}], ctorParameters: () => [{ type: i1$2.TenantBoxService }] });
|
|
153
159
|
|
|
154
160
|
class AuthWrapperComponent {
|
|
155
161
|
constructor(service) {
|
|
156
162
|
this.service = service;
|
|
157
163
|
}
|
|
158
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AuthWrapperComponent, deps: [{ token: i1$
|
|
159
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: AuthWrapperComponent, isStandalone:
|
|
164
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AuthWrapperComponent, deps: [{ token: i1$2.AuthWrapperService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
165
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: AuthWrapperComponent, isStandalone: true, selector: "abp-auth-wrapper", providers: [AuthWrapperService], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"mx-auto col col-md-5\">\r\n @if ((service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible) {\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n }\r\n\r\n <div class=\"abp-account-container\">\r\n @if (service.enableLocalLogin$ | async) {\r\n <div class=\"card mt-3 shadow-sm rounded\">\r\n <div class=\"card-body p-5\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"alert alert-warning\">\r\n <strong>{{ 'AbpAccount::InvalidLoginRequest' | abpLocalization }}</strong>\r\n {{ 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient' | abpLocalization }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: TenantBoxComponent, selector: "abp-tenant-box" }, { kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
|
|
160
166
|
}
|
|
161
167
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AuthWrapperComponent, decorators: [{
|
|
162
168
|
type: Component,
|
|
163
|
-
args: [{
|
|
164
|
-
}], ctorParameters: () => [{ type: i1$
|
|
169
|
+
args: [{ selector: 'abp-auth-wrapper', providers: [AuthWrapperService], imports: [CommonModule, TenantBoxComponent, ReplaceableTemplateDirective, LocalizationPipe], template: "<div class=\"row\">\r\n <div class=\"mx-auto col col-md-5\">\r\n @if ((service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible) {\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n }\r\n\r\n <div class=\"abp-account-container\">\r\n @if (service.enableLocalLogin$ | async) {\r\n <div class=\"card mt-3 shadow-sm rounded\">\r\n <div class=\"card-body p-5\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"alert alert-warning\">\r\n <strong>{{ 'AbpAccount::InvalidLoginRequest' | abpLocalization }}</strong>\r\n {{ 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient' | abpLocalization }}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
170
|
+
}], ctorParameters: () => [{ type: i1$2.AuthWrapperService }] });
|
|
171
|
+
|
|
172
|
+
class PageAlertContainerComponent {
|
|
173
|
+
constructor(service) {
|
|
174
|
+
this.service = service;
|
|
175
|
+
}
|
|
176
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: PageAlertContainerComponent, deps: [{ token: i1$1.PageAlertService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
177
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: PageAlertContainerComponent, isStandalone: true, selector: "abp-page-alert-container", ngImport: i0, template: "@for (alert of service.alerts$ | async; track i; 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 @if (alert.title) {\r\n <h4\r\n class=\"alert-heading\"\r\n [innerHTML]=\"alert.title | abpSafeHtml | abpLocalization: alert.titleLocalizationParams\"\r\n ></h4>\r\n }\r\n <span\r\n [innerHTML]=\"alert.message | abpSafeHtml | abpLocalization: alert.messageLocalizationParams\"\r\n ></span>\r\n @if (alert.dismissible) {\r\n <button\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 }\r\n </div>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }, { kind: "pipe", type: SafeHtmlPipe, name: "abpSafeHtml" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
178
|
+
}
|
|
179
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: PageAlertContainerComponent, decorators: [{
|
|
180
|
+
type: Component,
|
|
181
|
+
args: [{ selector: 'abp-page-alert-container', encapsulation: ViewEncapsulation.None, imports: [CommonModule, LocalizationPipe, SafeHtmlPipe], template: "@for (alert of service.alerts$ | async; track i; 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 @if (alert.title) {\r\n <h4\r\n class=\"alert-heading\"\r\n [innerHTML]=\"alert.title | abpSafeHtml | abpLocalization: alert.titleLocalizationParams\"\r\n ></h4>\r\n }\r\n <span\r\n [innerHTML]=\"alert.message | abpSafeHtml | abpLocalization: alert.messageLocalizationParams\"\r\n ></span>\r\n @if (alert.dismissible) {\r\n <button\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 }\r\n </div>\r\n}\r\n" }]
|
|
182
|
+
}], ctorParameters: () => [{ type: i1$1.PageAlertService }] });
|
|
165
183
|
|
|
166
184
|
class AccountLayoutComponent {
|
|
167
185
|
// required for dynamic component
|
|
@@ -174,11 +192,20 @@ class AccountLayoutComponent {
|
|
|
174
192
|
this.service.subscribeWindowSize();
|
|
175
193
|
}
|
|
176
194
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AccountLayoutComponent, deps: [{ token: LayoutService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: AccountLayoutComponent, isStandalone:
|
|
195
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: AccountLayoutComponent, isStandalone: true, selector: "abp-layout-account", providers: [LayoutService, SubscriptionService], ngImport: i0, template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"navbar-collapse\"\r\n [class.overflow-hidden]=\"service.smallScreen\"\r\n id=\"main-navbar-collapse\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n @if (service.smallScreen) {\r\n <div\r\n [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n }\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\r\n <abp-page-alert-container></abp-page-alert-container>\r\n <abp-auth-wrapper\r\n *abpReplaceableTemplate=\"{\r\n componentKey: authWrapperKey\r\n }\"\r\n >\r\n <router-outlet #outlet=\"outlet\"></router-outlet>\r\n </abp-auth-wrapper>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LogoComponent, selector: "abp-logo" }, { kind: "component", type: RoutesComponent, selector: "abp-routes", inputs: ["smallScreen"] }, { kind: "component", type: NavItemsComponent, selector: "abp-nav-items" }, { kind: "component", type: AuthWrapperComponent, selector: "abp-auth-wrapper" }, { kind: "component", type: PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
178
196
|
}
|
|
179
197
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: AccountLayoutComponent, decorators: [{
|
|
180
198
|
type: Component,
|
|
181
|
-
args: [{
|
|
199
|
+
args: [{ selector: 'abp-layout-account', providers: [LayoutService, SubscriptionService], imports: [
|
|
200
|
+
CommonModule,
|
|
201
|
+
LogoComponent,
|
|
202
|
+
RoutesComponent,
|
|
203
|
+
NavItemsComponent,
|
|
204
|
+
AuthWrapperComponent,
|
|
205
|
+
PageAlertContainerComponent,
|
|
206
|
+
ReplaceableTemplateDirective,
|
|
207
|
+
RouterModule,
|
|
208
|
+
], template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"navbar-collapse\"\r\n [class.overflow-hidden]=\"service.smallScreen\"\r\n id=\"main-navbar-collapse\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n @if (service.smallScreen) {\r\n <div\r\n [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n }\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\r\n <abp-page-alert-container></abp-page-alert-container>\r\n <abp-auth-wrapper\r\n *abpReplaceableTemplate=\"{\r\n componentKey: authWrapperKey\r\n }\"\r\n >\r\n <router-outlet #outlet=\"outlet\"></router-outlet>\r\n </abp-auth-wrapper>\r\n</div>\r\n" }]
|
|
182
209
|
}], ctorParameters: () => [{ type: LayoutService }] });
|
|
183
210
|
|
|
184
211
|
class ApplicationLayoutComponent {
|
|
@@ -191,24 +218,32 @@ class ApplicationLayoutComponent {
|
|
|
191
218
|
this.service.subscribeWindowSize();
|
|
192
219
|
}
|
|
193
220
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
194
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: ApplicationLayoutComponent, isStandalone:
|
|
221
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: ApplicationLayoutComponent, isStandalone: true, selector: "abp-layout-application", providers: [LayoutService, SubscriptionService], ngImport: i0, template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"navbar-collapse\"\r\n [class.overflow-hidden]=\"service.smallScreen\"\r\n id=\"main-navbar-collapse\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n @if (service.smallScreen) {\r\n <div [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\">\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n }\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\r\n <abp-page-alert-container></abp-page-alert-container>\r\n\r\n <router-outlet #outlet=\"outlet\"></router-outlet>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LogoComponent, selector: "abp-logo" }, { kind: "component", type: PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "component", type: RoutesComponent, selector: "abp-routes", inputs: ["smallScreen"] }, { kind: "component", type: NavItemsComponent, selector: "abp-nav-items" }, { kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], animations: [slideFromBottom, collapseWithMargin] }); }
|
|
195
222
|
}
|
|
196
223
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ApplicationLayoutComponent, decorators: [{
|
|
197
224
|
type: Component,
|
|
198
|
-
args: [{
|
|
225
|
+
args: [{ selector: 'abp-layout-application', animations: [slideFromBottom, collapseWithMargin], providers: [LayoutService, SubscriptionService], imports: [
|
|
226
|
+
CommonModule,
|
|
227
|
+
LogoComponent,
|
|
228
|
+
PageAlertContainerComponent,
|
|
229
|
+
RoutesComponent,
|
|
230
|
+
NavItemsComponent,
|
|
231
|
+
ReplaceableTemplateDirective,
|
|
232
|
+
RouterModule,
|
|
233
|
+
], template: "<nav\r\n class=\"navbar navbar-expand-lg navbar-dark bg-dark shadow-sm flex-column flex-md-row mb-4\"\r\n id=\"main-navbar\"\r\n style=\"min-height: 4rem\"\r\n>\r\n <div class=\"container\">\r\n <abp-logo *abpReplaceableTemplate=\"{ componentKey: service.logoComponentKey }\"></abp-logo>\r\n <button\r\n class=\"navbar-toggler\"\r\n type=\"button\"\r\n [attr.aria-expanded]=\"!service.isCollapsed\"\r\n (click)=\"service.isCollapsed = !service.isCollapsed\"\r\n >\r\n <span class=\"navbar-toggler-icon\"></span>\r\n </button>\r\n <div\r\n class=\"navbar-collapse\"\r\n [class.overflow-hidden]=\"service.smallScreen\"\r\n id=\"main-navbar-collapse\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"!service.smallScreen ? navigations : null\"></ng-container>\r\n\r\n @if (service.smallScreen) {\r\n <div [@collapseWithMargin]=\"service.isCollapsed ? 'collapsed' : 'expanded'\">\r\n <ng-container *ngTemplateOutlet=\"navigations\"></ng-container>\r\n </div>\r\n }\r\n\r\n <ng-template #navigations>\r\n <abp-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.routesComponentKey,\r\n inputs: {\r\n smallScreen: { value: service.smallScreen }\r\n }\r\n }\"\r\n class=\"mx-auto\"\r\n [smallScreen]=\"service.smallScreen\"\r\n ></abp-routes>\r\n\r\n <abp-nav-items\r\n *abpReplaceableTemplate=\"{\r\n componentKey: service.navItemsComponentKey\r\n }\"\r\n ></abp-nav-items>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</nav>\r\n\r\n<!-- [@slideFromBottom]=\"outlet.isActivated && outlet.activatedRoute?.routeConfig?.path\" TODO: throws ExpressionChangedAfterItHasBeenCheck when animation is active. It should be fixed -->\r\n<div class=\"container\">\r\n <abp-page-alert-container></abp-page-alert-container>\r\n\r\n <router-outlet #outlet=\"outlet\"></router-outlet>\r\n</div>\r\n" }]
|
|
199
234
|
}] });
|
|
200
235
|
|
|
201
236
|
class EmptyLayoutComponent {
|
|
202
237
|
static { this.type = "empty" /* eLayoutType.empty */; }
|
|
203
238
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: EmptyLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
204
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: EmptyLayoutComponent, isStandalone:
|
|
239
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: EmptyLayoutComponent, isStandalone: true, selector: "abp-layout-empty", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
205
240
|
}
|
|
206
241
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: EmptyLayoutComponent, decorators: [{
|
|
207
242
|
type: Component,
|
|
208
243
|
args: [{
|
|
209
|
-
standalone: false,
|
|
210
244
|
selector: 'abp-layout-empty',
|
|
211
245
|
template: ` <router-outlet></router-outlet> `,
|
|
246
|
+
imports: [RouterModule],
|
|
212
247
|
}]
|
|
213
248
|
}] });
|
|
214
249
|
|
|
@@ -232,16 +267,23 @@ class CurrentUserComponent {
|
|
|
232
267
|
logout() {
|
|
233
268
|
this.authService.logout().subscribe();
|
|
234
269
|
}
|
|
235
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: CurrentUserComponent, deps: [{ token: NAVIGATE_TO_MANAGE_PROFILE }, { token: i1.UserMenuService }, { token:
|
|
236
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: CurrentUserComponent, isStandalone:
|
|
270
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: CurrentUserComponent, deps: [{ token: NAVIGATE_TO_MANAGE_PROFILE }, { token: i1$1.UserMenuService }, { token: i1.AuthService }, { token: i1.ConfigStateService }, { token: i1.SessionStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
271
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: CurrentUserComponent, isStandalone: true, selector: "abp-current-user", ngImport: i0, template: "@if ((currentUser$ | async)?.isAuthenticated) {\r\n <div\r\n ngbDropdown\r\n class=\"dropdown\"\r\n #currentUserDropdown=\"ngbDropdown\"\r\n display=\"static\"\r\n >\r\n <a\r\n ngbDropdownToggle\r\n class=\"nav-link\"\r\n href=\"javascript:void(0)\"\r\n role=\"button\"\r\n id=\"dropdownMenuLink\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n >\r\n @if ((selectedTenant$ | async)?.name; as tenantName) {\r\n <small\r\n ><i>{{ tenantName }}</i\r\n >\\</small\r\n >\r\n }\r\n <strong>{{ (currentUser$ | async)?.userName }}</strong>\r\n </a>\r\n <div\r\n class=\"dropdown-menu dropdown-menu-end border-0 shadow-sm\"\r\n aria-labelledby=\"dropdownMenuLink\"\r\n [class.d-block]=\"smallScreen && currentUserDropdown.isOpen()\"\r\n >\r\n @for (item of userMenu.items$ | async; track $index) {\r\n <ng-container *abpVisible=\"!item.visible || item.visible(item)\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n @if (item.component) {\r\n <ng-container\r\n [ngComponentOutlet]=\"item.component\"\r\n [ngComponentOutletInjector]=\"item | toInjector\"\r\n ></ng-container>\r\n } @else {\r\n @if (item.html) {\r\n <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\r\n } @else {\r\n @if (item.textTemplate) {\r\n <a (click)=\"item.action ? item.action() : null\" class=\"dropdown-item pointer\">\r\n @if (item.textTemplate.icon) {\r\n <i class=\"me-1 {{ item.textTemplate.icon }}\"></i>\r\n }\r\n {{ item.textTemplate.text | abpLocalization }}</a\r\n >\r\n }\r\n }\r\n }\r\n </li>\r\n </ng-container>\r\n }\r\n </div>\r\n </div>\r\n} @else {\r\n <a role=\"button\" class=\"nav-link pointer\" (click)=\"navigateToLogin()\">\r\n {{ 'AbpAccount::Login' | abpLocalization }}\r\n </a>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i3.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i3.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: AbpVisibleDirective, selector: "[abpVisible]", inputs: ["abpVisible"] }, { kind: "directive", type: PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "pipe", type: ToInjectorPipe, name: "toInjector" }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }] }); }
|
|
237
272
|
}
|
|
238
273
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: CurrentUserComponent, decorators: [{
|
|
239
274
|
type: Component,
|
|
240
|
-
args: [{
|
|
275
|
+
args: [{ selector: 'abp-current-user', imports: [
|
|
276
|
+
CommonModule,
|
|
277
|
+
NgbDropdownModule,
|
|
278
|
+
AbpVisibleDirective,
|
|
279
|
+
PermissionDirective,
|
|
280
|
+
ToInjectorPipe,
|
|
281
|
+
LocalizationPipe,
|
|
282
|
+
], template: "@if ((currentUser$ | async)?.isAuthenticated) {\r\n <div\r\n ngbDropdown\r\n class=\"dropdown\"\r\n #currentUserDropdown=\"ngbDropdown\"\r\n display=\"static\"\r\n >\r\n <a\r\n ngbDropdownToggle\r\n class=\"nav-link\"\r\n href=\"javascript:void(0)\"\r\n role=\"button\"\r\n id=\"dropdownMenuLink\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n >\r\n @if ((selectedTenant$ | async)?.name; as tenantName) {\r\n <small\r\n ><i>{{ tenantName }}</i\r\n >\\</small\r\n >\r\n }\r\n <strong>{{ (currentUser$ | async)?.userName }}</strong>\r\n </a>\r\n <div\r\n class=\"dropdown-menu dropdown-menu-end border-0 shadow-sm\"\r\n aria-labelledby=\"dropdownMenuLink\"\r\n [class.d-block]=\"smallScreen && currentUserDropdown.isOpen()\"\r\n >\r\n @for (item of userMenu.items$ | async; track $index) {\r\n <ng-container *abpVisible=\"!item.visible || item.visible(item)\">\r\n <li class=\"nav-item d-flex align-items-center\" *abpPermission=\"item.requiredPolicy\">\r\n @if (item.component) {\r\n <ng-container\r\n [ngComponentOutlet]=\"item.component\"\r\n [ngComponentOutletInjector]=\"item | toInjector\"\r\n ></ng-container>\r\n } @else {\r\n @if (item.html) {\r\n <div [innerHTML]=\"item.html\" (click)=\"item.action ? item.action() : null\"></div>\r\n } @else {\r\n @if (item.textTemplate) {\r\n <a (click)=\"item.action ? item.action() : null\" class=\"dropdown-item pointer\">\r\n @if (item.textTemplate.icon) {\r\n <i class=\"me-1 {{ item.textTemplate.icon }}\"></i>\r\n }\r\n {{ item.textTemplate.text | abpLocalization }}</a\r\n >\r\n }\r\n }\r\n }\r\n </li>\r\n </ng-container>\r\n }\r\n </div>\r\n </div>\r\n} @else {\r\n <a role=\"button\" class=\"nav-link pointer\" (click)=\"navigateToLogin()\">\r\n {{ 'AbpAccount::Login' | abpLocalization }}\r\n </a>\r\n}\r\n" }]
|
|
241
283
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
242
284
|
type: Inject,
|
|
243
285
|
args: [NAVIGATE_TO_MANAGE_PROFILE]
|
|
244
|
-
}] }, { type: i1.UserMenuService }, { type:
|
|
286
|
+
}] }, { type: i1$1.UserMenuService }, { type: i1.AuthService }, { type: i1.ConfigStateService }, { type: i1.SessionStateService }] });
|
|
245
287
|
|
|
246
288
|
class LanguagesComponent {
|
|
247
289
|
get smallScreen() {
|
|
@@ -264,8 +306,8 @@ class LanguagesComponent {
|
|
|
264
306
|
onChangeLang(cultureName) {
|
|
265
307
|
this.sessionState.setLanguage(cultureName);
|
|
266
308
|
}
|
|
267
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LanguagesComponent, deps: [{ token:
|
|
268
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: LanguagesComponent, isStandalone:
|
|
309
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LanguagesComponent, deps: [{ token: i1.SessionStateService }, { token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
310
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: LanguagesComponent, isStandalone: true, selector: "abp-languages", ngImport: i0, template: `
|
|
269
311
|
@if (((dropdownLanguages$ | async)?.length || 0) > 0) {
|
|
270
312
|
<div class="dropdown" ngbDropdown #languageDropdown="ngbDropdown" display="static">
|
|
271
313
|
<a
|
|
@@ -296,12 +338,11 @@ class LanguagesComponent {
|
|
|
296
338
|
</div>
|
|
297
339
|
</div>
|
|
298
340
|
}
|
|
299
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
341
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i3.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i3.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }] }); }
|
|
300
342
|
}
|
|
301
343
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: LanguagesComponent, decorators: [{
|
|
302
344
|
type: Component,
|
|
303
345
|
args: [{
|
|
304
|
-
standalone: false,
|
|
305
346
|
selector: 'abp-languages',
|
|
306
347
|
template: `
|
|
307
348
|
@if (((dropdownLanguages$ | async)?.length || 0) > 0) {
|
|
@@ -335,8 +376,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
|
|
|
335
376
|
</div>
|
|
336
377
|
}
|
|
337
378
|
`,
|
|
379
|
+
imports: [CommonModule, NgbDropdownModule],
|
|
338
380
|
}]
|
|
339
|
-
}], ctorParameters: () => [{ type:
|
|
381
|
+
}], ctorParameters: () => [{ type: i1.SessionStateService }, { type: i1.ConfigStateService }] });
|
|
340
382
|
|
|
341
383
|
class ValidationErrorComponent extends ValidationErrorComponent$1 {
|
|
342
384
|
get abpErrors() {
|
|
@@ -357,18 +399,17 @@ class ValidationErrorComponent extends ValidationErrorComponent$1 {
|
|
|
357
399
|
});
|
|
358
400
|
}
|
|
359
401
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ValidationErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
360
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: ValidationErrorComponent, isStandalone:
|
|
402
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.8", type: ValidationErrorComponent, isStandalone: true, selector: "abp-validation-error", usesInheritance: true, ngImport: i0, template: `
|
|
361
403
|
@for (error of abpErrors; track $index) {
|
|
362
404
|
<div class="invalid-feedback">
|
|
363
405
|
{{ error.message | abpLocalization: error.interpoliteParams }}
|
|
364
406
|
</div>
|
|
365
407
|
}
|
|
366
|
-
`, isInline: true, dependencies: [{ kind: "pipe", type:
|
|
408
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
367
409
|
}
|
|
368
410
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: ValidationErrorComponent, decorators: [{
|
|
369
411
|
type: Component,
|
|
370
412
|
args: [{
|
|
371
|
-
standalone: false,
|
|
372
413
|
selector: 'abp-validation-error',
|
|
373
414
|
template: `
|
|
374
415
|
@for (error of abpErrors; track $index) {
|
|
@@ -379,6 +420,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
|
|
|
379
420
|
`,
|
|
380
421
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
381
422
|
encapsulation: ViewEncapsulation.None,
|
|
423
|
+
imports: [CommonModule, LocalizationPipe],
|
|
382
424
|
}]
|
|
383
425
|
}] });
|
|
384
426
|
|
|
@@ -725,65 +767,45 @@ function provideThemeBasicConfig() {
|
|
|
725
767
|
}
|
|
726
768
|
|
|
727
769
|
const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];
|
|
770
|
+
const THEME_BASIC_COMPONENTS = [
|
|
771
|
+
...LAYOUTS,
|
|
772
|
+
ValidationErrorComponent,
|
|
773
|
+
LogoComponent,
|
|
774
|
+
NavItemsComponent,
|
|
775
|
+
RoutesComponent,
|
|
776
|
+
CurrentUserComponent,
|
|
777
|
+
LanguagesComponent,
|
|
778
|
+
PageAlertContainerComponent,
|
|
779
|
+
AuthWrapperComponent,
|
|
780
|
+
TenantBoxComponent,
|
|
781
|
+
];
|
|
728
782
|
class BaseThemeBasicModule {
|
|
729
783
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: BaseThemeBasicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
730
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: BaseThemeBasicModule,
|
|
784
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.8", ngImport: i0, type: BaseThemeBasicModule, imports: [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent, ValidationErrorComponent,
|
|
731
785
|
LogoComponent,
|
|
732
786
|
NavItemsComponent,
|
|
733
787
|
RoutesComponent,
|
|
734
788
|
CurrentUserComponent,
|
|
735
789
|
LanguagesComponent,
|
|
736
790
|
PageAlertContainerComponent,
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
ThemeSharedModule,
|
|
740
|
-
NgbCollapseModule,
|
|
741
|
-
NgbDropdownModule,
|
|
742
|
-
NgxValidateCoreModule], exports: [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent, ValidationErrorComponent,
|
|
791
|
+
AuthWrapperComponent,
|
|
792
|
+
TenantBoxComponent], exports: [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent, ValidationErrorComponent,
|
|
743
793
|
LogoComponent,
|
|
744
794
|
NavItemsComponent,
|
|
745
795
|
RoutesComponent,
|
|
746
796
|
CurrentUserComponent,
|
|
747
797
|
LanguagesComponent,
|
|
748
|
-
PageAlertContainerComponent
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
NgbDropdownModule,
|
|
753
|
-
NgxValidateCoreModule] }); }
|
|
798
|
+
PageAlertContainerComponent,
|
|
799
|
+
AuthWrapperComponent,
|
|
800
|
+
TenantBoxComponent] }); }
|
|
801
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: BaseThemeBasicModule, imports: [THEME_BASIC_COMPONENTS] }); }
|
|
754
802
|
}
|
|
755
803
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: BaseThemeBasicModule, decorators: [{
|
|
756
804
|
type: NgModule,
|
|
757
805
|
args: [{
|
|
758
|
-
declarations: [
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
LogoComponent,
|
|
762
|
-
NavItemsComponent,
|
|
763
|
-
RoutesComponent,
|
|
764
|
-
CurrentUserComponent,
|
|
765
|
-
LanguagesComponent,
|
|
766
|
-
PageAlertContainerComponent,
|
|
767
|
-
TenantBoxComponent,
|
|
768
|
-
AuthWrapperComponent,
|
|
769
|
-
],
|
|
770
|
-
exports: [
|
|
771
|
-
...LAYOUTS,
|
|
772
|
-
ValidationErrorComponent,
|
|
773
|
-
LogoComponent,
|
|
774
|
-
NavItemsComponent,
|
|
775
|
-
RoutesComponent,
|
|
776
|
-
CurrentUserComponent,
|
|
777
|
-
LanguagesComponent,
|
|
778
|
-
PageAlertContainerComponent,
|
|
779
|
-
],
|
|
780
|
-
imports: [
|
|
781
|
-
CoreModule,
|
|
782
|
-
ThemeSharedModule,
|
|
783
|
-
NgbCollapseModule,
|
|
784
|
-
NgbDropdownModule,
|
|
785
|
-
NgxValidateCoreModule,
|
|
786
|
-
],
|
|
806
|
+
declarations: [],
|
|
807
|
+
exports: [...THEME_BASIC_COMPONENTS],
|
|
808
|
+
imports: [...THEME_BASIC_COMPONENTS],
|
|
787
809
|
}]
|
|
788
810
|
}] });
|
|
789
811
|
class ThemeBasicModule {
|
|
@@ -816,5 +838,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
|
|
|
816
838
|
* Generated bundle index. Do not edit.
|
|
817
839
|
*/
|
|
818
840
|
|
|
819
|
-
export { AccountLayoutComponent, ApplicationLayoutComponent, AuthWrapperComponent, BASIC_THEME_NAV_ITEM_PROVIDERS, BASIC_THEME_STYLES_PROVIDERS, BASIC_THEME_USER_MENU_PROVIDERS, BOOTSTRAP, BaseThemeBasicModule, CurrentUserComponent, EmptyLayoutComponent, LAYOUTS, LAZY_STYLES, LanguagesComponent, LazyStyleHandler, LogoComponent, NavItemsComponent, PageAlertContainerComponent, RoutesComponent, TenantBoxComponent, ThemeBasicModule, ValidationErrorComponent, configureNavItems, configureStyles, configureUserMenu, createLazyStyleHref, initLazyStyleHandler, provideThemeBasicConfig };
|
|
841
|
+
export { AccountLayoutComponent, ApplicationLayoutComponent, AuthWrapperComponent, BASIC_THEME_NAV_ITEM_PROVIDERS, BASIC_THEME_STYLES_PROVIDERS, BASIC_THEME_USER_MENU_PROVIDERS, BOOTSTRAP, BaseThemeBasicModule, CurrentUserComponent, EmptyLayoutComponent, LAYOUTS, LAZY_STYLES, LanguagesComponent, LazyStyleHandler, LogoComponent, NavItemsComponent, PageAlertContainerComponent, RoutesComponent, THEME_BASIC_COMPONENTS, TenantBoxComponent, ThemeBasicModule, ValidationErrorComponent, configureNavItems, configureStyles, configureUserMenu, createLazyStyleHref, initLazyStyleHandler, provideThemeBasicConfig };
|
|
820
842
|
//# sourceMappingURL=abp-ng.theme.basic.mjs.map
|