@volosoft/abp.ng.theme.lepton-x 3.2.0 → 3.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/account/account/account-layout.component.mjs +3 -3
- package/esm2022/account/account/account-layout.module.mjs +4 -4
- package/esm2022/account/account/components/auth-wrapper/auth-wrapper.component.mjs +3 -3
- package/esm2022/account/account/components/tenant-box/tenant-box.component.mjs +3 -3
- package/esm2022/layouts/empty-layout/empty-layout.component.mjs +3 -3
- package/esm2022/layouts/side-menu/layout/side-menu-application-layout.component.mjs +3 -3
- package/esm2022/layouts/side-menu/layout/side-menu-layout.module.mjs +4 -4
- package/esm2022/layouts/top-menu/layout/top-menu-application-layout.component.mjs +3 -3
- package/esm2022/layouts/top-menu/layout/top-menu-layout.module.mjs +4 -4
- package/esm2022/lib/components/abp-validation-error/abp-validation-error.component.mjs +3 -3
- package/esm2022/lib/components/abp-validation-error/abp-validation-error.module.mjs +4 -4
- package/esm2022/lib/components/http-error/http-error.component.mjs +3 -3
- package/esm2022/lib/enums/user-menu-items.mjs +3 -2
- package/esm2022/lib/lepton-x.module.mjs +4 -4
- package/esm2022/lib/providers/user-menu-service.provider.mjs +30 -17
- package/esm2022/lib/services/abp-auth.service.mjs +3 -3
- package/esm2022/lib/services/abp-create-error-component.service.mjs +3 -3
- package/esm2022/lib/services/abp-settings.service.mjs +3 -3
- package/esm2022/lib/services/abp-translate.service.mjs +3 -3
- package/fesm2022/volosoft-abp.ng.theme.lepton-x-account.mjs +13 -13
- package/fesm2022/volosoft-abp.ng.theme.lepton-x-layouts.mjs +17 -17
- package/fesm2022/volosoft-abp.ng.theme.lepton-x.mjs +56 -42
- package/fesm2022/volosoft-abp.ng.theme.lepton-x.mjs.map +1 -1
- package/lib/enums/user-menu-items.d.ts +3 -2
- package/lib/providers/user-menu-service.provider.d.ts +2 -4
- package/package.json +6 -6
|
@@ -9,10 +9,10 @@ export class AccountLayoutComponent {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
this.authWrapperKey = 'Account.AuthWrapper';
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AccountLayoutComponent, selector: "abp-account-layout", ngImport: i0, template: "<lpx-auth-layout>\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></router-outlet>\r\n </abp-auth-wrapper>\r\n</lpx-auth-layout>\r\n", dependencies: [{ kind: "component", type: i1.AuthLayoutComponent, selector: "lpx-auth-layout" }, { kind: "component", type: i2.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i4.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: i5.AuthWrapperComponent, selector: "abp-auth-wrapper" }] }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
17
|
args: [{ selector: 'abp-account-layout', template: "<lpx-auth-layout>\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></router-outlet>\r\n </abp-auth-wrapper>\r\n</lpx-auth-layout>\r\n" }]
|
|
18
18
|
}] });
|
|
@@ -17,21 +17,21 @@ export class AccountLayoutModule {
|
|
|
17
17
|
providers: [],
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
21
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
21
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, declarations: [AccountLayoutComponent], imports: [LpxAuthLayoutModule,
|
|
22
22
|
LpxContextMenuModule,
|
|
23
23
|
PageAlertContainerModule,
|
|
24
24
|
CoreModule,
|
|
25
25
|
ThemeSharedModule,
|
|
26
26
|
AuthWrapperComponent] }); }
|
|
27
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
27
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, imports: [LpxAuthLayoutModule,
|
|
28
28
|
LpxContextMenuModule,
|
|
29
29
|
PageAlertContainerModule,
|
|
30
30
|
CoreModule,
|
|
31
31
|
ThemeSharedModule,
|
|
32
32
|
AuthWrapperComponent] }); }
|
|
33
33
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AccountLayoutModule, decorators: [{
|
|
35
35
|
type: NgModule,
|
|
36
36
|
args: [{
|
|
37
37
|
imports: [
|
|
@@ -11,10 +11,10 @@ export class AuthWrapperComponent {
|
|
|
11
11
|
constructor() {
|
|
12
12
|
this.service = inject(AuthWrapperService);
|
|
13
13
|
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AuthWrapperComponent, isStandalone: true, selector: "abp-auth-wrapper", providers: [AuthWrapperService], ngImport: i0, template: "<div class=\"card mx-auto\" style=\"max-width: 30rem\">\r\n <div class=\"card-body p-3 p-sm-4\">\r\n <div class=\"align-items-start d-flex justify-content-between mb-2\">\r\n <h2 class=\"lpx-main-title lpx-login-title m-0 me-auto\">\r\n {{ service.pageLabel | abpLocalization }}\r\n </h2>\r\n\r\n <div ngbDropdown class=\"dropdown btn-group ms-auto\">\r\n @if (service.defaultLanguage$ | async; as defaultLang) {\r\n <button\r\n ngbDropdownToggle\r\n type=\"button\"\r\n id=\"dropdownMenuLink\"\r\n class=\"btn btn-sm btn-light dropdown-toggle\"\r\n aria-expanded=\"false\"\r\n data-bs-toggle=\"dropdown\"\r\n >\r\n <i class=\"bi bi-translate me-1\"></i>\r\n <span class=\"ml-2\">{{ defaultLang.displayName }}</span>\r\n </button>\r\n }\r\n\r\n <ul ngbDropdownMenu class=\"dropdown-menu dropdown-menu-right\">\r\n <li>\r\n @for (lang of service.dropdownLanguages$ | async; track $index) {\r\n <a\r\n class=\"dropdown-item pointer\"\r\n (click)=\"service.onChangeLang(lang.cultureName)\"\r\n >\r\n {{ lang?.displayName }}\r\n </a>\r\n }\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n @if (\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n ) {\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n }\r\n\r\n @if (service.enableLocalLogin$ | async) {\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n } @else {\r\n <div class=\"alert alert-warning\">\r\n <strong>{{\r\n 'AbpAccount::InvalidLoginRequest' | abpLocalization\r\n }}</strong>\r\n {{\r\n 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient'\r\n | abpLocalization\r\n }}\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<div class=\"copyright text-center my-3\">\r\n <span class=\"copyright-text\"\r\n >2023 \u00A9\r\n <a\r\n href=\"https://leptontheme.com/\"\r\n class=\"text-dark text-decoration-none\"\r\n target=\"_blank\"\r\n >LeptonX Theme</a\r\n >\r\n by\r\n <a\r\n href=\"https://abp.io/\"\r\n class=\"text-brand text-decoration-none\"\r\n target=\"_blank\"\r\n >ABP Platform</a\r\n >\r\n </span>\r\n</div>\r\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: NgbDropdownModule }, { kind: "directive", type: i1.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i1.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i1.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i2.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: TenantBoxComponent, selector: "abp-tenant-box" }] }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthWrapperComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
19
|
args: [{ standalone: true, selector: 'abp-auth-wrapper', imports: [AsyncPipe, NgbDropdownModule, CoreModule, TenantBoxComponent], providers: [AuthWrapperService], template: "<div class=\"card mx-auto\" style=\"max-width: 30rem\">\r\n <div class=\"card-body p-3 p-sm-4\">\r\n <div class=\"align-items-start d-flex justify-content-between mb-2\">\r\n <h2 class=\"lpx-main-title lpx-login-title m-0 me-auto\">\r\n {{ service.pageLabel | abpLocalization }}\r\n </h2>\r\n\r\n <div ngbDropdown class=\"dropdown btn-group ms-auto\">\r\n @if (service.defaultLanguage$ | async; as defaultLang) {\r\n <button\r\n ngbDropdownToggle\r\n type=\"button\"\r\n id=\"dropdownMenuLink\"\r\n class=\"btn btn-sm btn-light dropdown-toggle\"\r\n aria-expanded=\"false\"\r\n data-bs-toggle=\"dropdown\"\r\n >\r\n <i class=\"bi bi-translate me-1\"></i>\r\n <span class=\"ml-2\">{{ defaultLang.displayName }}</span>\r\n </button>\r\n }\r\n\r\n <ul ngbDropdownMenu class=\"dropdown-menu dropdown-menu-right\">\r\n <li>\r\n @for (lang of service.dropdownLanguages$ | async; track $index) {\r\n <a\r\n class=\"dropdown-item pointer\"\r\n (click)=\"service.onChangeLang(lang.cultureName)\"\r\n >\r\n {{ lang?.displayName }}\r\n </a>\r\n }\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n @if (\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n ) {\r\n <abp-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n ></abp-tenant-box>\r\n }\r\n\r\n @if (service.enableLocalLogin$ | async) {\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n } @else {\r\n <div class=\"alert alert-warning\">\r\n <strong>{{\r\n 'AbpAccount::InvalidLoginRequest' | abpLocalization\r\n }}</strong>\r\n {{\r\n 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient'\r\n | abpLocalization\r\n }}\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<div class=\"copyright text-center my-3\">\r\n <span class=\"copyright-text\"\r\n >2023 \u00A9\r\n <a\r\n href=\"https://leptontheme.com/\"\r\n class=\"text-dark text-decoration-none\"\r\n target=\"_blank\"\r\n >LeptonX Theme</a\r\n >\r\n by\r\n <a\r\n href=\"https://abp.io/\"\r\n class=\"text-brand text-decoration-none\"\r\n target=\"_blank\"\r\n >ABP Platform</a\r\n >\r\n </span>\r\n</div>\r\n" }]
|
|
20
20
|
}] });
|
|
@@ -12,10 +12,10 @@ export class TenantBoxComponent {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
this.service = inject(TenantBoxService);
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TenantBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TenantBoxComponent, isStandalone: true, selector: "abp-tenant-box", providers: [TenantBoxService], ngImport: i0, template: "@if ((service.currentTenant$ | async) || {}; as currentTenant) {\r\n <hr />\r\n <div>\r\n <div class=\"tenant-switch-box\">\r\n <div class=\"row\">\r\n <div class=\"col pr-1 pb-2\">\r\n <h6 class=\"m0\">\r\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}\r\n </h6>\r\n <i>{{\r\n currentTenant.name ||\r\n ('AbpUiMultiTenancy::NotSelected' | abpLocalization)\r\n }}</i>\r\n </div>\r\n\r\n <div class=\"col-auto pl-1\">\r\n <a\r\n id=\"abp-tenant-switch-link\"\r\n class=\"btn btn-sm btn-outline-primary float-end pointer\"\r\n (click)=\"service.onSwitch()\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr />\r\n\r\n <abp-modal\r\n [(visible)]=\"service.isModalVisible\"\r\n [busy]=\"service.modalBusy\"\r\n size=\"md\"\r\n >\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=\"form-group\">\r\n <label for=\"name\">{{\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 {{ 'AbpAccount::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 {{ 'AbpAccount::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: i3.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: i3.AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "ngmodule", type: ThemeSharedModule }, { kind: "component", type: i4.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i4.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i4.ModalCloseDirective, selector: "[abpClose]" }] }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TenantBoxComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
20
|
args: [{ standalone: true, selector: 'abp-tenant-box', imports: [CoreModule, ThemeSharedModule, AsyncPipe], providers: [TenantBoxService], template: "@if ((service.currentTenant$ | async) || {}; as currentTenant) {\r\n <hr />\r\n <div>\r\n <div class=\"tenant-switch-box\">\r\n <div class=\"row\">\r\n <div class=\"col pr-1 pb-2\">\r\n <h6 class=\"m0\">\r\n {{ 'AbpUiMultiTenancy::Tenant' | abpLocalization }}\r\n </h6>\r\n <i>{{\r\n currentTenant.name ||\r\n ('AbpUiMultiTenancy::NotSelected' | abpLocalization)\r\n }}</i>\r\n </div>\r\n\r\n <div class=\"col-auto pl-1\">\r\n <a\r\n id=\"abp-tenant-switch-link\"\r\n class=\"btn btn-sm btn-outline-primary float-end pointer\"\r\n (click)=\"service.onSwitch()\"\r\n href=\"javascript:void(0)\"\r\n >{{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}</a\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr />\r\n\r\n <abp-modal\r\n [(visible)]=\"service.isModalVisible\"\r\n [busy]=\"service.modalBusy\"\r\n size=\"md\"\r\n >\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=\"form-group\">\r\n <label for=\"name\">{{\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 {{ 'AbpAccount::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 {{ 'AbpAccount::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n}\r\n" }]
|
|
21
21
|
}] });
|
|
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "@angular/router";
|
|
5
5
|
export class EmptyLayoutComponent {
|
|
6
6
|
static { this.type = "empty" /* eLayoutType.empty */; }
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
8
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyLayoutComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: 'abp-layout-empty',
|
|
@@ -19,10 +19,10 @@ export class SideMenuApplicationLayoutComponent {
|
|
|
19
19
|
this.logoKey = "Theme.LogoComponent" /* eThemeLeptonXComponents.Logo */;
|
|
20
20
|
this.currentUserImageKey = "Theme.CurrentUserImageComponent" /* eThemeLeptonXComponents.CurrentUserImage */;
|
|
21
21
|
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SideMenuApplicationLayoutComponent, selector: "abp-application-layout", ngImport: i0, template: "<lpx-layout>\r\n <ng-template lpx-navbar-panel>\r\n <lpx-navbar\r\n *abpReplaceableTemplate=\"{\r\n componentKey: navbarKey\r\n }\"\r\n >\r\n <ng-container *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-template lpx-logo-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n \r\n <ng-template lpx-navbar-routes let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: routesKey,\r\n inputs: {\r\n navbarItems: items,\r\n groupItems\r\n }\r\n }\"\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n >\r\n </lpx-navbar-routes>\r\n </ng-template>\r\n </lpx-navbar>\r\n </ng-template>\r\n <ng-template lpx-content>\r\n <abp-page-alert-container\r\n *abpReplaceableTemplate=\"{ componentKey: pageAlertContainerKey }\"\r\n ></abp-page-alert-container>\r\n\r\n <router-outlet></router-outlet>\r\n </ng-template>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"breadcrumbKey\">\r\n <ng-template lpx-breadcrumb-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: breadcrumbKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"toolbarKey\">\r\n <ng-template lpx-toolbar-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: toolbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-template lpx-logo-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"navItemsKey\">\r\n <ng-template lpx-navitem-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: navItemsKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"footerKey\">\r\n <ng-template lpx-footer-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: footerKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"currentUserImageKey\">\r\n <ng-template lpx-current-user-image-panel>\r\n <ng-container\r\n *abpReplaceableTemplate=\"{ componentKey: currentUserImageKey }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"mobileNavbarKey\">\r\n <ng-template lpx-mobile-navbar-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: mobileNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"settingsPanelKey\">\r\n <ng-template lpx-settings-panel>\r\n <ng-container\r\n *abpReplaceableTemplate=\"{\r\n componentKey: settingsPanelKey\r\n }\"\r\n ></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n</lpx-layout>\r\n", dependencies: [{ kind: "directive", type: i1.IfReplaceableTemplateExistsDirective, selector: "[abpIfReplaceableTemplateExists]", inputs: ["abpIfReplaceableTemplateExists"] }, { kind: "component", type: i1.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: i4.SideMenuLayoutComponent, selector: "lpx-layout" }, { kind: "component", type: i5.NavbarComponent, selector: "lpx-navbar" }, { kind: "component", type: i5.NavbarRoutesComponent, selector: "lpx-navbar-routes", inputs: ["groupedItems", "navbarItems", "routerItem"], outputs: ["routeClick"] }, { kind: "directive", type: i5.NavbarRoutesDirective, selector: "[lpx-navbar-routes],[lpxNavbarRoutes]", exportAs: ["lpxNavbarRoutes"] }, { kind: "directive", type: i5.BreadcrumbPanelDirective, selector: "ng-template[lpx-breadcrumb-panel]" }, { kind: "directive", type: i5.ContentPanelDirective, selector: "ng-template[lpx-content]" }, { kind: "directive", type: i5.CurrentUserImagePanelDirective, selector: "ng-template[lpx-current-user-image-panel]" }, { kind: "directive", type: i5.FooterPanelDirective, selector: "ng-template[lpx-footer-panel]" }, { kind: "directive", type: i5.LogoPanelDirective, selector: "ng-template[lpx-logo-panel]" }, { kind: "directive", type: i5.MobileNavbarPanelDirective, selector: "ng-template[lpx-mobile-navbar-panel]" }, { kind: "directive", type: i5.NavbarPanelDirective, selector: "ng-template[lpx-navbar-panel]" }, { kind: "directive", type: i5.NavitemPanelDirective, selector: "ng-template[lpx-navitem-panel]" }, { kind: "directive", type: i5.SettingsPanelDirective, selector: "ng-template[lpx-settings-panel]" }, { kind: "directive", type: i5.ToolbarPanelDirective, selector: "ng-template[lpx-toolbar-panel]" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuApplicationLayoutComponent, decorators: [{
|
|
26
26
|
type: Component,
|
|
27
27
|
args: [{ selector: 'abp-application-layout', encapsulation: ViewEncapsulation.None, template: "<lpx-layout>\r\n <ng-template lpx-navbar-panel>\r\n <lpx-navbar\r\n *abpReplaceableTemplate=\"{\r\n componentKey: navbarKey\r\n }\"\r\n >\r\n <ng-container *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-template lpx-logo-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n \r\n <ng-template lpx-navbar-routes let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n *abpReplaceableTemplate=\"{\r\n componentKey: routesKey,\r\n inputs: {\r\n navbarItems: items,\r\n groupItems\r\n }\r\n }\"\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n >\r\n </lpx-navbar-routes>\r\n </ng-template>\r\n </lpx-navbar>\r\n </ng-template>\r\n <ng-template lpx-content>\r\n <abp-page-alert-container\r\n *abpReplaceableTemplate=\"{ componentKey: pageAlertContainerKey }\"\r\n ></abp-page-alert-container>\r\n\r\n <router-outlet></router-outlet>\r\n </ng-template>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"breadcrumbKey\">\r\n <ng-template lpx-breadcrumb-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: breadcrumbKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"toolbarKey\">\r\n <ng-template lpx-toolbar-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: toolbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-template lpx-logo-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"navItemsKey\">\r\n <ng-template lpx-navitem-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: navItemsKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"footerKey\">\r\n <ng-template lpx-footer-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: footerKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"currentUserImageKey\">\r\n <ng-template lpx-current-user-image-panel>\r\n <ng-container\r\n *abpReplaceableTemplate=\"{ componentKey: currentUserImageKey }\"\r\n >\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"mobileNavbarKey\">\r\n <ng-template lpx-mobile-navbar-panel>\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: mobileNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *abpIfReplaceableTemplateExists=\"settingsPanelKey\">\r\n <ng-template lpx-settings-panel>\r\n <ng-container\r\n *abpReplaceableTemplate=\"{\r\n componentKey: settingsPanelKey\r\n }\"\r\n ></ng-container>\r\n </ng-template>\r\n </ng-container>\r\n</lpx-layout>\r\n" }]
|
|
28
28
|
}] });
|
|
@@ -29,15 +29,15 @@ export class SideMenuLayoutModule {
|
|
|
29
29
|
],
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
33
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
33
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, declarations: [SideMenuApplicationLayoutComponent], imports: [LeptonXAbpCoreModule,
|
|
34
34
|
CommonModule,
|
|
35
35
|
CoreModule,
|
|
36
36
|
LpxSideMenuLayoutModule,
|
|
37
37
|
LpxBreadcrumbModule,
|
|
38
38
|
PanelsModule,
|
|
39
39
|
LpxFooterModule], exports: [SideMenuApplicationLayoutComponent] }); }
|
|
40
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
40
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, imports: [LeptonXAbpCoreModule,
|
|
41
41
|
CommonModule,
|
|
42
42
|
CoreModule,
|
|
43
43
|
LpxSideMenuLayoutModule,
|
|
@@ -45,7 +45,7 @@ export class SideMenuLayoutModule {
|
|
|
45
45
|
PanelsModule,
|
|
46
46
|
LpxFooterModule] }); }
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideMenuLayoutModule, decorators: [{
|
|
49
49
|
type: NgModule,
|
|
50
50
|
args: [{
|
|
51
51
|
declarations: [SideMenuApplicationLayoutComponent],
|
|
@@ -18,10 +18,10 @@ export class TopMenuApplicationLayoutComponent {
|
|
|
18
18
|
this.settingsKey = "Theme.SettingsComponent" /* eThemeLeptonXComponents.Settings */;
|
|
19
19
|
this.logoKey = "Theme.LogoComponent" /* eThemeLeptonXComponents.Logo */;
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuApplicationLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TopMenuApplicationLayoutComponent, selector: "abp-top-menu-application-layout", ngImport: i0, template: "<lpx-layout>\r\n <ng-template lpx-content>\r\n <abp-page-alert-container\r\n *abpReplaceableTemplate=\"{ componentKey: pageAlertContainerKey }\"\r\n ></abp-page-alert-container>\r\n\r\n <router-outlet></router-outlet>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-breadcrumb-panel\r\n *abpIfReplaceableTemplateExists=\"breadcrumbKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: breadcrumbKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-navbar-panel *abpIfReplaceableTemplateExists=\"navbarKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: navbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-mobile-navbar-panel\r\n *abpIfReplaceableTemplateExists=\"mobileNavbarKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: mobileNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-footer-panel *abpIfReplaceableTemplateExists=\"footerKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: footerKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-toolbar-panel *abpIfReplaceableTemplateExists=\"toolbarKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: toolbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-logo-panel *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-top-navbar-panel\r\n *abpIfReplaceableTemplateExists=\"topNavbarKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: topNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-settings-panel *abpIfReplaceableTemplateExists=\"settingsKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: settingsKey }\">\r\n </ng-container>\r\n </ng-template>\r\n</lpx-layout>\r\n", dependencies: [{ kind: "component", type: i1.TopMenuLayoutComponent, selector: "lpx-layout" }, { kind: "directive", type: i2.BreadcrumbPanelDirective, selector: "ng-template[lpx-breadcrumb-panel]" }, { kind: "directive", type: i2.ContentPanelDirective, selector: "ng-template[lpx-content]" }, { kind: "directive", type: i2.FooterPanelDirective, selector: "ng-template[lpx-footer-panel]" }, { kind: "directive", type: i2.LogoPanelDirective, selector: "ng-template[lpx-logo-panel]" }, { kind: "directive", type: i2.MobileNavbarPanelDirective, selector: "ng-template[lpx-mobile-navbar-panel]" }, { kind: "directive", type: i2.NavbarPanelDirective, selector: "ng-template[lpx-navbar-panel]" }, { kind: "directive", type: i2.SettingsPanelDirective, selector: "ng-template[lpx-settings-panel]" }, { kind: "directive", type: i2.TopNavbarPanelDirective, selector: "ng-template[lpx-top-navbar-panel]" }, { kind: "directive", type: i2.ToolbarPanelDirective, selector: "ng-template[lpx-toolbar-panel]" }, { kind: "directive", type: i3.IfReplaceableTemplateExistsDirective, selector: "[abpIfReplaceableTemplateExists]", inputs: ["abpIfReplaceableTemplateExists"] }, { kind: "component", type: i3.PageAlertContainerComponent, selector: "abp-page-alert-container" }, { kind: "directive", type: i4.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i5.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }] }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuApplicationLayoutComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
26
|
args: [{ selector: 'abp-top-menu-application-layout', template: "<lpx-layout>\r\n <ng-template lpx-content>\r\n <abp-page-alert-container\r\n *abpReplaceableTemplate=\"{ componentKey: pageAlertContainerKey }\"\r\n ></abp-page-alert-container>\r\n\r\n <router-outlet></router-outlet>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-breadcrumb-panel\r\n *abpIfReplaceableTemplateExists=\"breadcrumbKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: breadcrumbKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-navbar-panel *abpIfReplaceableTemplateExists=\"navbarKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: navbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-mobile-navbar-panel\r\n *abpIfReplaceableTemplateExists=\"mobileNavbarKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: mobileNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-footer-panel *abpIfReplaceableTemplateExists=\"footerKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: footerKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-toolbar-panel *abpIfReplaceableTemplateExists=\"toolbarKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: toolbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-logo-panel *abpIfReplaceableTemplateExists=\"logoKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: logoKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template\r\n lpx-top-navbar-panel\r\n *abpIfReplaceableTemplateExists=\"topNavbarKey\"\r\n >\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: topNavbarKey }\">\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template lpx-settings-panel *abpIfReplaceableTemplateExists=\"settingsKey\">\r\n <ng-container *abpReplaceableTemplate=\"{ componentKey: settingsKey }\">\r\n </ng-container>\r\n </ng-template>\r\n</lpx-layout>\r\n" }]
|
|
27
27
|
}] });
|
|
@@ -30,8 +30,8 @@ export class TopMenuLayoutModule {
|
|
|
30
30
|
],
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
34
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
34
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, declarations: [TopMenuApplicationLayoutComponent], imports: [CommonModule,
|
|
35
35
|
LpxTopMenuLayoutModule,
|
|
36
36
|
LeptonXAbpCoreModule,
|
|
37
37
|
LpxBreadcrumbModule,
|
|
@@ -40,7 +40,7 @@ export class TopMenuLayoutModule {
|
|
|
40
40
|
CoreModule,
|
|
41
41
|
PageAlertContainerModule,
|
|
42
42
|
RouterOutlet] }); }
|
|
43
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
43
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, imports: [CommonModule,
|
|
44
44
|
LpxTopMenuLayoutModule,
|
|
45
45
|
LeptonXAbpCoreModule,
|
|
46
46
|
LpxBreadcrumbModule,
|
|
@@ -49,7 +49,7 @@ export class TopMenuLayoutModule {
|
|
|
49
49
|
CoreModule,
|
|
50
50
|
PageAlertContainerModule] }); }
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TopMenuLayoutModule, decorators: [{
|
|
53
53
|
type: NgModule,
|
|
54
54
|
args: [{
|
|
55
55
|
declarations: [TopMenuApplicationLayoutComponent],
|
|
@@ -23,8 +23,8 @@ export class AbpValidationErrorComponent extends ValidationErrorComponent {
|
|
|
23
23
|
return error;
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbpValidationErrorComponent, selector: "abp-validation-error", usesInheritance: true, ngImport: i0, template: `
|
|
28
28
|
<span class="text-danger" data-valmsg-for="Role.Name" data-valmsg-replace="true"
|
|
29
29
|
><span *ngFor="let error of abpErrors; trackBy: trackByFn">
|
|
30
30
|
{{ error.message | abpLocalization: error.interpoliteParams }}</span
|
|
@@ -32,7 +32,7 @@ export class AbpValidationErrorComponent extends ValidationErrorComponent {
|
|
|
32
32
|
>
|
|
33
33
|
`, isInline: true, styles: [":host-context{order:3}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
37
|
args: [{ selector: 'abp-validation-error', template: `
|
|
38
38
|
<span class="text-danger" data-valmsg-for="Role.Name" data-valmsg-replace="true"
|
|
@@ -24,11 +24,11 @@ export class AbpValidationErrorModule {
|
|
|
24
24
|
],
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
28
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
29
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
28
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, declarations: [AbpValidationErrorComponent], imports: [CommonModule, CoreModule, NgxValidateCoreModule], exports: [AbpValidationErrorComponent, NgxValidateCoreModule] }); }
|
|
29
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, imports: [CommonModule, CoreModule, NgxValidateCoreModule, NgxValidateCoreModule] }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpValidationErrorModule, decorators: [{
|
|
32
32
|
type: NgModule,
|
|
33
33
|
args: [{
|
|
34
34
|
declarations: [AbpValidationErrorComponent],
|
|
@@ -36,10 +36,10 @@ export class HttpErrorComponent {
|
|
|
36
36
|
this.router.navigateByUrl('/', { onSameUrlNavigation: 'reload' });
|
|
37
37
|
this.destroy$?.next();
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: HttpErrorComponent, isStandalone: true, selector: "abp-http-error", ngImport: i0, template: "<ng-container *abpReplaceableTemplate=\"{ componentKey: errorComponentKey }\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-10 col-md-11 mx-auto\">\r\n <div\r\n class=\"d-flex flex-column justify-content-center min-vh-100 align-items-center\"\r\n >\r\n <div class=\"card\">\r\n <div class=\"card-body p-lg-5\">\r\n <div class=\"row\">\r\n <div class=\"col-auto d-flex align-items-center\">\r\n <i\r\n class=\"bi bi-emoji-frown text-primary mb-3 mb-md-0 mx-3 mx-md-4\"\r\n style=\"font-size: 12em\"\r\n ></i>\r\n </div>\r\n <div class=\"col flex-center ps-lg-4\">\r\n <div class=\"status-content\">\r\n <h1 class=\"fw-bolder display-1 text-brand\">\r\n {{ status() }}\r\n </h1>\r\n <h2 class=\"mb-0\">{{ statusText() | abpLocalization }}</h2>\r\n <h5 class=\"text-muted\">{{ detail() | abpLocalization }}</h5>\r\n\r\n @if (lastNavigation() && status() !== 403) {\r\n <a class=\"btn btn-primary soft me-2\" (click)=\"goBack()\">\r\n {{ 'AbpUi::GoBack' | abpLocalization }}\r\n </a>\r\n }\r\n <a class=\"btn btn-primary\" (click)=\"goHome()\">\r\n {{ 'AbpUi::GoHomePage' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", dependencies: [{ kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }, { kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }] }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpErrorComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ standalone: true, selector: 'abp-http-error', imports: [LocalizationModule, ReplaceableTemplateDirective], template: "<ng-container *abpReplaceableTemplate=\"{ componentKey: errorComponentKey }\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-10 col-md-11 mx-auto\">\r\n <div\r\n class=\"d-flex flex-column justify-content-center min-vh-100 align-items-center\"\r\n >\r\n <div class=\"card\">\r\n <div class=\"card-body p-lg-5\">\r\n <div class=\"row\">\r\n <div class=\"col-auto d-flex align-items-center\">\r\n <i\r\n class=\"bi bi-emoji-frown text-primary mb-3 mb-md-0 mx-3 mx-md-4\"\r\n style=\"font-size: 12em\"\r\n ></i>\r\n </div>\r\n <div class=\"col flex-center ps-lg-4\">\r\n <div class=\"status-content\">\r\n <h1 class=\"fw-bolder display-1 text-brand\">\r\n {{ status() }}\r\n </h1>\r\n <h2 class=\"mb-0\">{{ statusText() | abpLocalization }}</h2>\r\n <h5 class=\"text-muted\">{{ detail() | abpLocalization }}</h5>\r\n\r\n @if (lastNavigation() && status() !== 403) {\r\n <a class=\"btn btn-primary soft me-2\" (click)=\"goBack()\">\r\n {{ 'AbpUi::GoBack' | abpLocalization }}\r\n </a>\r\n }\r\n <a class=\"btn btn-primary\" (click)=\"goHome()\">\r\n {{ 'AbpUi::GoHomePage' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n" }]
|
|
45
45
|
}], ctorParameters: () => [] });
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export var eUserMenuItems;
|
|
2
2
|
(function (eUserMenuItems) {
|
|
3
|
+
eUserMenuItems["Sessions"] = "Sessions";
|
|
3
4
|
eUserMenuItems["LinkedAccounts"] = "LinkedAccounts";
|
|
4
5
|
eUserMenuItems["MyAccount"] = "MyAccount";
|
|
5
|
-
eUserMenuItems["Logout"] = "Logout";
|
|
6
6
|
eUserMenuItems["SecurityLogs"] = "SecurityLogs";
|
|
7
7
|
eUserMenuItems["BackToImpersonator"] = "BackToImpersonator";
|
|
8
8
|
eUserMenuItems["AuthorityDelegation"] = "AuthorityDelegation";
|
|
9
|
+
eUserMenuItems["Logout"] = "Logout";
|
|
9
10
|
})(eUserMenuItems || (eUserMenuItems = {}));
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy92b2xvLWxlcHRvbi14L3NyYy9saWIvZW51bXMvdXNlci1tZW51LWl0ZW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGNBUVg7QUFSRCxXQUFZLGNBQWM7SUFDeEIsdUNBQXFCLENBQUE7SUFDckIsbURBQWlDLENBQUE7SUFDakMseUNBQXVCLENBQUE7SUFDdkIsK0NBQTZCLENBQUE7SUFDN0IsMkRBQXlDLENBQUE7SUFDekMsNkRBQTJDLENBQUE7SUFDM0MsbUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVJXLGNBQWMsS0FBZCxjQUFjLFFBUXpCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gZVVzZXJNZW51SXRlbXMge1xyXG4gIFNlc3Npb25zID0gJ1Nlc3Npb25zJyxcclxuICBMaW5rZWRBY2NvdW50cyA9ICdMaW5rZWRBY2NvdW50cycsXHJcbiAgTXlBY2NvdW50ID0gJ015QWNjb3VudCcsXHJcbiAgU2VjdXJpdHlMb2dzID0gJ1NlY3VyaXR5TG9ncycsXHJcbiAgQmFja1RvSW1wZXJzb25hdG9yID0gJ0JhY2tUb0ltcGVyc29uYXRvcicsXHJcbiAgQXV0aG9yaXR5RGVsZWdhdGlvbiA9ICdBdXRob3JpdHlEZWxlZ2F0aW9uJyxcclxuICBMb2dvdXQgPSAnTG9nb3V0JyxcclxufVxyXG4iXX0=
|
|
@@ -32,11 +32,11 @@ export class ThemeLeptonXModule {
|
|
|
32
32
|
],
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
36
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
37
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
36
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule }); }
|
|
37
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeLeptonXModule, decorators: [{
|
|
40
40
|
type: NgModule
|
|
41
41
|
}] });
|
|
42
42
|
function createLpxModuleOptions(options) {
|
|
@@ -1,28 +1,41 @@
|
|
|
1
|
+
import { APP_INITIALIZER, inject } from '@angular/core';
|
|
1
2
|
import { AuthService, NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core';
|
|
2
3
|
import { UserMenuService } from '@abp/ng.theme.shared';
|
|
3
|
-
import {
|
|
4
|
-
import { NAVIGATE_TO_MY_SECURITY_LOGS, OPEN_MY_LINK_USERS_MODAL, OPEN_AUTHORITY_DELEGATION_MODAL, } from '@volo/abp.commercial.ng.ui/config';
|
|
4
|
+
import { NAVIGATE_TO_MY_SESSIONS, NAVIGATE_TO_MY_SECURITY_LOGS, OPEN_MY_LINK_USERS_MODAL, OPEN_AUTHORITY_DELEGATION_MODAL, } from '@volo/abp.commercial.ng.ui/config';
|
|
5
5
|
import { eUserMenuItems } from '../enums/user-menu-items';
|
|
6
6
|
export const LEPTON_X_USER_MENU_PROVIDERS = [
|
|
7
7
|
{
|
|
8
8
|
provide: APP_INITIALIZER,
|
|
9
|
-
useFactory: configureUserMenu,
|
|
10
|
-
deps: [Injector],
|
|
11
9
|
multi: true,
|
|
10
|
+
useFactory: configureUserMenu,
|
|
12
11
|
},
|
|
13
12
|
];
|
|
14
|
-
export function configureUserMenu(
|
|
15
|
-
const userMenu =
|
|
16
|
-
const authService =
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
13
|
+
export function configureUserMenu() {
|
|
14
|
+
const userMenu = inject(UserMenuService);
|
|
15
|
+
const authService = inject(AuthService);
|
|
16
|
+
const navigateToMySessions = inject(NAVIGATE_TO_MY_SESSIONS);
|
|
17
|
+
const navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);
|
|
18
|
+
const navigateToMySecurityLogs = inject(NAVIGATE_TO_MY_SECURITY_LOGS);
|
|
19
|
+
const openMyLinkUsersModal = inject(OPEN_MY_LINK_USERS_MODAL, {
|
|
20
|
+
optional: true,
|
|
21
|
+
});
|
|
22
|
+
const openAuthorityDelegationModal = inject(OPEN_AUTHORITY_DELEGATION_MODAL, {
|
|
23
|
+
optional: true,
|
|
24
|
+
});
|
|
21
25
|
return () => {
|
|
22
26
|
userMenu.addItems([
|
|
23
27
|
{
|
|
24
|
-
id: eUserMenuItems.
|
|
28
|
+
id: eUserMenuItems.Sessions,
|
|
25
29
|
order: 100,
|
|
30
|
+
textTemplate: {
|
|
31
|
+
icon: 'bi bi-clock-fill',
|
|
32
|
+
text: 'AbpAccount::Sessions',
|
|
33
|
+
},
|
|
34
|
+
action: () => navigateToMySessions(),
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: eUserMenuItems.LinkedAccounts,
|
|
38
|
+
order: 101,
|
|
26
39
|
textTemplate: {
|
|
27
40
|
icon: 'bi bi-link',
|
|
28
41
|
text: 'AbpAccount::LinkedAccounts',
|
|
@@ -32,7 +45,7 @@ export function configureUserMenu(injector) {
|
|
|
32
45
|
},
|
|
33
46
|
{
|
|
34
47
|
id: eUserMenuItems.AuthorityDelegation,
|
|
35
|
-
order:
|
|
48
|
+
order: 102,
|
|
36
49
|
textTemplate: {
|
|
37
50
|
text: 'AbpAccount::AuthorityDelegation',
|
|
38
51
|
icon: 'fa fa-users',
|
|
@@ -41,7 +54,7 @@ export function configureUserMenu(injector) {
|
|
|
41
54
|
},
|
|
42
55
|
{
|
|
43
56
|
id: eUserMenuItems.MyAccount,
|
|
44
|
-
order:
|
|
57
|
+
order: 103,
|
|
45
58
|
textTemplate: {
|
|
46
59
|
icon: 'bi bi-sliders',
|
|
47
60
|
text: 'AbpAccount::MyAccount',
|
|
@@ -50,7 +63,7 @@ export function configureUserMenu(injector) {
|
|
|
50
63
|
},
|
|
51
64
|
{
|
|
52
65
|
id: eUserMenuItems.SecurityLogs,
|
|
53
|
-
order:
|
|
66
|
+
order: 104,
|
|
54
67
|
textTemplate: {
|
|
55
68
|
icon: 'bi bi-list-ul',
|
|
56
69
|
text: 'AbpAccount::MySecurityLogs',
|
|
@@ -59,7 +72,7 @@ export function configureUserMenu(injector) {
|
|
|
59
72
|
},
|
|
60
73
|
{
|
|
61
74
|
id: eUserMenuItems.Logout,
|
|
62
|
-
order:
|
|
75
|
+
order: 105,
|
|
63
76
|
textTemplate: {
|
|
64
77
|
icon: 'bi bi-box-arrow-right',
|
|
65
78
|
text: 'AbpUi::Logout',
|
|
@@ -71,4 +84,4 @@ export function configureUserMenu(injector) {
|
|
|
71
84
|
]);
|
|
72
85
|
};
|
|
73
86
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LXNlcnZpY2UucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3ZvbG8tbGVwdG9uLXgvc3JjL2xpYi9wcm92aWRlcnMvdXNlci1tZW51LXNlcnZpY2UucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qiw0QkFBNEIsRUFDNUIsd0JBQXdCLEVBQ3hCLCtCQUErQixHQUNoQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUMxQztRQUNFLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSxJQUFJO1FBQ1gsVUFBVSxFQUFFLGlCQUFpQjtLQUM5QjtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFeEMsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM3RCxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFFdEUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLEVBQUU7UUFDNUQsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFlLENBQUM7SUFFakIsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsK0JBQStCLEVBQUU7UUFDM0UsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFlLENBQUM7SUFFakIsT0FBTyxHQUFHLEVBQUU7UUFDVixRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ2hCO2dCQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsUUFBUTtnQkFDM0IsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLElBQUksRUFBRSxzQkFBc0I7aUJBQzdCO2dCQUNELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRTthQUNyQztZQUNEO2dCQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsY0FBYztnQkFDakMsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsNEJBQTRCO2lCQUNuQztnQkFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3BDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CO2FBQ3RDO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLGNBQWMsQ0FBQyxtQkFBbUI7Z0JBQ3RDLEtBQUssRUFBRSxHQUFHO2dCQUNWLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsaUNBQWlDO29CQUN2QyxJQUFJLEVBQUUsYUFBYTtpQkFDcEI7Z0JBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixFQUFFO2FBQzdDO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLGNBQWMsQ0FBQyxTQUFTO2dCQUM1QixLQUFLLEVBQUUsR0FBRztnQkFDVixZQUFZLEVBQUU7b0JBQ1osSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLElBQUksRUFBRSx1QkFBdUI7aUJBQzlCO2dCQUNELE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRTthQUN4QztZQUNEO2dCQUNFLEVBQUUsRUFBRSxjQUFjLENBQUMsWUFBWTtnQkFDL0IsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsWUFBWSxFQUFFO29CQUNaLElBQUksRUFBRSxlQUFlO29CQUNyQixJQUFJLEVBQUUsNEJBQTRCO2lCQUNuQztnQkFDRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsd0JBQXdCLEVBQUU7YUFDekM7WUFDRDtnQkFDRSxFQUFFLEVBQUUsY0FBYyxDQUFDLE1BQU07Z0JBQ3pCLEtBQUssRUFBRSxHQUFHO2dCQUNWLFlBQVksRUFBRTtvQkFDWixJQUFJLEVBQUUsdUJBQXVCO29CQUM3QixJQUFJLEVBQUUsZUFBZTtpQkFDdEI7Z0JBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRTtvQkFDWCxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ25DLENBQUM7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgTkFWSUdBVEVfVE9fTUFOQUdFX1BST0ZJTEUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBVc2VyTWVudVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgTkFWSUdBVEVfVE9fTVlfU0VTU0lPTlMsXHJcbiAgTkFWSUdBVEVfVE9fTVlfU0VDVVJJVFlfTE9HUyxcclxuICBPUEVOX01ZX0xJTktfVVNFUlNfTU9EQUwsXHJcbiAgT1BFTl9BVVRIT1JJVFlfREVMRUdBVElPTl9NT0RBTCxcclxufSBmcm9tICdAdm9sby9hYnAuY29tbWVyY2lhbC5uZy51aS9jb25maWcnO1xyXG5pbXBvcnQgeyBlVXNlck1lbnVJdGVtcyB9IGZyb20gJy4uL2VudW1zL3VzZXItbWVudS1pdGVtcyc7XHJcblxyXG5leHBvcnQgY29uc3QgTEVQVE9OX1hfVVNFUl9NRU5VX1BST1ZJREVSUyA9IFtcclxuICB7XHJcbiAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICAgIHVzZUZhY3Rvcnk6IGNvbmZpZ3VyZVVzZXJNZW51LFxyXG4gIH0sXHJcbl07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlVXNlck1lbnUoKSB7XHJcbiAgY29uc3QgdXNlck1lbnUgPSBpbmplY3QoVXNlck1lbnVTZXJ2aWNlKTtcclxuICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcblxyXG4gIGNvbnN0IG5hdmlnYXRlVG9NeVNlc3Npb25zID0gaW5qZWN0KE5BVklHQVRFX1RPX01ZX1NFU1NJT05TKTtcclxuICBjb25zdCBuYXZpZ2F0ZVRvTWFuYWdlUHJvZmlsZSA9IGluamVjdChOQVZJR0FURV9UT19NQU5BR0VfUFJPRklMRSk7XHJcbiAgY29uc3QgbmF2aWdhdGVUb015U2VjdXJpdHlMb2dzID0gaW5qZWN0KE5BVklHQVRFX1RPX01ZX1NFQ1VSSVRZX0xPR1MpO1xyXG5cclxuICBjb25zdCBvcGVuTXlMaW5rVXNlcnNNb2RhbCA9IGluamVjdChPUEVOX01ZX0xJTktfVVNFUlNfTU9EQUwsIHtcclxuICAgIG9wdGlvbmFsOiB0cnVlLFxyXG4gIH0pIGFzICgpID0+IHZvaWQ7XHJcblxyXG4gIGNvbnN0IG9wZW5BdXRob3JpdHlEZWxlZ2F0aW9uTW9kYWwgPSBpbmplY3QoT1BFTl9BVVRIT1JJVFlfREVMRUdBVElPTl9NT0RBTCwge1xyXG4gICAgb3B0aW9uYWw6IHRydWUsXHJcbiAgfSkgYXMgKCkgPT4gdm9pZDtcclxuXHJcbiAgcmV0dXJuICgpID0+IHtcclxuICAgIHVzZXJNZW51LmFkZEl0ZW1zKFtcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBlVXNlck1lbnVJdGVtcy5TZXNzaW9ucyxcclxuICAgICAgICBvcmRlcjogMTAwLFxyXG4gICAgICAgIHRleHRUZW1wbGF0ZToge1xyXG4gICAgICAgICAgaWNvbjogJ2JpIGJpLWNsb2NrLWZpbGwnLFxyXG4gICAgICAgICAgdGV4dDogJ0FicEFjY291bnQ6OlNlc3Npb25zJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4gbmF2aWdhdGVUb015U2Vzc2lvbnMoKSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBlVXNlck1lbnVJdGVtcy5MaW5rZWRBY2NvdW50cyxcclxuICAgICAgICBvcmRlcjogMTAxLFxyXG4gICAgICAgIHRleHRUZW1wbGF0ZToge1xyXG4gICAgICAgICAgaWNvbjogJ2JpIGJpLWxpbmsnLFxyXG4gICAgICAgICAgdGV4dDogJ0FicEFjY291bnQ6OkxpbmtlZEFjY291bnRzJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4gb3Blbk15TGlua1VzZXJzTW9kYWwoKSxcclxuICAgICAgICB2aXNpYmxlOiAoKSA9PiAhIW9wZW5NeUxpbmtVc2Vyc01vZGFsLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IGVVc2VyTWVudUl0ZW1zLkF1dGhvcml0eURlbGVnYXRpb24sXHJcbiAgICAgICAgb3JkZXI6IDEwMixcclxuICAgICAgICB0ZXh0VGVtcGxhdGU6IHtcclxuICAgICAgICAgIHRleHQ6ICdBYnBBY2NvdW50OjpBdXRob3JpdHlEZWxlZ2F0aW9uJyxcclxuICAgICAgICAgIGljb246ICdmYSBmYS11c2VycycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBhY3Rpb246ICgpID0+IG9wZW5BdXRob3JpdHlEZWxlZ2F0aW9uTW9kYWwoKSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBlVXNlck1lbnVJdGVtcy5NeUFjY291bnQsXHJcbiAgICAgICAgb3JkZXI6IDEwMyxcclxuICAgICAgICB0ZXh0VGVtcGxhdGU6IHtcclxuICAgICAgICAgIGljb246ICdiaSBiaS1zbGlkZXJzJyxcclxuICAgICAgICAgIHRleHQ6ICdBYnBBY2NvdW50OjpNeUFjY291bnQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYWN0aW9uOiAoKSA9PiBuYXZpZ2F0ZVRvTWFuYWdlUHJvZmlsZSgpLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IGVVc2VyTWVudUl0ZW1zLlNlY3VyaXR5TG9ncyxcclxuICAgICAgICBvcmRlcjogMTA0LFxyXG4gICAgICAgIHRleHRUZW1wbGF0ZToge1xyXG4gICAgICAgICAgaWNvbjogJ2JpIGJpLWxpc3QtdWwnLFxyXG4gICAgICAgICAgdGV4dDogJ0FicEFjY291bnQ6Ok15U2VjdXJpdHlMb2dzJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4gbmF2aWdhdGVUb015U2VjdXJpdHlMb2dzKCksXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpZDogZVVzZXJNZW51SXRlbXMuTG9nb3V0LFxyXG4gICAgICAgIG9yZGVyOiAxMDUsXHJcbiAgICAgICAgdGV4dFRlbXBsYXRlOiB7XHJcbiAgICAgICAgICBpY29uOiAnYmkgYmktYm94LWFycm93LXJpZ2h0JyxcclxuICAgICAgICAgIHRleHQ6ICdBYnBVaTo6TG9nb3V0JyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGFjdGlvbjogKCkgPT4ge1xyXG4gICAgICAgICAgYXV0aFNlcnZpY2UubG9nb3V0KCkuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIF0pO1xyXG4gIH07XHJcbn1cclxuIl19
|
|
@@ -14,10 +14,10 @@ export class AbpAuthService {
|
|
|
14
14
|
navigateToLogin() {
|
|
15
15
|
this.authService.navigateToLogin();
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
18
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpAuthService, deps: [{ token: i1.UserProfileService }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpAuthService }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpAuthService, decorators: [{
|
|
21
21
|
type: Injectable
|
|
22
22
|
}], ctorParameters: () => [{ type: i1.UserProfileService }, { type: i2.AuthService }] });
|
|
23
23
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdm9sby1sZXB0b24teC9zcmMvbGliL3NlcnZpY2VzL2FicC1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsSUFBSSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFHOUQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDVSxrQkFBc0MsRUFDdEMsV0FBNEI7UUFENUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFHdEMsa0JBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDaEQsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDdkMsQ0FBQztJQUpDLENBQUM7SUFNSixlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDOytHQVpVLGNBQWM7bUhBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFVzZXJQcm9maWxlU2VydmljZSB9IGZyb20gJ0B2b2xvL25neC1sZXB0b24teC5jb3JlJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSBhcyBBdXRoQ29yZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWJwQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBBdXRoU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHVzZXJQcm9maWxlU2VydmljZTogVXNlclByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aENvcmVTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBpc1VzZXJFeGlzdHMkID0gdGhpcy51c2VyUHJvZmlsZVNlcnZpY2UudXNlciQucGlwZShcclxuICAgIG1hcCgodXNlcikgPT4gdXNlciAmJiAhIXVzZXIudXNlck5hbWUpXHJcbiAgKTtcclxuXHJcbiAgbmF2aWdhdGVUb0xvZ2luKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5uYXZpZ2F0ZVRvTG9naW4oKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -17,10 +17,10 @@ export class AbpCreateErrorComponentService extends CreateErrorComponentService
|
|
|
17
17
|
const queryParams = { status: instance.status };
|
|
18
18
|
this.router.navigate([this.httpErrorPath], { queryParams });
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
21
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpCreateErrorComponentService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpCreateErrorComponentService }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbpCreateErrorComponentService, decorators: [{
|
|
24
24
|
type: Injectable
|
|
25
25
|
}] });
|
|
26
26
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLWNyZWF0ZS1lcnJvci1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdm9sby1sZXB0b24teC9zcmMvbGliL3NlcnZpY2VzL2FicC1jcmVhdGUtZXJyb3ItY29tcG9uZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFDTCwyQkFBMkIsR0FHNUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUc1QyxNQUFNLE9BQU8sOEJBQStCLFNBQVEsMkJBQTJCO0lBRC9FOztRQUVxQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBVzVEO0lBVFUsT0FBTyxDQUFDLFFBQTRDO1FBQzNELElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxNQUErQixDQUFDLEVBQUUsQ0FBQztZQUN4RSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDOytHQVpVLDhCQUE4QjttSEFBOUIsOEJBQThCOzs0RkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlRXJyb3JDb21wb25lbnRTZXJ2aWNlLFxyXG4gIEVycm9yU2NyZWVuRXJyb3JDb2RlcyxcclxuICBIdHRwRXJyb3JXcmFwcGVyQ29tcG9uZW50LFxyXG59IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgSFRUUF9FUlJPUl9QQVRIIH0gZnJvbSAnLi4vdG9rZW5zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFicENyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZSBleHRlbmRzIENyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZSB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBodHRwRXJyb3JQYXRoID0gaW5qZWN0KEhUVFBfRVJST1JfUEFUSCk7XHJcblxyXG4gIG92ZXJyaWRlIGV4ZWN1dGUoaW5zdGFuY2U6IFBhcnRpYWw8SHR0cEVycm9yV3JhcHBlckNvbXBvbmVudD4pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNhbkNyZWF0ZUN1c3RvbUVycm9yKGluc3RhbmNlLnN0YXR1cyBhcyBFcnJvclNjcmVlbkVycm9yQ29kZXMpKSB7XHJcbiAgICAgIHN1cGVyLmV4ZWN1dGUoaW5zdGFuY2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7IHN0YXR1czogaW5zdGFuY2Uuc3RhdHVzIH07XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5odHRwRXJyb3JQYXRoXSwgeyBxdWVyeVBhcmFtcyB9KTtcclxuICB9XHJcbn1cclxuIl19
|