You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/npm/ng-packs/dist/tenant-management/bundles/abp-ng.tenant-management.um...

2 lines
16 KiB

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@abp/ng.core"),require("@abp/ng.theme.shared"),require("@angular/core"),require("@ng-bootstrap/ng-bootstrap"),require("@ngxs/store"),require("primeng/table"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/router")):"function"==typeof define&&define.amd?define("@abp/ng.tenant-management",["exports","@abp/ng.core","@abp/ng.theme.shared","@angular/core","@ng-bootstrap/ng-bootstrap","@ngxs/store","primeng/table","@angular/forms","rxjs","rxjs/operators","@angular/router"],e):e(((t=t||self).abp=t.abp||{},t.abp.ng=t.abp.ng||{},t.abp.ng["tenant-management"]={}),t.ng_core,t.ng_theme_shared,t.ng.core,t.ngBootstrap,t.store,t.table,t.ng.forms,t.rxjs,t.rxjs.operators,t.ng.router)}(this,function(t,e,n,a,o,r,i,s,p,c,l){"use strict";var u=function(){return(u=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function d(t,e,n,a){var o,r=arguments.length,i=r<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,n,a);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(i=(r<3?o(i):r>3?o(e,n,i):o(e,n))||i);return r>3&&i&&Object.defineProperty(e,n,i),i}function g(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}var m=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant",t}();var f=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Get Tenant By Id",t}();var b=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Create Tenant",t}();var h=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Update Tenant",t}();var y=function(){function t(t){this.payload=t}return t.type="[TenantManagement] Delete Tenant",t}();var v=function(){function t(t){this.rest=t}return t.prototype.getTenant=function(t){void 0===t&&(t={});var e={method:"GET",url:"/api/multi-tenancy/tenants",params:t};return this.rest.request(e)},t.prototype.getTenantById=function(t){var e={method:"GET",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.deleteTenant=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenants/"+t};return this.rest.request(e)},t.prototype.createTenant=function(t){var e={method:"POST",url:"/api/multi-tenancy/tenants",body:t};return this.rest.request(e)},t.prototype.updateTenant=function(t){var e="/api/multi-tenancy/tenants/"+t.id;delete t.id;var n={method:"PUT",url:e,body:t};return this.rest.request(n)},t.prototype.getDefaultConnectionString=function(t){var e={method:"GET",responseType:"text",url:"/api/multi-tenancy/tenants/"+t+"/default-connection-string"};return this.rest.request(e)},t.prototype.updateDefaultConnectionString=function(t){var e={method:"PUT",url:"/api/multi-tenancy/tenants/"+t.id+"/default-connection-string",params:{defaultConnectionString:t.defaultConnectionString}};return this.rest.request(e)},t.prototype.deleteDefaultConnectionString=function(t){var e={method:"DELETE",url:"/api/multi-tenancy/tenant/"+t+"/default-connection-string"};return this.rest.request(e)},t.decorators=[{type:a.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:e.RestService}]},t.ngInjectableDef=a.ɵɵdefineInjectable({factory:function(){return new t(a.ɵɵinject(e.RestService))},token:t,providedIn:"root"}),t}();var T=function(){function t(t){this.tenantManagementService=t}return t.get=function(t){return t.result.items||[]},t.getTenantsTotalCount=function(t){return t.result.totalCount},t.prototype.get=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenant(a).pipe(c.tap(function(t){return n({result:t})}))},t.prototype.getById=function(t,e){var n=t.patchState,a=e.payload;return this.tenantManagementService.getTenantById(a).pipe(c.tap(function(t){return n({selectedItem:t})}))},t.prototype.delete=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.deleteTenant(a).pipe(c.switchMap(function(){return n(new m)}))},t.prototype.add=function(t,e){var n=t.dispatch,a=e.payload;return this.tenantManagementService.createTenant(a).pipe(c.switchMap(function(){return n(new m)}))},t.prototype.update=function(t,e){var n=this,a=t.dispatch,o=t.getState,r=e.payload;return a(new f(r.id)).pipe(c.switchMap(function(){return n.tenantManagementService.updateTenant(u({},o().selectedItem,r))}),c.switchMap(function(){return a(new m)}))},d([r.Action(m),g("design:type",Function),g("design:paramtypes",[Object,m]),g("design:returntype",void 0)],t.prototype,"get",null),d([r.Action(f),g("design:type",Function),g("design:paramtypes",[Object,f]),g("design:returntype",void 0)],t.prototype,"getById",null),d([r.Action(y),g("design:type",Function),g("design:paramtypes",[Object,y]),g("design:returntype",void 0)],t.prototype,"delete",null),d([r.Action(b),g("design:type",Function),g("design:paramtypes",[Object,b]),g("design:returntype",void 0)],t.prototype,"add",null),d([r.Action(h),g("design:type",Function),g("design:paramtypes",[Object,h]),g("design:returntype",void 0)],t.prototype,"update",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Array)],t,"get",null),d([r.Selector(),g("design:type",Function),g("design:paramtypes",[Object]),g("design:returntype",Number)],t,"getTenantsTotalCount",null),t=d([r.State({name:"TenantManagementState",defaults:{result:{},selectedItem:{}}}),g("design:paramtypes",[v])],t)}();var S=function(){function t(t,e,n,a){this.confirmationService=t,this.tenantService=e,this.fb=n,this.store=a,this.selectedModalContent={},this.pageQuery={sorting:"name"},this.loading=!1,this.modalBusy=!1}return Object.defineProperty(t.prototype,"useSharedDatabase",{get:function(){return this.defaultConnectionStringForm.get("useSharedDatabase").value},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"connectionString",{get:function(){return this.defaultConnectionStringForm.get("defaultConnectionString").value},enumerable:!0,configurable:!0}),t.prototype.onSearch=function(t){this.pageQuery.filter=t,this.get()},t.prototype.createTenantForm=function(){this.tenantForm=this.fb.group({name:[this.selected.name||"",[s.Validators.required,s.Validators.maxLength(256)]]})},t.prototype.createDefaultConnectionStringForm=function(){this.defaultConnectionStringForm=this.fb.group({useSharedDatabase:this._useSharedDatabase,defaultConnectionString:this.defaultConnectionString||""})},t.prototype.openModal=function(t,e,n){this.selectedModalContent={title:t,template:e,type:n},this.isModalVisible=!0},t.prototype.onEditConnectionString=function(t){var e=this;this.store.dispatch(new f(t)).pipe(c.pluck("TenantManagementState","selectedItem"),c.switchMap(function(n){return e.selected=n,e.tenantService.getDefaultConnectionString(t)})).subscribe(function(t){e._useSharedDatabase=!t,e.defaultConnectionString=t||"",e.createDefaultConnectionStringForm(),e.openModal("AbpTenantManagement::ConnectionStrings",e.connectionStringModalTemplate,"saveConnStr")})},t.prototype.onAddTenant=function(){this.selected={},this.createTenantForm(),this.openModal("AbpTenantManagement::NewTenant",this.tenantModalTemplate,"saveTenant")},t.prototype.onEditTenant=function(t){var e=this;this.store.dispatch(new f(t)).pipe(c.pluck("TenantManagementState","selectedItem")).subscribe(function(t){e.selected=t,e.createTenantForm(),e.openModal("AbpTenantManagement::Edit",e.tenantModalTemplate,"saveTenant")})},t.prototype.save=function(){var t=this.selectedModalContent.type;t&&("saveTenant"===t?this.saveTenant():"saveConnStr"===t&&this.saveConnectionString())},t.prototype.saveConnectionString=function(){var t=this;this.modalBusy=!0,this.useSharedDatabase?this.tenantService.deleteDefaultConnectionString(this.selected.id).pipe(c.take(1)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1}):this.tenantService.updateDefaultConnectionString({id:this.selected.id,defaultConnectionString:this.connectionString}).pipe(c.take(1)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1})},t.prototype.saveTenant=function(){var t=this;this.tenantForm.valid&&(this.modalBusy=!0,this.store.dispatch(this.selected.id?new h(u({},this.tenantForm.value,{id:this.selected.id})):new b(this.tenantForm.value)).subscribe(function(){t.modalBusy=!1,t.isModalVisible=!1}))},t.prototype.delete=function(t,e){var n=this;this.confirmationService.warn("AbpTenantManagement::TenantDeletionConfirmationMessage","AbpTenantManagement::AreYouSure",{messageLocalizationParams:[e]}).subscribe(function(e){"confirm"===e&&(n.store.dispatch(new y(t)),n.modalBusy=!1)})},t.prototype.onPageChange=function(t){this.pageQuery.skipCount=t.first,this.pageQuery.maxResultCount=t.rows,this.get()},t.prototype.get=function(){var t=this;this.loading=!0,this.store.dispatch(new m(this.pageQuery)).pipe(c.finalize(function(){return t.loading=!1})).subscribe()},t.decorators=[{type:a.Component,args:[{selector:"abp-tenants",template:'<div id="wrapper" class="card">\n <div class="card-header">\n <div class="row">\n <div class="col col-md-6">\n <h5 class="card-title">\n {{ \'AbpTenantManagement::Tenants\' | abpLocalization }}\n </h5>\n </div>\n <div class="text-right col col-md-6">\n <button\n [abpPermission]="\'AbpTenantManagement.Tenants.Create\'"\n id="create-tenants"\n class="btn btn-primary"\n type="button"\n (click)="onAddTenant()"\n >\n <i class="fa fa-plus mr-1"></i>\n <span>{{ \'AbpTenantManagement::NewTenant\' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </div>\n <div class="card-body">\n <div id="data-tables-table-filter" class="data-tables-filter">\n <label\n ><input\n type="search"\n class="form-control form-control-sm"\n [placeholder]="\'AbpUi::PagerSearch\' | abpLocalization"\n (input.debounce)="onSearch($event.target.value)"\n /></label>\n </div>\n <p-table\n [value]="data$ | async"\n [lazy]="true"\n [lazyLoadOnInit]="false"\n [paginator]="true"\n [rows]="10"\n [totalRecords]="totalCount$ | async"\n [loading]="loading"\n (onLazyLoad)="onPageChange($event)"\n >\n <ng-template pTemplate="header">\n <tr>\n <th>{{ \'AbpTenantManagement::Actions\' | abpLocalization }}</th>\n <th>{{ \'AbpTenantManagement::TenantName\' | abpLocalization }}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate="body" let-data>\n <tr>\n <td>\n <div ngbDropdown class="d-inline-block">\n <button\n class="btn btn-primary btn-sm dropdown-toggle"\n data-toggle="dropdown"\n aria-haspopup="true"\n ngbDropdownToggle\n >\n <i class="fa fa-cog mr-1"></i>{{ \'AbpTenantManagement::Actions\' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n [abpPermission]="\'AbpTenantManagement.Tenants.Update\'"\n ngbDropdownItem\n (click)="onEditTenant(data.id)"\n >\n {{ \'AbpTenantManagement::Edit\' | abpLocalization }}\n </button>\n <button\n [abpPermission]="\'AbpTenantManagement.Tenants.ManageConnectionStrings\'"\n ngbDropdownItem\n (click)="onEditConnectionString(data.id)"\n >\n {{ \'AbpTenantManagement::ConnectionStrings\' | abpLocalization }}\n </button>\n <button\n [abpPermission]="\'AbpTenantManagement.Tenants.Delete\'"\n ngbDropdownItem\n (click)="delete(data.id, data.name)"\n >\n {{ \'AbpTenantManagement::Delete\' | abpLocalization }}\n </button>\n </div>\n </div>\n </td>\n <td>{{ data.name }}</td>\n </tr>\n </ng-template>\n </p-table>\n </div>\n</div>\n\n<abp-modal [(visible)]="isModalVisible" [busy]="modalBusy">\n <ng-template #abpHeader>\n <h3>{{ selectedModalContent.title | abpLocalization }}</h3>\n </ng-template>\n\n <ng-template #abpBody>\n <ng-container *ngTemplateOutlet="selectedModalContent?.template"></ng-container>\n </ng-template>\n\n <ng-template #abpFooter>\n <button #abpClose type="button" class="btn btn-secondary">\n {{ \'AbpTenantManagement::Cancel\' | abpLocalization }}\n </button>\n <abp-button iconClass="fa fa-check" (click)="save()">{{ \'AbpIdentity::Save\' | abpLocalization }}</abp-button>\n </ng-template>\n</abp-modal>\n\n<ng-template #tenantModalTemplate>\n <form [formGroup]="tenantForm" (ngSubmit)="save()">\n <div class="mt-2">\n <div class="form-group">\n <label for="name">{{ \'AbpTenantManagement::TenantName\' | abpLocalization }}</label>\n <input type="text" id="name" class="form-control" formControlName="name" autofocus />\n </div>\n </div>\n </form>\n</ng-template>\n\n<ng-template #connectionStringModalTemplate>\n <form [formGroup]="defaultConnectionStringForm" (ngSubmit)="save()">\n <div class="mt-2">\n <div class="form-group">\n <div class="form-check">\n <input\n id="useSharedDatabase"\n type="checkbox"\n class="form-check-input"\n formControlName="useSharedDatabase"\n autofocus\n />\n <label for="useSharedDatabase" class="font-check-label">{{\n \'AbpTenantManagement::DisplayName:UseSharedDatabase\' | abpLocalization\n }}</label>\n </div>\n </div>\n <div class="form-group" *ngIf="!useSharedDatabase">\n <label for="defaultConnectionString">{{\n \'AbpTenantManagement::DisplayName:DefaultConnectionString\' | abpLocalization\n }}</label>\n <input\n type="text"\n id="defaultConnectionString"\n class="form-control"\n formControlName="defaultConnectionString"\n />\n </div>\n </div>\n </form>\n</ng-template>\n'}]}],t.ctorParameters=function(){return[{type:n.ConfirmationService},{type:v},{type:s.FormBuilder},{type:r.Store}]},t.propDecorators={tenantModalTemplate:[{type:a.ViewChild,args:["tenantModalTemplate",{static:!1}]}],connectionStringModalTemplate:[{type:a.ViewChild,args:["connectionStringModalTemplate",{static:!1}]}]},d([r.Select(T.get),g("design:type",p.Observable)],t.prototype,"data$",void 0),d([r.Select(T.getTenantsTotalCount),g("design:type",p.Observable)],t.prototype,"totalCount$",void 0),t}();var M=function(){function t(t){this.store=t}return t.prototype.resolve=function(){var t=this.store.selectSnapshot(T.get);return t&&t.length?null:this.store.dispatch(new m)},t.decorators=[{type:a.Injectable}],t.ctorParameters=function(){return[{type:r.Store}]},t}();var C,A=[{path:"",redirectTo:"tenants",pathMatch:"full"},{path:"tenants",component:e.DynamicLayoutComponent,canActivate:[e.AuthGuard,e.PermissionGuard],data:{requiredPolicy:"AbpTenantManagement.Tenants"},children:[{path:"",component:S,resolve:[M]}]}],D=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{imports:[l.RouterModule.forChild(A)],exports:[l.RouterModule],providers:[M]}]}],t}(),w=function(){function t(){}return t.decorators=[{type:a.NgModule,args:[{declarations:[S],imports:[D,r.NgxsModule.forFeature([T]),e.CoreModule,i.TableModule,n.ThemeSharedModule,o.NgbDropdownModule]}]}],t}();!function(t){function e(){}function n(){}function a(){}function o(){}function r(){}t.State=e,t.Item=n,t.AddRequest=a,t.UpdateRequest=o,t.DefaultConnectionStringRequest=r}(C||(C={})),t.CreateTenant=b,t.DeleteTenant=y,t.GetTenantById=f,t.GetTenants=m,t.TENANT_MANAGEMENT_ROUTES=[{name:"AbpTenantManagement::Menu:TenantManagement",path:"tenant-management",parentName:"AbpUiNavigation::Menu:Administration",layout:"application",iconClass:"fa fa-users",children:[{path:"tenants",name:"AbpTenantManagement::Tenants",order:1,requiredPolicy:"AbpTenantManagement.Tenants"}]}],t.TenantManagementModule=w,t.TenantManagementService=v,t.TenantManagementState=T,t.TenantsComponent=S,t.TenantsResolver=M,t.UpdateTenant=h,t.ɵa=S,t.ɵb=T,t.ɵc=v,t.ɵd=m,t.ɵe=f,t.ɵf=b,t.ɵg=h,t.ɵh=y,t.ɵj=D,t.ɵk=M,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=abp-ng.tenant-management.umd.min.js.map