@abp/ng.theme.lepton-x 5.1.0-rc.3 → 5.2.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.
|
@@ -2,8 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { inject, signal, Injectable, Component, provideAppInitializer, NgModule } from '@angular/core';
|
|
3
3
|
import { ActivatedRoute, RouterOutlet, RouterModule } from '@angular/router';
|
|
4
4
|
import { PageAlertContainerComponent, PageAlertContainerModule } from '@volo/abp.ng.lepton-x.core';
|
|
5
|
-
import
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { AsyncPipe } from '@angular/common';
|
|
7
6
|
import { ConfigStateService, MultiTenancyService, AbpTenantService, SessionStateService, AutofocusDirective, LocalizationPipe, ReplaceableTemplateDirective, ReplaceableComponentsService, CoreModule } from '@abp/ng.core';
|
|
8
7
|
import { ToasterService, ModalCloseDirective, ModalComponent, ButtonComponent, LOGO_APP_NAME_TOKEN, ThemeSharedModule } from '@abp/ng.theme.shared';
|
|
9
8
|
import { LanguageSelectionComponent, LanguageSelectionModule } from '@volo/ngx-lepton-x.lite';
|
|
@@ -91,18 +90,18 @@ class TenantBoxComponent {
|
|
|
91
90
|
this.service = inject(AccountLayoutService);
|
|
92
91
|
}
|
|
93
92
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TenantBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
94
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TenantBoxComponent, isStandalone: true, selector: "lpx-tenant-box", ngImport: i0, template: "@if ((service.currentTenant$ | async) || {}; as currentTenant) {\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-2 p-sm-3\">\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>{{\r\n currentTenant.name ||\r\n ('AbpUiMultiTenancy::NotSelected' | abpLocalization)\r\n }}</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 >\r\n {{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal\r\n size=\"md\"\r\n [(visible)]=\"service.isModalVisible\"\r\n [busy]=\"service.modalBusy\"\r\n >\r\n <ng-template #abpHeader>\r\n <h5>{{ 'AbpUiMultiTenancy::SwitchTenant' | abpLocalization }}</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 (ngModelChange)=\"service.name.set($event)\"\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:
|
|
93
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: TenantBoxComponent, isStandalone: true, selector: "lpx-tenant-box", ngImport: i0, template: "@if ((service.currentTenant$ | async) || {}; as currentTenant) {\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-2 p-sm-3\">\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>{{\r\n currentTenant.name ||\r\n ('AbpUiMultiTenancy::NotSelected' | abpLocalization)\r\n }}</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 >\r\n {{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal\r\n size=\"md\"\r\n [(visible)]=\"service.isModalVisible\"\r\n [busy]=\"service.modalBusy\"\r\n >\r\n <ng-template #abpHeader>\r\n <h5>{{ 'AbpUiMultiTenancy::SwitchTenant' | abpLocalization }}</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 (ngModelChange)=\"service.name.set($event)\"\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: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: AutofocusDirective, selector: "[autofocus]", inputs: ["autofocus"] }, { kind: "directive", type: ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
95
94
|
}
|
|
96
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TenantBoxComponent, decorators: [{
|
|
97
96
|
type: Component,
|
|
98
97
|
args: [{ selector: 'lpx-tenant-box', imports: [
|
|
99
|
-
CommonModule,
|
|
100
98
|
FormsModule,
|
|
101
99
|
AutofocusDirective,
|
|
102
100
|
ModalCloseDirective,
|
|
103
101
|
LocalizationPipe,
|
|
104
102
|
ModalComponent,
|
|
105
103
|
ButtonComponent,
|
|
104
|
+
AsyncPipe
|
|
106
105
|
], template: "@if ((service.currentTenant$ | async) || {}; as currentTenant) {\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-2 p-sm-3\">\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>{{\r\n currentTenant.name ||\r\n ('AbpUiMultiTenancy::NotSelected' | abpLocalization)\r\n }}</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 >\r\n {{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal\r\n size=\"md\"\r\n [(visible)]=\"service.isModalVisible\"\r\n [busy]=\"service.modalBusy\"\r\n >\r\n <ng-template #abpHeader>\r\n <h5>{{ 'AbpUiMultiTenancy::SwitchTenant' | abpLocalization }}</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 (ngModelChange)=\"service.name.set($event)\"\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" }]
|
|
107
106
|
}] });
|
|
108
107
|
|
|
@@ -114,16 +113,16 @@ class AuthWrapperComponent {
|
|
|
114
113
|
}) ?? 'ProjectName';
|
|
115
114
|
}
|
|
116
115
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: AuthWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
117
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: AuthWrapperComponent, isStandalone: true, selector: "lpx-auth-wrapper", providers: [AccountLayoutService], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-8 col-lg-5 mx-auto\">\r\n <div class=\"lpx-logo-container lpx-login-brand-text\">\r\n <a href=\"/\">\r\n <div class=\"lpx-brand-logo lpx-login-logo mx-auto\"></div>\r\n </a>\r\n <div class=\"lpx-brand-name lpx-login-name mx-auto\">{{ appName }}</div>\r\n </div>\r\n @if (\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n ) {\r\n <lpx-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n />\r\n }\r\n\r\n @if (service.enableLocalLogin$ | async) {\r\n <div class=\"card mt-3 shadow-sm rounded\">\r\n <div class=\"card-body p-2 p-sm-3\">\r\n <lpx-language-selection class=\"float-end\" />\r\n <ng-content />\r\n </div>\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", dependencies: [{ kind: "
|
|
116
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.9", type: AuthWrapperComponent, isStandalone: true, selector: "lpx-auth-wrapper", providers: [AccountLayoutService], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-md-8 col-lg-5 mx-auto\">\r\n <div class=\"lpx-logo-container lpx-login-brand-text\">\r\n <a href=\"/\">\r\n <div class=\"lpx-brand-logo lpx-login-logo mx-auto\"></div>\r\n </a>\r\n <div class=\"lpx-brand-name lpx-login-name mx-auto\">{{ appName }}</div>\r\n </div>\r\n @if (\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n ) {\r\n <lpx-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n />\r\n }\r\n\r\n @if (service.enableLocalLogin$ | async) {\r\n <div class=\"card mt-3 shadow-sm rounded\">\r\n <div class=\"card-body p-2 p-sm-3\">\r\n <lpx-language-selection class=\"float-end\" />\r\n <ng-content />\r\n </div>\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", dependencies: [{ kind: "directive", type: ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: TenantBoxComponent, selector: "lpx-tenant-box" }, { kind: "component", type: LanguageSelectionComponent, selector: "lpx-language-selection" }, { kind: "pipe", type: LocalizationPipe, name: "abpLocalization" }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
118
117
|
}
|
|
119
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: AuthWrapperComponent, decorators: [{
|
|
120
119
|
type: Component,
|
|
121
120
|
args: [{ selector: 'lpx-auth-wrapper', imports: [
|
|
122
|
-
CommonModule,
|
|
123
121
|
LocalizationPipe,
|
|
124
122
|
ReplaceableTemplateDirective,
|
|
125
123
|
TenantBoxComponent,
|
|
126
124
|
LanguageSelectionComponent,
|
|
125
|
+
AsyncPipe
|
|
127
126
|
], providers: [AccountLayoutService], template: "<div class=\"row\">\r\n <div class=\"col-md-8 col-lg-5 mx-auto\">\r\n <div class=\"lpx-logo-container lpx-login-brand-text\">\r\n <a href=\"/\">\r\n <div class=\"lpx-brand-logo lpx-login-logo mx-auto\"></div>\r\n </a>\r\n <div class=\"lpx-brand-name lpx-login-name mx-auto\">{{ appName }}</div>\r\n </div>\r\n @if (\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n ) {\r\n <lpx-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n />\r\n }\r\n\r\n @if (service.enableLocalLogin$ | async) {\r\n <div class=\"card mt-3 shadow-sm rounded\">\r\n <div class=\"card-body p-2 p-sm-3\">\r\n <lpx-language-selection class=\"float-end\" />\r\n <ng-content />\r\n </div>\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" }]
|
|
128
127
|
}] });
|
|
129
128
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.theme.lepton-x-account.mjs","sources":["../../../../libs/abp-lepton-x/account/src/account-layout/services/account-layout.service.ts","../../../../libs/abp-lepton-x/account/src/account-layout/components/tenant-box/tenant-box.component.ts","../../../../libs/abp-lepton-x/account/src/account-layout/components/tenant-box/tenant-box.component.html","../../../../libs/abp-lepton-x/account/src/account-layout/components/auth-layout/auth-wrapper.component.ts","../../../../libs/abp-lepton-x/account/src/account-layout/components/auth-layout/auth-wrapper.component.html","../../../../libs/abp-lepton-x/account/src/account-layout/account-layout.component.ts","../../../../libs/abp-lepton-x/account/src/account-layout/account-layout.component.html","../../../../libs/abp-lepton-x/account/src/account-layout/providers/account-layout.provider.ts","../../../../libs/abp-lepton-x/account/src/account-layout/account-layout.module.ts","../../../../libs/abp-lepton-x/account/src/abp-ng.theme.lepton-x-account.ts"],"sourcesContent":["import { inject, Injectable, signal } from '@angular/core';\r\nimport { finalize } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport {\r\n AbpTenantService,\r\n ConfigStateService,\r\n CurrentTenantDto,\r\n MultiTenancyService,\r\n SessionStateService,\r\n} from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\n\r\n@Injectable()\r\nexport class AccountLayoutService {\r\n private configState = inject(ConfigStateService);\r\n private multiTenancy = inject(MultiTenancyService);\r\n private toasterService = inject(ToasterService);\r\n private tenantService = inject(AbpTenantService);\r\n private sessionState = inject(SessionStateService);\r\n\r\n isMultiTenancyEnabled$ = this.configState.getDeep$('multiTenancy.isEnabled');\r\n enableLocalLogin$ = this.configState\r\n .getSetting$('Abp.Account.EnableLocalLogin')\r\n .pipe(map((value) => value?.toLowerCase() !== 'false'));\r\n\r\n tenantBoxKey = 'Account.TenantBoxComponent';\r\n route: ActivatedRoute = inject(ActivatedRoute);\r\n\r\n get isTenantBoxVisibleForCurrentRoute() {\r\n return this.getMostInnerChild().data.tenantBoxVisible ?? true;\r\n }\r\n\r\n get isTenantBoxVisible() {\r\n return (\r\n this.isTenantBoxVisibleForCurrentRoute &&\r\n this.multiTenancy.isTenantBoxVisible\r\n );\r\n }\r\n\r\n private getMostInnerChild() {\r\n let child = this.route.snapshot;\r\n let depth = 0;\r\n const depthLimit = 10;\r\n while (child.firstChild && depth < depthLimit) {\r\n child = child.firstChild;\r\n depth++;\r\n }\r\n return child;\r\n }\r\n\r\n currentTenant$ = this.sessionState.getTenant$();\r\n name = signal<string>('');\r\n isModalVisible!: boolean;\r\n modalBusy!: boolean;\r\n\r\n onSwitch() {\r\n const tenant = this.sessionState.getTenant();\r\n this.name.set(tenant?.name || '');\r\n this.isModalVisible = true;\r\n }\r\n\r\n save() {\r\n if (!this.name()) {\r\n this.setTenant(null);\r\n this.isModalVisible = false;\r\n return;\r\n }\r\n\r\n this.modalBusy = true;\r\n this.tenantService\r\n .findTenantByName(this.name())\r\n .pipe(finalize(() => (this.modalBusy = false)))\r\n .subscribe(({ success, tenantId: id, ...tenant }) => {\r\n if (!success) {\r\n this.showError();\r\n return;\r\n }\r\n\r\n this.setTenant({ ...tenant, id, isAvailable: true });\r\n this.isModalVisible = false;\r\n });\r\n }\r\n\r\n private setTenant(tenant: CurrentTenantDto | null) {\r\n this.sessionState.setTenant(tenant);\r\n this.configState.refreshAppState().subscribe();\r\n }\r\n\r\n private showError() {\r\n this.toasterService.error(\r\n 'AbpUiMultiTenancy::GivenTenantIsNotAvailable',\r\n 'AbpUi::Error',\r\n {\r\n messageLocalizationParams: [this.name()],\r\n },\r\n );\r\n }\r\n}\r\n","import { Component, inject } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AutofocusDirective, LocalizationPipe } from '@abp/ng.core';\r\nimport {\r\n ButtonComponent,\r\n ModalCloseDirective,\r\n ModalComponent,\r\n} from '@abp/ng.theme.shared';\r\nimport { AccountLayoutService } from '../../services/account-layout.service';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'lpx-tenant-box',\r\n templateUrl: './tenant-box.component.html',\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n AutofocusDirective,\r\n ModalCloseDirective,\r\n LocalizationPipe,\r\n ModalComponent,\r\n ButtonComponent,\r\n ],\r\n})\r\nexport class TenantBoxComponent {\r\n public service = inject(AccountLayoutService);\r\n}\r\n","@if ((service.currentTenant$ | async) || {}; as currentTenant) {\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-2 p-sm-3\">\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>{{\r\n currentTenant.name ||\r\n ('AbpUiMultiTenancy::NotSelected' | abpLocalization)\r\n }}</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 >\r\n {{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal\r\n size=\"md\"\r\n [(visible)]=\"service.isModalVisible\"\r\n [busy]=\"service.modalBusy\"\r\n >\r\n <ng-template #abpHeader>\r\n <h5>{{ 'AbpUiMultiTenancy::SwitchTenant' | abpLocalization }}</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 (ngModelChange)=\"service.name.set($event)\"\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","import { Component, inject } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LocalizationPipe, ReplaceableTemplateDirective } from '@abp/ng.core';\r\nimport { LOGO_APP_NAME_TOKEN } from '@abp/ng.theme.shared';\r\nimport { LanguageSelectionComponent } from '@volo/ngx-lepton-x.lite';\r\nimport { TenantBoxComponent } from '../tenant-box/tenant-box.component';\r\nimport { AccountLayoutService } from '../../services/account-layout.service';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'lpx-auth-wrapper',\r\n templateUrl: './auth-wrapper.component.html',\r\n imports: [\r\n CommonModule,\r\n LocalizationPipe,\r\n ReplaceableTemplateDirective,\r\n TenantBoxComponent,\r\n LanguageSelectionComponent,\r\n ],\r\n providers: [AccountLayoutService],\r\n})\r\nexport class AuthWrapperComponent {\r\n service = inject(AccountLayoutService);\r\n protected readonly appName =\r\n inject(LOGO_APP_NAME_TOKEN, {\r\n optional: true,\r\n }) ?? 'ProjectName';\r\n}\r\n","<div class=\"row\">\r\n <div class=\"col-md-8 col-lg-5 mx-auto\">\r\n <div class=\"lpx-logo-container lpx-login-brand-text\">\r\n <a href=\"/\">\r\n <div class=\"lpx-brand-logo lpx-login-logo mx-auto\"></div>\r\n </a>\r\n <div class=\"lpx-brand-name lpx-login-name mx-auto\">{{ appName }}</div>\r\n </div>\r\n @if (\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n ) {\r\n <lpx-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n />\r\n }\r\n\r\n @if (service.enableLocalLogin$ | async) {\r\n <div class=\"card mt-3 shadow-sm rounded\">\r\n <div class=\"card-body p-2 p-sm-3\">\r\n <lpx-language-selection class=\"float-end\" />\r\n <ng-content />\r\n </div>\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","import { Component } from '@angular/core';\r\nimport { RouterOutlet } from '@angular/router';\r\nimport { PageAlertContainerComponent } from '@volo/abp.ng.lepton-x.core';\r\nimport { AuthWrapperComponent } from './components/auth-layout/auth-wrapper.component';\r\n\r\n@Component({\r\n selector: 'abp-account-layout',\r\n templateUrl: './account-layout.component.html',\r\n imports: [AuthWrapperComponent, RouterOutlet, PageAlertContainerComponent],\r\n})\r\nexport class AccountLayoutComponent {}\r\n","<div class=\"lpx-scroll-container\">\r\n <div class=\"lpx-wrapper\">\r\n <div class=\"lpx-content-container m-0\">\r\n <div class=\"lpx-content\">\r\n <div class=\"container\">\r\n <abp-page-alert-container />\r\n <lpx-auth-wrapper>\r\n <router-outlet />\r\n </lpx-auth-wrapper>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n EnvironmentProviders,\r\n inject,\r\n provideAppInitializer,\r\n} from '@angular/core';\r\nimport { ReplaceableComponentsService } from '@abp/ng.core';\r\nimport { AccountLayoutComponent } from '../account-layout.component';\r\n\r\nexport function provideAccountLayout(): EnvironmentProviders {\r\n return provideAppInitializer(() => {\r\n initAccountLayout();\r\n });\r\n}\r\n\r\nexport function initAccountLayout() {\r\n const replaceableComponents = inject(ReplaceableComponentsService);\r\n replaceableComponents.add({\r\n key: 'Theme.AccountLayoutComponent',\r\n component: AccountLayoutComponent,\r\n });\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { AccountLayoutComponent } from './account-layout.component';\r\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\r\nimport { AuthWrapperComponent } from './components/auth-layout/auth-wrapper.component';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { LpxSideMenuLayoutModule } from '@volo/ngx-lepton-x.lite/layouts';\r\nimport { LanguageSelectionModule } from '@volo/ngx-lepton-x.lite';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageAlertContainerModule } from '@volo/abp.ng.lepton-x.core';\r\nimport { provideAccountLayout } from './providers';\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule,\r\n CoreModule,\r\n LpxSideMenuLayoutModule,\r\n ThemeSharedModule,\r\n PageAlertContainerModule,\r\n LanguageSelectionModule,\r\n TenantBoxComponent,\r\n AuthWrapperComponent,\r\n AccountLayoutComponent,\r\n ],\r\n})\r\nexport class AccountLayoutModule {\r\n /***\r\n * @deprecated `AccountLayoutModule.forRoot()` is deprecated. You can use `provideAccountLayout()` **function** instead.\r\n */\r\n static forRoot(): ModuleWithProviders<AccountLayoutModule> {\r\n return {\r\n ngModule: AccountLayoutModule,\r\n providers: [provideAccountLayout()],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abp-ng.theme.lepton-x-account.mjs","sources":["../../../../libs/abp-lepton-x/account/src/account-layout/services/account-layout.service.ts","../../../../libs/abp-lepton-x/account/src/account-layout/components/tenant-box/tenant-box.component.ts","../../../../libs/abp-lepton-x/account/src/account-layout/components/tenant-box/tenant-box.component.html","../../../../libs/abp-lepton-x/account/src/account-layout/components/auth-layout/auth-wrapper.component.ts","../../../../libs/abp-lepton-x/account/src/account-layout/components/auth-layout/auth-wrapper.component.html","../../../../libs/abp-lepton-x/account/src/account-layout/account-layout.component.ts","../../../../libs/abp-lepton-x/account/src/account-layout/account-layout.component.html","../../../../libs/abp-lepton-x/account/src/account-layout/providers/account-layout.provider.ts","../../../../libs/abp-lepton-x/account/src/account-layout/account-layout.module.ts","../../../../libs/abp-lepton-x/account/src/abp-ng.theme.lepton-x-account.ts"],"sourcesContent":["import { inject, Injectable, signal } from '@angular/core';\r\nimport { finalize } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport {\r\n AbpTenantService,\r\n ConfigStateService,\r\n CurrentTenantDto,\r\n MultiTenancyService,\r\n SessionStateService,\r\n} from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\n\r\n@Injectable()\r\nexport class AccountLayoutService {\r\n private configState = inject(ConfigStateService);\r\n private multiTenancy = inject(MultiTenancyService);\r\n private toasterService = inject(ToasterService);\r\n private tenantService = inject(AbpTenantService);\r\n private sessionState = inject(SessionStateService);\r\n\r\n isMultiTenancyEnabled$ = this.configState.getDeep$('multiTenancy.isEnabled');\r\n enableLocalLogin$ = this.configState\r\n .getSetting$('Abp.Account.EnableLocalLogin')\r\n .pipe(map((value) => value?.toLowerCase() !== 'false'));\r\n\r\n tenantBoxKey = 'Account.TenantBoxComponent';\r\n route: ActivatedRoute = inject(ActivatedRoute);\r\n\r\n get isTenantBoxVisibleForCurrentRoute() {\r\n return this.getMostInnerChild().data.tenantBoxVisible ?? true;\r\n }\r\n\r\n get isTenantBoxVisible() {\r\n return (\r\n this.isTenantBoxVisibleForCurrentRoute &&\r\n this.multiTenancy.isTenantBoxVisible\r\n );\r\n }\r\n\r\n private getMostInnerChild() {\r\n let child = this.route.snapshot;\r\n let depth = 0;\r\n const depthLimit = 10;\r\n while (child.firstChild && depth < depthLimit) {\r\n child = child.firstChild;\r\n depth++;\r\n }\r\n return child;\r\n }\r\n\r\n currentTenant$ = this.sessionState.getTenant$();\r\n name = signal<string>('');\r\n isModalVisible!: boolean;\r\n modalBusy!: boolean;\r\n\r\n onSwitch() {\r\n const tenant = this.sessionState.getTenant();\r\n this.name.set(tenant?.name || '');\r\n this.isModalVisible = true;\r\n }\r\n\r\n save() {\r\n if (!this.name()) {\r\n this.setTenant(null);\r\n this.isModalVisible = false;\r\n return;\r\n }\r\n\r\n this.modalBusy = true;\r\n this.tenantService\r\n .findTenantByName(this.name())\r\n .pipe(finalize(() => (this.modalBusy = false)))\r\n .subscribe(({ success, tenantId: id, ...tenant }) => {\r\n if (!success) {\r\n this.showError();\r\n return;\r\n }\r\n\r\n this.setTenant({ ...tenant, id, isAvailable: true });\r\n this.isModalVisible = false;\r\n });\r\n }\r\n\r\n private setTenant(tenant: CurrentTenantDto | null) {\r\n this.sessionState.setTenant(tenant);\r\n this.configState.refreshAppState().subscribe();\r\n }\r\n\r\n private showError() {\r\n this.toasterService.error(\r\n 'AbpUiMultiTenancy::GivenTenantIsNotAvailable',\r\n 'AbpUi::Error',\r\n {\r\n messageLocalizationParams: [this.name()],\r\n },\r\n );\r\n }\r\n}\r\n","import { Component, inject } from '@angular/core';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AutofocusDirective, LocalizationPipe } from '@abp/ng.core';\r\nimport {\r\n ButtonComponent,\r\n ModalCloseDirective,\r\n ModalComponent,\r\n} from '@abp/ng.theme.shared';\r\nimport { AccountLayoutService } from '../../services/account-layout.service';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'lpx-tenant-box',\r\n templateUrl: './tenant-box.component.html',\r\n imports: [\r\n FormsModule,\r\n AutofocusDirective,\r\n ModalCloseDirective,\r\n LocalizationPipe,\r\n ModalComponent,\r\n ButtonComponent,\r\n AsyncPipe\r\n],\r\n})\r\nexport class TenantBoxComponent {\r\n public service = inject(AccountLayoutService);\r\n}\r\n","@if ((service.currentTenant$ | async) || {}; as currentTenant) {\r\n <div class=\"card shadow-sm rounded mb-3\">\r\n <div class=\"card-body px-2 p-sm-3\">\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>{{\r\n currentTenant.name ||\r\n ('AbpUiMultiTenancy::NotSelected' | abpLocalization)\r\n }}</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 >\r\n {{ 'AbpUiMultiTenancy::Switch' | abpLocalization }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <abp-modal\r\n size=\"md\"\r\n [(visible)]=\"service.isModalVisible\"\r\n [busy]=\"service.modalBusy\"\r\n >\r\n <ng-template #abpHeader>\r\n <h5>{{ 'AbpUiMultiTenancy::SwitchTenant' | abpLocalization }}</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 (ngModelChange)=\"service.name.set($event)\"\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","import { Component, inject } from '@angular/core';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { LocalizationPipe, ReplaceableTemplateDirective } from '@abp/ng.core';\r\nimport { LOGO_APP_NAME_TOKEN } from '@abp/ng.theme.shared';\r\nimport { LanguageSelectionComponent } from '@volo/ngx-lepton-x.lite';\r\nimport { TenantBoxComponent } from '../tenant-box/tenant-box.component';\r\nimport { AccountLayoutService } from '../../services/account-layout.service';\r\n\r\n@Component({\r\n // eslint-disable-next-line @angular-eslint/component-selector\r\n selector: 'lpx-auth-wrapper',\r\n templateUrl: './auth-wrapper.component.html',\r\n imports: [\r\n LocalizationPipe,\r\n ReplaceableTemplateDirective,\r\n TenantBoxComponent,\r\n LanguageSelectionComponent,\r\n AsyncPipe\r\n],\r\n providers: [AccountLayoutService],\r\n})\r\nexport class AuthWrapperComponent {\r\n service = inject(AccountLayoutService);\r\n protected readonly appName =\r\n inject(LOGO_APP_NAME_TOKEN, {\r\n optional: true,\r\n }) ?? 'ProjectName';\r\n}\r\n","<div class=\"row\">\r\n <div class=\"col-md-8 col-lg-5 mx-auto\">\r\n <div class=\"lpx-logo-container lpx-login-brand-text\">\r\n <a href=\"/\">\r\n <div class=\"lpx-brand-logo lpx-login-logo mx-auto\"></div>\r\n </a>\r\n <div class=\"lpx-brand-name lpx-login-name mx-auto\">{{ appName }}</div>\r\n </div>\r\n @if (\r\n (service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible\r\n ) {\r\n <lpx-tenant-box\r\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\r\n />\r\n }\r\n\r\n @if (service.enableLocalLogin$ | async) {\r\n <div class=\"card mt-3 shadow-sm rounded\">\r\n <div class=\"card-body p-2 p-sm-3\">\r\n <lpx-language-selection class=\"float-end\" />\r\n <ng-content />\r\n </div>\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","import { Component } from '@angular/core';\r\nimport { RouterOutlet } from '@angular/router';\r\nimport { PageAlertContainerComponent } from '@volo/abp.ng.lepton-x.core';\r\nimport { AuthWrapperComponent } from './components/auth-layout/auth-wrapper.component';\r\n\r\n@Component({\r\n selector: 'abp-account-layout',\r\n templateUrl: './account-layout.component.html',\r\n imports: [AuthWrapperComponent, RouterOutlet, PageAlertContainerComponent],\r\n})\r\nexport class AccountLayoutComponent {}\r\n","<div class=\"lpx-scroll-container\">\r\n <div class=\"lpx-wrapper\">\r\n <div class=\"lpx-content-container m-0\">\r\n <div class=\"lpx-content\">\r\n <div class=\"container\">\r\n <abp-page-alert-container />\r\n <lpx-auth-wrapper>\r\n <router-outlet />\r\n </lpx-auth-wrapper>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import {\r\n EnvironmentProviders,\r\n inject,\r\n provideAppInitializer,\r\n} from '@angular/core';\r\nimport { ReplaceableComponentsService } from '@abp/ng.core';\r\nimport { AccountLayoutComponent } from '../account-layout.component';\r\n\r\nexport function provideAccountLayout(): EnvironmentProviders {\r\n return provideAppInitializer(() => {\r\n initAccountLayout();\r\n });\r\n}\r\n\r\nexport function initAccountLayout() {\r\n const replaceableComponents = inject(ReplaceableComponentsService);\r\n replaceableComponents.add({\r\n key: 'Theme.AccountLayoutComponent',\r\n component: AccountLayoutComponent,\r\n });\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { AccountLayoutComponent } from './account-layout.component';\r\nimport { TenantBoxComponent } from './components/tenant-box/tenant-box.component';\r\nimport { AuthWrapperComponent } from './components/auth-layout/auth-wrapper.component';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { LpxSideMenuLayoutModule } from '@volo/ngx-lepton-x.lite/layouts';\r\nimport { LanguageSelectionModule } from '@volo/ngx-lepton-x.lite';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageAlertContainerModule } from '@volo/abp.ng.lepton-x.core';\r\nimport { provideAccountLayout } from './providers';\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule,\r\n CoreModule,\r\n LpxSideMenuLayoutModule,\r\n ThemeSharedModule,\r\n PageAlertContainerModule,\r\n LanguageSelectionModule,\r\n TenantBoxComponent,\r\n AuthWrapperComponent,\r\n AccountLayoutComponent,\r\n ],\r\n})\r\nexport class AccountLayoutModule {\r\n /***\r\n * @deprecated `AccountLayoutModule.forRoot()` is deprecated. You can use `provideAccountLayout()` **function** instead.\r\n */\r\n static forRoot(): ModuleWithProviders<AccountLayoutModule> {\r\n return {\r\n ngModule: AccountLayoutModule,\r\n providers: [provideAccountLayout()],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -143,12 +143,14 @@ class AbpUserProfileService {
|
|
|
143
143
|
this.navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);
|
|
144
144
|
this.userMenuService = inject(UserMenuService);
|
|
145
145
|
this.currentUser$ = this.configState.getOne$('currentUser');
|
|
146
|
+
this.currentTenant$ = this.configState.getOne$('currentTenant');
|
|
146
147
|
}
|
|
147
148
|
subscribeUser() {
|
|
148
149
|
combineLatest([
|
|
149
150
|
this.currentUser$.pipe(filter(Boolean)),
|
|
151
|
+
this.currentTenant$.pipe(filter(Boolean)),
|
|
150
152
|
this.userMenuService.items$,
|
|
151
|
-
]).subscribe(([user, userMenuItems]) => {
|
|
153
|
+
]).subscribe(([user, tenant, userMenuItems]) => {
|
|
152
154
|
const userActionGroups = userMenuItems.reduce((acc, curr) => {
|
|
153
155
|
let menuItemVisibility = () => true;
|
|
154
156
|
if (typeof curr.visible === 'function') {
|
|
@@ -177,6 +179,7 @@ class AbpUserProfileService {
|
|
|
177
179
|
type: 'icon',
|
|
178
180
|
source: 'bi bi-person-circle',
|
|
179
181
|
},
|
|
182
|
+
tenant,
|
|
180
183
|
userActionGroups,
|
|
181
184
|
});
|
|
182
185
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.theme.lepton-x.mjs","sources":["../../../../libs/abp-lepton-x/src/lib/components/validation-error/validation-error.component.ts","../../../../libs/abp-lepton-x/src/lib/services/language.service.ts","../../../../libs/abp-lepton-x/src/lib/providers/language.provider.ts","../../../../libs/abp-lepton-x/src/lib/services/translate.service.ts","../../../../libs/abp-lepton-x/src/lib/providers/translate.provider.ts","../../../../libs/abp-lepton-x/src/lib/services/user-profile.service.ts","../../../../libs/abp-lepton-x/src/lib/providers/user.provider.ts","../../../../libs/abp-lepton-x/src/lib/enums/user-menu-items.ts","../../../../libs/abp-lepton-x/src/lib/providers/user-menu-service.provider.ts","../../../../libs/abp-lepton-x/src/lib/providers/init-service.provider.ts","../../../../libs/abp-lepton-x/src/lib/providers/theme-lepton-x.provider.ts","../../../../libs/abp-lepton-x/src/lib/components/validation-error/validation-error.module.ts","../../../../libs/abp-lepton-x/src/lib/theme-lepton-x.module.ts","../../../../libs/abp-lepton-x/src/index.ts","../../../../libs/abp-lepton-x/src/abp-ng.theme.lepton-x.ts"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n Validation,\r\n ValidationErrorComponent as ErrorComponent,\r\n} from '@ngx-validate/core';\r\nimport { LocalizationPipe } from '@abp/ng.core';\r\n\r\n@Component({\r\n selector: 'abp-validation-error',\r\n template: `\r\n @for (error of abpErrors; track $index) {\r\n <div class=\"invalid-feedback\">\r\n {{ error.message | abpLocalization: error.interpoliteParams }}\r\n </div>\r\n }\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [LocalizationPipe],\r\n})\r\nexport class ValidationErrorComponent extends ErrorComponent {\r\n get abpErrors(): Array<Validation.Error & { interpoliteParams: string[] }> {\r\n if (!this.errors || !this.errors.length) return [];\r\n\r\n return this.errors.map((error) => {\r\n if (!error.message) return { ...error, interpoliteParams: [] };\r\n\r\n const index = error.message.indexOf('[');\r\n\r\n if (index > -1) {\r\n return {\r\n ...error,\r\n message: error.message.slice(0, index),\r\n interpoliteParams: error.message\r\n .slice(index + 1, error.message.length - 1)\r\n .split(','),\r\n };\r\n }\r\n\r\n return { ...error, interpoliteParams: [] };\r\n });\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ConfigStateService, getLocaleDirection, LanguageInfo, SessionStateService } from '@abp/ng.core';\r\nimport { filter } from 'rxjs/operators';\r\nimport { LanguageService, LpxLanguage } from '@volo/ngx-lepton-x.core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpLanguageService {\r\n private configState = inject(ConfigStateService);\r\n private languageService = inject(LanguageService);\r\n private sessionState = inject(SessionStateService);\r\n\r\n languages$: Observable<LanguageInfo[]> = this.configState.getDeep$('localization.languages');\r\n\r\n subscribeLanguage() {\r\n this.languages$.pipe(filter<LanguageInfo[]>(Boolean)).subscribe(langs => {\r\n this.languageService.init(langs.map(this.mapLang));\r\n });\r\n\r\n this.languageService.selectedLanguage$\r\n .pipe(filter<LanguageInfo | undefined>(Boolean))\r\n .subscribe(lang => {\r\n this.sessionState.setLanguage(lang?.cultureName || '');\r\n });\r\n }\r\n\r\n private mapLang = (lang: LanguageInfo): LpxLanguage => {\r\n return {\r\n cultureName: lang.cultureName,\r\n displayName: lang.displayName || '',\r\n selected: this.sessionState.getLanguage() === lang.cultureName,\r\n twoLetterISOLanguageName: (<any>lang).twoLetterISOLanguageName || '', //any is a workaround for the missing property in the LanguageInfo interface, if abp was updated to 7.0.2 or greater, this should be removed\r\n isRTL: getLocaleDirection(lang.cultureName) === 'rtl',\r\n };\r\n };\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport { AbpLanguageService } from '../services/language.service';\r\n\r\nexport const LPX_LANGUAGE_PROVIDER = provideAppInitializer(() => {\r\n const languageService = inject(AbpLanguageService);\r\n languageService.subscribeLanguage();\r\n});\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { TranslateService } from '@volo/ngx-lepton-x.core';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AbpTranslateService implements TranslateService {\r\n private localization = inject(LocalizationService);\r\n\r\n\r\n get(key: string, defaultValue: string | undefined): string {\r\n const keyToTranslate = this.getKey(key);\r\n if (keyToTranslate) {\r\n return this.localization.instant({\r\n key: keyToTranslate,\r\n defaultValue,\r\n });\r\n }\r\n\r\n return defaultValue || key;\r\n }\r\n\r\n get$(key: string, defaultValue: string | undefined): Observable<string> {\r\n const keyToTranslate = this.getKey(key);\r\n if (keyToTranslate) {\r\n return this.localization.get({\r\n key: keyToTranslate,\r\n defaultValue,\r\n });\r\n }\r\n\r\n return of(defaultValue || key);\r\n }\r\n\r\n private getKey(key: string): string | undefined {\r\n return key.includes('::') ? key : undefined;\r\n }\r\n}\r\n","import { Provider } from '@angular/core';\r\nimport { LPX_TRANSLATE_SERVICE_TOKEN } from '@volo/ngx-lepton-x.core';\r\nimport { AbpTranslateService } from '../services/translate.service';\r\n\r\nexport const LPX_TRANSLATE_PROVIDER: Provider = {\r\n provide: LPX_TRANSLATE_SERVICE_TOKEN,\r\n useClass: AbpTranslateService,\r\n};\r\n","import { Injectable, inject, Injector } from '@angular/core';\r\nimport { combineLatest, Observable, of } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nimport {\r\n ConfigStateService,\r\n CurrentUserDto,\r\n NAVIGATE_TO_MANAGE_PROFILE,\r\n} from '@abp/ng.core';\r\nimport {\r\n NavItem,\r\n NavBarPropPredicate,\r\n UserMenuService,\r\n} from '@abp/ng.theme.shared';\r\nimport { UserProfileService } from '@volo/ngx-lepton-x.core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpUserProfileService {\r\n private configState = inject(ConfigStateService);\r\n private userProfileService = inject(UserProfileService);\r\n navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);\r\n private userMenuService = inject(UserMenuService);\r\n\r\n currentUser$: Observable<CurrentUserDto> =\r\n this.configState.getOne$('currentUser');\r\n\r\n subscribeUser() {\r\n combineLatest([\r\n this.currentUser$.pipe(filter<CurrentUserDto>(Boolean)),\r\n this.userMenuService.items$,\r\n ]).subscribe(([user, userMenuItems]) => {\r\n const userActionGroups = userMenuItems.reduce(\r\n (acc, curr) => {\r\n let menuItemVisibility: NavBarPropPredicate<NavItem> = () => true;\r\n if (typeof curr.visible === 'function') {\r\n menuItemVisibility = (_prop?: NavItem, injector?: Injector) =>\r\n curr.visible!(curr, injector);\r\n }\r\n\r\n const menuItem = {\r\n icon: curr.textTemplate?.icon,\r\n text: curr.textTemplate?.text,\r\n component: curr?.component,\r\n action: () => {\r\n curr.action();\r\n return of(true);\r\n },\r\n visible: menuItemVisibility,\r\n };\r\n acc[0].push(menuItem);\r\n return acc;\r\n },\r\n [[]],\r\n );\r\n\r\n this.userProfileService.setUser({\r\n id: user.id,\r\n isAuthenticated: user.isAuthenticated,\r\n fullName: user.name || user.userName || '',\r\n email: user.email || '',\r\n userName: user.userName || '',\r\n avatar: {\r\n type: 'icon',\r\n source: 'bi bi-person-circle',\r\n },\r\n userActionGroups,\r\n });\r\n });\r\n }\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport { AbpUserProfileService } from '../services/user-profile.service';\r\n\r\nexport const LPX_USER_PROVIDER = provideAppInitializer(() => {\r\n const userProfile = inject(AbpUserProfileService);\r\n userProfile.subscribeUser();\r\n});\r\n","export enum eUserMenuItems {\r\n MyAccount = 'MyAccount',\r\n Logout = 'Logout',\r\n}\r\n","import { AuthService, NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core';\r\nimport { UserMenuService } from '@abp/ng.theme.shared';\r\nimport { inject, provideAppInitializer } from '@angular/core';\r\nimport { eUserMenuItems } from '../enums/user-menu-items';\r\n\r\nexport const LEPTON_X_USER_MENU_PROVIDERS = [\r\n provideAppInitializer(() => {\r\n configureUserMenu();\r\n }),\r\n];\r\n\r\nexport function configureUserMenu() {\r\n const userMenu = inject(UserMenuService);\r\n const authService = inject(AuthService);\r\n const navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);\r\n userMenu.addItems([\r\n {\r\n id: eUserMenuItems.MyAccount,\r\n order: 100,\r\n textTemplate: {\r\n text: 'AbpAccount::MyAccount',\r\n },\r\n action: () => navigateToManageProfile(),\r\n },\r\n {\r\n id: eUserMenuItems.Logout,\r\n order: 101,\r\n textTemplate: {\r\n text: 'AbpUi::Logout',\r\n },\r\n action: () => authService.logout().subscribe(),\r\n },\r\n ]);\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport {\r\n AbpNavbarService,\r\n AbpToolbarService,\r\n} from '@volo/abp.ng.lepton-x.core';\r\n\r\nexport const INIT_SERVICE_PROVIDER = provideAppInitializer(() => {\r\n const abpToolbarService = inject(AbpToolbarService);\r\n const abpNavbarService = inject(AbpNavbarService);\r\n\r\n abpToolbarService.listenNavItems();\r\n abpNavbarService.initRoutes();\r\n});\r\n","import {\r\n EnvironmentProviders,\r\n makeEnvironmentProviders,\r\n Provider,\r\n} from '@angular/core';\r\nimport {\r\n VALIDATION_ERROR_TEMPLATE,\r\n VALIDATION_TARGET_SELECTOR,\r\n VALIDATION_INVALID_CLASSES,\r\n} from '@ngx-validate/core';\r\nimport { LpxStyles } from '@volo/ngx-lepton-x.core';\r\nimport { provideLeptonXAbpCore } from '@volo/abp.ng.lepton-x.core';\r\nimport {\r\n LpxOptions,\r\n provideLpxLite,\r\n withLiteOptions,\r\n} from '@volo/ngx-lepton-x.lite';\r\nimport { ValidationErrorComponent } from '../components';\r\nimport {\r\n INIT_SERVICE_PROVIDER,\r\n LPX_LANGUAGE_PROVIDER,\r\n LPX_TRANSLATE_PROVIDER,\r\n LEPTON_X_USER_MENU_PROVIDERS,\r\n LPX_USER_PROVIDER,\r\n} from './';\r\n\r\nexport type ThemeLeptonXModuleOptions = LpxOptions;\r\n\r\nexport enum ThemeLeptonXFeatureKind {\r\n Options,\r\n}\r\n\r\nexport interface ThemeLeptonXFeature<KindT extends ThemeLeptonXFeatureKind> {\r\n ɵkind: KindT;\r\n ɵproviders: (Provider | EnvironmentProviders)[];\r\n}\r\n\r\nfunction makeThemeLeptonXFeature<KindT extends ThemeLeptonXFeatureKind>(\r\n kind: KindT,\r\n providers: (Provider | EnvironmentProviders)[],\r\n): ThemeLeptonXFeature<KindT> {\r\n return {\r\n ɵkind: kind,\r\n ɵproviders: providers,\r\n };\r\n}\r\n\r\nexport function withThemeLeptonXOptions(\r\n options = {} as ThemeLeptonXModuleOptions,\r\n): ThemeLeptonXFeature<ThemeLeptonXFeatureKind.Options> {\r\n const optionsWithStyles = {\r\n ...options,\r\n styleFactory: (styles: LpxStyles) => {\r\n styles.push({\r\n bundleName: 'abp-bundle',\r\n });\r\n if (options?.styleFactory) {\r\n return options.styleFactory(styles);\r\n }\r\n return styles;\r\n },\r\n };\r\n\r\n return makeThemeLeptonXFeature(ThemeLeptonXFeatureKind.Options, [\r\n provideLpxLite(withLiteOptions(optionsWithStyles)),\r\n ]);\r\n}\r\n\r\nexport function provideValidationError(): EnvironmentProviders {\r\n const providers = [\r\n {\r\n provide: VALIDATION_ERROR_TEMPLATE,\r\n useValue: ValidationErrorComponent,\r\n },\r\n {\r\n provide: VALIDATION_TARGET_SELECTOR,\r\n useValue: '.form-group',\r\n },\r\n {\r\n provide: VALIDATION_INVALID_CLASSES,\r\n useValue: 'is-invalid',\r\n },\r\n ];\r\n return makeEnvironmentProviders(providers);\r\n}\r\n\r\nexport function provideThemeLeptonX(\r\n ...features: ThemeLeptonXFeature<ThemeLeptonXFeatureKind>[]\r\n): EnvironmentProviders {\r\n const providers: (Provider | EnvironmentProviders)[] = [\r\n LPX_USER_PROVIDER,\r\n LPX_LANGUAGE_PROVIDER,\r\n LPX_TRANSLATE_PROVIDER,\r\n LEPTON_X_USER_MENU_PROVIDERS,\r\n INIT_SERVICE_PROVIDER,\r\n provideLpxLite(),\r\n provideValidationError(),\r\n provideLeptonXAbpCore(),\r\n ];\r\n\r\n features.forEach(({ ɵproviders }) => providers.push(...ɵproviders));\r\n\r\n return makeEnvironmentProviders(providers);\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ValidationErrorComponent } from './validation-error.component';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { provideValidationError } from '../../providers';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n NgxValidateCoreModule,\r\n ValidationErrorComponent,\r\n ],\r\n exports: [ValidationErrorComponent, NgxValidateCoreModule],\r\n})\r\nexport class ValidationErrorModule {\r\n /**\r\n * @deprecated `ValidationErrorModule.forRoot()` is deprecated. You can use `provideValidationError` **function** instead.\r\n */\r\n static forRoot(): ModuleWithProviders<ValidationErrorModule> {\r\n return {\r\n ngModule: ValidationErrorModule,\r\n providers: [provideValidationError()],\r\n };\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { LpxModule } from '@volo/ngx-lepton-x.lite';\r\nimport { ValidationErrorModule } from './components/validation-error';\r\nimport {\r\n provideThemeLeptonX,\r\n ThemeLeptonXModuleOptions,\r\n withThemeLeptonXOptions,\r\n} from './providers';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [LpxModule, ValidationErrorModule],\r\n exports: [],\r\n})\r\nexport class ThemeLeptonXModule {\r\n /**\r\n * @deprecated `ThemeLeptonXModule.forRoot()` is deprecated. You can use `provideThemeLeptonX` **function** instead.\r\n */\r\n static forRoot(\r\n options?: ThemeLeptonXModuleOptions,\r\n ): ModuleWithProviders<ThemeLeptonXModule> {\r\n return {\r\n ngModule: ThemeLeptonXModule,\r\n providers: [provideThemeLeptonX(withThemeLeptonXOptions(options))],\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of theme-lepton-x\r\n */\r\nexport * from './lib/theme-lepton-x.module';\r\nexport * from './lib/components/index';\r\nexport * from './lib/services/index';\r\nexport * from './lib/enums/index';\r\nexport * from './lib/providers/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ErrorComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abp-ng.theme.lepton-x.mjs","sources":["../../../../libs/abp-lepton-x/src/lib/components/validation-error/validation-error.component.ts","../../../../libs/abp-lepton-x/src/lib/services/language.service.ts","../../../../libs/abp-lepton-x/src/lib/providers/language.provider.ts","../../../../libs/abp-lepton-x/src/lib/services/translate.service.ts","../../../../libs/abp-lepton-x/src/lib/providers/translate.provider.ts","../../../../libs/abp-lepton-x/src/lib/services/user-profile.service.ts","../../../../libs/abp-lepton-x/src/lib/providers/user.provider.ts","../../../../libs/abp-lepton-x/src/lib/enums/user-menu-items.ts","../../../../libs/abp-lepton-x/src/lib/providers/user-menu-service.provider.ts","../../../../libs/abp-lepton-x/src/lib/providers/init-service.provider.ts","../../../../libs/abp-lepton-x/src/lib/providers/theme-lepton-x.provider.ts","../../../../libs/abp-lepton-x/src/lib/components/validation-error/validation-error.module.ts","../../../../libs/abp-lepton-x/src/lib/theme-lepton-x.module.ts","../../../../libs/abp-lepton-x/src/index.ts","../../../../libs/abp-lepton-x/src/abp-ng.theme.lepton-x.ts"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {\r\n Validation,\r\n ValidationErrorComponent as ErrorComponent,\r\n} from '@ngx-validate/core';\r\nimport { LocalizationPipe } from '@abp/ng.core';\r\n\r\n@Component({\r\n selector: 'abp-validation-error',\r\n template: `\r\n @for (error of abpErrors; track $index) {\r\n <div class=\"invalid-feedback\">\r\n {{ error.message | abpLocalization: error.interpoliteParams }}\r\n </div>\r\n }\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n imports: [LocalizationPipe],\r\n})\r\nexport class ValidationErrorComponent extends ErrorComponent {\r\n get abpErrors(): Array<Validation.Error & { interpoliteParams: string[] }> {\r\n if (!this.errors || !this.errors.length) return [];\r\n\r\n return this.errors.map((error) => {\r\n if (!error.message) return { ...error, interpoliteParams: [] };\r\n\r\n const index = error.message.indexOf('[');\r\n\r\n if (index > -1) {\r\n return {\r\n ...error,\r\n message: error.message.slice(0, index),\r\n interpoliteParams: error.message\r\n .slice(index + 1, error.message.length - 1)\r\n .split(','),\r\n };\r\n }\r\n\r\n return { ...error, interpoliteParams: [] };\r\n });\r\n }\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ConfigStateService, getLocaleDirection, LanguageInfo, SessionStateService } from '@abp/ng.core';\r\nimport { filter } from 'rxjs/operators';\r\nimport { LanguageService, LpxLanguage } from '@volo/ngx-lepton-x.core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpLanguageService {\r\n private configState = inject(ConfigStateService);\r\n private languageService = inject(LanguageService);\r\n private sessionState = inject(SessionStateService);\r\n\r\n languages$: Observable<LanguageInfo[]> = this.configState.getDeep$('localization.languages');\r\n\r\n subscribeLanguage() {\r\n this.languages$.pipe(filter<LanguageInfo[]>(Boolean)).subscribe(langs => {\r\n this.languageService.init(langs.map(this.mapLang));\r\n });\r\n\r\n this.languageService.selectedLanguage$\r\n .pipe(filter<LanguageInfo | undefined>(Boolean))\r\n .subscribe(lang => {\r\n this.sessionState.setLanguage(lang?.cultureName || '');\r\n });\r\n }\r\n\r\n private mapLang = (lang: LanguageInfo): LpxLanguage => {\r\n return {\r\n cultureName: lang.cultureName,\r\n displayName: lang.displayName || '',\r\n selected: this.sessionState.getLanguage() === lang.cultureName,\r\n twoLetterISOLanguageName: (<any>lang).twoLetterISOLanguageName || '', //any is a workaround for the missing property in the LanguageInfo interface, if abp was updated to 7.0.2 or greater, this should be removed\r\n isRTL: getLocaleDirection(lang.cultureName) === 'rtl',\r\n };\r\n };\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport { AbpLanguageService } from '../services/language.service';\r\n\r\nexport const LPX_LANGUAGE_PROVIDER = provideAppInitializer(() => {\r\n const languageService = inject(AbpLanguageService);\r\n languageService.subscribeLanguage();\r\n});\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { TranslateService } from '@volo/ngx-lepton-x.core';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class AbpTranslateService implements TranslateService {\r\n private localization = inject(LocalizationService);\r\n\r\n\r\n get(key: string, defaultValue: string | undefined): string {\r\n const keyToTranslate = this.getKey(key);\r\n if (keyToTranslate) {\r\n return this.localization.instant({\r\n key: keyToTranslate,\r\n defaultValue,\r\n });\r\n }\r\n\r\n return defaultValue || key;\r\n }\r\n\r\n get$(key: string, defaultValue: string | undefined): Observable<string> {\r\n const keyToTranslate = this.getKey(key);\r\n if (keyToTranslate) {\r\n return this.localization.get({\r\n key: keyToTranslate,\r\n defaultValue,\r\n });\r\n }\r\n\r\n return of(defaultValue || key);\r\n }\r\n\r\n private getKey(key: string): string | undefined {\r\n return key.includes('::') ? key : undefined;\r\n }\r\n}\r\n","import { Provider } from '@angular/core';\r\nimport { LPX_TRANSLATE_SERVICE_TOKEN } from '@volo/ngx-lepton-x.core';\r\nimport { AbpTranslateService } from '../services/translate.service';\r\n\r\nexport const LPX_TRANSLATE_PROVIDER: Provider = {\r\n provide: LPX_TRANSLATE_SERVICE_TOKEN,\r\n useClass: AbpTranslateService,\r\n};\r\n","import { Injectable, inject, Injector } from '@angular/core';\r\nimport { combineLatest, Observable, of } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nimport {\r\n ConfigStateService,\r\n CurrentUserDto,\r\n CurrentTenantDto,\r\n NAVIGATE_TO_MANAGE_PROFILE,\r\n} from '@abp/ng.core';\r\nimport {\r\n NavItem,\r\n NavBarPropPredicate,\r\n UserMenuService,\r\n} from '@abp/ng.theme.shared';\r\nimport { UserProfileService } from '@volo/ngx-lepton-x.core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AbpUserProfileService {\r\n private configState = inject(ConfigStateService);\r\n private userProfileService = inject(UserProfileService);\r\n navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);\r\n private userMenuService = inject(UserMenuService);\r\n\r\n currentUser$: Observable<CurrentUserDto> =\r\n this.configState.getOne$('currentUser');\r\n\r\n currentTenant$: Observable<CurrentTenantDto> =\r\n this.configState.getOne$('currentTenant');\r\n\r\n subscribeUser() {\r\n combineLatest([\r\n this.currentUser$.pipe(filter<CurrentUserDto>(Boolean)),\r\n this.currentTenant$.pipe(filter<CurrentTenantDto>(Boolean)),\r\n this.userMenuService.items$,\r\n ]).subscribe(([user, tenant, userMenuItems]) => {\r\n const userActionGroups = userMenuItems.reduce(\r\n (acc, curr) => {\r\n let menuItemVisibility: NavBarPropPredicate<NavItem> = () => true;\r\n if (typeof curr.visible === 'function') {\r\n menuItemVisibility = (_prop?: NavItem, injector?: Injector) =>\r\n curr.visible!(curr, injector);\r\n }\r\n\r\n const menuItem = {\r\n icon: curr.textTemplate?.icon,\r\n text: curr.textTemplate?.text,\r\n component: curr?.component,\r\n action: () => {\r\n curr.action();\r\n return of(true);\r\n },\r\n visible: menuItemVisibility,\r\n };\r\n acc[0].push(menuItem);\r\n return acc;\r\n },\r\n [[]],\r\n );\r\n\r\n this.userProfileService.setUser({\r\n id: user.id,\r\n isAuthenticated: user.isAuthenticated,\r\n fullName: user.name || user.userName || '',\r\n email: user.email || '',\r\n userName: user.userName || '',\r\n avatar: {\r\n type: 'icon',\r\n source: 'bi bi-person-circle',\r\n },\r\n tenant,\r\n userActionGroups,\r\n });\r\n });\r\n }\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport { AbpUserProfileService } from '../services/user-profile.service';\r\n\r\nexport const LPX_USER_PROVIDER = provideAppInitializer(() => {\r\n const userProfile = inject(AbpUserProfileService);\r\n userProfile.subscribeUser();\r\n});\r\n","export enum eUserMenuItems {\r\n MyAccount = 'MyAccount',\r\n Logout = 'Logout',\r\n}\r\n","import { AuthService, NAVIGATE_TO_MANAGE_PROFILE } from '@abp/ng.core';\r\nimport { UserMenuService } from '@abp/ng.theme.shared';\r\nimport { inject, provideAppInitializer } from '@angular/core';\r\nimport { eUserMenuItems } from '../enums/user-menu-items';\r\n\r\nexport const LEPTON_X_USER_MENU_PROVIDERS = [\r\n provideAppInitializer(() => {\r\n configureUserMenu();\r\n }),\r\n];\r\n\r\nexport function configureUserMenu() {\r\n const userMenu = inject(UserMenuService);\r\n const authService = inject(AuthService);\r\n const navigateToManageProfile = inject(NAVIGATE_TO_MANAGE_PROFILE);\r\n userMenu.addItems([\r\n {\r\n id: eUserMenuItems.MyAccount,\r\n order: 100,\r\n textTemplate: {\r\n text: 'AbpAccount::MyAccount',\r\n },\r\n action: () => navigateToManageProfile(),\r\n },\r\n {\r\n id: eUserMenuItems.Logout,\r\n order: 101,\r\n textTemplate: {\r\n text: 'AbpUi::Logout',\r\n },\r\n action: () => authService.logout().subscribe(),\r\n },\r\n ]);\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport {\r\n AbpNavbarService,\r\n AbpToolbarService,\r\n} from '@volo/abp.ng.lepton-x.core';\r\n\r\nexport const INIT_SERVICE_PROVIDER = provideAppInitializer(() => {\r\n const abpToolbarService = inject(AbpToolbarService);\r\n const abpNavbarService = inject(AbpNavbarService);\r\n\r\n abpToolbarService.listenNavItems();\r\n abpNavbarService.initRoutes();\r\n});\r\n","import {\r\n EnvironmentProviders,\r\n makeEnvironmentProviders,\r\n Provider,\r\n} from '@angular/core';\r\nimport {\r\n VALIDATION_ERROR_TEMPLATE,\r\n VALIDATION_TARGET_SELECTOR,\r\n VALIDATION_INVALID_CLASSES,\r\n} from '@ngx-validate/core';\r\nimport { LpxStyles } from '@volo/ngx-lepton-x.core';\r\nimport { provideLeptonXAbpCore } from '@volo/abp.ng.lepton-x.core';\r\nimport {\r\n LpxOptions,\r\n provideLpxLite,\r\n withLiteOptions,\r\n} from '@volo/ngx-lepton-x.lite';\r\nimport { ValidationErrorComponent } from '../components';\r\nimport {\r\n INIT_SERVICE_PROVIDER,\r\n LPX_LANGUAGE_PROVIDER,\r\n LPX_TRANSLATE_PROVIDER,\r\n LEPTON_X_USER_MENU_PROVIDERS,\r\n LPX_USER_PROVIDER,\r\n} from './';\r\n\r\nexport type ThemeLeptonXModuleOptions = LpxOptions;\r\n\r\nexport enum ThemeLeptonXFeatureKind {\r\n Options,\r\n}\r\n\r\nexport interface ThemeLeptonXFeature<KindT extends ThemeLeptonXFeatureKind> {\r\n ɵkind: KindT;\r\n ɵproviders: (Provider | EnvironmentProviders)[];\r\n}\r\n\r\nfunction makeThemeLeptonXFeature<KindT extends ThemeLeptonXFeatureKind>(\r\n kind: KindT,\r\n providers: (Provider | EnvironmentProviders)[],\r\n): ThemeLeptonXFeature<KindT> {\r\n return {\r\n ɵkind: kind,\r\n ɵproviders: providers,\r\n };\r\n}\r\n\r\nexport function withThemeLeptonXOptions(\r\n options = {} as ThemeLeptonXModuleOptions,\r\n): ThemeLeptonXFeature<ThemeLeptonXFeatureKind.Options> {\r\n const optionsWithStyles = {\r\n ...options,\r\n styleFactory: (styles: LpxStyles) => {\r\n styles.push({\r\n bundleName: 'abp-bundle',\r\n });\r\n if (options?.styleFactory) {\r\n return options.styleFactory(styles);\r\n }\r\n return styles;\r\n },\r\n };\r\n\r\n return makeThemeLeptonXFeature(ThemeLeptonXFeatureKind.Options, [\r\n provideLpxLite(withLiteOptions(optionsWithStyles)),\r\n ]);\r\n}\r\n\r\nexport function provideValidationError(): EnvironmentProviders {\r\n const providers = [\r\n {\r\n provide: VALIDATION_ERROR_TEMPLATE,\r\n useValue: ValidationErrorComponent,\r\n },\r\n {\r\n provide: VALIDATION_TARGET_SELECTOR,\r\n useValue: '.form-group',\r\n },\r\n {\r\n provide: VALIDATION_INVALID_CLASSES,\r\n useValue: 'is-invalid',\r\n },\r\n ];\r\n return makeEnvironmentProviders(providers);\r\n}\r\n\r\nexport function provideThemeLeptonX(\r\n ...features: ThemeLeptonXFeature<ThemeLeptonXFeatureKind>[]\r\n): EnvironmentProviders {\r\n const providers: (Provider | EnvironmentProviders)[] = [\r\n LPX_USER_PROVIDER,\r\n LPX_LANGUAGE_PROVIDER,\r\n LPX_TRANSLATE_PROVIDER,\r\n LEPTON_X_USER_MENU_PROVIDERS,\r\n INIT_SERVICE_PROVIDER,\r\n provideLpxLite(),\r\n provideValidationError(),\r\n provideLeptonXAbpCore(),\r\n ];\r\n\r\n features.forEach(({ ɵproviders }) => providers.push(...ɵproviders));\r\n\r\n return makeEnvironmentProviders(providers);\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ValidationErrorComponent } from './validation-error.component';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { provideValidationError } from '../../providers';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n NgxValidateCoreModule,\r\n ValidationErrorComponent,\r\n ],\r\n exports: [ValidationErrorComponent, NgxValidateCoreModule],\r\n})\r\nexport class ValidationErrorModule {\r\n /**\r\n * @deprecated `ValidationErrorModule.forRoot()` is deprecated. You can use `provideValidationError` **function** instead.\r\n */\r\n static forRoot(): ModuleWithProviders<ValidationErrorModule> {\r\n return {\r\n ngModule: ValidationErrorModule,\r\n providers: [provideValidationError()],\r\n };\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { LpxModule } from '@volo/ngx-lepton-x.lite';\r\nimport { ValidationErrorModule } from './components/validation-error';\r\nimport {\r\n provideThemeLeptonX,\r\n ThemeLeptonXModuleOptions,\r\n withThemeLeptonXOptions,\r\n} from './providers';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [LpxModule, ValidationErrorModule],\r\n exports: [],\r\n})\r\nexport class ThemeLeptonXModule {\r\n /**\r\n * @deprecated `ThemeLeptonXModule.forRoot()` is deprecated. You can use `provideThemeLeptonX` **function** instead.\r\n */\r\n static forRoot(\r\n options?: ThemeLeptonXModuleOptions,\r\n ): ModuleWithProviders<ThemeLeptonXModule> {\r\n return {\r\n ngModule: ThemeLeptonXModule,\r\n providers: [provideThemeLeptonX(withThemeLeptonXOptions(options))],\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of theme-lepton-x\r\n */\r\nexport * from './lib/theme-lepton-x.module';\r\nexport * from './lib/components/index';\r\nexport * from './lib/services/index';\r\nexport * from './lib/enums/index';\r\nexport * from './lib/providers/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ErrorComponent"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import * as i1$1 from '@volo/ngx-lepton-x.lite';
|
|
|
4
4
|
import { LpxOptions } from '@volo/ngx-lepton-x.lite';
|
|
5
5
|
import * as i1 from '@angular/common';
|
|
6
6
|
import * as i2 from '@abp/ng.core';
|
|
7
|
-
import { CurrentUserDto, LanguageInfo } from '@abp/ng.core';
|
|
7
|
+
import { CurrentUserDto, CurrentTenantDto, LanguageInfo } from '@abp/ng.core';
|
|
8
8
|
import * as i3 from '@ngx-validate/core';
|
|
9
9
|
import { ValidationErrorComponent as ValidationErrorComponent$1, Validation } from '@ngx-validate/core';
|
|
10
10
|
import { Observable } from 'rxjs';
|
|
@@ -67,6 +67,7 @@ declare class AbpUserProfileService {
|
|
|
67
67
|
navigateToManageProfile: () => void;
|
|
68
68
|
private userMenuService;
|
|
69
69
|
currentUser$: Observable<CurrentUserDto>;
|
|
70
|
+
currentTenant$: Observable<CurrentTenantDto>;
|
|
70
71
|
subscribeUser(): void;
|
|
71
72
|
static ɵfac: i0.ɵɵFactoryDeclaration<AbpUserProfileService, never>;
|
|
72
73
|
static ɵprov: i0.ɵɵInjectableDeclaration<AbpUserProfileService>;
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abp/ng.theme.lepton-x",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0-rc.1",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"tslib": "^2.3.0",
|
|
6
|
-
"@volo/ngx-lepton-x.lite": "5.
|
|
7
|
-
"@volo/abp.ng.lepton-x.core": "5.
|
|
6
|
+
"@volo/ngx-lepton-x.lite": "5.2.0-rc.1",
|
|
7
|
+
"@volo/abp.ng.lepton-x.core": "5.2.0-rc.1"
|
|
8
8
|
},
|
|
9
9
|
"peerDependencies": {
|
|
10
|
-
"@abp/ng.core": "~10.
|
|
11
|
-
"@abp/ng.theme.shared": "~10.
|
|
12
|
-
"@abp/ng.account.core": "~10.
|
|
10
|
+
"@abp/ng.core": "~10.2.0-rc.1",
|
|
11
|
+
"@abp/ng.theme.shared": "~10.2.0-rc.1",
|
|
12
|
+
"@abp/ng.account.core": "~10.2.0-rc.1"
|
|
13
13
|
},
|
|
14
14
|
"publishConfig": {
|
|
15
15
|
"access": "public"
|