@tanstack/table-core 8.0.0-beta.4 → 8.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,8 +28,8 @@ export declare type RowSelectionInstance<TGenerics extends TableGenerics> = {
28
28
  getIsAllPageRowsSelected: () => boolean;
29
29
  getIsSomeRowsSelected: () => boolean;
30
30
  getIsSomePageRowsSelected: () => boolean;
31
- toggleAllRowsSelected: (value: boolean) => void;
32
- toggleAllPageRowsSelected: (value: boolean) => void;
31
+ toggleAllRowsSelected: (value?: boolean) => void;
32
+ toggleAllPageRowsSelected: (value?: boolean) => void;
33
33
  getPreSelectedRowModel: () => RowModel<TGenerics>;
34
34
  getSelectedRowModel: () => RowModel<TGenerics>;
35
35
  getFilteredSelectedRowModel: () => RowModel<TGenerics>;
@@ -2022,11 +2022,11 @@
2022
2022
  });
2023
2023
  },
2024
2024
  toggleAllPageRowsSelected: value => instance.setRowSelection(old => {
2025
- typeof value !== 'undefined' ? value : !instance.getIsAllPageRowsSelected();
2025
+ const resolvedValue = typeof value !== 'undefined' ? value : !instance.getIsAllPageRowsSelected();
2026
2026
  const rowSelection = { ...old
2027
2027
  };
2028
2028
  instance.getRowModel().rows.forEach(row => {
2029
- mutateRowIsSelected(rowSelection, row.id, value, instance);
2029
+ mutateRowIsSelected(rowSelection, row.id, resolvedValue, instance);
2030
2030
  });
2031
2031
  return rowSelection;
2032
2032
  }),
@@ -2181,7 +2181,7 @@
2181
2181
  },
2182
2182
  getIsSomePageRowsSelected: () => {
2183
2183
  const paginationFlatRows = instance.getPaginationRowModel().flatRows;
2184
- return instance.getIsAllPageRowsSelected() ? false : !!(paginationFlatRows != null && paginationFlatRows.length);
2184
+ return instance.getIsAllPageRowsSelected() ? false : paginationFlatRows.some(d => d.getIsSelected() || d.getIsSomeSelected());
2185
2185
  },
2186
2186
  getToggleAllRowsSelectedHandler: () => {
2187
2187
  return e => {
@@ -3817,20 +3817,34 @@
3817
3817
  const pageStart = pageSize * pageIndex;
3818
3818
  const pageEnd = pageStart + pageSize;
3819
3819
  rows = rows.slice(pageStart, pageEnd);
3820
+ let paginatedRowModel;
3820
3821
 
3821
3822
  if (!instance.options.paginateExpandedRows) {
3822
- return expandRows({
3823
+ paginatedRowModel = expandRows({
3823
3824
  rows,
3824
3825
  flatRows,
3825
3826
  rowsById
3826
3827
  });
3828
+ } else {
3829
+ paginatedRowModel = {
3830
+ rows,
3831
+ flatRows,
3832
+ rowsById
3833
+ };
3827
3834
  }
3828
3835
 
3829
- return {
3830
- rows,
3831
- flatRows,
3832
- rowsById
3836
+ paginatedRowModel.flatRows = [];
3837
+
3838
+ const handleRow = row => {
3839
+ paginatedRowModel.flatRows.push(row);
3840
+
3841
+ if (row.subRows.length) {
3842
+ row.subRows.forEach(handleRow);
3843
+ }
3833
3844
  };
3845
+
3846
+ paginatedRowModel.rows.forEach(handleRow);
3847
+ return paginatedRowModel;
3834
3848
  }, {
3835
3849
  key: 'getPaginationRowModel',
3836
3850
  debug: () => {