@abp/ng.tenant-management 7.2.2 → 7.3.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +129 -2
- package/config/enums/index.d.ts +2 -2
- package/config/enums/policy-names.d.ts +4 -4
- package/config/enums/route-names.d.ts +4 -4
- package/config/index.d.ts +5 -5
- package/config/providers/index.d.ts +1 -1
- package/config/providers/route.provider.d.ts +8 -8
- package/config/public-api.d.ts +3 -3
- package/config/tenant-management-config.module.d.ts +8 -8
- package/{esm2020 → esm2022}/abp-ng.tenant-management.mjs +4 -4
- package/{esm2020 → esm2022}/config/abp-ng.tenant-management-config.mjs +4 -4
- package/{esm2020 → esm2022}/config/enums/index.mjs +2 -2
- package/{esm2020 → esm2022}/config/enums/policy-names.mjs +1 -1
- package/{esm2020 → esm2022}/config/enums/route-names.mjs +1 -1
- package/{esm2020 → esm2022}/config/providers/index.mjs +1 -1
- package/{esm2020 → esm2022}/config/providers/route.provider.mjs +27 -27
- package/{esm2020 → esm2022}/config/public-api.mjs +3 -3
- package/esm2022/config/tenant-management-config.module.mjs +19 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +1 -1
- package/esm2022/lib/components/tenants/tenants.component.mjs +129 -0
- package/{esm2020 → esm2022}/lib/defaults/default-tenants-entity-actions.mjs +28 -28
- package/{esm2020 → esm2022}/lib/defaults/default-tenants-entity-props.mjs +9 -9
- package/{esm2020 → esm2022}/lib/defaults/default-tenants-form-props.mjs +28 -28
- package/{esm2020 → esm2022}/lib/defaults/default-tenants-toolbar-actions.mjs +13 -13
- package/{esm2020 → esm2022}/lib/enums/components.mjs +1 -1
- package/{esm2020 → esm2022}/lib/enums/index.mjs +1 -1
- package/esm2022/lib/guards/extensions.guard.mjs +36 -0
- package/{esm2020 → esm2022}/lib/guards/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/config-options.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +2 -2
- package/{esm2020 → esm2022}/lib/models/tenant-management.mjs +1 -1
- package/esm2022/lib/tenant-management-routing.module.mjs +42 -0
- package/esm2022/lib/tenant-management.module.mjs +82 -0
- package/{esm2020 → esm2022}/lib/tokens/extensions.token.mjs +25 -25
- package/{esm2020 → esm2022}/lib/tokens/index.mjs +1 -1
- package/{esm2020 → esm2022}/proxy/abp-ng.tenant-management-proxy.mjs +4 -4
- package/{esm2020 → esm2022}/proxy/lib/index.mjs +1 -1
- package/{esm2020 → esm2022}/proxy/lib/proxy/index.mjs +2 -2
- package/{esm2020 → esm2022}/proxy/lib/proxy/models.mjs +1 -1
- package/esm2022/proxy/lib/proxy/tenant.service.mjs +57 -0
- package/{esm2020 → esm2022}/proxy/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/public-api.mjs +6 -6
- package/{fesm2015 → fesm2022}/abp-ng.tenant-management-config.mjs +39 -39
- package/{fesm2020 → fesm2022}/abp-ng.tenant-management-config.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/abp-ng.tenant-management-proxy.mjs +53 -53
- package/{fesm2020 → fesm2022}/abp-ng.tenant-management-proxy.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/abp-ng.tenant-management.mjs +326 -326
- package/fesm2022/abp-ng.tenant-management.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components/index.d.ts +1 -1
- package/lib/components/tenants/tenants.component.d.ts +38 -38
- package/lib/defaults/default-tenants-entity-actions.d.ts +3 -3
- package/lib/defaults/default-tenants-entity-props.d.ts +3 -3
- package/lib/defaults/default-tenants-form-props.d.ts +4 -4
- package/lib/defaults/default-tenants-toolbar-actions.d.ts +3 -3
- package/lib/enums/components.d.ts +3 -3
- package/lib/enums/index.d.ts +1 -1
- package/lib/guards/extensions.guard.d.ts +11 -11
- package/lib/guards/index.d.ts +1 -1
- package/lib/models/config-options.d.ts +25 -25
- package/lib/models/index.d.ts +2 -2
- package/lib/models/tenant-management.d.ts +8 -8
- package/lib/tenant-management-routing.module.d.ts +7 -7
- package/lib/tenant-management.module.d.ts +19 -19
- package/lib/tokens/extensions.token.d.ts +33 -33
- package/lib/tokens/index.d.ts +1 -1
- package/package.json +28 -24
- package/proxy/index.d.ts +5 -5
- package/proxy/lib/index.d.ts +1 -1
- package/proxy/lib/proxy/index.d.ts +2 -2
- package/proxy/lib/proxy/models.d.ts +18 -18
- package/proxy/lib/proxy/tenant.service.d.ts +19 -19
- package/proxy/public-api.d.ts +1 -1
- package/public-api.d.ts +6 -6
- package/esm2020/config/tenant-management-config.module.mjs +0 -18
- package/esm2020/lib/components/tenants/tenants.component.mjs +0 -128
- package/esm2020/lib/guards/extensions.guard.mjs +0 -35
- package/esm2020/lib/tenant-management-routing.module.mjs +0 -41
- package/esm2020/lib/tenant-management.module.mjs +0 -81
- package/esm2020/proxy/lib/proxy/tenant.service.mjs +0 -56
- package/fesm2015/abp-ng.tenant-management-config.mjs.map +0 -1
- package/fesm2015/abp-ng.tenant-management-proxy.mjs.map +0 -1
- package/fesm2015/abp-ng.tenant-management.mjs +0 -366
- package/fesm2015/abp-ng.tenant-management.mjs.map +0 -1
- package/fesm2020/abp-ng.tenant-management-config.mjs +0 -51
- package/fesm2020/abp-ng.tenant-management-proxy.mjs +0 -62
- package/fesm2020/abp-ng.tenant-management.mjs.map +0 -1
- package/proxy/src/lib/proxy/README.md +0 -17
|
@@ -1,366 +0,0 @@
|
|
|
1
|
-
import * as i1 from '@abp/ng.core';
|
|
2
|
-
import { ListService, ConfigStateService, RouterOutletComponent, AuthGuard, PermissionGuard, ReplaceableRouteContainerComponent, LazyModuleFactory, CoreModule } from '@abp/ng.core';
|
|
3
|
-
import * as i2 from '@abp/ng.theme.shared';
|
|
4
|
-
import { Confirmation, getPasswordValidators, ThemeSharedModule } from '@abp/ng.theme.shared';
|
|
5
|
-
import * as i7 from '@abp/ng.theme.shared/extensions';
|
|
6
|
-
import { FormPropData, generateFormFromProps, EXTENSIONS_IDENTIFIER, EntityAction, EntityProp, FormProp, ToolbarAction, ExtensionsService, getObjectExtensionEntitiesFromStore, mapEntitiesToContributors, mergeWithDefaultActions, mergeWithDefaultProps, UiExtensionsModule } from '@abp/ng.theme.shared/extensions';
|
|
7
|
-
import * as i0 from '@angular/core';
|
|
8
|
-
import { Component, InjectionToken, Injectable, NgModule } from '@angular/core';
|
|
9
|
-
import { finalize, map, tap, mapTo } from 'rxjs/operators';
|
|
10
|
-
import * as i3 from '@abp/ng.tenant-management/proxy';
|
|
11
|
-
import * as i4 from '@angular/forms';
|
|
12
|
-
import { Validators } from '@angular/forms';
|
|
13
|
-
import * as i5 from '@ngx-validate/core';
|
|
14
|
-
import { NgxValidateCoreModule } from '@ngx-validate/core';
|
|
15
|
-
import * as i6 from '@abp/ng.feature-management';
|
|
16
|
-
import { FeatureManagementModule } from '@abp/ng.feature-management';
|
|
17
|
-
import * as i8 from '@abp/ng.components/page';
|
|
18
|
-
import { PageModule } from '@abp/ng.components/page';
|
|
19
|
-
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
|
|
20
|
-
import * as i1$1 from '@angular/router';
|
|
21
|
-
import { RouterModule } from '@angular/router';
|
|
22
|
-
|
|
23
|
-
class TenantsComponent {
|
|
24
|
-
constructor(list, injector, confirmationService, service, toasterService, fb) {
|
|
25
|
-
this.list = list;
|
|
26
|
-
this.injector = injector;
|
|
27
|
-
this.confirmationService = confirmationService;
|
|
28
|
-
this.service = service;
|
|
29
|
-
this.toasterService = toasterService;
|
|
30
|
-
this.fb = fb;
|
|
31
|
-
this.data = { items: [], totalCount: 0 };
|
|
32
|
-
this.visibleFeatures = false;
|
|
33
|
-
this.modalBusy = false;
|
|
34
|
-
this.featureManagementKey = "FeatureManagement.FeatureManagementComponent" /* eFeatureManagementComponents.FeatureManagement */;
|
|
35
|
-
this.onVisibleFeaturesChange = (value) => {
|
|
36
|
-
this.visibleFeatures = value;
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
get hasSelectedTenant() {
|
|
40
|
-
return Boolean(this.selected.id);
|
|
41
|
-
}
|
|
42
|
-
ngOnInit() {
|
|
43
|
-
this.hookToQuery();
|
|
44
|
-
}
|
|
45
|
-
createTenantForm() {
|
|
46
|
-
const data = new FormPropData(this.injector, this.selected);
|
|
47
|
-
this.tenantForm = generateFormFromProps(data);
|
|
48
|
-
}
|
|
49
|
-
addTenant() {
|
|
50
|
-
this.selected = {};
|
|
51
|
-
this.createTenantForm();
|
|
52
|
-
this.isModalVisible = true;
|
|
53
|
-
}
|
|
54
|
-
editTenant(id) {
|
|
55
|
-
this.service.get(id).subscribe(res => {
|
|
56
|
-
this.selected = res;
|
|
57
|
-
this.createTenantForm();
|
|
58
|
-
this.isModalVisible = true;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
save() {
|
|
62
|
-
if (!this.tenantForm.valid || this.modalBusy)
|
|
63
|
-
return;
|
|
64
|
-
this.modalBusy = true;
|
|
65
|
-
const { id } = this.selected;
|
|
66
|
-
(id
|
|
67
|
-
? this.service.update(id, Object.assign(Object.assign({}, this.selected), this.tenantForm.value))
|
|
68
|
-
: this.service.create(this.tenantForm.value))
|
|
69
|
-
.pipe(finalize(() => (this.modalBusy = false)))
|
|
70
|
-
.subscribe(() => {
|
|
71
|
-
this.isModalVisible = false;
|
|
72
|
-
this.list.get();
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
delete(id, name) {
|
|
76
|
-
this.confirmationService
|
|
77
|
-
.warn('AbpTenantManagement::TenantDeletionConfirmationMessage', 'AbpTenantManagement::AreYouSure', {
|
|
78
|
-
messageLocalizationParams: [name],
|
|
79
|
-
})
|
|
80
|
-
.subscribe((status) => {
|
|
81
|
-
if (status === Confirmation.Status.confirm) {
|
|
82
|
-
this.toasterService.success('AbpUi::SuccessfullyDeleted');
|
|
83
|
-
this.service.delete(id).subscribe(() => this.list.get());
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
hookToQuery() {
|
|
88
|
-
this.list
|
|
89
|
-
.hookToQuery(query => this.service.getList(query))
|
|
90
|
-
.subscribe(res => {
|
|
91
|
-
this.data = res;
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
onSharedDatabaseChange(value) {
|
|
95
|
-
if (!value) {
|
|
96
|
-
setTimeout(() => {
|
|
97
|
-
const defaultConnectionString = document.getElementById('defaultConnectionString');
|
|
98
|
-
if (defaultConnectionString) {
|
|
99
|
-
defaultConnectionString.focus();
|
|
100
|
-
}
|
|
101
|
-
}, 0);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
openFeaturesModal(providerKey) {
|
|
105
|
-
this.providerKey = providerKey;
|
|
106
|
-
setTimeout(() => {
|
|
107
|
-
this.visibleFeatures = true;
|
|
108
|
-
}, 0);
|
|
109
|
-
}
|
|
110
|
-
sort(data) {
|
|
111
|
-
const { prop, dir } = data.sorts[0];
|
|
112
|
-
this.list.sortKey = prop;
|
|
113
|
-
this.list.sortOrder = dir;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
TenantsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantsComponent, deps: [{ token: i1.ListService }, { token: i0.Injector }, { token: i2.ConfirmationService }, { token: i3.TenantService }, { token: i2.ToasterService }, { token: i4.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
117
|
-
TenantsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TenantsComponent, selector: "abp-tenants", providers: [
|
|
118
|
-
ListService,
|
|
119
|
-
{
|
|
120
|
-
provide: EXTENSIONS_IDENTIFIER,
|
|
121
|
-
useValue: "TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */,
|
|
122
|
-
},
|
|
123
|
-
], ngImport: i0, template: "<abp-page [title]=\"'AbpTenantManagement::Tenants' | abpLocalization\" [toolbar]=\"data.items\">\r\n\r\n\r\n <div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\r\n <div class=\"input-group\">\r\n <input\r\n type=\"search\"\r\n class=\"form-control\"\r\n [placeholder]=\"'AbpUi::PagerSearch' | abpLocalization\"\r\n [(ngModel)]=\"list.filter\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <abp-extensible-table\r\n [data]=\"data.items || []\"\r\n [recordsTotal]=\"data.totalCount || 0\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n </div>\r\n\r\n <abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{\r\n (selected?.id ? 'AbpTenantManagement::Edit' : 'AbpTenantManagement::NewTenant')\r\n | abpLocalization\r\n }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"tenantForm\" (ngSubmit)=\"save()\" [validateOnSubmit]=\"true\">\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpTenantManagement::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" (click)=\"save()\" [disabled]=\"tenantForm?.invalid\">{{\r\n 'AbpTenantManagement::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n\r\n <abp-feature-management\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n providerName: { value: 'T' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visibleFeatures, twoWay: true }\r\n },\r\n outputs: { visibleChange: $any(onVisibleFeaturesChange) },\r\n componentKey: featureManagementKey\r\n }\"\r\n [(visible)]=\"visibleFeatures\"\r\n providerName=\"T\"\r\n [providerKey]=\"providerKey\"\r\n >\r\n </abp-feature-management>\r\n</abp-page>\r\n", dependencies: [{ kind: "directive", type: i5.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "component", type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i2.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i6.FeatureManagementComponent, selector: "abp-feature-management", inputs: ["providerKey", "providerName", "visible"], outputs: ["visibleChange"], exportAs: ["abpFeatureManagement"] }, { kind: "component", type: i7.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { kind: "component", type: i7.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], outputs: ["tableActivate"], exportAs: ["abpExtensibleTable"] }, { kind: "component", type: i8.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantsComponent, decorators: [{
|
|
125
|
-
type: Component,
|
|
126
|
-
args: [{ selector: 'abp-tenants', providers: [
|
|
127
|
-
ListService,
|
|
128
|
-
{
|
|
129
|
-
provide: EXTENSIONS_IDENTIFIER,
|
|
130
|
-
useValue: "TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */,
|
|
131
|
-
},
|
|
132
|
-
], template: "<abp-page [title]=\"'AbpTenantManagement::Tenants' | abpLocalization\" [toolbar]=\"data.items\">\r\n\r\n\r\n <div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\r\n <div class=\"input-group\">\r\n <input\r\n type=\"search\"\r\n class=\"form-control\"\r\n [placeholder]=\"'AbpUi::PagerSearch' | abpLocalization\"\r\n [(ngModel)]=\"list.filter\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <abp-extensible-table\r\n [data]=\"data.items || []\"\r\n [recordsTotal]=\"data.totalCount || 0\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n </div>\r\n\r\n <abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{\r\n (selected?.id ? 'AbpTenantManagement::Edit' : 'AbpTenantManagement::NewTenant')\r\n | abpLocalization\r\n }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"tenantForm\" (ngSubmit)=\"save()\" [validateOnSubmit]=\"true\">\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpTenantManagement::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" (click)=\"save()\" [disabled]=\"tenantForm?.invalid\">{{\r\n 'AbpTenantManagement::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n\r\n <abp-feature-management\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n providerName: { value: 'T' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visibleFeatures, twoWay: true }\r\n },\r\n outputs: { visibleChange: $any(onVisibleFeaturesChange) },\r\n componentKey: featureManagementKey\r\n }\"\r\n [(visible)]=\"visibleFeatures\"\r\n providerName=\"T\"\r\n [providerKey]=\"providerKey\"\r\n >\r\n </abp-feature-management>\r\n</abp-page>\r\n" }]
|
|
133
|
-
}], ctorParameters: function () { return [{ type: i1.ListService }, { type: i0.Injector }, { type: i2.ConfirmationService }, { type: i3.TenantService }, { type: i2.ToasterService }, { type: i4.UntypedFormBuilder }]; } });
|
|
134
|
-
|
|
135
|
-
const DEFAULT_TENANTS_ENTITY_ACTIONS = EntityAction.createMany([
|
|
136
|
-
{
|
|
137
|
-
text: 'AbpTenantManagement::Edit',
|
|
138
|
-
action: data => {
|
|
139
|
-
const component = data.getInjected(TenantsComponent);
|
|
140
|
-
component.editTenant(data.record.id);
|
|
141
|
-
},
|
|
142
|
-
permission: 'AbpTenantManagement.Tenants.Update',
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
text: 'AbpTenantManagement::Permission:ManageFeatures',
|
|
146
|
-
action: data => {
|
|
147
|
-
const component = data.getInjected(TenantsComponent);
|
|
148
|
-
component.openFeaturesModal(data.record.id);
|
|
149
|
-
},
|
|
150
|
-
permission: 'AbpTenantManagement.Tenants.ManageFeatures',
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
text: 'AbpTenantManagement::Delete',
|
|
154
|
-
action: data => {
|
|
155
|
-
const component = data.getInjected(TenantsComponent);
|
|
156
|
-
component.delete(data.record.id, data.record.name);
|
|
157
|
-
},
|
|
158
|
-
permission: 'AbpTenantManagement.Tenants.Delete',
|
|
159
|
-
},
|
|
160
|
-
]);
|
|
161
|
-
|
|
162
|
-
const DEFAULT_TENANTS_ENTITY_PROPS = EntityProp.createMany([
|
|
163
|
-
{
|
|
164
|
-
type: "string" /* ePropType.String */,
|
|
165
|
-
name: 'name',
|
|
166
|
-
displayName: 'AbpTenantManagement::TenantName',
|
|
167
|
-
sortable: true,
|
|
168
|
-
},
|
|
169
|
-
]);
|
|
170
|
-
|
|
171
|
-
const DEFAULT_TENANTS_CREATE_FORM_PROPS = FormProp.createMany([
|
|
172
|
-
{
|
|
173
|
-
type: "string" /* ePropType.String */,
|
|
174
|
-
name: 'name',
|
|
175
|
-
id: 'name',
|
|
176
|
-
displayName: 'AbpTenantManagement::TenantName',
|
|
177
|
-
validators: () => [Validators.required, Validators.maxLength(256)],
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
type: "email" /* ePropType.Email */,
|
|
181
|
-
name: 'adminEmailAddress',
|
|
182
|
-
displayName: 'AbpTenantManagement::DisplayName:AdminEmailAddress',
|
|
183
|
-
id: 'admin-email-address',
|
|
184
|
-
validators: () => [Validators.required, Validators.maxLength(256), Validators.email],
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
type: "passwordinputgroup" /* ePropType.PasswordInputGroup */,
|
|
188
|
-
name: 'adminPassword',
|
|
189
|
-
displayName: 'AbpTenantManagement::DisplayName:AdminPassword',
|
|
190
|
-
id: 'admin-password',
|
|
191
|
-
autocomplete: 'new-password',
|
|
192
|
-
validators: data => [Validators.required, ...getPasswordValidators({ get: data.getInjected })],
|
|
193
|
-
},
|
|
194
|
-
]);
|
|
195
|
-
const DEFAULT_TENANTS_EDIT_FORM_PROPS = DEFAULT_TENANTS_CREATE_FORM_PROPS.slice(0, 1);
|
|
196
|
-
|
|
197
|
-
const DEFAULT_TENANTS_TOOLBAR_ACTIONS = ToolbarAction.createMany([
|
|
198
|
-
{
|
|
199
|
-
text: 'AbpTenantManagement::NewTenant',
|
|
200
|
-
action: data => {
|
|
201
|
-
const component = data.getInjected(TenantsComponent);
|
|
202
|
-
component.addTenant();
|
|
203
|
-
},
|
|
204
|
-
permission: 'AbpTenantManagement.Tenants.Create',
|
|
205
|
-
icon: 'fa fa-plus',
|
|
206
|
-
},
|
|
207
|
-
]);
|
|
208
|
-
|
|
209
|
-
const DEFAULT_TENANT_MANAGEMENT_ENTITY_ACTIONS = {
|
|
210
|
-
["TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */]: DEFAULT_TENANTS_ENTITY_ACTIONS,
|
|
211
|
-
};
|
|
212
|
-
const DEFAULT_TENANT_MANAGEMENT_TOOLBAR_ACTIONS = {
|
|
213
|
-
["TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */]: DEFAULT_TENANTS_TOOLBAR_ACTIONS,
|
|
214
|
-
};
|
|
215
|
-
const DEFAULT_TENANT_MANAGEMENT_ENTITY_PROPS = {
|
|
216
|
-
["TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */]: DEFAULT_TENANTS_ENTITY_PROPS,
|
|
217
|
-
};
|
|
218
|
-
const DEFAULT_TENANT_MANAGEMENT_CREATE_FORM_PROPS = {
|
|
219
|
-
["TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */]: DEFAULT_TENANTS_CREATE_FORM_PROPS,
|
|
220
|
-
};
|
|
221
|
-
const DEFAULT_TENANT_MANAGEMENT_EDIT_FORM_PROPS = {
|
|
222
|
-
["TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */]: DEFAULT_TENANTS_EDIT_FORM_PROPS,
|
|
223
|
-
};
|
|
224
|
-
const TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS = new InjectionToken('TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS');
|
|
225
|
-
const TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS = new InjectionToken('TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS');
|
|
226
|
-
const TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS = new InjectionToken('TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS');
|
|
227
|
-
const TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS = new InjectionToken('TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS');
|
|
228
|
-
const TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS = new InjectionToken('TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS');
|
|
229
|
-
|
|
230
|
-
class TenantManagementExtensionsGuard {
|
|
231
|
-
constructor(injector) {
|
|
232
|
-
this.injector = injector;
|
|
233
|
-
}
|
|
234
|
-
canActivate() {
|
|
235
|
-
const extensions = this.injector.get(ExtensionsService);
|
|
236
|
-
const actionContributors = this.injector.get(TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS, null) || {};
|
|
237
|
-
const toolbarContributors = this.injector.get(TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS, null) || {};
|
|
238
|
-
const propContributors = this.injector.get(TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS, null) || {};
|
|
239
|
-
const createFormContributors = this.injector.get(TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS, null) || {};
|
|
240
|
-
const editFormContributors = this.injector.get(TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS, null) || {};
|
|
241
|
-
const configState = this.injector.get(ConfigStateService);
|
|
242
|
-
return getObjectExtensionEntitiesFromStore(configState, 'TenantManagement').pipe(map(entities => ({
|
|
243
|
-
["TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */]: entities.Tenant,
|
|
244
|
-
})), mapEntitiesToContributors(configState, 'TenantManagement'), tap(objectExtensionContributors => {
|
|
245
|
-
mergeWithDefaultActions(extensions.entityActions, DEFAULT_TENANT_MANAGEMENT_ENTITY_ACTIONS, actionContributors);
|
|
246
|
-
mergeWithDefaultActions(extensions.toolbarActions, DEFAULT_TENANT_MANAGEMENT_TOOLBAR_ACTIONS, toolbarContributors);
|
|
247
|
-
mergeWithDefaultProps(extensions.entityProps, DEFAULT_TENANT_MANAGEMENT_ENTITY_PROPS, objectExtensionContributors.prop, propContributors);
|
|
248
|
-
mergeWithDefaultProps(extensions.createFormProps, DEFAULT_TENANT_MANAGEMENT_CREATE_FORM_PROPS, objectExtensionContributors.createForm, createFormContributors);
|
|
249
|
-
mergeWithDefaultProps(extensions.editFormProps, DEFAULT_TENANT_MANAGEMENT_EDIT_FORM_PROPS, objectExtensionContributors.editForm, editFormContributors);
|
|
250
|
-
}), mapTo(true));
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
TenantManagementExtensionsGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementExtensionsGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
254
|
-
TenantManagementExtensionsGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementExtensionsGuard });
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementExtensionsGuard, decorators: [{
|
|
256
|
-
type: Injectable
|
|
257
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
258
|
-
|
|
259
|
-
const routes = [
|
|
260
|
-
{ path: '', redirectTo: 'tenants', pathMatch: 'full' },
|
|
261
|
-
{
|
|
262
|
-
path: '',
|
|
263
|
-
component: RouterOutletComponent,
|
|
264
|
-
canActivate: [AuthGuard, PermissionGuard, TenantManagementExtensionsGuard],
|
|
265
|
-
children: [
|
|
266
|
-
{
|
|
267
|
-
path: 'tenants',
|
|
268
|
-
component: ReplaceableRouteContainerComponent,
|
|
269
|
-
data: {
|
|
270
|
-
requiredPolicy: 'AbpTenantManagement.Tenants',
|
|
271
|
-
replaceableComponent: {
|
|
272
|
-
key: "TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */,
|
|
273
|
-
defaultComponent: TenantsComponent,
|
|
274
|
-
},
|
|
275
|
-
},
|
|
276
|
-
},
|
|
277
|
-
],
|
|
278
|
-
},
|
|
279
|
-
];
|
|
280
|
-
class TenantManagementRoutingModule {
|
|
281
|
-
}
|
|
282
|
-
TenantManagementRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
283
|
-
TenantManagementRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
|
|
284
|
-
TenantManagementRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
|
285
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementRoutingModule, decorators: [{
|
|
286
|
-
type: NgModule,
|
|
287
|
-
args: [{
|
|
288
|
-
imports: [RouterModule.forChild(routes)],
|
|
289
|
-
exports: [RouterModule],
|
|
290
|
-
}]
|
|
291
|
-
}] });
|
|
292
|
-
|
|
293
|
-
class TenantManagementModule {
|
|
294
|
-
static forChild(options = {}) {
|
|
295
|
-
return {
|
|
296
|
-
ngModule: TenantManagementModule,
|
|
297
|
-
providers: [
|
|
298
|
-
{
|
|
299
|
-
provide: TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,
|
|
300
|
-
useValue: options.entityActionContributors,
|
|
301
|
-
},
|
|
302
|
-
{
|
|
303
|
-
provide: TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,
|
|
304
|
-
useValue: options.toolbarActionContributors,
|
|
305
|
-
},
|
|
306
|
-
{
|
|
307
|
-
provide: TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,
|
|
308
|
-
useValue: options.entityPropContributors,
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
provide: TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,
|
|
312
|
-
useValue: options.createFormPropContributors,
|
|
313
|
-
},
|
|
314
|
-
{
|
|
315
|
-
provide: TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,
|
|
316
|
-
useValue: options.editFormPropContributors,
|
|
317
|
-
},
|
|
318
|
-
TenantManagementExtensionsGuard,
|
|
319
|
-
],
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
static forLazy(options = {}) {
|
|
323
|
-
return new LazyModuleFactory(TenantManagementModule.forChild(options));
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
TenantManagementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
327
|
-
TenantManagementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementModule, declarations: [TenantsComponent], imports: [TenantManagementRoutingModule,
|
|
328
|
-
NgxValidateCoreModule,
|
|
329
|
-
CoreModule,
|
|
330
|
-
ThemeSharedModule,
|
|
331
|
-
NgbDropdownModule,
|
|
332
|
-
FeatureManagementModule,
|
|
333
|
-
UiExtensionsModule,
|
|
334
|
-
PageModule], exports: [TenantsComponent] });
|
|
335
|
-
TenantManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementModule, imports: [TenantManagementRoutingModule,
|
|
336
|
-
NgxValidateCoreModule,
|
|
337
|
-
CoreModule,
|
|
338
|
-
ThemeSharedModule,
|
|
339
|
-
NgbDropdownModule,
|
|
340
|
-
FeatureManagementModule,
|
|
341
|
-
UiExtensionsModule,
|
|
342
|
-
PageModule] });
|
|
343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementModule, decorators: [{
|
|
344
|
-
type: NgModule,
|
|
345
|
-
args: [{
|
|
346
|
-
declarations: [TenantsComponent],
|
|
347
|
-
exports: [TenantsComponent],
|
|
348
|
-
imports: [
|
|
349
|
-
TenantManagementRoutingModule,
|
|
350
|
-
NgxValidateCoreModule,
|
|
351
|
-
CoreModule,
|
|
352
|
-
ThemeSharedModule,
|
|
353
|
-
NgbDropdownModule,
|
|
354
|
-
FeatureManagementModule,
|
|
355
|
-
UiExtensionsModule,
|
|
356
|
-
PageModule,
|
|
357
|
-
],
|
|
358
|
-
}]
|
|
359
|
-
}] });
|
|
360
|
-
|
|
361
|
-
/**
|
|
362
|
-
* Generated bundle index. Do not edit.
|
|
363
|
-
*/
|
|
364
|
-
|
|
365
|
-
export { DEFAULT_TENANT_MANAGEMENT_CREATE_FORM_PROPS, DEFAULT_TENANT_MANAGEMENT_EDIT_FORM_PROPS, DEFAULT_TENANT_MANAGEMENT_ENTITY_ACTIONS, DEFAULT_TENANT_MANAGEMENT_ENTITY_PROPS, DEFAULT_TENANT_MANAGEMENT_TOOLBAR_ACTIONS, TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS, TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS, TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS, TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS, TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS, TenantManagementExtensionsGuard, TenantManagementModule, TenantsComponent };
|
|
366
|
-
//# sourceMappingURL=abp-ng.tenant-management.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.tenant-management.mjs","sources":["../../../../packages/tenant-management/src/lib/components/tenants/tenants.component.ts","../../../../packages/tenant-management/src/lib/components/tenants/tenants.component.html","../../../../packages/tenant-management/src/lib/defaults/default-tenants-entity-actions.ts","../../../../packages/tenant-management/src/lib/defaults/default-tenants-entity-props.ts","../../../../packages/tenant-management/src/lib/defaults/default-tenants-form-props.ts","../../../../packages/tenant-management/src/lib/defaults/default-tenants-toolbar-actions.ts","../../../../packages/tenant-management/src/lib/tokens/extensions.token.ts","../../../../packages/tenant-management/src/lib/guards/extensions.guard.ts","../../../../packages/tenant-management/src/lib/tenant-management-routing.module.ts","../../../../packages/tenant-management/src/lib/tenant-management.module.ts","../../../../packages/tenant-management/src/abp-ng.tenant-management.ts"],"sourcesContent":["import { ListService, PagedResultDto } from '@abp/ng.core';\r\nimport { eFeatureManagementComponents } from '@abp/ng.feature-management';\r\nimport { GetTenantsInput, TenantDto, TenantService } from '@abp/ng.tenant-management/proxy';\r\nimport {Confirmation, ConfirmationService, ToasterService} from '@abp/ng.theme.shared';\r\nimport {\r\n EXTENSIONS_IDENTIFIER,\r\n FormPropData,\r\n generateFormFromProps,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { Component, Injector, OnInit } from '@angular/core';\r\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { eTenantManagementComponents } from '../../enums/components';\r\n\r\n@Component({\r\n selector: 'abp-tenants',\r\n templateUrl: './tenants.component.html',\r\n providers: [\r\n ListService,\r\n {\r\n provide: EXTENSIONS_IDENTIFIER,\r\n useValue: eTenantManagementComponents.Tenants,\r\n },\r\n ],\r\n})\r\nexport class TenantsComponent implements OnInit {\r\n data: PagedResultDto<TenantDto> = { items: [], totalCount: 0 };\r\n\r\n selected!: TenantDto;\r\n\r\n tenantForm!: UntypedFormGroup;\r\n\r\n isModalVisible!: boolean;\r\n\r\n visibleFeatures = false;\r\n\r\n providerKey!: string;\r\n\r\n modalBusy = false;\r\n\r\n featureManagementKey = eFeatureManagementComponents.FeatureManagement;\r\n\r\n get hasSelectedTenant(): boolean {\r\n return Boolean(this.selected.id);\r\n }\r\n\r\n onVisibleFeaturesChange = (value: boolean) => {\r\n this.visibleFeatures = value;\r\n };\r\n\r\n constructor(\r\n public readonly list: ListService<GetTenantsInput>,\r\n private injector: Injector,\r\n private confirmationService: ConfirmationService,\r\n private service: TenantService,\r\n private toasterService: ToasterService,\r\n private fb: UntypedFormBuilder,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.hookToQuery();\r\n }\r\n\r\n private createTenantForm() {\r\n const data = new FormPropData(this.injector, this.selected);\r\n this.tenantForm = generateFormFromProps(data);\r\n }\r\n\r\n addTenant() {\r\n this.selected = {} as TenantDto;\r\n this.createTenantForm();\r\n this.isModalVisible = true;\r\n }\r\n\r\n editTenant(id: string) {\r\n this.service.get(id).subscribe(res => {\r\n this.selected = res;\r\n this.createTenantForm();\r\n this.isModalVisible = true;\r\n });\r\n }\r\n\r\n save() {\r\n if (!this.tenantForm.valid || this.modalBusy) return;\r\n this.modalBusy = true;\r\n\r\n const { id } = this.selected;\r\n\r\n (id\r\n ? this.service.update(id, { ...this.selected, ...this.tenantForm.value })\r\n : this.service.create(this.tenantForm.value)\r\n )\r\n .pipe(finalize(() => (this.modalBusy = false)))\r\n .subscribe(() => {\r\n this.isModalVisible = false;\r\n this.list.get();\r\n });\r\n }\r\n\r\n delete(id: string, name: string) {\r\n this.confirmationService\r\n .warn(\r\n 'AbpTenantManagement::TenantDeletionConfirmationMessage',\r\n 'AbpTenantManagement::AreYouSure',\r\n {\r\n messageLocalizationParams: [name],\r\n },\r\n )\r\n .subscribe((status: Confirmation.Status) => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.toasterService.success('AbpUi::SuccessfullyDeleted');\r\n this.service.delete(id).subscribe(() => this.list.get());\r\n }\r\n });\r\n }\r\n\r\n hookToQuery() {\r\n this.list\r\n .hookToQuery(query => this.service.getList(query))\r\n .subscribe(res => {\r\n this.data = res;\r\n });\r\n }\r\n\r\n onSharedDatabaseChange(value: boolean) {\r\n if (!value) {\r\n setTimeout(() => {\r\n const defaultConnectionString = document.getElementById(\r\n 'defaultConnectionString',\r\n ) as HTMLInputElement;\r\n if (defaultConnectionString) {\r\n defaultConnectionString.focus();\r\n }\r\n }, 0);\r\n }\r\n }\r\n\r\n openFeaturesModal(providerKey: string) {\r\n this.providerKey = providerKey;\r\n setTimeout(() => {\r\n this.visibleFeatures = true;\r\n }, 0);\r\n }\r\n\r\n sort(data: any) {\r\n const { prop, dir } = data.sorts[0];\r\n this.list.sortKey = prop;\r\n this.list.sortOrder = dir;\r\n }\r\n}\r\n","<abp-page [title]=\"'AbpTenantManagement::Tenants' | abpLocalization\" [toolbar]=\"data.items\">\r\n\r\n\r\n <div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\r\n <div class=\"input-group\">\r\n <input\r\n type=\"search\"\r\n class=\"form-control\"\r\n [placeholder]=\"'AbpUi::PagerSearch' | abpLocalization\"\r\n [(ngModel)]=\"list.filter\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <abp-extensible-table\r\n [data]=\"data.items || []\"\r\n [recordsTotal]=\"data.totalCount || 0\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n </div>\r\n\r\n <abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n {{\r\n (selected?.id ? 'AbpTenantManagement::Edit' : 'AbpTenantManagement::NewTenant')\r\n | abpLocalization\r\n }}\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"tenantForm\" (ngSubmit)=\"save()\" [validateOnSubmit]=\"true\">\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpTenantManagement::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" (click)=\"save()\" [disabled]=\"tenantForm?.invalid\">{{\r\n 'AbpTenantManagement::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n </abp-modal>\r\n\r\n <abp-feature-management\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n providerName: { value: 'T' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visibleFeatures, twoWay: true }\r\n },\r\n outputs: { visibleChange: $any(onVisibleFeaturesChange) },\r\n componentKey: featureManagementKey\r\n }\"\r\n [(visible)]=\"visibleFeatures\"\r\n providerName=\"T\"\r\n [providerKey]=\"providerKey\"\r\n >\r\n </abp-feature-management>\r\n</abp-page>\r\n","import { TenantDto } from '@abp/ng.tenant-management/proxy';\r\nimport { EntityAction } from '@abp/ng.theme.shared/extensions';\r\nimport { TenantsComponent } from '../components/tenants/tenants.component';\r\n\r\nexport const DEFAULT_TENANTS_ENTITY_ACTIONS = EntityAction.createMany<TenantDto>([\r\n {\r\n text: 'AbpTenantManagement::Edit',\r\n action: data => {\r\n const component = data.getInjected(TenantsComponent);\r\n component.editTenant(data.record.id);\r\n },\r\n permission: 'AbpTenantManagement.Tenants.Update',\r\n },\r\n {\r\n text: 'AbpTenantManagement::Permission:ManageFeatures',\r\n action: data => {\r\n const component = data.getInjected(TenantsComponent);\r\n component.openFeaturesModal(data.record.id);\r\n },\r\n permission: 'AbpTenantManagement.Tenants.ManageFeatures',\r\n },\r\n {\r\n text: 'AbpTenantManagement::Delete',\r\n action: data => {\r\n const component = data.getInjected(TenantsComponent);\r\n component.delete(data.record.id, data.record.name);\r\n },\r\n permission: 'AbpTenantManagement.Tenants.Delete',\r\n },\r\n]);\r\n","import { TenantDto } from '@abp/ng.tenant-management/proxy';\r\nimport { EntityProp, ePropType } from '@abp/ng.theme.shared/extensions';\r\n\r\nexport const DEFAULT_TENANTS_ENTITY_PROPS = EntityProp.createMany<TenantDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpTenantManagement::TenantName',\r\n sortable: true,\r\n },\r\n]);\r\n","import { TenantCreateDto, TenantUpdateDto } from '@abp/ng.tenant-management/proxy';\r\nimport { getPasswordValidators } from '@abp/ng.theme.shared';\r\nimport { ePropType, FormProp } from '@abp/ng.theme.shared/extensions';\r\nimport { Validators } from '@angular/forms';\r\n\r\nexport const DEFAULT_TENANTS_CREATE_FORM_PROPS = FormProp.createMany<\r\n TenantCreateDto | TenantUpdateDto\r\n>([\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n id: 'name',\r\n displayName: 'AbpTenantManagement::TenantName',\r\n validators: () => [Validators.required, Validators.maxLength(256)],\r\n },\r\n {\r\n type: ePropType.Email,\r\n name: 'adminEmailAddress',\r\n displayName: 'AbpTenantManagement::DisplayName:AdminEmailAddress',\r\n id: 'admin-email-address',\r\n validators: () => [Validators.required, Validators.maxLength(256), Validators.email],\r\n },\r\n {\r\n type: ePropType.PasswordInputGroup,\r\n name: 'adminPassword',\r\n displayName: 'AbpTenantManagement::DisplayName:AdminPassword',\r\n id: 'admin-password',\r\n autocomplete: 'new-password',\r\n validators: data => [Validators.required, ...getPasswordValidators({ get: data.getInjected })],\r\n },\r\n]);\r\n\r\nexport const DEFAULT_TENANTS_EDIT_FORM_PROPS = DEFAULT_TENANTS_CREATE_FORM_PROPS.slice(0, 1);\r\n","import { TenantDto } from '@abp/ng.tenant-management/proxy';\r\nimport { ToolbarAction } from '@abp/ng.theme.shared/extensions';\r\nimport { TenantsComponent } from '../components/tenants/tenants.component';\r\n\r\nexport const DEFAULT_TENANTS_TOOLBAR_ACTIONS = ToolbarAction.createMany<TenantDto[]>([\r\n {\r\n text: 'AbpTenantManagement::NewTenant',\r\n action: data => {\r\n const component = data.getInjected(TenantsComponent);\r\n component.addTenant();\r\n },\r\n permission: 'AbpTenantManagement.Tenants.Create',\r\n icon: 'fa fa-plus',\r\n },\r\n]);\r\n","import { TenantCreateDto, TenantDto, TenantUpdateDto } from '@abp/ng.tenant-management/proxy';\r\nimport {\r\n CreateFormPropContributorCallback,\r\n EditFormPropContributorCallback,\r\n EntityActionContributorCallback,\r\n EntityPropContributorCallback,\r\n ToolbarActionContributorCallback,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { DEFAULT_TENANTS_ENTITY_ACTIONS } from '../defaults/default-tenants-entity-actions';\r\nimport { DEFAULT_TENANTS_ENTITY_PROPS } from '../defaults/default-tenants-entity-props';\r\nimport {\r\n DEFAULT_TENANTS_CREATE_FORM_PROPS,\r\n DEFAULT_TENANTS_EDIT_FORM_PROPS,\r\n} from '../defaults/default-tenants-form-props';\r\nimport { DEFAULT_TENANTS_TOOLBAR_ACTIONS } from '../defaults/default-tenants-toolbar-actions';\r\nimport { eTenantManagementComponents } from '../enums/components';\r\n\r\nexport const DEFAULT_TENANT_MANAGEMENT_ENTITY_ACTIONS = {\r\n [eTenantManagementComponents.Tenants]: DEFAULT_TENANTS_ENTITY_ACTIONS,\r\n};\r\n\r\nexport const DEFAULT_TENANT_MANAGEMENT_TOOLBAR_ACTIONS = {\r\n [eTenantManagementComponents.Tenants]: DEFAULT_TENANTS_TOOLBAR_ACTIONS,\r\n};\r\n\r\nexport const DEFAULT_TENANT_MANAGEMENT_ENTITY_PROPS = {\r\n [eTenantManagementComponents.Tenants]: DEFAULT_TENANTS_ENTITY_PROPS,\r\n};\r\n\r\nexport const DEFAULT_TENANT_MANAGEMENT_CREATE_FORM_PROPS = {\r\n [eTenantManagementComponents.Tenants]: DEFAULT_TENANTS_CREATE_FORM_PROPS,\r\n};\r\n\r\nexport const DEFAULT_TENANT_MANAGEMENT_EDIT_FORM_PROPS = {\r\n [eTenantManagementComponents.Tenants]: DEFAULT_TENANTS_EDIT_FORM_PROPS,\r\n};\r\n\r\nexport const TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS =\r\n new InjectionToken<EntityActionContributors>('TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS');\r\n\r\nexport const TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS =\r\n new InjectionToken<ToolbarActionContributors>('TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS');\r\n\r\nexport const TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS =\r\n new InjectionToken<EntityPropContributors>('TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS');\r\n\r\nexport const TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS =\r\n new InjectionToken<CreateFormPropContributors>('TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS');\r\n\r\nexport const TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS =\r\n new InjectionToken<EditFormPropContributors>('TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS');\r\n\r\n// Fix for TS4023 -> https://github.com/microsoft/TypeScript/issues/9944#issuecomment-254693497\r\ntype EntityActionContributors = Partial<{\r\n [eTenantManagementComponents.Tenants]: EntityActionContributorCallback<TenantDto>[];\r\n}>;\r\ntype ToolbarActionContributors = Partial<{\r\n [eTenantManagementComponents.Tenants]: ToolbarActionContributorCallback<TenantDto[]>[];\r\n}>;\r\ntype EntityPropContributors = Partial<{\r\n [eTenantManagementComponents.Tenants]: EntityPropContributorCallback<TenantDto>[];\r\n}>;\r\ntype CreateFormPropContributors = Partial<{\r\n [eTenantManagementComponents.Tenants]: CreateFormPropContributorCallback<TenantCreateDto>[];\r\n}>;\r\ntype EditFormPropContributors = Partial<{\r\n [eTenantManagementComponents.Tenants]: EditFormPropContributorCallback<TenantUpdateDto>[];\r\n}>;\r\n","import { ConfigStateService } from '@abp/ng.core';\r\nimport {\r\n ExtensionsService,\r\n getObjectExtensionEntitiesFromStore,\r\n mapEntitiesToContributors,\r\n mergeWithDefaultActions,\r\n mergeWithDefaultProps,\r\n} from '@abp/ng.theme.shared/extensions';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { map, mapTo, tap } from 'rxjs/operators';\r\nimport { eTenantManagementComponents } from '../enums/components';\r\nimport {\r\n TenantManagementCreateFormPropContributors,\r\n TenantManagementEditFormPropContributors,\r\n TenantManagementEntityActionContributors,\r\n TenantManagementEntityPropContributors,\r\n TenantManagementToolbarActionContributors,\r\n} from '../models/config-options';\r\nimport {\r\n DEFAULT_TENANT_MANAGEMENT_CREATE_FORM_PROPS,\r\n DEFAULT_TENANT_MANAGEMENT_EDIT_FORM_PROPS,\r\n DEFAULT_TENANT_MANAGEMENT_ENTITY_ACTIONS,\r\n DEFAULT_TENANT_MANAGEMENT_ENTITY_PROPS,\r\n DEFAULT_TENANT_MANAGEMENT_TOOLBAR_ACTIONS,\r\n TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,\r\n TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from '../tokens/extensions.token';\r\n\r\n@Injectable()\r\nexport class TenantManagementExtensionsGuard implements CanActivate {\r\n constructor(private injector: Injector) {}\r\n\r\n canActivate(): Observable<boolean> {\r\n const extensions: ExtensionsService = this.injector.get(ExtensionsService);\r\n const actionContributors: TenantManagementEntityActionContributors =\r\n this.injector.get(TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS, null) || {};\r\n const toolbarContributors: TenantManagementToolbarActionContributors =\r\n this.injector.get(TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS, null) || {};\r\n const propContributors: TenantManagementEntityPropContributors =\r\n this.injector.get(TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS, null) || {};\r\n const createFormContributors: TenantManagementCreateFormPropContributors =\r\n this.injector.get(TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS, null) || {};\r\n const editFormContributors: TenantManagementEditFormPropContributors =\r\n this.injector.get(TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS, null) || {};\r\n\r\n const configState = this.injector.get(ConfigStateService);\r\n return getObjectExtensionEntitiesFromStore(configState, 'TenantManagement').pipe(\r\n map(entities => ({\r\n [eTenantManagementComponents.Tenants]: entities.Tenant,\r\n })),\r\n mapEntitiesToContributors(configState, 'TenantManagement'),\r\n tap(objectExtensionContributors => {\r\n mergeWithDefaultActions(\r\n extensions.entityActions,\r\n DEFAULT_TENANT_MANAGEMENT_ENTITY_ACTIONS,\r\n actionContributors,\r\n );\r\n mergeWithDefaultActions(\r\n extensions.toolbarActions,\r\n DEFAULT_TENANT_MANAGEMENT_TOOLBAR_ACTIONS,\r\n toolbarContributors,\r\n );\r\n mergeWithDefaultProps(\r\n extensions.entityProps,\r\n DEFAULT_TENANT_MANAGEMENT_ENTITY_PROPS,\r\n objectExtensionContributors.prop,\r\n propContributors,\r\n );\r\n mergeWithDefaultProps(\r\n extensions.createFormProps,\r\n DEFAULT_TENANT_MANAGEMENT_CREATE_FORM_PROPS,\r\n objectExtensionContributors.createForm,\r\n createFormContributors,\r\n );\r\n mergeWithDefaultProps(\r\n extensions.editFormProps,\r\n DEFAULT_TENANT_MANAGEMENT_EDIT_FORM_PROPS,\r\n objectExtensionContributors.editForm,\r\n editFormContributors,\r\n );\r\n }),\r\n mapTo(true),\r\n );\r\n }\r\n}\r\n","import {\r\n AuthGuard,\r\n PermissionGuard,\r\n ReplaceableComponents,\r\n ReplaceableRouteContainerComponent,\r\n RouterOutletComponent,\r\n} from '@abp/ng.core';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { TenantsComponent } from './components/tenants/tenants.component';\r\nimport { eTenantManagementComponents } from './enums/components';\r\nimport { TenantManagementExtensionsGuard } from './guards';\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'tenants', pathMatch: 'full' },\r\n {\r\n path: '',\r\n component: RouterOutletComponent,\r\n canActivate: [AuthGuard, PermissionGuard, TenantManagementExtensionsGuard],\r\n children: [\r\n {\r\n path: 'tenants',\r\n component: ReplaceableRouteContainerComponent,\r\n data: {\r\n requiredPolicy: 'AbpTenantManagement.Tenants',\r\n replaceableComponent: {\r\n key: eTenantManagementComponents.Tenants,\r\n defaultComponent: TenantsComponent,\r\n } as ReplaceableComponents.RouteData<TenantsComponent>,\r\n },\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class TenantManagementRoutingModule {}\r\n","import { CoreModule, LazyModuleFactory } from '@abp/ng.core';\r\nimport { FeatureManagementModule } from '@abp/ng.feature-management';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { UiExtensionsModule } from '@abp/ng.theme.shared/extensions';\r\nimport { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { TenantsComponent } from './components/tenants/tenants.component';\r\nimport { TenantManagementExtensionsGuard } from './guards/extensions.guard';\r\nimport { TenantManagementConfigOptions } from './models/config-options';\r\nimport { TenantManagementRoutingModule } from './tenant-management-routing.module';\r\nimport {\r\n TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,\r\n TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from './tokens/extensions.token';\r\nimport { PageModule } from '@abp/ng.components/page';\r\n\r\n@NgModule({\r\n declarations: [TenantsComponent],\r\n exports: [TenantsComponent],\r\n imports: [\r\n TenantManagementRoutingModule,\r\n NgxValidateCoreModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n NgbDropdownModule,\r\n FeatureManagementModule,\r\n UiExtensionsModule,\r\n PageModule,\r\n ],\r\n})\r\nexport class TenantManagementModule {\r\n static forChild(\r\n options: TenantManagementConfigOptions = {},\r\n ): ModuleWithProviders<TenantManagementModule> {\r\n return {\r\n ngModule: TenantManagementModule,\r\n providers: [\r\n {\r\n provide: TENANT_MANAGEMENT_ENTITY_ACTION_CONTRIBUTORS,\r\n useValue: options.entityActionContributors,\r\n },\r\n {\r\n provide: TENANT_MANAGEMENT_TOOLBAR_ACTION_CONTRIBUTORS,\r\n useValue: options.toolbarActionContributors,\r\n },\r\n {\r\n provide: TENANT_MANAGEMENT_ENTITY_PROP_CONTRIBUTORS,\r\n useValue: options.entityPropContributors,\r\n },\r\n {\r\n provide: TENANT_MANAGEMENT_CREATE_FORM_PROP_CONTRIBUTORS,\r\n useValue: options.createFormPropContributors,\r\n },\r\n {\r\n provide: TENANT_MANAGEMENT_EDIT_FORM_PROP_CONTRIBUTORS,\r\n useValue: options.editFormPropContributors,\r\n },\r\n TenantManagementExtensionsGuard,\r\n ],\r\n };\r\n }\r\n\r\n static forLazy(\r\n options: TenantManagementConfigOptions = {},\r\n ): NgModuleFactory<TenantManagementModule> {\r\n return new LazyModuleFactory(TenantManagementModule.forChild(options));\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,51 +0,0 @@
|
|
|
1
|
-
import { RoutesService } from '@abp/ng.core';
|
|
2
|
-
import * as i0 from '@angular/core';
|
|
3
|
-
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
4
|
-
|
|
5
|
-
const TENANT_MANAGEMENT_ROUTE_PROVIDERS = [
|
|
6
|
-
{ provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },
|
|
7
|
-
];
|
|
8
|
-
function configureRoutes(routes) {
|
|
9
|
-
return () => {
|
|
10
|
-
routes.add([
|
|
11
|
-
{
|
|
12
|
-
path: undefined,
|
|
13
|
-
name: "AbpTenantManagement::Menu:TenantManagement" /* eTenantManagementRouteNames.TenantManagement */,
|
|
14
|
-
parentName: "AbpUiNavigation::Menu:Administration" /* eThemeSharedRouteNames.Administration */,
|
|
15
|
-
requiredPolicy: "AbpTenantManagement.Tenants" /* eTenantManagementPolicyNames.TenantManagement */,
|
|
16
|
-
layout: "application" /* eLayoutType.application */,
|
|
17
|
-
iconClass: 'fa fa-users',
|
|
18
|
-
order: 2,
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
path: '/tenant-management/tenants',
|
|
22
|
-
name: "AbpTenantManagement::Tenants" /* eTenantManagementRouteNames.Tenants */,
|
|
23
|
-
parentName: "AbpTenantManagement::Menu:TenantManagement" /* eTenantManagementRouteNames.TenantManagement */,
|
|
24
|
-
requiredPolicy: "AbpTenantManagement.Tenants" /* eTenantManagementPolicyNames.Tenants */,
|
|
25
|
-
order: 1,
|
|
26
|
-
},
|
|
27
|
-
]);
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
class TenantManagementConfigModule {
|
|
32
|
-
static forRoot() {
|
|
33
|
-
return {
|
|
34
|
-
ngModule: TenantManagementConfigModule,
|
|
35
|
-
providers: [TENANT_MANAGEMENT_ROUTE_PROVIDERS],
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
TenantManagementConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
40
|
-
TenantManagementConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementConfigModule });
|
|
41
|
-
TenantManagementConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementConfigModule });
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementConfigModule, decorators: [{
|
|
43
|
-
type: NgModule
|
|
44
|
-
}] });
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Generated bundle index. Do not edit.
|
|
48
|
-
*/
|
|
49
|
-
|
|
50
|
-
export { TENANT_MANAGEMENT_ROUTE_PROVIDERS, TenantManagementConfigModule, configureRoutes };
|
|
51
|
-
//# sourceMappingURL=abp-ng.tenant-management-config.mjs.map
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import * as i1 from '@abp/ng.core';
|
|
2
|
-
import * as i0 from '@angular/core';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
|
|
5
|
-
class TenantService {
|
|
6
|
-
constructor(restService) {
|
|
7
|
-
this.restService = restService;
|
|
8
|
-
this.apiName = 'AbpTenantManagement';
|
|
9
|
-
this.create = (input) => this.restService.request({
|
|
10
|
-
method: 'POST',
|
|
11
|
-
url: '/api/multi-tenancy/tenants',
|
|
12
|
-
body: input,
|
|
13
|
-
}, { apiName: this.apiName });
|
|
14
|
-
this.delete = (id) => this.restService.request({
|
|
15
|
-
method: 'DELETE',
|
|
16
|
-
url: `/api/multi-tenancy/tenants/${id}`,
|
|
17
|
-
}, { apiName: this.apiName });
|
|
18
|
-
this.deleteDefaultConnectionString = (id) => this.restService.request({
|
|
19
|
-
method: 'DELETE',
|
|
20
|
-
url: `/api/multi-tenancy/tenants/${id}/default-connection-string`,
|
|
21
|
-
}, { apiName: this.apiName });
|
|
22
|
-
this.get = (id) => this.restService.request({
|
|
23
|
-
method: 'GET',
|
|
24
|
-
url: `/api/multi-tenancy/tenants/${id}`,
|
|
25
|
-
}, { apiName: this.apiName });
|
|
26
|
-
this.getDefaultConnectionString = (id) => this.restService.request({
|
|
27
|
-
method: 'GET',
|
|
28
|
-
responseType: 'text',
|
|
29
|
-
url: `/api/multi-tenancy/tenants/${id}/default-connection-string`,
|
|
30
|
-
}, { apiName: this.apiName });
|
|
31
|
-
this.getList = (input) => this.restService.request({
|
|
32
|
-
method: 'GET',
|
|
33
|
-
url: '/api/multi-tenancy/tenants',
|
|
34
|
-
params: { filter: input.filter, sorting: input.sorting, skipCount: input.skipCount, maxResultCount: input.maxResultCount },
|
|
35
|
-
}, { apiName: this.apiName });
|
|
36
|
-
this.update = (id, input) => this.restService.request({
|
|
37
|
-
method: 'PUT',
|
|
38
|
-
url: `/api/multi-tenancy/tenants/${id}`,
|
|
39
|
-
body: input,
|
|
40
|
-
}, { apiName: this.apiName });
|
|
41
|
-
this.updateDefaultConnectionString = (id, defaultConnectionString) => this.restService.request({
|
|
42
|
-
method: 'PUT',
|
|
43
|
-
url: `/api/multi-tenancy/tenants/${id}/default-connection-string`,
|
|
44
|
-
params: { defaultConnectionString },
|
|
45
|
-
}, { apiName: this.apiName });
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
TenantService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
49
|
-
TenantService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantService, providedIn: 'root' });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantService, decorators: [{
|
|
51
|
-
type: Injectable,
|
|
52
|
-
args: [{
|
|
53
|
-
providedIn: 'root',
|
|
54
|
-
}]
|
|
55
|
-
}], ctorParameters: function () { return [{ type: i1.RestService }]; } });
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Generated bundle index. Do not edit.
|
|
59
|
-
*/
|
|
60
|
-
|
|
61
|
-
export { TenantService };
|
|
62
|
-
//# sourceMappingURL=abp-ng.tenant-management-proxy.mjs.map
|