simple remove works
This commit is contained in:
		
							parent
							
								
									7c67d81439
								
							
						
					
					
						commit
						dc0ec0cd9d
					
				| @ -39,9 +39,7 @@ export class FormGroupCommandModalDirective { | ||||
|       command: this.command, | ||||
|       model: this.model | ||||
|     }).subscribe(commandModel => { | ||||
| 
 | ||||
|        | ||||
| 
 | ||||
|       debugger; | ||||
|       const event = <IModelFormCreateEvent>{ | ||||
|         commandName: this.command, | ||||
|         viewModel: this.model, | ||||
|  | ||||
| @ -6,3 +6,7 @@ export interface IAddMerchantCommand { | ||||
|   name: string; | ||||
|   address: string; | ||||
| } | ||||
| 
 | ||||
| export interface IRemoveMerchantCommand { | ||||
|   merchantId: string; | ||||
| } | ||||
| @ -4,7 +4,7 @@ import { IDataSource, DataSource } from '@poweredsoft/data'; | ||||
| import { Apollo } from 'apollo-angular'; | ||||
| import  gql  from 'graphql-tag'; | ||||
| import { of } from 'rxjs'; | ||||
| import { IChangeMerchantNameCommand, IAddMerchantCommand } from './IChangeMerchantNameCommand'; | ||||
| import { IChangeMerchantNameCommand, IAddMerchantCommand, IRemoveMerchantCommand } from './IChangeMerchantNameCommand'; | ||||
| import { IMerchant } from './IMerchant'; | ||||
| 
 | ||||
| @Injectable({ | ||||
| @ -27,7 +27,7 @@ export class MerchantService { | ||||
|       (model) => model.id, | ||||
|       { | ||||
|         page: 1, | ||||
|         pageSize: 150, | ||||
|         pageSize: 15, | ||||
|       }, | ||||
|       true | ||||
|     ); | ||||
| @ -83,6 +83,31 @@ export class MerchantService { | ||||
|       }) | ||||
|     ); | ||||
| 
 | ||||
|     builder.addMutation<IRemoveMerchantCommand, string>( | ||||
|       'removeMerchant', //<-- command name
 | ||||
|       'removeMerchant', //<-- graph ql mutation name
 | ||||
|        | ||||
|       // implementation of the command.
 | ||||
|       command => { | ||||
|          | ||||
|         return this.apollo.use('command').mutate<string>({ | ||||
|           mutation: gql` | ||||
|             mutation executeAddMerchant($command: RemoveMerchantCommandInput) { | ||||
|               removeMerchant(params: $command) | ||||
|             } | ||||
|           `,
 | ||||
|           variables: { | ||||
|             command: command, | ||||
|           }, | ||||
|         }); | ||||
|       }, | ||||
|        | ||||
|       // viewModel -> transform to the form model for that command -> IChangeMerchantName
 | ||||
|       e => of(<IRemoveMerchantCommand>{ | ||||
|         merchantId: e.model.id, | ||||
|       }) | ||||
|     ); | ||||
| 
 | ||||
|     const options = builder.create(); | ||||
|     return new DataSource<IMerchant>(options); | ||||
|   } | ||||
|  | ||||
| @ -19,11 +19,15 @@ | ||||
|     <ng-container psDataGridCol="actions"> | ||||
|         <ng-container *psDataGridColHeader>Actions</ng-container> | ||||
|         <ng-container *psDataGridCell="let model"> | ||||
|             <button class="btn btn-primary mr-2">{{model.name}}</button> | ||||
|             <button class="btn-primary btn" psbxFormGroupCommandModal [commandTitle]="'remove ' + model.name + ' name'" commandText="delete" | ||||
|             [dataSource]="merchantDataSource" command="removeMerchant" [model]="model" (formCreate)="onFormCreate($event)">Remove Merchant</button> | ||||
|         </ng-container> | ||||
|     </ng-container> | ||||
| </ps-data-grid> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <ng-template #theModal let-form let-loading="loading"> | ||||
|     <form [formGroup]="form"> | ||||
|         <div class="form-group"> | ||||
|  | ||||
| @ -1,4 +1,3 @@ | ||||
| 
 | ||||
| <ps-data-grid [dataSource]="merchantDataSource" [(columns)]="columns" | ||||
|     tableClasses="table table-sm table-dark table-striped table-bordered"> | ||||
|     <ng-container *psDataGridHeader> | ||||
| @ -21,8 +20,9 @@ | ||||
|     <ng-container psDataGridCol="commands"> | ||||
|         <ng-container *psDataGridColHeader>Actions</ng-container> | ||||
|         <ng-container *psDataGridCell="let model"> | ||||
|             <button class="btn-warning btn" psbxCommandModal [commandTitle]="'Change ' + model.name + ' name'" commandText="Update" | ||||
|             [dataSource]="merchantDataSource" command="changeMerchantName" [model]="model" [template]="changeName">Change name</button> | ||||
|             <!-- <button class="btn-warning btn" psbxCommandModal [commandTitle]="'Remove ' + model.name + ' ?'" commandText="Remove" | ||||
|             [dataSource]="merchantDataSource" command="removeMerchant" [model]="model" [template]="confirm">Remove Merchant</button> --> | ||||
|             <button class="btn-warning btn" (click)="removeMerchant(model.id)">Delete</button> | ||||
|         </ng-container> | ||||
|     </ng-container> | ||||
|     <ng-container *psDataGridFooter> | ||||
| @ -30,10 +30,15 @@ | ||||
|     </ng-container> | ||||
| </ps-data-grid> | ||||
| 
 | ||||
| <ng-template #changeName let-command let-loading="loading"> | ||||
|     New Name | ||||
|     <input type="text" [attr.disabled]="loading" [(ngModel)]="command.newName" placeholder="Entermerchant new name" class="form-control"> | ||||
| </ng-template> | ||||
| <ng-template #confirm> | ||||
|     <div class="modal-body text-center"> | ||||
|       <p>Do you want to confirm?</p> | ||||
|       <button type="button" class="btn btn-default"  >Yes</button> | ||||
|       <button type="button" class="btn btn-primary"  >No</button> | ||||
|     </div> | ||||
|   </ng-template> | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| <ng-template #theModal let-command let-loading="loading"> | ||||
|     Name | ||||
|  | ||||
| @ -20,12 +20,12 @@ export class PaginationDemoComponent implements OnInit { | ||||
| 
 | ||||
|   pages:any; | ||||
| 
 | ||||
|   newMerchant(name: string) { | ||||
|     this.merchantDataSource.executeCommandByName('addMerchant', { | ||||
|       name: name | ||||
|     }).subscribe( | ||||
|   removeMerchant(id: string) {     | ||||
|     this.merchantDataSource.executeCommandByName('removeMerchant', { | ||||
|       id: id | ||||
|     }).subscribe(       | ||||
|       res => { | ||||
|         alert('it worked!'); | ||||
|         alert('removed!'); | ||||
|         this.merchantDataSource.refresh(); | ||||
|       }, | ||||
|       err => { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user