@abp/ng.account.core 7.0.1 → 7.0.3
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/esm2020/lib/tenant-box.service.mjs +3 -3
- package/fesm2015/abp-ng.account.core.mjs +2 -2
- package/fesm2015/abp-ng.account.core.mjs.map +1 -1
- package/fesm2020/abp-ng.account.core.mjs +2 -2
- package/fesm2020/abp-ng.account.core.mjs.map +1 -1
- package/lib/tenant-box.service.d.ts +1 -1
- package/package.json +3 -3
|
@@ -15,7 +15,7 @@ export class TenantBoxService {
|
|
|
15
15
|
}
|
|
16
16
|
onSwitch() {
|
|
17
17
|
const tenant = this.sessionState.getTenant();
|
|
18
|
-
this.name = tenant?.name;
|
|
18
|
+
this.name = tenant?.name || '';
|
|
19
19
|
this.isModalVisible = true;
|
|
20
20
|
}
|
|
21
21
|
save() {
|
|
@@ -43,7 +43,7 @@ export class TenantBoxService {
|
|
|
43
43
|
}
|
|
44
44
|
showError() {
|
|
45
45
|
this.toasterService.error('AbpUiMultiTenancy::GivenTenantIsNotAvailable', 'AbpUi::Error', {
|
|
46
|
-
messageLocalizationParams: [this.name],
|
|
46
|
+
messageLocalizationParams: [this.name || ''],
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -52,4 +52,4 @@ TenantBoxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ver
|
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantBoxService, decorators: [{
|
|
53
53
|
type: Injectable
|
|
54
54
|
}], ctorParameters: function () { return [{ type: i1.ToasterService }, { type: i2.AbpTenantService }, { type: i2.SessionStateService }, { type: i2.ConfigStateService }]; } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LWJveC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYWNjb3VudC1jb3JlL3NyYy9saWIvdGVuYW50LWJveC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBRWxCLG1CQUFtQixHQUNwQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFHMUMsTUFBTSxPQUFPLGdCQUFnQjtJQVMzQixZQUNVLGNBQThCLEVBQzlCLGFBQStCLEVBQy9CLFlBQWlDLEVBQ2pDLFdBQStCO1FBSC9CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQVp6QyxtQkFBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7SUFhN0MsQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWE7YUFDZixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDOUMsU0FBUyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDWixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sU0FBUyxDQUFDLE1BQStCO1FBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyw4Q0FBOEMsRUFBRSxjQUFjLEVBQUU7WUFDeEYseUJBQXlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDOzs2R0FyRFUsZ0JBQWdCO2lIQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWJwVGVuYW50U2VydmljZSxcclxuICBDb25maWdTdGF0ZVNlcnZpY2UsXHJcbiAgQ3VycmVudFRlbmFudER0byxcclxuICBTZXNzaW9uU3RhdGVTZXJ2aWNlLFxyXG59IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0ZXJTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVGVuYW50Qm94U2VydmljZSB7XHJcbiAgY3VycmVudFRlbmFudCQgPSB0aGlzLnNlc3Npb25TdGF0ZS5nZXRUZW5hbnQkKCk7XHJcblxyXG4gIG5hbWU/OiBzdHJpbmc7XHJcblxyXG4gIGlzTW9kYWxWaXNpYmxlITogYm9vbGVhbjtcclxuXHJcbiAgbW9kYWxCdXN5ITogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgdGVuYW50U2VydmljZTogQWJwVGVuYW50U2VydmljZSxcclxuICAgIHByaXZhdGUgc2Vzc2lvblN0YXRlOiBTZXNzaW9uU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWdTdGF0ZTogQ29uZmlnU3RhdGVTZXJ2aWNlLFxyXG4gICkge31cclxuXHJcbiAgb25Td2l0Y2goKSB7XHJcbiAgICBjb25zdCB0ZW5hbnQgPSB0aGlzLnNlc3Npb25TdGF0ZS5nZXRUZW5hbnQoKTtcclxuICAgIHRoaXMubmFtZSA9IHRlbmFudD8ubmFtZSB8fCAnJztcclxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIGlmICghdGhpcy5uYW1lKSB7XHJcbiAgICAgIHRoaXMuc2V0VGVuYW50KG51bGwpO1xyXG4gICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XHJcbiAgICB0aGlzLnRlbmFudFNlcnZpY2VcclxuICAgICAgLmZpbmRUZW5hbnRCeU5hbWUodGhpcy5uYW1lKVxyXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5tb2RhbEJ1c3kgPSBmYWxzZSkpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh7IHN1Y2Nlc3MsIHRlbmFudElkOiBpZCwgLi4udGVuYW50IH0pID0+IHtcclxuICAgICAgICBpZiAoIXN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNldFRlbmFudCh7IC4uLnRlbmFudCwgaWQsIGlzQXZhaWxhYmxlOiB0cnVlIH0pO1xyXG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFRlbmFudCh0ZW5hbnQ6IEN1cnJlbnRUZW5hbnREdG8gfCBudWxsKSB7XHJcbiAgICB0aGlzLnNlc3Npb25TdGF0ZS5zZXRUZW5hbnQodGVuYW50KTtcclxuICAgIHRoaXMuY29uZmlnU3RhdGUucmVmcmVzaEFwcFN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNob3dFcnJvcigpIHtcclxuICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IoJ0FicFVpTXVsdGlUZW5hbmN5OjpHaXZlblRlbmFudElzTm90QXZhaWxhYmxlJywgJ0FicFVpOjpFcnJvcicsIHtcclxuICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW3RoaXMubmFtZSB8fCAnJ10sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -53,7 +53,7 @@ class TenantBoxService {
|
|
|
53
53
|
}
|
|
54
54
|
onSwitch() {
|
|
55
55
|
const tenant = this.sessionState.getTenant();
|
|
56
|
-
this.name = tenant === null || tenant === void 0 ? void 0 : tenant.name;
|
|
56
|
+
this.name = (tenant === null || tenant === void 0 ? void 0 : tenant.name) || '';
|
|
57
57
|
this.isModalVisible = true;
|
|
58
58
|
}
|
|
59
59
|
save() {
|
|
@@ -82,7 +82,7 @@ class TenantBoxService {
|
|
|
82
82
|
}
|
|
83
83
|
showError() {
|
|
84
84
|
this.toasterService.error('AbpUiMultiTenancy::GivenTenantIsNotAvailable', 'AbpUi::Error', {
|
|
85
|
-
messageLocalizationParams: [this.name],
|
|
85
|
+
messageLocalizationParams: [this.name || ''],
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.account.core.mjs","sources":["../../../../packages/account-core/src/lib/auth-wrapper.service.ts","../../../../packages/account-core/src/lib/tenant-box.service.ts","../../../../packages/account-core/src/public-api.ts","../../../../packages/account-core/src/abp-ng.account.core.ts"],"sourcesContent":["import { Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConfigStateService, MultiTenancyService } from '@abp/ng.core';\r\n\r\n@Injectable()\r\nexport class AuthWrapperService {\r\n isMultiTenancyEnabled$ = this.configState.getDeep$('multiTenancy.isEnabled');\r\n\r\n get enableLocalLogin$(): Observable<boolean> {\r\n return this.configState\r\n .getSetting$('Abp.Account.EnableLocalLogin')\r\n .pipe(map(value => value?.toLowerCase() !== 'false'));\r\n }\r\n\r\n tenantBoxKey = 'Account.TenantBoxComponent';\r\n route: 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 this.isTenantBoxVisibleForCurrentRoute && this.multiTenancy.isTenantBoxVisible;\r\n }\r\n\r\n constructor(\r\n public readonly multiTenancy: MultiTenancyService,\r\n private configState: ConfigStateService,\r\n injector: Injector,\r\n ) {\r\n this.route = injector.get(ActivatedRoute);\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","import {\r\n AbpTenantService,\r\n ConfigStateService,\r\n CurrentTenantDto,\r\n SessionStateService,\r\n} from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { Injectable } from '@angular/core';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class TenantBoxService {\r\n currentTenant$ = this.sessionState.getTenant$();\r\n\r\n name
|
|
1
|
+
{"version":3,"file":"abp-ng.account.core.mjs","sources":["../../../../packages/account-core/src/lib/auth-wrapper.service.ts","../../../../packages/account-core/src/lib/tenant-box.service.ts","../../../../packages/account-core/src/public-api.ts","../../../../packages/account-core/src/abp-ng.account.core.ts"],"sourcesContent":["import { Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConfigStateService, MultiTenancyService } from '@abp/ng.core';\r\n\r\n@Injectable()\r\nexport class AuthWrapperService {\r\n isMultiTenancyEnabled$ = this.configState.getDeep$('multiTenancy.isEnabled');\r\n\r\n get enableLocalLogin$(): Observable<boolean> {\r\n return this.configState\r\n .getSetting$('Abp.Account.EnableLocalLogin')\r\n .pipe(map(value => value?.toLowerCase() !== 'false'));\r\n }\r\n\r\n tenantBoxKey = 'Account.TenantBoxComponent';\r\n route: 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 this.isTenantBoxVisibleForCurrentRoute && this.multiTenancy.isTenantBoxVisible;\r\n }\r\n\r\n constructor(\r\n public readonly multiTenancy: MultiTenancyService,\r\n private configState: ConfigStateService,\r\n injector: Injector,\r\n ) {\r\n this.route = injector.get(ActivatedRoute);\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","import {\r\n AbpTenantService,\r\n ConfigStateService,\r\n CurrentTenantDto,\r\n SessionStateService,\r\n} from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { Injectable } from '@angular/core';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class TenantBoxService {\r\n currentTenant$ = this.sessionState.getTenant$();\r\n\r\n name?: string;\r\n\r\n isModalVisible!: boolean;\r\n\r\n modalBusy!: boolean;\r\n\r\n constructor(\r\n private toasterService: ToasterService,\r\n private tenantService: AbpTenantService,\r\n private sessionState: SessionStateService,\r\n private configState: ConfigStateService,\r\n ) {}\r\n\r\n onSwitch() {\r\n const tenant = this.sessionState.getTenant();\r\n this.name = 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();\r\n }\r\n\r\n private showError() {\r\n this.toasterService.error('AbpUiMultiTenancy::GivenTenantIsNotAvailable', 'AbpUi::Error', {\r\n messageLocalizationParams: [this.name || ''],\r\n });\r\n }\r\n}\r\n","/*\r\n * Public API Surface of account-core\r\n */\r\n\r\nexport * from './lib/auth-wrapper.service';\r\nexport * from './lib/tenant-box.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":";;;;;;;;MAOa,kBAAkB,CAAA;AAoB7B,IAAA,WAAA,CACkB,YAAiC,EACzC,WAA+B,EACvC,QAAkB,EAAA;AAFF,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;AACzC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAoB;QArBzC,IAAsB,CAAA,sBAAA,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAQ7E,QAAA,IAAY,CAAA,YAAA,GAAG,4BAA4B,CAAC;QAgB1C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;KAC3C;AAvBD,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW;aACpB,WAAW,CAAC,8BAA8B,CAAC;aAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,WAAW,EAAE,MAAK,OAAO,CAAC,CAAC,CAAC;KACzD;AAKD,IAAA,IAAI,iCAAiC,GAAA;;QACnC,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,gBAAgB,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;KAC/D;AAED,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,iCAAiC,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;KACvF;IAUO,iBAAiB,GAAA;AACvB,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,QAAA,OAAO,KAAK,CAAC,UAAU,IAAI,KAAK,GAAG,UAAU,EAAE;AAC7C,YAAA,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;AACzB,YAAA,KAAK,EAAE,CAAC;AACT,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;;+GArCU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;MCKE,gBAAgB,CAAA;AAS3B,IAAA,WAAA,CACU,cAA8B,EAC9B,aAA+B,EAC/B,YAAiC,EACjC,WAA+B,EAAA;AAH/B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAC9B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AAC/B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;AACjC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAoB;QAZzC,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;KAa5C;IAEJ,QAAQ,GAAA;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;AAC7C,QAAA,IAAI,CAAC,IAAI,GAAG,CAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,IAAI,KAAI,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACd,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrB,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,aAAa;AACf,aAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B,aAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;AAC9C,aAAA,SAAS,CAAC,CAAC,EAAoC,KAAI;gBAAxC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,OAAa,EAAR,MAAM,GAAlC,MAAA,CAAA,EAAA,EAAA,CAAA,SAAA,EAAA,UAAA,CAAoC,CAAF,CAAA;YAC5C,IAAI,CAAC,OAAO,EAAE;gBACZ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO;AACR,aAAA;YAED,IAAI,CAAC,SAAS,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAA,EAAA,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAA,CAAA,CAAG,CAAC;AACrD,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC9B,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,SAAS,CAAC,MAA+B,EAAA;AAC/C,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;KACpC;IAEO,SAAS,GAAA;QACf,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,8CAA8C,EAAE,cAAc,EAAE;AACxF,YAAA,yBAAyB,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AAC7C,SAAA,CAAC,CAAC;KACJ;;6GArDU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;iHAAhB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;;;ACVX;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -51,7 +51,7 @@ class TenantBoxService {
|
|
|
51
51
|
}
|
|
52
52
|
onSwitch() {
|
|
53
53
|
const tenant = this.sessionState.getTenant();
|
|
54
|
-
this.name = tenant?.name;
|
|
54
|
+
this.name = tenant?.name || '';
|
|
55
55
|
this.isModalVisible = true;
|
|
56
56
|
}
|
|
57
57
|
save() {
|
|
@@ -79,7 +79,7 @@ class TenantBoxService {
|
|
|
79
79
|
}
|
|
80
80
|
showError() {
|
|
81
81
|
this.toasterService.error('AbpUiMultiTenancy::GivenTenantIsNotAvailable', 'AbpUi::Error', {
|
|
82
|
-
messageLocalizationParams: [this.name],
|
|
82
|
+
messageLocalizationParams: [this.name || ''],
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.account.core.mjs","sources":["../../../../packages/account-core/src/lib/auth-wrapper.service.ts","../../../../packages/account-core/src/lib/tenant-box.service.ts","../../../../packages/account-core/src/public-api.ts","../../../../packages/account-core/src/abp-ng.account.core.ts"],"sourcesContent":["import { Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConfigStateService, MultiTenancyService } from '@abp/ng.core';\r\n\r\n@Injectable()\r\nexport class AuthWrapperService {\r\n isMultiTenancyEnabled$ = this.configState.getDeep$('multiTenancy.isEnabled');\r\n\r\n get enableLocalLogin$(): Observable<boolean> {\r\n return this.configState\r\n .getSetting$('Abp.Account.EnableLocalLogin')\r\n .pipe(map(value => value?.toLowerCase() !== 'false'));\r\n }\r\n\r\n tenantBoxKey = 'Account.TenantBoxComponent';\r\n route: 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 this.isTenantBoxVisibleForCurrentRoute && this.multiTenancy.isTenantBoxVisible;\r\n }\r\n\r\n constructor(\r\n public readonly multiTenancy: MultiTenancyService,\r\n private configState: ConfigStateService,\r\n injector: Injector,\r\n ) {\r\n this.route = injector.get(ActivatedRoute);\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","import {\r\n AbpTenantService,\r\n ConfigStateService,\r\n CurrentTenantDto,\r\n SessionStateService,\r\n} from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { Injectable } from '@angular/core';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class TenantBoxService {\r\n currentTenant$ = this.sessionState.getTenant$();\r\n\r\n name
|
|
1
|
+
{"version":3,"file":"abp-ng.account.core.mjs","sources":["../../../../packages/account-core/src/lib/auth-wrapper.service.ts","../../../../packages/account-core/src/lib/tenant-box.service.ts","../../../../packages/account-core/src/public-api.ts","../../../../packages/account-core/src/abp-ng.account.core.ts"],"sourcesContent":["import { Injectable, Injector } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ConfigStateService, MultiTenancyService } from '@abp/ng.core';\r\n\r\n@Injectable()\r\nexport class AuthWrapperService {\r\n isMultiTenancyEnabled$ = this.configState.getDeep$('multiTenancy.isEnabled');\r\n\r\n get enableLocalLogin$(): Observable<boolean> {\r\n return this.configState\r\n .getSetting$('Abp.Account.EnableLocalLogin')\r\n .pipe(map(value => value?.toLowerCase() !== 'false'));\r\n }\r\n\r\n tenantBoxKey = 'Account.TenantBoxComponent';\r\n route: 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 this.isTenantBoxVisibleForCurrentRoute && this.multiTenancy.isTenantBoxVisible;\r\n }\r\n\r\n constructor(\r\n public readonly multiTenancy: MultiTenancyService,\r\n private configState: ConfigStateService,\r\n injector: Injector,\r\n ) {\r\n this.route = injector.get(ActivatedRoute);\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","import {\r\n AbpTenantService,\r\n ConfigStateService,\r\n CurrentTenantDto,\r\n SessionStateService,\r\n} from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { Injectable } from '@angular/core';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class TenantBoxService {\r\n currentTenant$ = this.sessionState.getTenant$();\r\n\r\n name?: string;\r\n\r\n isModalVisible!: boolean;\r\n\r\n modalBusy!: boolean;\r\n\r\n constructor(\r\n private toasterService: ToasterService,\r\n private tenantService: AbpTenantService,\r\n private sessionState: SessionStateService,\r\n private configState: ConfigStateService,\r\n ) {}\r\n\r\n onSwitch() {\r\n const tenant = this.sessionState.getTenant();\r\n this.name = 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();\r\n }\r\n\r\n private showError() {\r\n this.toasterService.error('AbpUiMultiTenancy::GivenTenantIsNotAvailable', 'AbpUi::Error', {\r\n messageLocalizationParams: [this.name || ''],\r\n });\r\n }\r\n}\r\n","/*\r\n * Public API Surface of account-core\r\n */\r\n\r\nexport * from './lib/auth-wrapper.service';\r\nexport * from './lib/tenant-box.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare class TenantBoxService {
|
|
|
7
7
|
private sessionState;
|
|
8
8
|
private configState;
|
|
9
9
|
currentTenant$: import("rxjs").Observable<CurrentTenantDto>;
|
|
10
|
-
name
|
|
10
|
+
name?: string;
|
|
11
11
|
isModalVisible: boolean;
|
|
12
12
|
modalBusy: boolean;
|
|
13
13
|
constructor(toasterService: ToasterService, tenantService: AbpTenantService, sessionState: SessionStateService, configState: ConfigStateService);
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abp/ng.account.core",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.3",
|
|
4
4
|
"homepage": "https://abp.io",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/abpframework/abp.git"
|
|
8
8
|
},
|
|
9
9
|
"peerDependencies": {
|
|
10
|
-
"@abp/ng.core": "~7.0.
|
|
11
|
-
"@abp/ng.theme.shared": "~7.0.
|
|
10
|
+
"@abp/ng.core": "~7.0.2",
|
|
11
|
+
"@abp/ng.theme.shared": "~7.0.2",
|
|
12
12
|
"@angular/common": ">=12.0.0",
|
|
13
13
|
"@angular/core": ">=12.0.0"
|
|
14
14
|
},
|