Skip to content

Commit ec69414

Browse files
authored
Merge pull request #3030 from eduardmarcinco/issue/3006
feat: allow users to delete all table rows
2 parents 7967695 + 5e3b692 commit ec69414

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,25 @@ 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).toEqual([[]]);
489+
expect(tableModel.totalDataLength).toEqual(0);
490+
// Should still equal to 1, since we default to [[]] when we set data to an empty array
491+
expect(tableModel.rowsSelected.length).toEqual(1);
492+
expect(tableModel.rowsContext.length).toEqual(1);
493+
expect(tableModel.rowsExpanded.length).toEqual(1);
494+
expect(tableModel.rowsClass.length).toEqual(1);
495+
expect(tableModel.rowsIndices.length).toEqual(1);
496+
});
479497

480498
/* ****************************************************************
481499
*********** ***********

src/table/table-model.class.ts

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

414+
/**
415+
* Deletes all rows.
416+
*/
417+
deleteAllRows() {
418+
this.data = [];
419+
}
420+
414421
hasExpandableRows() {
415422
return this.data.some(data => data.some(d => d && d.expandedData)); // checking for some in 2D array
416423
}

0 commit comments

Comments
 (0)