diff --git a/projects/simplified-ui/src/lib/models/DataTableModel.ts b/projects/simplified-ui/src/lib/models/DataTableModel.ts index dc2d8a1..9f757a0 100644 --- a/projects/simplified-ui/src/lib/models/DataTableModel.ts +++ b/projects/simplified-ui/src/lib/models/DataTableModel.ts @@ -126,11 +126,18 @@ export class DataTable { * @param index Index at which the column should be added. */ addColumn(column: IDataTableColumn, index?: number): void { - if (index) { - this.columns.splice(index, 0, column); + // updates the existing column when key is same + if (this.columns.some(i => i.key == column.key)) { + var prevColumnIndex = this.columns.findIndex(i => i.key == column.key); + this.columns[prevColumnIndex] = column; } else { - this.columns.push(column); + if (index) { + this.columns.splice(index, 0, column); + } else { + this.columns.push(column); + } } + this.columnAddedSubject.next(column); this.columnsUpdatedSubject.next(this.columns); } diff --git a/projects/simplified-ui/src/lib/sa-data-table/sa-data-table.component.ts b/projects/simplified-ui/src/lib/sa-data-table/sa-data-table.component.ts index 70837b9..4af9e0e 100644 --- a/projects/simplified-ui/src/lib/sa-data-table/sa-data-table.component.ts +++ b/projects/simplified-ui/src/lib/sa-data-table/sa-data-table.component.ts @@ -122,8 +122,12 @@ export class SaDataTableComponent implements OnInit, AfterViewInit, OnDestroy ngOnInit() { this.actionsTemplate = this.dataTable.actionsTemplate; + + this.dataTable.onColumnRemoved().subscribe(res => { + this.filterArray = this.filterArray.filter(x => x.key != res.filter.key) + }); + this.dataTable.onColumnUpdated().subscribe((columns) => { - this.filterArray = []; columns.forEach((z) => { if (z.filter != null) this.filterArray.push(z.filter); });