Skip to content

Commit 9ec24c8

Browse files
feat: allow users to delete all table rows
1 parent 7967695 commit 9ec24c8

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

src/table/table-model.class.spec.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,23 @@ describe("Table", () => {
475475
expect(tableModel.header.length).toEqual(2);
476476
});
477477

478+
it("should delete all rows", () => {
479+
let tableModel = new TableModel();
480+
tableModel.data = [
481+
[new TableItem({data: "A"}), new TableItem({data: "B"})],
482+
[new TableItem({data: "C"}), new TableItem({data: "D"})],
483+
[new TableItem({data: "E"}), new TableItem({data: "F"})]
484+
];
478485

486+
tableModel.deleteAllRows();
487+
488+
expect(tableModel.data.length).toEqual(0);
489+
expect(tableModel.rowsSelected.length).toEqual(0);
490+
expect(tableModel.rowsContext.length).toEqual(0);
491+
expect(tableModel.rowsExpanded.length).toEqual(0);
492+
expect(tableModel.rowsClass.length).toEqual(0);
493+
expect(tableModel.rowsIndices.length).toEqual(0);
494+
});
479495

480496
/* ****************************************************************
481497
*********** ***********

src/table/table-model.class.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,20 @@ export class TableModel implements PaginationModel {
411411
this.dataChange.emit();
412412
}
413413

414+
/**
415+
* Deletes all rows.
416+
*/
417+
deleteAllRows() {
418+
this.data = [];
419+
this.rowsSelected = [];
420+
this.rowsExpanded = [];
421+
this.rowsContext = [];
422+
this.rowsClass = [];
423+
this.rowsIndices = [];
424+
425+
this.dataChange.emit();
426+
}
427+
414428
hasExpandableRows() {
415429
return this.data.some(data => data.some(d => d && d.expandedData)); // checking for some in 2D array
416430
}

0 commit comments

Comments
 (0)