@abp/ng.tenant-management 7.0.0 → 7.0.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.
@@ -13,6 +13,7 @@ import * as i4 from "@angular/forms";
13
13
  import * as i5 from "@ngx-validate/core";
14
14
  import * as i6 from "@abp/ng.feature-management";
15
15
  import * as i7 from "@abp/ng.theme.shared/extensions";
16
+ import * as i8 from "@abp/ng.components/page";
16
17
  export class TenantsComponent {
17
18
  constructor(list, injector, confirmationService, service, toasterService, fb) {
18
19
  this.list = list;
@@ -113,7 +114,7 @@ TenantsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
113
114
  provide: EXTENSIONS_IDENTIFIER,
114
115
  useValue: "TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */,
115
116
  },
116
- ], ngImport: i0, template: "<div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpTenantManagement::Tenants' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\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", 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.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { 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: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
117
+ ], 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" }] });
117
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantsComponent, decorators: [{
118
119
  type: Component,
119
120
  args: [{ selector: 'abp-tenants', providers: [
@@ -122,6 +123,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
122
123
  provide: EXTENSIONS_IDENTIFIER,
123
124
  useValue: "TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */,
124
125
  },
125
- ], template: "<div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpTenantManagement::Tenants' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\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" }]
126
+ ], 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" }]
126
127
  }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i0.Injector }, { type: i2.ConfirmationService }, { type: i3.TenantService }, { type: i2.ToasterService }, { type: i4.UntypedFormBuilder }]; } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90ZW5hbnQtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RlbmFudC1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90ZW5hbnRzL3RlbmFudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxjQUFjLENBQUM7QUFFM0QsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RixPQUFPLEVBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZGLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsWUFBWSxFQUNaLHFCQUFxQixHQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQWMxQyxNQUFNLE9BQU8sZ0JBQWdCO0lBeUIzQixZQUNrQixJQUFrQyxFQUMxQyxRQUFrQixFQUNsQixtQkFBd0MsRUFDeEMsT0FBc0IsRUFDdEIsY0FBOEIsRUFDOUIsRUFBc0I7UUFMZCxTQUFJLEdBQUosSUFBSSxDQUE4QjtRQUMxQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7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SUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUM1QixDQUFDOzs2R0EzSFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isc0NBUmhCO1FBQ1QsV0FBVztRQUNYO1lBQ0UsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixRQUFRLCtFQUFxQztTQUM5QztLQUNGLDBCQ3ZCSCx5MkVBeUVBOzJGRGhEYSxnQkFBZ0I7a0JBWDVCLFNBQVM7K0JBQ0UsYUFBYSxhQUVaO3dCQUNULFdBQVc7d0JBQ1g7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSwrRUFBcUM7eUJBQzlDO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdFNlcnZpY2UsIFBhZ2VkUmVzdWx0RHRvIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgZUZlYXR1cmVNYW5hZ2VtZW50Q29tcG9uZW50cyB9IGZyb20gJ0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50JztcclxuaW1wb3J0IHsgR2V0VGVuYW50c0lucHV0LCBUZW5hbnREdG8sIFRlbmFudFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRlbmFudC1tYW5hZ2VtZW50L3Byb3h5JztcclxuaW1wb3J0IHtDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgRVhURU5TSU9OU19JREVOVElGSUVSLFxyXG4gIEZvcm1Qcm9wRGF0YSxcclxuICBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMsXHJcbn0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQvZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBlVGVuYW50TWFuYWdlbWVudENvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXRlbmFudHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnRzLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIExpc3RTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgICAgIHVzZVZhbHVlOiBlVGVuYW50TWFuYWdlbWVudENvbXBvbmVudHMuVGVuYW50cyxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbmFudHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGE6IFBhZ2VkUmVzdWx0RHRvPFRlbmFudER0bz4gPSB7IGl0ZW1zOiBbXSwgdG90YWxDb3VudDogMCB9O1xyXG5cclxuICBzZWxlY3RlZCE6IFRlbmFudER0bztcclxuXHJcbiAgdGVuYW50Rm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIGlzTW9kYWxWaXNpYmxlITogYm9vbGVhbjtcclxuXHJcbiAgdmlzaWJsZUZlYXR1cmVzID0gZmFsc2U7XHJcblxyXG4gIHByb3ZpZGVyS2V5ITogc3RyaW5nO1xyXG5cclxuICBtb2RhbEJ1c3kgPSBmYWxzZTtcclxuXHJcbiAgZmVhdHVyZU1hbmFnZW1lbnRLZXkgPSBlRmVhdHVyZU1hbmFnZW1lbnRDb21wb25lbnRzLkZlYXR1cmVNYW5hZ2VtZW50O1xyXG5cclxuICBnZXQgaGFzU2VsZWN0ZWRUZW5hbnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLnNlbGVjdGVkLmlkKTtcclxuICB9XHJcblxyXG4gIG9uVmlzaWJsZUZlYXR1cmVzQ2hhbmdlID0gKHZhbHVlOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLnZpc2libGVGZWF0dXJlcyA9IHZhbHVlO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3Q6IExpc3RTZXJ2aWNlPEdldFRlbmFudHNJbnB1dD4sXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgc2VydmljZTogVGVuYW50U2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmhvb2tUb1F1ZXJ5KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVRlbmFudEZvcm0oKSB7XHJcbiAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1Qcm9wRGF0YSh0aGlzLmluamVjdG9yLCB0aGlzLnNlbGVjdGVkKTtcclxuICAgIHRoaXMudGVuYW50Rm9ybSA9IGdlbmVyYXRlRm9ybUZyb21Qcm9wcyhkYXRhKTtcclxuICB9XHJcblxyXG4gIGFkZFRlbmFudCgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBUZW5hbnREdG87XHJcbiAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZWRpdFRlbmFudChpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0KGlkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IHJlcztcclxuICAgICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XHJcbiAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgaWYgKCF0aGlzLnRlbmFudEZvcm0udmFsaWQgfHwgdGhpcy5tb2RhbEJ1c3kpIHJldHVybjtcclxuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB7IGlkIH0gPSB0aGlzLnNlbGVjdGVkO1xyXG5cclxuICAgIChpZFxyXG4gICAgICA/IHRoaXMuc2VydmljZS51cGRhdGUoaWQsIHsgLi4udGhpcy5zZWxlY3RlZCwgLi4udGhpcy50ZW5hbnRGb3JtLnZhbHVlIH0pXHJcbiAgICAgIDogdGhpcy5zZXJ2aWNlLmNyZWF0ZSh0aGlzLnRlbmFudEZvcm0udmFsdWUpXHJcbiAgICApXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLm1vZGFsQnVzeSA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3QuZ2V0KCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKGlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXHJcbiAgICAgIC53YXJuKFxyXG4gICAgICAgICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpUZW5hbnREZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLFxyXG4gICAgICAgICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpBcmVZb3VTdXJlJyxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbbmFtZV0sXHJcbiAgICAgICAgfSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IENvbmZpcm1hdGlvbi5TdGF0dXMpID0+IHtcclxuICAgICAgICBpZiAoc3RhdHVzID09PSBDb25maXJtYXRpb24uU3RhdHVzLmNvbmZpcm0pIHtcclxuICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2Uuc3VjY2VzcygnQWJwVWk6OlN1Y2Nlc3NmdWxseURlbGV0ZWQnKTtcclxuICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUoaWQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmxpc3QuZ2V0KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBob29rVG9RdWVyeSgpIHtcclxuICAgIHRoaXMubGlzdFxyXG4gICAgICAuaG9va1RvUXVlcnkocXVlcnkgPT4gdGhpcy5zZXJ2aWNlLmdldExpc3QocXVlcnkpKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gcmVzO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uU2hhcmVkRGF0YWJhc2VDaGFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcclxuICAgICAgICAgICdkZWZhdWx0Q29ubmVjdGlvblN0cmluZycsXHJcbiAgICAgICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgICAgIGlmIChkZWZhdWx0Q29ubmVjdGlvblN0cmluZykge1xyXG4gICAgICAgICAgZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkZlYXR1cmVzTW9kYWwocHJvdmlkZXJLZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5wcm92aWRlcktleSA9IHByb3ZpZGVyS2V5O1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudmlzaWJsZUZlYXR1cmVzID0gdHJ1ZTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgc29ydChkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgcHJvcCwgZGlyIH0gPSBkYXRhLnNvcnRzWzBdO1xyXG4gICAgdGhpcy5saXN0LnNvcnRLZXkgPSBwcm9wO1xyXG4gICAgdGhpcy5saXN0LnNvcnRPcmRlciA9IGRpcjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBpZD1cIndyYXBwZXJcIiBjbGFzcz1cImNhcmRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtbWQtNlwiPlxyXG4gICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj57eyAnQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50cycgfCBhYnBMb2NhbGl6YXRpb24gfX08L2g1PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIGNvbCBjb2wtbWQtNlwiPlxyXG4gICAgICAgIDxhYnAtcGFnZS10b29sYmFyIFtyZWNvcmRdPVwiZGF0YS5pdGVtc1wiPjwvYWJwLXBhZ2UtdG9vbGJhcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgPGRpdiBpZD1cImRhdGEtdGFibGVzLXRhYmxlLWZpbHRlclwiIGNsYXNzPVwiZGF0YS10YWJsZXMtZmlsdGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgdHlwZT1cInNlYXJjaFwiXHJcbiAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FicFVpOjpQYWdlclNlYXJjaCcgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJsaXN0LmZpbHRlclwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8YWJwLWV4dGVuc2libGUtdGFibGVcclxuICAgICAgW2RhdGFdPVwiZGF0YS5pdGVtcyB8fCBbXVwiXHJcbiAgICAgIFtyZWNvcmRzVG90YWxdPVwiZGF0YS50b3RhbENvdW50IHx8IDBcIlxyXG4gICAgICBbbGlzdF09XCJsaXN0XCJcclxuICAgID48L2FicC1leHRlbnNpYmxlLXRhYmxlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJpc01vZGFsVmlzaWJsZVwiIFtidXN5XT1cIm1vZGFsQnVzeVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPlxyXG4gICAgICB7e1xyXG4gICAgICAgIChzZWxlY3RlZD8uaWQgPyAnQWJwVGVuYW50TWFuYWdlbWVudDo6RWRpdCcgOiAnQWJwVGVuYW50TWFuYWdlbWVudDo6TmV3VGVuYW50JylcclxuICAgICAgICAgIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgIH19XHJcbiAgICA8L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwidGVuYW50Rm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIiBbdmFsaWRhdGVPblN1Ym1pdF09XCJ0cnVlXCI+XHJcbiAgICAgIDxhYnAtZXh0ZW5zaWJsZS1mb3JtIFtzZWxlY3RlZFJlY29yZF09XCJzZWxlY3RlZFwiPjwvYWJwLWV4dGVuc2libGUtZm9ybT5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gYWJwQ2xvc2UgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIj5cclxuICAgICAge3sgJ0FicFRlbmFudE1hbmFnZW1lbnQ6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiAoY2xpY2spPVwic2F2ZSgpXCIgW2Rpc2FibGVkXT1cInRlbmFudEZvcm0/LmludmFsaWRcIj57e1xyXG4gICAgICAnQWJwVGVuYW50TWFuYWdlbWVudDo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgIH19PC9hYnAtYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPlxyXG5cclxuPGFicC1mZWF0dXJlLW1hbmFnZW1lbnRcclxuICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIntcclxuICAgIGlucHV0czoge1xyXG4gICAgICBwcm92aWRlck5hbWU6IHsgdmFsdWU6ICdUJyB9LFxyXG4gICAgICBwcm92aWRlcktleTogeyB2YWx1ZTogcHJvdmlkZXJLZXkgfSxcclxuICAgICAgdmlzaWJsZTogeyB2YWx1ZTogdmlzaWJsZUZlYXR1cmVzLCB0d29XYXk6IHRydWUgfVxyXG4gICAgfSxcclxuICAgIG91dHB1dHM6IHsgdmlzaWJsZUNoYW5nZTogJGFueShvblZpc2libGVGZWF0dXJlc0NoYW5nZSkgfSxcclxuICAgIGNvbXBvbmVudEtleTogZmVhdHVyZU1hbmFnZW1lbnRLZXlcclxuICB9XCJcclxuICBbKHZpc2libGUpXT1cInZpc2libGVGZWF0dXJlc1wiXHJcbiAgcHJvdmlkZXJOYW1lPVwiVFwiXHJcbiAgW3Byb3ZpZGVyS2V5XT1cInByb3ZpZGVyS2V5XCJcclxuPlxyXG48L2FicC1mZWF0dXJlLW1hbmFnZW1lbnQ+XHJcbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90ZW5hbnQtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RlbmFudC1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90ZW5hbnRzL3RlbmFudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSxjQUFjLENBQUM7QUFFM0QsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RixPQUFPLEVBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZGLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsWUFBWSxFQUNaLHFCQUFxQixHQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFjMUMsTUFBTSxPQUFPLGdCQUFnQjtJQXlCM0IsWUFDa0IsSUFBa0MsRUFDMUMsUUFBa0IsRUFDbEIsbUJBQXdDLEVBQ3hDLE9BQXNCLEVBQ3RCLGNBQThCLEVBQzlCLEVBQXNCO1FBTGQsU0FBSSxHQUFKLElBQUksQ0FBOEI7UUFDMUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWdC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LElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7SUFDNUIsQ0FBQzs7NkdBM0hVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHNDQVJoQjtRQUNULFdBQVc7UUFDWDtZQUNFLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsUUFBUSwrRUFBcUM7U0FDOUM7S0FDRiwwQkN2QkgsaXRFQWtFQTsyRkR6Q2EsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNFLGFBQWEsYUFFWjt3QkFDVCxXQUFXO3dCQUNYOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsK0VBQXFDO3lCQUM5QztxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RTZXJ2aWNlLCBQYWdlZFJlc3VsdER0byB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IGVGZWF0dXJlTWFuYWdlbWVudENvbXBvbmVudHMgfSBmcm9tICdAYWJwL25nLmZlYXR1cmUtbWFuYWdlbWVudCc7XHJcbmltcG9ydCB7IEdldFRlbmFudHNJbnB1dCwgVGVuYW50RHRvLCBUZW5hbnRTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy50ZW5hbnQtbWFuYWdlbWVudC9wcm94eSc7XHJcbmltcG9ydCB7Q29uZmlybWF0aW9uLCBDb25maXJtYXRpb25TZXJ2aWNlLCBUb2FzdGVyU2VydmljZX0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQge1xyXG4gIEVYVEVOU0lPTlNfSURFTlRJRklFUixcclxuICBGb3JtUHJvcERhdGEsXHJcbiAgZ2VuZXJhdGVGb3JtRnJvbVByb3BzLFxyXG59IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgZVRlbmFudE1hbmFnZW1lbnRDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vZW51bXMvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC10ZW5hbnRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGVuYW50cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBMaXN0U2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogRVhURU5TSU9OU19JREVOVElGSUVSLFxyXG4gICAgICB1c2VWYWx1ZTogZVRlbmFudE1hbmFnZW1lbnRDb21wb25lbnRzLlRlbmFudHMsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW5hbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBkYXRhOiBQYWdlZFJlc3VsdER0bzxUZW5hbnREdG8+ID0geyBpdGVtczogW10sIHRvdGFsQ291bnQ6IDAgfTtcclxuXHJcbiAgc2VsZWN0ZWQhOiBUZW5hbnREdG87XHJcblxyXG4gIHRlbmFudEZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBpc01vZGFsVmlzaWJsZSE6IGJvb2xlYW47XHJcblxyXG4gIHZpc2libGVGZWF0dXJlcyA9IGZhbHNlO1xyXG5cclxuICBwcm92aWRlcktleSE6IHN0cmluZztcclxuXHJcbiAgbW9kYWxCdXN5ID0gZmFsc2U7XHJcblxyXG4gIGZlYXR1cmVNYW5hZ2VtZW50S2V5ID0gZUZlYXR1cmVNYW5hZ2VtZW50Q29tcG9uZW50cy5GZWF0dXJlTWFuYWdlbWVudDtcclxuXHJcbiAgZ2V0IGhhc1NlbGVjdGVkVGVuYW50KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5zZWxlY3RlZC5pZCk7XHJcbiAgfVxyXG5cclxuICBvblZpc2libGVGZWF0dXJlc0NoYW5nZSA9ICh2YWx1ZTogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy52aXNpYmxlRmVhdHVyZXMgPSB2YWx1ZTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZTxHZXRUZW5hbnRzSW5wdXQ+LFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFRlbmFudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5ob29rVG9RdWVyeSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVUZW5hbnRGb3JtKCkge1xyXG4gICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtUHJvcERhdGEodGhpcy5pbmplY3RvciwgdGhpcy5zZWxlY3RlZCk7XHJcbiAgICB0aGlzLnRlbmFudEZvcm0gPSBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBhZGRUZW5hbnQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgVGVuYW50RHRvO1xyXG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtKCk7XHJcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGVkaXRUZW5hbnQoaWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmdldChpZCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSByZXM7XHJcbiAgICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybSgpO1xyXG4gICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIGlmICghdGhpcy50ZW5hbnRGb3JtLnZhbGlkIHx8IHRoaXMubW9kYWxCdXN5KSByZXR1cm47XHJcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgeyBpZCB9ID0gdGhpcy5zZWxlY3RlZDtcclxuXHJcbiAgICAoaWRcclxuICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKGlkLCB7IC4uLnRoaXMuc2VsZWN0ZWQsIC4uLnRoaXMudGVuYW50Rm9ybS52YWx1ZSB9KVxyXG4gICAgICA6IHRoaXMuc2VydmljZS5jcmVhdGUodGhpcy50ZW5hbnRGb3JtLnZhbHVlKVxyXG4gICAgKVxyXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5tb2RhbEJ1c3kgPSBmYWxzZSkpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5saXN0LmdldCgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxyXG4gICAgICAud2FybihcclxuICAgICAgICAnQWJwVGVuYW50TWFuYWdlbWVudDo6VGVuYW50RGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJyxcclxuICAgICAgICAnQWJwVGVuYW50TWFuYWdlbWVudDo6QXJlWW91U3VyZScsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlEZWxldGVkJyk7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlKGlkKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5saXN0LmdldCgpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaG9va1RvUXVlcnkoKSB7XHJcbiAgICB0aGlzLmxpc3RcclxuICAgICAgLmhvb2tUb1F1ZXJ5KHF1ZXJ5ID0+IHRoaXMuc2VydmljZS5nZXRMaXN0KHF1ZXJ5KSlcclxuICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IHJlcztcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblNoYXJlZERhdGFiYXNlQ2hhbmdlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXHJcbiAgICAgICAgICAnZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcnLFxyXG4gICAgICAgICkgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgICAgICBpZiAoZGVmYXVsdENvbm5lY3Rpb25TdHJpbmcpIHtcclxuICAgICAgICAgIGRlZmF1bHRDb25uZWN0aW9uU3RyaW5nLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5GZWF0dXJlc01vZGFsKHByb3ZpZGVyS2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMucHJvdmlkZXJLZXkgPSBwcm92aWRlcktleTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnZpc2libGVGZWF0dXJlcyA9IHRydWU7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIHNvcnQoZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCB7IHByb3AsIGRpciB9ID0gZGF0YS5zb3J0c1swXTtcclxuICAgIHRoaXMubGlzdC5zb3J0S2V5ID0gcHJvcDtcclxuICAgIHRoaXMubGlzdC5zb3J0T3JkZXIgPSBkaXI7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtcGFnZSBbdGl0bGVdPVwiJ0FicFRlbmFudE1hbmFnZW1lbnQ6OlRlbmFudHMnIHwgYWJwTG9jYWxpemF0aW9uXCIgW3Rvb2xiYXJdPVwiZGF0YS5pdGVtc1wiPlxyXG5cclxuXHJcbiAgPGRpdiBpZD1cIndyYXBwZXJcIiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPGRpdiBpZD1cImRhdGEtdGFibGVzLXRhYmxlLWZpbHRlclwiIGNsYXNzPVwiZGF0YS10YWJsZXMtZmlsdGVyIG1iLTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwic2VhcmNoXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FicFVpOjpQYWdlclNlYXJjaCcgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImxpc3QuZmlsdGVyXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGFicC1leHRlbnNpYmxlLXRhYmxlXHJcbiAgICAgICAgW2RhdGFdPVwiZGF0YS5pdGVtcyB8fCBbXVwiXHJcbiAgICAgICAgW3JlY29yZHNUb3RhbF09XCJkYXRhLnRvdGFsQ291bnQgfHwgMFwiXHJcbiAgICAgICAgW2xpc3RdPVwibGlzdFwiXHJcbiAgICAgID48L2FicC1leHRlbnNpYmxlLXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJpc01vZGFsVmlzaWJsZVwiIFtidXN5XT1cIm1vZGFsQnVzeVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICAgIDxoMz5cclxuICAgICAgICB7e1xyXG4gICAgICAgIChzZWxlY3RlZD8uaWQgPyAnQWJwVGVuYW50TWFuYWdlbWVudDo6RWRpdCcgOiAnQWJwVGVuYW50TWFuYWdlbWVudDo6TmV3VGVuYW50JylcclxuICAgICAgICAgIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9oMz5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInRlbmFudEZvcm1cIiAobmdTdWJtaXQpPVwic2F2ZSgpXCIgW3ZhbGlkYXRlT25TdWJtaXRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxhYnAtZXh0ZW5zaWJsZS1mb3JtIFtzZWxlY3RlZFJlY29yZF09XCJzZWxlY3RlZFwiPjwvYWJwLWV4dGVuc2libGUtZm9ybT5cclxuICAgICAgPC9mb3JtPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgICAgPGJ1dHRvbiBhYnBDbG9zZSB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiPlxyXG4gICAgICAgIHt7ICdBYnBUZW5hbnRNYW5hZ2VtZW50OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YWJwLWJ1dHRvbiBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiIChjbGljayk9XCJzYXZlKClcIiBbZGlzYWJsZWRdPVwidGVuYW50Rm9ybT8uaW52YWxpZFwiPnt7XHJcbiAgICAgICAgJ0FicFRlbmFudE1hbmFnZW1lbnQ6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgICAgfX08L2FicC1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvYWJwLW1vZGFsPlxyXG5cclxuICA8YWJwLWZlYXR1cmUtbWFuYWdlbWVudFxyXG4gICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJ7XHJcbiAgICBpbnB1dHM6IHtcclxuICAgICAgcHJvdmlkZXJOYW1lOiB7IHZhbHVlOiAnVCcgfSxcclxuICAgICAgcHJvdmlkZXJLZXk6IHsgdmFsdWU6IHByb3ZpZGVyS2V5IH0sXHJcbiAgICAgIHZpc2libGU6IHsgdmFsdWU6IHZpc2libGVGZWF0dXJlcywgdHdvV2F5OiB0cnVlIH1cclxuICAgIH0sXHJcbiAgICBvdXRwdXRzOiB7IHZpc2libGVDaGFuZ2U6ICRhbnkob25WaXNpYmxlRmVhdHVyZXNDaGFuZ2UpIH0sXHJcbiAgICBjb21wb25lbnRLZXk6IGZlYXR1cmVNYW5hZ2VtZW50S2V5XHJcbiAgfVwiXHJcbiAgICBbKHZpc2libGUpXT1cInZpc2libGVGZWF0dXJlc1wiXHJcbiAgICBwcm92aWRlck5hbWU9XCJUXCJcclxuICAgIFtwcm92aWRlcktleV09XCJwcm92aWRlcktleVwiXHJcbiAgPlxyXG4gIDwvYWJwLWZlYXR1cmUtbWFuYWdlbWVudD5cclxuPC9hYnAtcGFnZT5cclxuIl19
@@ -9,6 +9,7 @@ import { TenantsComponent } from './components/tenants/tenants.component';
9
9
  import { TenantManagementExtensionsGuard } from './guards/extensions.guard';
10
10
  import { TenantManagementRoutingModule } from './tenant-management-routing.module';
11
11
  import { 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, } from './tokens/extensions.token';
12
+ import { PageModule } from '@abp/ng.components/page';
12
13
  import * as i0 from "@angular/core";
13
14
  export class TenantManagementModule {
14
15
  static forChild(options = {}) {
@@ -50,14 +51,16 @@ TenantManagementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
50
51
  ThemeSharedModule,
51
52
  NgbDropdownModule,
52
53
  FeatureManagementModule,
53
- UiExtensionsModule], exports: [TenantsComponent] });
54
+ UiExtensionsModule,
55
+ PageModule], exports: [TenantsComponent] });
54
56
  TenantManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementModule, imports: [TenantManagementRoutingModule,
55
57
  NgxValidateCoreModule,
56
58
  CoreModule,
57
59
  ThemeSharedModule,
58
60
  NgbDropdownModule,
59
61
  FeatureManagementModule,
60
- UiExtensionsModule] });
62
+ UiExtensionsModule,
63
+ PageModule] });
61
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementModule, decorators: [{
62
65
  type: NgModule,
63
66
  args: [{
@@ -71,7 +74,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
71
74
  NgbDropdownModule,
72
75
  FeatureManagementModule,
73
76
  UiExtensionsModule,
77
+ PageModule,
74
78
  ],
75
79
  }]
76
80
  }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGVuYW50LW1hbmFnZW1lbnQvc3JjL2xpYi90ZW5hbnQtbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQXVCLFFBQVEsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUNMLCtDQUErQyxFQUMvQyw2Q0FBNkMsRUFDN0MsNENBQTRDLEVBQzVDLDBDQUEwQyxFQUMxQyw2Q0FBNkMsR0FDOUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFlbkMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsUUFBUSxDQUNiLFVBQXlDLEVBQUU7UUFFM0MsT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSw0Q0FBNEM7b0JBQ3JELFFBQVEsRUFBRSxPQUFPLENBQUMsd0JBQXdCO2lCQUMzQztnQkFDRDtvQkFDRSxPQUFPLEVBQUUsNkNBQTZDO29CQUN0RCxRQUFRLEVBQUUsT0FBTyxDQUFDLHlCQUF5QjtpQkFDNUM7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLDBDQUEwQztvQkFDbkQsUUFBUSxFQUFFLE9BQU8sQ0FBQyxzQkFBc0I7aUJBQ3pDO2dCQUNEO29CQUNFLE9BQU8sRUFBRSwrQ0FBK0M7b0JBQ3hELFFBQVEsRUFBRSxPQUFPLENBQUMsMEJBQTBCO2lCQUM3QztnQkFDRDtvQkFDRSxPQUFPLEVBQUUsNkNBQTZDO29CQUN0RCxRQUFRLEVBQUUsT0FBTyxDQUFDLHdCQUF3QjtpQkFDM0M7Z0JBQ0QsK0JBQStCO2FBQ2hDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUNaLFVBQXlDLEVBQUU7UUFFM0MsT0FBTyxJQUFJLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O21IQXBDVSxzQkFBc0I7b0hBQXRCLHNCQUFzQixpQkFabEIsZ0JBQWdCLGFBRzdCLDZCQUE2QjtRQUM3QixxQkFBcUI7UUFDckIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLGtCQUFrQixhQVJWLGdCQUFnQjtvSEFXZixzQkFBc0IsWUFUL0IsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQixVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQix1QkFBdUI7UUFDdkIsa0JBQWtCOzJGQUdULHNCQUFzQjtrQkFibEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRTt3QkFDUCw2QkFBNkI7d0JBQzdCLHFCQUFxQjt3QkFDckIsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixrQkFBa0I7cUJBQ25CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29yZU1vZHVsZSwgTGF6eU1vZHVsZUZhY3RvcnkgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBGZWF0dXJlTWFuYWdlbWVudE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcuZmVhdHVyZS1tYW5hZ2VtZW50JztcclxuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IFVpRXh0ZW5zaW9uc01vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgTmdNb2R1bGVGYWN0b3J5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUgfSBmcm9tICdAbmd4LXZhbGlkYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBUZW5hbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbmFudHMvdGVuYW50cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50RXh0ZW5zaW9uc0d1YXJkIH0gZnJvbSAnLi9ndWFyZHMvZXh0ZW5zaW9ucy5ndWFyZCc7XHJcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRDb25maWdPcHRpb25zIH0gZnJvbSAnLi9tb2RlbHMvY29uZmlnLW9wdGlvbnMnO1xyXG5pbXBvcnQgeyBUZW5hbnRNYW5hZ2VtZW50Um91dGluZ01vZHVsZSB9IGZyb20gJy4vdGVuYW50LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gIFRFTkFOVF9NQU5BR0VNRU5UX0NSRUFURV9GT1JNX1BST1BfQ09OVFJJQlVUT1JTLFxyXG4gIFRFTkFOVF9NQU5BR0VNRU5UX0VESVRfRk9STV9QUk9QX0NPTlRSSUJVVE9SUyxcclxuICBURU5BTlRfTUFOQUdFTUVOVF9FTlRJVFlfQUNUSU9OX0NPTlRSSUJVVE9SUyxcclxuICBURU5BTlRfTUFOQUdFTUVOVF9FTlRJVFlfUFJPUF9DT05UUklCVVRPUlMsXHJcbiAgVEVOQU5UX01BTkFHRU1FTlRfVE9PTEJBUl9BQ1RJT05fQ09OVFJJQlVUT1JTLFxyXG59IGZyb20gJy4vdG9rZW5zL2V4dGVuc2lvbnMudG9rZW4nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtUZW5hbnRzQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbVGVuYW50c0NvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgVGVuYW50TWFuYWdlbWVudFJvdXRpbmdNb2R1bGUsXHJcbiAgICBOZ3hWYWxpZGF0ZUNvcmVNb2R1bGUsXHJcbiAgICBDb3JlTW9kdWxlLFxyXG4gICAgVGhlbWVTaGFyZWRNb2R1bGUsXHJcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcclxuICAgIEZlYXR1cmVNYW5hZ2VtZW50TW9kdWxlLFxyXG4gICAgVWlFeHRlbnNpb25zTW9kdWxlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW5hbnRNYW5hZ2VtZW50TW9kdWxlIHtcclxuICBzdGF0aWMgZm9yQ2hpbGQoXHJcbiAgICBvcHRpb25zOiBUZW5hbnRNYW5hZ2VtZW50Q29uZmlnT3B0aW9ucyA9IHt9LFxyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VGVuYW50TWFuYWdlbWVudE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFRlbmFudE1hbmFnZW1lbnRNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFRFTkFOVF9NQU5BR0VNRU5UX0VOVElUWV9BQ1RJT05fQ09OVFJJQlVUT1JTLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMuZW50aXR5QWN0aW9uQ29udHJpYnV0b3JzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVEVOQU5UX01BTkFHRU1FTlRfVE9PTEJBUl9BQ1RJT05fQ09OVFJJQlVUT1JTLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMudG9vbGJhckFjdGlvbkNvbnRyaWJ1dG9ycyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFRFTkFOVF9NQU5BR0VNRU5UX0VOVElUWV9QUk9QX0NPTlRSSUJVVE9SUyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLmVudGl0eVByb3BDb250cmlidXRvcnMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBURU5BTlRfTUFOQUdFTUVOVF9DUkVBVEVfRk9STV9QUk9QX0NPTlRSSUJVVE9SUyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLmNyZWF0ZUZvcm1Qcm9wQ29udHJpYnV0b3JzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVEVOQU5UX01BTkFHRU1FTlRfRURJVF9GT1JNX1BST1BfQ09OVFJJQlVUT1JTLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMuZWRpdEZvcm1Qcm9wQ29udHJpYnV0b3JzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgVGVuYW50TWFuYWdlbWVudEV4dGVuc2lvbnNHdWFyZCxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZm9yTGF6eShcclxuICAgIG9wdGlvbnM6IFRlbmFudE1hbmFnZW1lbnRDb25maWdPcHRpb25zID0ge30sXHJcbiAgKTogTmdNb2R1bGVGYWN0b3J5PFRlbmFudE1hbmFnZW1lbnRNb2R1bGU+IHtcclxuICAgIHJldHVybiBuZXcgTGF6eU1vZHVsZUZhY3RvcnkoVGVuYW50TWFuYWdlbWVudE1vZHVsZS5mb3JDaGlsZChvcHRpb25zKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LW1hbmFnZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGVuYW50LW1hbmFnZW1lbnQvc3JjL2xpYi90ZW5hbnQtbWFuYWdlbWVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQXVCLFFBQVEsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkYsT0FBTyxFQUNMLCtDQUErQyxFQUMvQyw2Q0FBNkMsRUFDN0MsNENBQTRDLEVBQzVDLDBDQUEwQyxFQUMxQyw2Q0FBNkMsR0FDOUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBZ0JyRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLE1BQU0sQ0FBQyxRQUFRLENBQ2IsVUFBeUMsRUFBRTtRQUUzQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLDRDQUE0QztvQkFDckQsUUFBUSxFQUFFLE9BQU8sQ0FBQyx3QkFBd0I7aUJBQzNDO2dCQUNEO29CQUNFLE9BQU8sRUFBRSw2Q0FBNkM7b0JBQ3RELFFBQVEsRUFBRSxPQUFPLENBQUMseUJBQXlCO2lCQUM1QztnQkFDRDtvQkFDRSxPQUFPLEVBQUUsMENBQTBDO29CQUNuRCxRQUFRLEVBQUUsT0FBTyxDQUFDLHNCQUFzQjtpQkFDekM7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLCtDQUErQztvQkFDeEQsUUFBUSxFQUFFLE9BQU8sQ0FBQywwQkFBMEI7aUJBQzdDO2dCQUNEO29CQUNFLE9BQU8sRUFBRSw2Q0FBNkM7b0JBQ3RELFFBQVEsRUFBRSxPQUFPLENBQUMsd0JBQXdCO2lCQUMzQztnQkFDRCwrQkFBK0I7YUFDaEM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQ1osVUFBeUMsRUFBRTtRQUUzQyxPQUFPLElBQUksaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQzs7bUhBcENVLHNCQUFzQjtvSEFBdEIsc0JBQXNCLGlCQWJsQixnQkFBZ0IsYUFHN0IsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQixVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQix1QkFBdUI7UUFDdkIsa0JBQWtCO1FBQ2xCLFVBQVUsYUFURixnQkFBZ0I7b0hBWWYsc0JBQXNCLFlBVi9CLDZCQUE2QjtRQUM3QixxQkFBcUI7UUFDckIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQixVQUFVOzJGQUdELHNCQUFzQjtrQkFkbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzNCLE9BQU8sRUFBRTt3QkFDUCw2QkFBNkI7d0JBQzdCLHFCQUFxQjt3QkFDckIsVUFBVTt3QkFDVixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLFVBQVU7cUJBQ1g7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3JlTW9kdWxlLCBMYXp5TW9kdWxlRmFjdG9yeSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEZlYXR1cmVNYW5hZ2VtZW50TW9kdWxlIH0gZnJvbSAnQGFicC9uZy5mZWF0dXJlLW1hbmFnZW1lbnQnO1xyXG5pbXBvcnQgeyBUaGVtZVNoYXJlZE1vZHVsZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHsgVWlFeHRlbnNpb25zTW9kdWxlIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQvZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBOZ01vZHVsZUZhY3RvcnkgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IE5neFZhbGlkYXRlQ29yZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XHJcbmltcG9ydCB7IFRlbmFudHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRFeHRlbnNpb25zR3VhcmQgfSBmcm9tICcuL2d1YXJkcy9leHRlbnNpb25zLmd1YXJkJztcclxuaW1wb3J0IHsgVGVuYW50TWFuYWdlbWVudENvbmZpZ09wdGlvbnMgfSBmcm9tICcuL21vZGVscy9jb25maWctb3B0aW9ucyc7XHJcbmltcG9ydCB7IFRlbmFudE1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi90ZW5hbnQtbWFuYWdlbWVudC1yb3V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgVEVOQU5UX01BTkFHRU1FTlRfQ1JFQVRFX0ZPUk1fUFJPUF9DT05UUklCVVRPUlMsXHJcbiAgVEVOQU5UX01BTkFHRU1FTlRfRURJVF9GT1JNX1BST1BfQ09OVFJJQlVUT1JTLFxyXG4gIFRFTkFOVF9NQU5BR0VNRU5UX0VOVElUWV9BQ1RJT05fQ09OVFJJQlVUT1JTLFxyXG4gIFRFTkFOVF9NQU5BR0VNRU5UX0VOVElUWV9QUk9QX0NPTlRSSUJVVE9SUyxcclxuICBURU5BTlRfTUFOQUdFTUVOVF9UT09MQkFSX0FDVElPTl9DT05UUklCVVRPUlMsXHJcbn0gZnJvbSAnLi90b2tlbnMvZXh0ZW5zaW9ucy50b2tlbic7XHJcbmltcG9ydCB7IFBhZ2VNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvbXBvbmVudHMvcGFnZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1RlbmFudHNDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtUZW5hbnRzQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBUZW5hbnRNYW5hZ2VtZW50Um91dGluZ01vZHVsZSxcclxuICAgIE5neFZhbGlkYXRlQ29yZU1vZHVsZSxcclxuICAgIENvcmVNb2R1bGUsXHJcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcclxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxyXG4gICAgRmVhdHVyZU1hbmFnZW1lbnRNb2R1bGUsXHJcbiAgICBVaUV4dGVuc2lvbnNNb2R1bGUsXHJcbiAgICBQYWdlTW9kdWxlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW5hbnRNYW5hZ2VtZW50TW9kdWxlIHtcclxuICBzdGF0aWMgZm9yQ2hpbGQoXHJcbiAgICBvcHRpb25zOiBUZW5hbnRNYW5hZ2VtZW50Q29uZmlnT3B0aW9ucyA9IHt9LFxyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VGVuYW50TWFuYWdlbWVudE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFRlbmFudE1hbmFnZW1lbnRNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFRFTkFOVF9NQU5BR0VNRU5UX0VOVElUWV9BQ1RJT05fQ09OVFJJQlVUT1JTLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMuZW50aXR5QWN0aW9uQ29udHJpYnV0b3JzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVEVOQU5UX01BTkFHRU1FTlRfVE9PTEJBUl9BQ1RJT05fQ09OVFJJQlVUT1JTLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMudG9vbGJhckFjdGlvbkNvbnRyaWJ1dG9ycyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFRFTkFOVF9NQU5BR0VNRU5UX0VOVElUWV9QUk9QX0NPTlRSSUJVVE9SUyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLmVudGl0eVByb3BDb250cmlidXRvcnMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBURU5BTlRfTUFOQUdFTUVOVF9DUkVBVEVfRk9STV9QUk9QX0NPTlRSSUJVVE9SUyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLmNyZWF0ZUZvcm1Qcm9wQ29udHJpYnV0b3JzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogVEVOQU5UX01BTkFHRU1FTlRfRURJVF9GT1JNX1BST1BfQ09OVFJJQlVUT1JTLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMuZWRpdEZvcm1Qcm9wQ29udHJpYnV0b3JzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgVGVuYW50TWFuYWdlbWVudEV4dGVuc2lvbnNHdWFyZCxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZm9yTGF6eShcclxuICAgIG9wdGlvbnM6IFRlbmFudE1hbmFnZW1lbnRDb25maWdPcHRpb25zID0ge30sXHJcbiAgKTogTmdNb2R1bGVGYWN0b3J5PFRlbmFudE1hbmFnZW1lbnRNb2R1bGU+IHtcclxuICAgIHJldHVybiBuZXcgTGF6eU1vZHVsZUZhY3RvcnkoVGVuYW50TWFuYWdlbWVudE1vZHVsZS5mb3JDaGlsZChvcHRpb25zKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -14,6 +14,8 @@ import * as i5 from '@ngx-validate/core';
14
14
  import { NgxValidateCoreModule } from '@ngx-validate/core';
15
15
  import * as i6 from '@abp/ng.feature-management';
16
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';
17
19
  import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
18
20
  import * as i1$1 from '@angular/router';
19
21
  import { RouterModule } from '@angular/router';
@@ -118,7 +120,7 @@ TenantsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
118
120
  provide: EXTENSIONS_IDENTIFIER,
119
121
  useValue: "TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */,
120
122
  },
121
- ], ngImport: i0, template: "<div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpTenantManagement::Tenants' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\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", 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.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { 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: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
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" }] });
122
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantsComponent, decorators: [{
123
125
  type: Component,
124
126
  args: [{ selector: 'abp-tenants', providers: [
@@ -127,7 +129,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
127
129
  provide: EXTENSIONS_IDENTIFIER,
128
130
  useValue: "TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */,
129
131
  },
130
- ], template: "<div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpTenantManagement::Tenants' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\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" }]
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" }]
131
133
  }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i0.Injector }, { type: i2.ConfirmationService }, { type: i3.TenantService }, { type: i2.ToasterService }, { type: i4.UntypedFormBuilder }]; } });
132
134
 
133
135
  const DEFAULT_TENANTS_ENTITY_ACTIONS = EntityAction.createMany([
@@ -328,14 +330,16 @@ TenantManagementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
328
330
  ThemeSharedModule,
329
331
  NgbDropdownModule,
330
332
  FeatureManagementModule,
331
- UiExtensionsModule], exports: [TenantsComponent] });
333
+ UiExtensionsModule,
334
+ PageModule], exports: [TenantsComponent] });
332
335
  TenantManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementModule, imports: [TenantManagementRoutingModule,
333
336
  NgxValidateCoreModule,
334
337
  CoreModule,
335
338
  ThemeSharedModule,
336
339
  NgbDropdownModule,
337
340
  FeatureManagementModule,
338
- UiExtensionsModule] });
341
+ UiExtensionsModule,
342
+ PageModule] });
339
343
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementModule, decorators: [{
340
344
  type: NgModule,
341
345
  args: [{
@@ -349,6 +353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
349
353
  NgbDropdownModule,
350
354
  FeatureManagementModule,
351
355
  UiExtensionsModule,
356
+ PageModule,
352
357
  ],
353
358
  }]
354
359
  }] });
@@ -1 +1 @@
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","<div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpTenantManagement::Tenants' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\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","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\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 ],\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
+ {"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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"}
@@ -14,6 +14,8 @@ import * as i5 from '@ngx-validate/core';
14
14
  import { NgxValidateCoreModule } from '@ngx-validate/core';
15
15
  import * as i6 from '@abp/ng.feature-management';
16
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';
17
19
  import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
18
20
  import * as i1$1 from '@angular/router';
19
21
  import { RouterModule } from '@angular/router';
@@ -118,7 +120,7 @@ TenantsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
118
120
  provide: EXTENSIONS_IDENTIFIER,
119
121
  useValue: "TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */,
120
122
  },
121
- ], ngImport: i0, template: "<div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpTenantManagement::Tenants' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\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", 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.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { 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: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
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" }] });
122
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantsComponent, decorators: [{
123
125
  type: Component,
124
126
  args: [{ selector: 'abp-tenants', providers: [
@@ -127,7 +129,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
127
129
  provide: EXTENSIONS_IDENTIFIER,
128
130
  useValue: "TenantManagement.TenantsComponent" /* eTenantManagementComponents.Tenants */,
129
131
  },
130
- ], template: "<div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpTenantManagement::Tenants' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\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" }]
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" }]
131
133
  }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i0.Injector }, { type: i2.ConfirmationService }, { type: i3.TenantService }, { type: i2.ToasterService }, { type: i4.UntypedFormBuilder }]; } });
132
134
 
133
135
  const DEFAULT_TENANTS_ENTITY_ACTIONS = EntityAction.createMany([
@@ -328,14 +330,16 @@ TenantManagementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
328
330
  ThemeSharedModule,
329
331
  NgbDropdownModule,
330
332
  FeatureManagementModule,
331
- UiExtensionsModule], exports: [TenantsComponent] });
333
+ UiExtensionsModule,
334
+ PageModule], exports: [TenantsComponent] });
332
335
  TenantManagementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementModule, imports: [TenantManagementRoutingModule,
333
336
  NgxValidateCoreModule,
334
337
  CoreModule,
335
338
  ThemeSharedModule,
336
339
  NgbDropdownModule,
337
340
  FeatureManagementModule,
338
- UiExtensionsModule] });
341
+ UiExtensionsModule,
342
+ PageModule] });
339
343
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TenantManagementModule, decorators: [{
340
344
  type: NgModule,
341
345
  args: [{
@@ -349,6 +353,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
349
353
  NgbDropdownModule,
350
354
  FeatureManagementModule,
351
355
  UiExtensionsModule,
356
+ PageModule,
352
357
  ],
353
358
  }]
354
359
  }] });
@@ -1 +1 @@
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","<div id=\"wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpTenantManagement::Tenants' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\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","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\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 ],\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
+ {"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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"}
@@ -9,10 +9,11 @@ import * as i5 from "@abp/ng.theme.shared";
9
9
  import * as i6 from "@ng-bootstrap/ng-bootstrap";
10
10
  import * as i7 from "@abp/ng.feature-management";
11
11
  import * as i8 from "@abp/ng.theme.shared/extensions";
12
+ import * as i9 from "@abp/ng.components/page";
12
13
  export declare class TenantManagementModule {
13
14
  static forChild(options?: TenantManagementConfigOptions): ModuleWithProviders<TenantManagementModule>;
14
15
  static forLazy(options?: TenantManagementConfigOptions): NgModuleFactory<TenantManagementModule>;
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TenantManagementModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<TenantManagementModule, [typeof i1.TenantsComponent], [typeof i2.TenantManagementRoutingModule, typeof i3.NgxValidateCoreModule, typeof i4.CoreModule, typeof i5.ThemeSharedModule, typeof i6.NgbDropdownModule, typeof i7.FeatureManagementModule, typeof i8.UiExtensionsModule], [typeof i1.TenantsComponent]>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TenantManagementModule, [typeof i1.TenantsComponent], [typeof i2.TenantManagementRoutingModule, typeof i3.NgxValidateCoreModule, typeof i4.CoreModule, typeof i5.ThemeSharedModule, typeof i6.NgbDropdownModule, typeof i7.FeatureManagementModule, typeof i8.UiExtensionsModule, typeof i9.PageModule], [typeof i1.TenantsComponent]>;
17
18
  static ɵinj: i0.ɵɵInjectorDeclaration<TenantManagementModule>;
18
19
  }
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@abp/ng.tenant-management",
3
- "version": "7.0.0",
3
+ "version": "7.0.2",
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
  "dependencies": {
10
- "@abp/ng.feature-management": "~7.0.0",
11
- "@abp/ng.theme.shared": "~7.0.0",
10
+ "@abp/ng.feature-management": "~7.0.2",
11
+ "@abp/ng.theme.shared": "~7.0.2",
12
12
  "tslib": "^2.0.0"
13
13
  },
14
14
  "publishConfig": {
@@ -51,6 +51,6 @@
51
51
  },
52
52
  "sideEffects": false,
53
53
  "peerDependencies": {
54
- "@abp/ng.core": "7.0.0"
54
+ "@abp/ng.core": "7.0.2"
55
55
  }
56
56
  }