Commit 158be81a325e1bd3f0eeca32c663ac39089f9fed
1 parent
46083d4e
Delete action
Showing
3 changed files
with
36 additions
and
1 deletions
Show diff stats
src/app/pages/statements/components/busStop2/busStop2.component.ts
| @@ -181,7 +181,35 @@ export class BusStop2 { | @@ -181,7 +181,35 @@ export class BusStop2 { | ||
| 181 | } else { | 181 | } else { |
| 182 | result = this.service.create(data); | 182 | result = this.service.create(data); |
| 183 | } | 183 | } |
| 184 | - console.log(result); | 184 | + } |
| 185 | + } | ||
| 186 | + | ||
| 187 | + private deleteRows() { | ||
| 188 | + let objects = this.gridOptions.api.getSelectedRows(); | ||
| 189 | + if (!objects.length) { | ||
| 190 | + return ; | ||
| 191 | + } | ||
| 192 | + let ids = []; | ||
| 193 | + objects.forEach(element => { | ||
| 194 | + let id = element.busStopId; | ||
| 195 | + if (id) { | ||
| 196 | + ids.push(id); | ||
| 197 | + } | ||
| 198 | + }); | ||
| 199 | + if (ids.length) { | ||
| 200 | + let rowData = this.rowData; | ||
| 201 | + rowData = rowData.filter(element => { | ||
| 202 | + let index = ids.indexOf(element.busStopId); | ||
| 203 | + if (index === -1) { | ||
| 204 | + return true; | ||
| 205 | + } else { | ||
| 206 | + this.service.delete(ids[index]); | ||
| 207 | + return false; | ||
| 208 | + } | ||
| 209 | + }); | ||
| 210 | + this.rowData = rowData; | ||
| 211 | + this.gridOptions.api.setDatasource(this.setRowData(this.rowData)); | ||
| 212 | + this.gridOptions.api.refreshVirtualPageCache(); | ||
| 185 | } | 213 | } |
| 186 | } | 214 | } |
| 187 | 215 |
src/app/pages/statements/components/busStop2/busStop2.html
| @@ -3,6 +3,7 @@ | @@ -3,6 +3,7 @@ | ||
| 3 | <div class="row"> | 3 | <div class="row"> |
| 4 | <ba-card title="Автобусні зупинки" baCardClass="with-scroll"> | 4 | <ba-card title="Автобусні зупинки" baCardClass="with-scroll"> |
| 5 | <button class="btn btn-warning" (click)="addNewRow()" type="button">Добавить новое поле</button> | 5 | <button class="btn btn-warning" (click)="addNewRow()" type="button">Добавить новое поле</button> |
| 6 | + <button class="btn btn-danger" (click)="deleteRows()" type="button">Удалить</button> | ||
| 6 | <ag-grid-ng2 #agGrid style="width: 100%; height: 350px;" class="ag-dark" | 7 | <ag-grid-ng2 #agGrid style="width: 100%; height: 350px;" class="ag-dark" |
| 7 | [gridOptions]="gridOptions" | 8 | [gridOptions]="gridOptions" |
| 8 | [columnDefs]="columnDefs" | 9 | [columnDefs]="columnDefs" |
src/app/pages/statements/components/busStop2/busStop2.service.ts
| @@ -44,6 +44,12 @@ export class BusStop2Service { | @@ -44,6 +44,12 @@ export class BusStop2Service { | ||
| 44 | .then(response => response.json()) | 44 | .then(response => response.json()) |
| 45 | .catch(this.handleError); | 45 | .catch(this.handleError); |
| 46 | } | 46 | } |
| 47 | + delete(id: number): Promise<any> { | ||
| 48 | + return this.http.delete(this.url + '/delete?id=' + id, { headers: this.headers }) | ||
| 49 | + .toPromise() | ||
| 50 | + .then(response => response.json()) | ||
| 51 | + .catch(this.handleError); | ||
| 52 | + } | ||
| 47 | private handleError(error: any): Promise<any> { | 53 | private handleError(error: any): Promise<any> { |
| 48 | console.error('An error occured', error); | 54 | console.error('An error occured', error); |
| 49 | return Promise.reject(error.message || error); | 55 | return Promise.reject(error.message || error); |