@tanstack/table-core 8.5.3 → 8.5.6
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.
- package/build/cjs/columnHelper.js +1 -0
- package/build/cjs/columnHelper.js.map +1 -1
- package/build/cjs/features/RowSelection.js +2 -2
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +3 -2
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +312 -312
- package/build/types/index.d.ts +7 -2
- package/build/umd/index.development.js +3 -2
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/columnHelper.ts +1 -0
- package/src/features/RowSelection.ts +2 -2
- package/src/utils.ts +37 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnHelper.js","sources":["../../src/columnHelper.ts"],"sourcesContent":["import {\n AccessorFn,\n ColumnDef,\n DisplayColumnDef,\n GroupColumnDef,\n IdentifiedColumnDef,\n RowData,\n} from './types'\nimport { DeepKeys, DeepValue, RequiredKeys } from './utils'\n\n// type Person = {\n// firstName: string\n// lastName: string\n// age: number\n// visits: number\n// status: string\n// progress: number\n// nested: {\n// foo: [\n// {\n// bar: 'bar'\n// }\n// ]\n// bar: { subBar: boolean }[]\n// baz: {\n// foo: 'foo'\n// bar: {\n// baz: 'baz'\n// }\n// }\n// }\n// }\n\n// const test: DeepKeys<Person> = 'nested.foo.0.bar'\n// const test2: DeepKeys<Person> = 'nested.bar'\n\n// const helper = createColumnHelper<Person>()\n\n// helper.accessor('nested.foo', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.foo.0.bar', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.bar', {\n// cell: info => info.getValue(),\n// })\n\nexport type ColumnHelper<TData extends RowData> = {\n accessor: <\n TAccessor extends AccessorFn<TData> | DeepKeys<TData>,\n TValue extends TAccessor extends AccessorFn<TData, infer TReturn>\n ? TReturn\n : TAccessor extends DeepKeys<TData>\n ? DeepValue<TData, TAccessor>\n : never\n >(\n accessor: TAccessor,\n column: TAccessor extends AccessorFn<TData>\n ? DisplayColumnDef<TData, TValue>\n : IdentifiedColumnDef<TData, TValue>\n ) => ColumnDef<TData, TValue>\n display: (column: DisplayColumnDef<TData>) => ColumnDef<TData, unknown>\n group: (column: GroupColumnDef<TData>) => ColumnDef<TData, unknown>\n}\n\nexport function createColumnHelper<\n TData extends RowData\n>(): ColumnHelper<TData> {\n return {\n accessor: (accessor, column) => {\n return typeof accessor === 'function'\n ? ({\n ...column,\n accessorFn: accessor,\n } as any)\n : {\n ...column,\n accessorKey: accessor,\n }\n },\n display: column => column as ColumnDef<TData, unknown>,\n group: column => column as ColumnDef<TData, unknown>,\n }\n}\n"],"names":["createColumnHelper","accessor","column","accessorFn","accessorKey","display","group"],"mappings":";;;;;;;;;;;;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAoBO,SAASA,kBAAT,GAEkB;EACvB,OAAO;AACLC,IAAAA,QAAQ,EAAE,CAACA,QAAD,EAAWC,MAAX,KAAsB;AAC9B,MAAA,OAAO,OAAOD,QAAP,KAAoB,UAApB,GACF,EACC,GAAGC,MADJ;AAECC,QAAAA,UAAU,EAAEF,QAAAA;OAHX,GAKH,EACE,GAAGC,MADL;AAEEE,QAAAA,WAAW,EAAEH,QAAAA;OAPnB,CAAA;KAFG;IAYLI,OAAO,EAAEH,MAAM,IAAIA,MAZd;IAaLI,KAAK,EAAEJ,MAAM,IAAIA,MAAAA;GAbnB,CAAA;AAeD;;;;"}
|
|
1
|
+
{"version":3,"file":"columnHelper.js","sources":["../../src/columnHelper.ts"],"sourcesContent":["import {\n AccessorFn,\n ColumnDef,\n DisplayColumnDef,\n GroupColumnDef,\n IdentifiedColumnDef,\n RowData,\n} from './types'\nimport { DeepKeys, DeepValue, RequiredKeys } from './utils'\n\n// type Person = {\n// firstName: string\n// lastName: string\n// age: number\n// visits: number\n// status: string\n// progress: number\n// createdAt: Date\n// nested: {\n// foo: [\n// {\n// bar: 'bar'\n// }\n// ]\n// bar: { subBar: boolean }[]\n// baz: {\n// foo: 'foo'\n// bar: {\n// baz: 'baz'\n// }\n// }\n// }\n// }\n\n// const test: DeepKeys<Person> = 'nested.foo.0.bar'\n// const test2: DeepKeys<Person> = 'nested.bar'\n\n// const helper = createColumnHelper<Person>()\n\n// helper.accessor('nested.foo', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.foo.0.bar', {\n// cell: info => info.getValue(),\n// })\n\n// helper.accessor('nested.bar', {\n// cell: info => info.getValue(),\n// })\n\nexport type ColumnHelper<TData extends RowData> = {\n accessor: <\n TAccessor extends AccessorFn<TData> | DeepKeys<TData>,\n TValue extends TAccessor extends AccessorFn<TData, infer TReturn>\n ? TReturn\n : TAccessor extends DeepKeys<TData>\n ? DeepValue<TData, TAccessor>\n : never\n >(\n accessor: TAccessor,\n column: TAccessor extends AccessorFn<TData>\n ? DisplayColumnDef<TData, TValue>\n : IdentifiedColumnDef<TData, TValue>\n ) => ColumnDef<TData, TValue>\n display: (column: DisplayColumnDef<TData>) => ColumnDef<TData, unknown>\n group: (column: GroupColumnDef<TData>) => ColumnDef<TData, unknown>\n}\n\nexport function createColumnHelper<\n TData extends RowData\n>(): ColumnHelper<TData> {\n return {\n accessor: (accessor, column) => {\n return typeof accessor === 'function'\n ? ({\n ...column,\n accessorFn: accessor,\n } as any)\n : {\n ...column,\n accessorKey: accessor,\n }\n },\n display: column => column as ColumnDef<TData, unknown>,\n group: column => column as ColumnDef<TData, unknown>,\n }\n}\n"],"names":["createColumnHelper","accessor","column","accessorFn","accessorKey","display","group"],"mappings":";;;;;;;;;;;;;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAoBO,SAASA,kBAAT,GAEkB;EACvB,OAAO;AACLC,IAAAA,QAAQ,EAAE,CAACA,QAAD,EAAWC,MAAX,KAAsB;AAC9B,MAAA,OAAO,OAAOD,QAAP,KAAoB,UAApB,GACF,EACC,GAAGC,MADJ;AAECC,QAAAA,UAAU,EAAEF,QAAAA;OAHX,GAKH,EACE,GAAGC,MADL;AAEEE,QAAAA,WAAW,EAAEH,QAAAA;OAPnB,CAAA;KAFG;IAYLI,OAAO,EAAEH,MAAM,IAAIA,MAZd;IAaLI,KAAK,EAAEJ,MAAM,IAAIA,MAAAA;GAbnB,CAAA;AAeD;;;;"}
|
|
@@ -192,7 +192,7 @@ const RowSelection = {
|
|
|
192
192
|
// return table.options.enableGroupingRowSelection ?? false
|
|
193
193
|
// },
|
|
194
194
|
getIsAllRowsSelected: () => {
|
|
195
|
-
const preGroupedFlatRows = table.
|
|
195
|
+
const preGroupedFlatRows = table.getFilteredRowModel().flatRows;
|
|
196
196
|
const {
|
|
197
197
|
rowSelection
|
|
198
198
|
} = table.getState();
|
|
@@ -223,7 +223,7 @@ const RowSelection = {
|
|
|
223
223
|
var _table$getState$rowSe;
|
|
224
224
|
|
|
225
225
|
const totalSelected = Object.keys((_table$getState$rowSe = table.getState().rowSelection) != null ? _table$getState$rowSe : {}).length;
|
|
226
|
-
return totalSelected > 0 && totalSelected < table.
|
|
226
|
+
return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length;
|
|
227
227
|
},
|
|
228
228
|
getIsSomePageRowsSelected: () => {
|
|
229
229
|
const paginationFlatRows = table.getPaginationRowModel().flatRows;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowSelection.js","sources":["../../../src/features/RowSelection.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport { OnChangeFn, Table, Row, RowModel, Updater, RowData } from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type RowSelectionState = Record<string, boolean>\n\nexport type RowSelectionTableState = {\n rowSelection: RowSelectionState\n}\n\nexport type RowSelectionOptions<TData extends RowData> = {\n enableRowSelection?: boolean | ((row: Row<TData>) => boolean)\n enableMultiRowSelection?: boolean | ((row: Row<TData>) => boolean)\n enableSubRowSelection?: boolean | ((row: Row<TData>) => boolean)\n onRowSelectionChange?: OnChangeFn<RowSelectionState>\n // enableGroupingRowSelection?:\n // | boolean\n // | ((\n // row: Row<TData>\n // ) => boolean)\n // isAdditiveSelectEvent?: (e: unknown) => boolean\n // isInclusiveSelectEvent?: (e: unknown) => boolean\n // selectRowsFn?: (\n // table: Table<TData>,\n // rowModel: RowModel<TData>\n // ) => RowModel<TData>\n}\n\nexport type RowSelectionRow = {\n getIsSelected: () => boolean\n getIsSomeSelected: () => boolean\n getIsAllSubRowsSelected: () => boolean\n getCanSelect: () => boolean\n getCanMultiSelect: () => boolean\n getCanSelectSubRows: () => boolean\n toggleSelected: (value?: boolean) => void\n getToggleSelectedHandler: () => (event: unknown) => void\n}\n\nexport type RowSelectionInstance<TData extends RowData> = {\n getToggleAllRowsSelectedHandler: () => (event: unknown) => void\n getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void\n setRowSelection: (updater: Updater<RowSelectionState>) => void\n resetRowSelection: (defaultState?: boolean) => void\n getIsAllRowsSelected: () => boolean\n getIsAllPageRowsSelected: () => boolean\n getIsSomeRowsSelected: () => boolean\n getIsSomePageRowsSelected: () => boolean\n toggleAllRowsSelected: (value?: boolean) => void\n toggleAllPageRowsSelected: (value?: boolean) => void\n getPreSelectedRowModel: () => RowModel<TData>\n getSelectedRowModel: () => RowModel<TData>\n getFilteredSelectedRowModel: () => RowModel<TData>\n getGroupedSelectedRowModel: () => RowModel<TData>\n}\n\n//\n\nexport const RowSelection: TableFeature = {\n getInitialState: (state): RowSelectionTableState => {\n return {\n rowSelection: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): RowSelectionOptions<TData> => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', table),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true,\n // enableGroupingRowSelection: false,\n // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey,\n // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey,\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): RowSelectionInstance<TData> => {\n return {\n setRowSelection: updater => table.options.onRowSelectionChange?.(updater),\n resetRowSelection: defaultState =>\n table.setRowSelection(\n defaultState ? {} : table.initialState.rowSelection ?? {}\n ),\n toggleAllRowsSelected: value => {\n table.setRowSelection(old => {\n value =\n typeof value !== 'undefined' ? value : !table.getIsAllRowsSelected()\n\n const rowSelection = { ...old }\n\n const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach(row => {\n if (!row.getCanSelect()) {\n return\n }\n rowSelection[row.id] = true\n })\n } else {\n preGroupedFlatRows.forEach(row => {\n delete rowSelection[row.id]\n })\n }\n\n return rowSelection\n })\n },\n toggleAllPageRowsSelected: value =>\n table.setRowSelection(old => {\n const resolvedValue =\n typeof value !== 'undefined'\n ? value\n : !table.getIsAllPageRowsSelected()\n\n const rowSelection: RowSelectionState = { ...old }\n\n table.getRowModel().rows.forEach(row => {\n mutateRowIsSelected(rowSelection, row.id, resolvedValue, table)\n })\n\n return rowSelection\n }),\n\n // addRowSelectionRange: rowId => {\n // const {\n // rows,\n // rowsById,\n // options: { selectGroupingRows, selectSubRows },\n // } = table\n\n // const findSelectedRow = (rows: Row[]) => {\n // let found\n // rows.find(d => {\n // if (d.getIsSelected()) {\n // found = d\n // return true\n // }\n // const subFound = findSelectedRow(d.subRows || [])\n // if (subFound) {\n // found = subFound\n // return true\n // }\n // return false\n // })\n // return found\n // }\n\n // const firstRow = findSelectedRow(rows) || rows[0]\n // const lastRow = rowsById[rowId]\n\n // let include = false\n // const selectedRowIds = {}\n\n // const addRow = (row: Row) => {\n // mutateRowIsSelected(selectedRowIds, row.id, true, {\n // rowsById,\n // selectGroupingRows: selectGroupingRows!,\n // selectSubRows: selectSubRows!,\n // })\n // }\n\n // table.rows.forEach(row => {\n // const isFirstRow = row.id === firstRow.id\n // const isLastRow = row.id === lastRow.id\n\n // if (isFirstRow || isLastRow) {\n // if (!include) {\n // include = true\n // } else if (include) {\n // addRow(row)\n // include = false\n // }\n // }\n\n // if (include) {\n // addRow(row)\n // }\n // })\n\n // table.setRowSelection(selectedRowIds)\n // },\n getPreSelectedRowModel: () => table.getCoreRowModel(),\n getSelectedRowModel: memo(\n () => [table.getState().rowSelection, table.getCoreRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(table, rowModel)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getSelectedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n ),\n\n getFilteredSelectedRowModel: memo(\n () => [table.getState().rowSelection, table.getFilteredRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(table, rowModel)\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getFilteredSelectedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n ),\n\n getGroupedSelectedRowModel: memo(\n () => [table.getState().rowSelection, table.getSortedRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(table, rowModel)\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getGroupedSelectedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n ),\n\n ///\n\n // getGroupingRowCanSelect: rowId => {\n // const row = table.getRow(rowId)\n\n // if (!row) {\n // throw new Error()\n // }\n\n // if (typeof table.options.enableGroupingRowSelection === 'function') {\n // return table.options.enableGroupingRowSelection(row)\n // }\n\n // return table.options.enableGroupingRowSelection ?? false\n // },\n\n getIsAllRowsSelected: () => {\n const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows\n const { rowSelection } = table.getState()\n\n let isAllRowsSelected = Boolean(\n preGroupedFlatRows.length && Object.keys(rowSelection).length\n )\n\n if (isAllRowsSelected) {\n if (\n preGroupedFlatRows.some(\n row => row.getCanSelect() && !rowSelection[row.id]\n )\n ) {\n isAllRowsSelected = false\n }\n }\n\n return isAllRowsSelected\n },\n\n getIsAllPageRowsSelected: () => {\n const paginationFlatRows = table.getPaginationRowModel().flatRows\n const { rowSelection } = table.getState()\n\n let isAllPageRowsSelected = !!paginationFlatRows.length\n\n if (\n isAllPageRowsSelected &&\n paginationFlatRows.some(row => !rowSelection[row.id])\n ) {\n isAllPageRowsSelected = false\n }\n\n return isAllPageRowsSelected\n },\n\n getIsSomeRowsSelected: () => {\n const totalSelected = Object.keys(\n table.getState().rowSelection ?? {}\n ).length\n return (\n totalSelected > 0 &&\n totalSelected < table.getCoreRowModel().flatRows.length\n )\n },\n\n getIsSomePageRowsSelected: () => {\n const paginationFlatRows = table.getPaginationRowModel().flatRows\n return table.getIsAllPageRowsSelected()\n ? false\n : paginationFlatRows.some(\n d => d.getIsSelected() || d.getIsSomeSelected()\n )\n },\n\n getToggleAllRowsSelectedHandler: () => {\n return (e: unknown) => {\n table.toggleAllRowsSelected(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n\n getToggleAllPageRowsSelectedHandler: () => {\n return (e: unknown) => {\n table.toggleAllPageRowsSelected(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): RowSelectionRow => {\n return {\n toggleSelected: value => {\n const isSelected = row.getIsSelected()\n\n table.setRowSelection(old => {\n value = typeof value !== 'undefined' ? value : !isSelected\n\n if (isSelected === value) {\n return old\n }\n\n const selectedRowIds = { ...old }\n\n mutateRowIsSelected(selectedRowIds, row.id, value, table)\n\n return selectedRowIds\n })\n },\n getIsSelected: () => {\n const { rowSelection } = table.getState()\n return isRowSelected(row, rowSelection)\n },\n\n getIsSomeSelected: () => {\n const { rowSelection } = table.getState()\n return isSubRowSelected(row, rowSelection, table) === 'some'\n },\n\n getIsAllSubRowsSelected: () => {\n const { rowSelection } = table.getState()\n return isSubRowSelected(row, rowSelection, table) === 'all'\n },\n\n getCanSelect: () => {\n if (typeof table.options.enableRowSelection === 'function') {\n return table.options.enableRowSelection(row)\n }\n\n return table.options.enableRowSelection ?? true\n },\n\n getCanSelectSubRows: () => {\n if (typeof table.options.enableSubRowSelection === 'function') {\n return table.options.enableSubRowSelection(row)\n }\n\n return table.options.enableSubRowSelection ?? true\n },\n\n getCanMultiSelect: () => {\n if (typeof table.options.enableMultiRowSelection === 'function') {\n return table.options.enableMultiRowSelection(row)\n }\n\n return table.options.enableMultiRowSelection ?? true\n },\n getToggleSelectedHandler: () => {\n const canSelect = row.getCanSelect()\n\n return (e: unknown) => {\n if (!canSelect) return\n row.toggleSelected(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n }\n },\n}\n\nconst mutateRowIsSelected = <TData extends RowData>(\n selectedRowIds: Record<string, boolean>,\n id: string,\n value: boolean,\n table: Table<TData>\n) => {\n const row = table.getRow(id)\n\n // const isGrouped = row.getIsGrouped()\n\n // if ( // TODO: enforce grouping row selection rules\n // !isGrouped ||\n // (isGrouped && table.options.enableGroupingRowSelection)\n // ) {\n if (value) {\n if (!row.getCanMultiSelect()) {\n Object.keys(selectedRowIds).forEach(key => delete selectedRowIds[key])\n }\n if (row.getCanSelect()) {\n selectedRowIds[id] = true\n }\n } else {\n delete selectedRowIds[id]\n }\n // }\n\n if (row.subRows?.length && row.getCanSelectSubRows()) {\n row.subRows.forEach(row =>\n mutateRowIsSelected(selectedRowIds, row.id, value, table)\n )\n }\n}\n\nexport function selectRowsFn<TData extends RowData>(\n table: Table<TData>,\n rowModel: RowModel<TData>\n): RowModel<TData> {\n const rowSelection = table.getState().rowSelection\n\n const newSelectedFlatRows: Row<TData>[] = []\n const newSelectedRowsById: Record<string, Row<TData>> = {}\n\n // Filters top level and nested rows\n const recurseRows = (rows: Row<TData>[], depth = 0): Row<TData>[] => {\n return rows\n .map(row => {\n const isSelected = isRowSelected(row, rowSelection)\n\n if (isSelected) {\n newSelectedFlatRows.push(row)\n newSelectedRowsById[row.id] = row\n }\n\n if (row.subRows?.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows, depth + 1),\n }\n }\n\n if (isSelected) {\n return row\n }\n })\n .filter(Boolean) as Row<TData>[]\n }\n\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById,\n }\n}\n\nexport function isRowSelected<TData extends RowData>(\n row: Row<TData>,\n selection: Record<string, boolean>\n): boolean {\n return selection[row.id] ?? false\n}\n\nexport function isSubRowSelected<TData extends RowData>(\n row: Row<TData>,\n selection: Record<string, boolean>,\n table: Table<TData>\n): boolean | 'some' | 'all' {\n if (row.subRows && row.subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n row.subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (isRowSelected(subRow, selection)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n\n return allChildrenSelected ? 'all' : someSelected ? 'some' : false\n }\n\n return false\n}\n"],"names":["RowSelection","getInitialState","state","rowSelection","getDefaultOptions","table","onRowSelectionChange","makeStateUpdater","enableRowSelection","enableMultiRowSelection","enableSubRowSelection","createTable","setRowSelection","updater","options","resetRowSelection","defaultState","initialState","toggleAllRowsSelected","value","old","getIsAllRowsSelected","preGroupedFlatRows","getPreGroupedRowModel","flatRows","forEach","row","getCanSelect","id","toggleAllPageRowsSelected","resolvedValue","getIsAllPageRowsSelected","getRowModel","rows","mutateRowIsSelected","getPreSelectedRowModel","getCoreRowModel","getSelectedRowModel","memo","getState","rowModel","Object","keys","length","rowsById","selectRowsFn","key","process","env","NODE_ENV","debug","debugAll","debugTable","getFilteredSelectedRowModel","getFilteredRowModel","getGroupedSelectedRowModel","getSortedRowModel","isAllRowsSelected","Boolean","some","paginationFlatRows","getPaginationRowModel","isAllPageRowsSelected","getIsSomeRowsSelected","totalSelected","getIsSomePageRowsSelected","d","getIsSelected","getIsSomeSelected","getToggleAllRowsSelectedHandler","e","target","checked","getToggleAllPageRowsSelectedHandler","createRow","toggleSelected","isSelected","selectedRowIds","isRowSelected","isSubRowSelected","getIsAllSubRowsSelected","getCanSelectSubRows","getCanMultiSelect","getToggleSelectedHandler","canSelect","getRow","subRows","newSelectedFlatRows","newSelectedRowsById","recurseRows","depth","map","push","filter","selection","allChildrenSelected","someSelected","subRow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RowSelection.js","sources":["../../../src/features/RowSelection.ts"],"sourcesContent":["import { TableFeature } from '../core/table'\nimport { OnChangeFn, Table, Row, RowModel, Updater, RowData } from '../types'\nimport { makeStateUpdater, memo } from '../utils'\n\nexport type RowSelectionState = Record<string, boolean>\n\nexport type RowSelectionTableState = {\n rowSelection: RowSelectionState\n}\n\nexport type RowSelectionOptions<TData extends RowData> = {\n enableRowSelection?: boolean | ((row: Row<TData>) => boolean)\n enableMultiRowSelection?: boolean | ((row: Row<TData>) => boolean)\n enableSubRowSelection?: boolean | ((row: Row<TData>) => boolean)\n onRowSelectionChange?: OnChangeFn<RowSelectionState>\n // enableGroupingRowSelection?:\n // | boolean\n // | ((\n // row: Row<TData>\n // ) => boolean)\n // isAdditiveSelectEvent?: (e: unknown) => boolean\n // isInclusiveSelectEvent?: (e: unknown) => boolean\n // selectRowsFn?: (\n // table: Table<TData>,\n // rowModel: RowModel<TData>\n // ) => RowModel<TData>\n}\n\nexport type RowSelectionRow = {\n getIsSelected: () => boolean\n getIsSomeSelected: () => boolean\n getIsAllSubRowsSelected: () => boolean\n getCanSelect: () => boolean\n getCanMultiSelect: () => boolean\n getCanSelectSubRows: () => boolean\n toggleSelected: (value?: boolean) => void\n getToggleSelectedHandler: () => (event: unknown) => void\n}\n\nexport type RowSelectionInstance<TData extends RowData> = {\n getToggleAllRowsSelectedHandler: () => (event: unknown) => void\n getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void\n setRowSelection: (updater: Updater<RowSelectionState>) => void\n resetRowSelection: (defaultState?: boolean) => void\n getIsAllRowsSelected: () => boolean\n getIsAllPageRowsSelected: () => boolean\n getIsSomeRowsSelected: () => boolean\n getIsSomePageRowsSelected: () => boolean\n toggleAllRowsSelected: (value?: boolean) => void\n toggleAllPageRowsSelected: (value?: boolean) => void\n getPreSelectedRowModel: () => RowModel<TData>\n getSelectedRowModel: () => RowModel<TData>\n getFilteredSelectedRowModel: () => RowModel<TData>\n getGroupedSelectedRowModel: () => RowModel<TData>\n}\n\n//\n\nexport const RowSelection: TableFeature = {\n getInitialState: (state): RowSelectionTableState => {\n return {\n rowSelection: {},\n ...state,\n }\n },\n\n getDefaultOptions: <TData extends RowData>(\n table: Table<TData>\n ): RowSelectionOptions<TData> => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', table),\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true,\n // enableGroupingRowSelection: false,\n // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey,\n // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey,\n }\n },\n\n createTable: <TData extends RowData>(\n table: Table<TData>\n ): RowSelectionInstance<TData> => {\n return {\n setRowSelection: updater => table.options.onRowSelectionChange?.(updater),\n resetRowSelection: defaultState =>\n table.setRowSelection(\n defaultState ? {} : table.initialState.rowSelection ?? {}\n ),\n toggleAllRowsSelected: value => {\n table.setRowSelection(old => {\n value =\n typeof value !== 'undefined' ? value : !table.getIsAllRowsSelected()\n\n const rowSelection = { ...old }\n\n const preGroupedFlatRows = table.getPreGroupedRowModel().flatRows\n\n // We don't use `mutateRowIsSelected` here for performance reasons.\n // All of the rows are flat already, so it wouldn't be worth it\n if (value) {\n preGroupedFlatRows.forEach(row => {\n if (!row.getCanSelect()) {\n return\n }\n rowSelection[row.id] = true\n })\n } else {\n preGroupedFlatRows.forEach(row => {\n delete rowSelection[row.id]\n })\n }\n\n return rowSelection\n })\n },\n toggleAllPageRowsSelected: value =>\n table.setRowSelection(old => {\n const resolvedValue =\n typeof value !== 'undefined'\n ? value\n : !table.getIsAllPageRowsSelected()\n\n const rowSelection: RowSelectionState = { ...old }\n\n table.getRowModel().rows.forEach(row => {\n mutateRowIsSelected(rowSelection, row.id, resolvedValue, table)\n })\n\n return rowSelection\n }),\n\n // addRowSelectionRange: rowId => {\n // const {\n // rows,\n // rowsById,\n // options: { selectGroupingRows, selectSubRows },\n // } = table\n\n // const findSelectedRow = (rows: Row[]) => {\n // let found\n // rows.find(d => {\n // if (d.getIsSelected()) {\n // found = d\n // return true\n // }\n // const subFound = findSelectedRow(d.subRows || [])\n // if (subFound) {\n // found = subFound\n // return true\n // }\n // return false\n // })\n // return found\n // }\n\n // const firstRow = findSelectedRow(rows) || rows[0]\n // const lastRow = rowsById[rowId]\n\n // let include = false\n // const selectedRowIds = {}\n\n // const addRow = (row: Row) => {\n // mutateRowIsSelected(selectedRowIds, row.id, true, {\n // rowsById,\n // selectGroupingRows: selectGroupingRows!,\n // selectSubRows: selectSubRows!,\n // })\n // }\n\n // table.rows.forEach(row => {\n // const isFirstRow = row.id === firstRow.id\n // const isLastRow = row.id === lastRow.id\n\n // if (isFirstRow || isLastRow) {\n // if (!include) {\n // include = true\n // } else if (include) {\n // addRow(row)\n // include = false\n // }\n // }\n\n // if (include) {\n // addRow(row)\n // }\n // })\n\n // table.setRowSelection(selectedRowIds)\n // },\n getPreSelectedRowModel: () => table.getCoreRowModel(),\n getSelectedRowModel: memo(\n () => [table.getState().rowSelection, table.getCoreRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(table, rowModel)\n },\n {\n key: process.env.NODE_ENV === 'development' && 'getSelectedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n ),\n\n getFilteredSelectedRowModel: memo(\n () => [table.getState().rowSelection, table.getFilteredRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(table, rowModel)\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getFilteredSelectedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n ),\n\n getGroupedSelectedRowModel: memo(\n () => [table.getState().rowSelection, table.getSortedRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(table, rowModel)\n },\n {\n key:\n process.env.NODE_ENV === 'production' &&\n 'getGroupedSelectedRowModel',\n debug: () => table.options.debugAll ?? table.options.debugTable,\n }\n ),\n\n ///\n\n // getGroupingRowCanSelect: rowId => {\n // const row = table.getRow(rowId)\n\n // if (!row) {\n // throw new Error()\n // }\n\n // if (typeof table.options.enableGroupingRowSelection === 'function') {\n // return table.options.enableGroupingRowSelection(row)\n // }\n\n // return table.options.enableGroupingRowSelection ?? false\n // },\n\n getIsAllRowsSelected: () => {\n const preGroupedFlatRows = table.getFilteredRowModel().flatRows\n const { rowSelection } = table.getState()\n\n let isAllRowsSelected = Boolean(\n preGroupedFlatRows.length && Object.keys(rowSelection).length\n )\n\n if (isAllRowsSelected) {\n if (\n preGroupedFlatRows.some(\n row => row.getCanSelect() && !rowSelection[row.id]\n )\n ) {\n isAllRowsSelected = false\n }\n }\n\n return isAllRowsSelected\n },\n\n getIsAllPageRowsSelected: () => {\n const paginationFlatRows = table.getPaginationRowModel().flatRows\n const { rowSelection } = table.getState()\n\n let isAllPageRowsSelected = !!paginationFlatRows.length\n\n if (\n isAllPageRowsSelected &&\n paginationFlatRows.some(row => !rowSelection[row.id])\n ) {\n isAllPageRowsSelected = false\n }\n\n return isAllPageRowsSelected\n },\n\n getIsSomeRowsSelected: () => {\n const totalSelected = Object.keys(\n table.getState().rowSelection ?? {}\n ).length\n return (\n totalSelected > 0 &&\n totalSelected < table.getFilteredRowModel().flatRows.length\n )\n },\n\n getIsSomePageRowsSelected: () => {\n const paginationFlatRows = table.getPaginationRowModel().flatRows\n return table.getIsAllPageRowsSelected()\n ? false\n : paginationFlatRows.some(\n d => d.getIsSelected() || d.getIsSomeSelected()\n )\n },\n\n getToggleAllRowsSelectedHandler: () => {\n return (e: unknown) => {\n table.toggleAllRowsSelected(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n\n getToggleAllPageRowsSelectedHandler: () => {\n return (e: unknown) => {\n table.toggleAllPageRowsSelected(\n ((e as MouseEvent).target as HTMLInputElement).checked\n )\n }\n },\n }\n },\n\n createRow: <TData extends RowData>(\n row: Row<TData>,\n table: Table<TData>\n ): RowSelectionRow => {\n return {\n toggleSelected: value => {\n const isSelected = row.getIsSelected()\n\n table.setRowSelection(old => {\n value = typeof value !== 'undefined' ? value : !isSelected\n\n if (isSelected === value) {\n return old\n }\n\n const selectedRowIds = { ...old }\n\n mutateRowIsSelected(selectedRowIds, row.id, value, table)\n\n return selectedRowIds\n })\n },\n getIsSelected: () => {\n const { rowSelection } = table.getState()\n return isRowSelected(row, rowSelection)\n },\n\n getIsSomeSelected: () => {\n const { rowSelection } = table.getState()\n return isSubRowSelected(row, rowSelection, table) === 'some'\n },\n\n getIsAllSubRowsSelected: () => {\n const { rowSelection } = table.getState()\n return isSubRowSelected(row, rowSelection, table) === 'all'\n },\n\n getCanSelect: () => {\n if (typeof table.options.enableRowSelection === 'function') {\n return table.options.enableRowSelection(row)\n }\n\n return table.options.enableRowSelection ?? true\n },\n\n getCanSelectSubRows: () => {\n if (typeof table.options.enableSubRowSelection === 'function') {\n return table.options.enableSubRowSelection(row)\n }\n\n return table.options.enableSubRowSelection ?? true\n },\n\n getCanMultiSelect: () => {\n if (typeof table.options.enableMultiRowSelection === 'function') {\n return table.options.enableMultiRowSelection(row)\n }\n\n return table.options.enableMultiRowSelection ?? true\n },\n getToggleSelectedHandler: () => {\n const canSelect = row.getCanSelect()\n\n return (e: unknown) => {\n if (!canSelect) return\n row.toggleSelected(\n ((e as MouseEvent).target as HTMLInputElement)?.checked\n )\n }\n },\n }\n },\n}\n\nconst mutateRowIsSelected = <TData extends RowData>(\n selectedRowIds: Record<string, boolean>,\n id: string,\n value: boolean,\n table: Table<TData>\n) => {\n const row = table.getRow(id)\n\n // const isGrouped = row.getIsGrouped()\n\n // if ( // TODO: enforce grouping row selection rules\n // !isGrouped ||\n // (isGrouped && table.options.enableGroupingRowSelection)\n // ) {\n if (value) {\n if (!row.getCanMultiSelect()) {\n Object.keys(selectedRowIds).forEach(key => delete selectedRowIds[key])\n }\n if (row.getCanSelect()) {\n selectedRowIds[id] = true\n }\n } else {\n delete selectedRowIds[id]\n }\n // }\n\n if (row.subRows?.length && row.getCanSelectSubRows()) {\n row.subRows.forEach(row =>\n mutateRowIsSelected(selectedRowIds, row.id, value, table)\n )\n }\n}\n\nexport function selectRowsFn<TData extends RowData>(\n table: Table<TData>,\n rowModel: RowModel<TData>\n): RowModel<TData> {\n const rowSelection = table.getState().rowSelection\n\n const newSelectedFlatRows: Row<TData>[] = []\n const newSelectedRowsById: Record<string, Row<TData>> = {}\n\n // Filters top level and nested rows\n const recurseRows = (rows: Row<TData>[], depth = 0): Row<TData>[] => {\n return rows\n .map(row => {\n const isSelected = isRowSelected(row, rowSelection)\n\n if (isSelected) {\n newSelectedFlatRows.push(row)\n newSelectedRowsById[row.id] = row\n }\n\n if (row.subRows?.length) {\n row = {\n ...row,\n subRows: recurseRows(row.subRows, depth + 1),\n }\n }\n\n if (isSelected) {\n return row\n }\n })\n .filter(Boolean) as Row<TData>[]\n }\n\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById,\n }\n}\n\nexport function isRowSelected<TData extends RowData>(\n row: Row<TData>,\n selection: Record<string, boolean>\n): boolean {\n return selection[row.id] ?? false\n}\n\nexport function isSubRowSelected<TData extends RowData>(\n row: Row<TData>,\n selection: Record<string, boolean>,\n table: Table<TData>\n): boolean | 'some' | 'all' {\n if (row.subRows && row.subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n row.subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (isRowSelected(subRow, selection)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n\n return allChildrenSelected ? 'all' : someSelected ? 'some' : false\n }\n\n return false\n}\n"],"names":["RowSelection","getInitialState","state","rowSelection","getDefaultOptions","table","onRowSelectionChange","makeStateUpdater","enableRowSelection","enableMultiRowSelection","enableSubRowSelection","createTable","setRowSelection","updater","options","resetRowSelection","defaultState","initialState","toggleAllRowsSelected","value","old","getIsAllRowsSelected","preGroupedFlatRows","getPreGroupedRowModel","flatRows","forEach","row","getCanSelect","id","toggleAllPageRowsSelected","resolvedValue","getIsAllPageRowsSelected","getRowModel","rows","mutateRowIsSelected","getPreSelectedRowModel","getCoreRowModel","getSelectedRowModel","memo","getState","rowModel","Object","keys","length","rowsById","selectRowsFn","key","process","env","NODE_ENV","debug","debugAll","debugTable","getFilteredSelectedRowModel","getFilteredRowModel","getGroupedSelectedRowModel","getSortedRowModel","isAllRowsSelected","Boolean","some","paginationFlatRows","getPaginationRowModel","isAllPageRowsSelected","getIsSomeRowsSelected","totalSelected","getIsSomePageRowsSelected","d","getIsSelected","getIsSomeSelected","getToggleAllRowsSelectedHandler","e","target","checked","getToggleAllPageRowsSelectedHandler","createRow","toggleSelected","isSelected","selectedRowIds","isRowSelected","isSubRowSelected","getIsAllSubRowsSelected","getCanSelectSubRows","getCanMultiSelect","getToggleSelectedHandler","canSelect","getRow","subRows","newSelectedFlatRows","newSelectedRowsById","recurseRows","depth","map","push","filter","selection","allChildrenSelected","someSelected","subRow"],"mappings":"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"}
|
package/build/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import { TableState, Updater } from './types'\n\nexport type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type RequiredKeys<T, K extends keyof T> = Omit<T, K> &\n Required<Pick<T, K>>\nexport type Overwrite<T, U extends { [TKey in keyof T]?: any }> = Omit<\n T,\n keyof U\n> &\n U\n\nexport type UnionToIntersection<T> = (\n T extends any ? (x: T) => any : never\n) extends (x: infer R) => any\n ? R\n : never\n\nexport type IsAny<T, Y, N> = 1 extends 0 & T ? Y : N\nexport type IsKnown<T, Y, N> = unknown extends T ? N : Y\n\ntype ComputeRange<\n N extends number,\n Result extends Array<unknown> = []\n> = Result['length'] extends N\n ? Result\n : ComputeRange<N, [...Result, Result['length']]>\ntype Index100 = ComputeRange<100>[number]\n\n// Is this type a tuple?\ntype IsTuple<T> = T extends readonly any[] & { length: infer Length }\n ? Length extends Index100\n ? T\n : never\n : never\n\n// If this type is a tuple, what indices are allowed?\ntype AllowedIndexes<\n Tuple extends ReadonlyArray<any>,\n Keys extends number = never\n> = Tuple extends readonly []\n ? Keys\n : Tuple extends readonly [infer _, ...infer Tail]\n ? AllowedIndexes<Tail, Keys | Tail['length']>\n : Keys\n\nexport type DeepKeys<T> = unknown extends T\n ? keyof T\n : object extends T\n ? string\n : T extends readonly any[] & IsTuple<T>\n ? AllowedIndexes<T> | DeepKeysPrefix<T
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import { TableState, Updater } from './types'\n\nexport type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type RequiredKeys<T, K extends keyof T> = Omit<T, K> &\n Required<Pick<T, K>>\nexport type Overwrite<T, U extends { [TKey in keyof T]?: any }> = Omit<\n T,\n keyof U\n> &\n U\n\nexport type UnionToIntersection<T> = (\n T extends any ? (x: T) => any : never\n) extends (x: infer R) => any\n ? R\n : never\n\nexport type IsAny<T, Y, N> = 1 extends 0 & T ? Y : N\nexport type IsKnown<T, Y, N> = unknown extends T ? N : Y\n\ntype ComputeRange<\n N extends number,\n Result extends Array<unknown> = []\n> = Result['length'] extends N\n ? Result\n : ComputeRange<N, [...Result, Result['length']]>\ntype Index100 = ComputeRange<100>[number]\n\n// Is this type a tuple?\ntype IsTuple<T> = T extends readonly any[] & { length: infer Length }\n ? Length extends Index100\n ? T\n : never\n : never\n\n// If this type is a tuple, what indices are allowed?\ntype AllowedIndexes<\n Tuple extends ReadonlyArray<any>,\n Keys extends number = never\n> = Tuple extends readonly []\n ? Keys\n : Tuple extends readonly [infer _, ...infer Tail]\n ? AllowedIndexes<Tail, Keys | Tail['length']>\n : Keys\n\nexport type DeepKeys<T> = unknown extends T\n ? keyof T\n : object extends T\n ? string\n : T extends readonly any[] & IsTuple<T>\n ? AllowedIndexes<T> | DeepKeysPrefix<T>\n : T extends any[]\n ? never & 'Dynamic length array indexing is not supported'\n : T extends Date\n ? never\n : T extends object\n ? (keyof T & string) | DeepKeysPrefix<T>\n : never\n\ntype Key = string | number | symbol\ntype Join<L extends Key | undefined, R extends Key | undefined> = L extends\n | string\n | number\n ? R extends string | number\n ? `${L}.${R}`\n : L\n : R extends string | number\n ? R\n : undefined\ntype Union<\n L extends unknown | undefined,\n R extends unknown | undefined\n> = L extends undefined\n ? R extends undefined\n ? undefined\n : R\n : R extends undefined\n ? L\n : L | R\ntype DeepKeysPrefix<\n T extends object,\n Prev extends Key | undefined = undefined,\n Path extends Key | undefined = undefined,\n PrevTypes extends object = T\n> = string &\n {\n [K in keyof T]: T[K] extends PrevTypes | T\n ? Union<Union<Prev, Path>, Join<Path, K>>\n : T[K] extends object\n ? DeepKeysPrefix<T[K], Union<Prev, Path>, Join<Path, K>, PrevTypes | T>\n : Union<Union<Prev, Path>, Join<Path, K>>\n }[keyof T]\n\nexport type DeepValue<T, TProp> = T extends Record<string | number, any>\n ? TProp extends `${infer TBranch}.${infer TDeepProp}`\n ? DeepValue<T[TBranch], TDeepProp>\n : T[TProp & string]\n : never\n\nexport type NoInfer<T> = [T][T extends any ? 0 : never]\n\nexport type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>\n\n///\n\nexport function functionalUpdate<T>(updater: Updater<T>, input: T): T {\n return typeof updater === 'function'\n ? (updater as (input: T) => T)(input)\n : updater\n}\n\nexport function noop() {\n //\n}\n\nexport function makeStateUpdater<K extends keyof TableState>(\n key: K,\n instance: unknown\n) {\n return (updater: Updater<TableState[K]>) => {\n ;(instance as any).setState(<TTableState>(old: TTableState) => {\n return {\n ...old,\n [key]: functionalUpdate(updater, (old as any)[key]),\n }\n })\n }\n}\n\ntype AnyFunction = (...args: any) => any\n\nexport function isFunction<T extends AnyFunction>(d: any): d is T {\n return d instanceof Function\n}\n\nexport function flattenBy<TNode>(\n arr: TNode[],\n getChildren: (item: TNode) => TNode[]\n) {\n const flat: TNode[] = []\n\n const recurse = (subArr: TNode[]) => {\n subArr.forEach(item => {\n flat.push(item)\n const children = getChildren(item)\n if (children?.length) {\n recurse(children)\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function memo<TDeps extends readonly any[], TResult>(\n getDeps: () => [...TDeps],\n fn: (...args: NoInfer<[...TDeps]>) => TResult,\n opts: {\n key: any\n debug?: () => any\n onChange?: (result: TResult) => void\n }\n): () => TResult {\n let deps: any[] = []\n let result: TResult | undefined\n\n return () => {\n let depTime: number\n if (opts.key && opts.debug) depTime = Date.now()\n\n const newDeps = getDeps()\n\n const depsChanged =\n newDeps.length !== deps.length ||\n newDeps.some((dep: any, index: number) => deps[index] !== dep)\n\n if (!depsChanged) {\n return result!\n }\n\n deps = newDeps\n\n let resultTime: number\n if (opts.key && opts.debug) resultTime = Date.now()\n\n result = fn(...newDeps)\n opts?.onChange?.(result)\n\n if (opts.key && opts.debug) {\n if (opts?.debug()) {\n const depEndTime = Math.round((Date.now() - depTime!) * 100) / 100\n const resultEndTime = Math.round((Date.now() - resultTime!) * 100) / 100\n const resultFpsPercentage = resultEndTime / 16\n\n const pad = (str: number | string, num: number) => {\n str = String(str)\n while (str.length < num) {\n str = ' ' + str\n }\n return str\n }\n\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts?.key\n )\n }\n }\n\n return result!\n }\n}\n"],"names":["functionalUpdate","updater","input","noop","makeStateUpdater","key","instance","setState","old","isFunction","d","Function","flattenBy","arr","getChildren","flat","recurse","subArr","forEach","item","push","children","length","memo","getDeps","fn","opts","deps","result","depTime","debug","Date","now","newDeps","depsChanged","some","dep","index","resultTime","onChange","depEndTime","Math","round","resultEndTime","resultFpsPercentage","pad","str","num","String","console","info","max","min"],"mappings":"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"}
|
package/build/esm/index.js
CHANGED
|
@@ -2146,7 +2146,7 @@ const RowSelection = {
|
|
|
2146
2146
|
// return table.options.enableGroupingRowSelection ?? false
|
|
2147
2147
|
// },
|
|
2148
2148
|
getIsAllRowsSelected: () => {
|
|
2149
|
-
const preGroupedFlatRows = table.
|
|
2149
|
+
const preGroupedFlatRows = table.getFilteredRowModel().flatRows;
|
|
2150
2150
|
const {
|
|
2151
2151
|
rowSelection
|
|
2152
2152
|
} = table.getState();
|
|
@@ -2177,7 +2177,7 @@ const RowSelection = {
|
|
|
2177
2177
|
var _table$getState$rowSe;
|
|
2178
2178
|
|
|
2179
2179
|
const totalSelected = Object.keys((_table$getState$rowSe = table.getState().rowSelection) != null ? _table$getState$rowSe : {}).length;
|
|
2180
|
-
return totalSelected > 0 && totalSelected < table.
|
|
2180
|
+
return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length;
|
|
2181
2181
|
},
|
|
2182
2182
|
getIsSomePageRowsSelected: () => {
|
|
2183
2183
|
const paginationFlatRows = table.getPaginationRowModel().flatRows;
|
|
@@ -3138,6 +3138,7 @@ const createRow = (table, id, original, rowIndex, depth, subRows) => {
|
|
|
3138
3138
|
// visits: number
|
|
3139
3139
|
// status: string
|
|
3140
3140
|
// progress: number
|
|
3141
|
+
// createdAt: Date
|
|
3141
3142
|
// nested: {
|
|
3142
3143
|
// foo: [
|
|
3143
3144
|
// {
|