@tanstack/table-core 8.0.0-alpha.20 → 8.0.0-alpha.21

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.
@@ -155,6 +155,10 @@ var Expanding = {
155
155
  };
156
156
  return utils.propGetter(initialProps, userProps);
157
157
  },
158
+ getIsSomeRowsExpanded: function getIsSomeRowsExpanded() {
159
+ var expanded = instance.getState().expanded;
160
+ return expanded === true || Object.values(expanded).some(Boolean);
161
+ },
158
162
  getIsAllRowsExpanded: function getIsAllRowsExpanded() {
159
163
  var expanded = instance.getState().expanded; // If expanded is true, save some cycles and return true
160
164
 
@@ -1 +1 @@
1
- {"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { MouseEvent, TouchEvent } from 'react'\nimport { RowModel } from '..'\nimport {\n Getter,\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n}\n\nexport type ExpandedOptions<TGenerics extends PartialGenerics> = {\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n expandRowsFn?: (\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n ) => RowModel<TGenerics>\n expandSubRows?: boolean\n defaultCanExpand?: boolean\n getIsRowExpanded?: (row: Row<TGenerics>) => boolean\n getRowCanExpand?: (row: Row<TGenerics>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ToggleExpandedProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type ExpandedInstance<TGenerics extends PartialGenerics> = {\n _notifyExpandedReset: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleRowExpanded: (rowId: string, expanded?: boolean) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: () => void\n getRowCanExpand: (rowId: string) => boolean\n getIsRowExpanded: (rowId: string) => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TGenerics>\n getPreExpandedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Expanding = {\n getInitialState: (): ExpandedTableState => {\n return {\n expanded: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedOptions<TGenerics> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n },\n\n getInstance: <TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n\n return {\n _notifyExpandedReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n instance.resetExpanded()\n }\n },\n setExpanded: updater =>\n instance.options.onExpandedChange?.(\n updater,\n functionalUpdate(updater, instance.getState().expanded)\n ),\n toggleRowExpanded: (rowId, expanded) => {\n if (!rowId) return\n\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[rowId]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [rowId]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [rowId]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: () => {\n instance.setExpanded(instance.initialState?.expanded ?? {})\n },\n getIsRowExpanded: rowId => {\n const row = instance.getPreExpandedRowModel().rowsById[rowId]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getIsRowExpanded: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[rowId])\n )\n },\n getRowCanExpand: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getRowCanExpand: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n return (\n instance.options.getRowCanExpand?.(row) ??\n instance.options.enableExpanded ??\n instance.options.defaultCanExpand ??\n !!row.subRows?.length\n )\n },\n getToggleExpandedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n return\n }\n\n const canExpand = instance.getRowCanExpand(rowId)\n\n const initialProps: ToggleExpandedProps = {\n title: canExpand ? 'Toggle Expanded' : undefined,\n onClick: canExpand\n ? (e: MouseEvent | TouchEvent) => {\n e.persist()\n instance.toggleRowExpanded(rowId)\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n getToggleAllRowsExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle All Expanded',\n onClick: (e: MouseEvent | TouchEvent) => {\n e.persist()\n instance.toggleAllRowsExpanded()\n },\n }\n\n return propGetter(initialProps, userProps)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (\n Object.keys(instance.getRowModel().rowsById).some(\n id => !instance.getIsRowExpanded(id)\n )\n ) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowModel().rowsById)\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getExpandedRowModel: memo(\n () => [\n instance.getState().expanded,\n instance.getGroupedRowModel(),\n instance.options.expandRowsFn,\n instance.options.paginateExpandedRows,\n ],\n (expanded, rowModel, expandRowsFn, paginateExpandedRows) => {\n if (\n !expandRowsFn ||\n // Do not expand if rows are not included in pagination\n !paginateExpandedRows ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n return expandRowsFn(instance, rowModel)\n },\n {\n key: 'getExpandedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n }\n },\n\n createRow: <TGenerics extends PartialGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded =>\n void instance.toggleRowExpanded(row.id, expanded),\n getIsExpanded: () => instance.getIsRowExpanded(row.id),\n getCanExpand: () => row.subRows && !!row.subRows.length,\n getToggleExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle Row Expanded',\n onClick: (e: MouseEvent | TouchEvent) => {\n e.stopPropagation()\n instance.toggleRowExpanded(row.id)\n },\n }\n return propGetter(initialProps, userProps)\n },\n }\n },\n}\n"],"names":["Expanding","getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","getInstance","registered","_notifyExpandedReset","options","autoResetAll","resetExpanded","setExpanded","updater","functionalUpdate","getState","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowModel","rowsById","forEach","rest","toggleAllRowsExpanded","getIsAllRowsExpanded","initialState","getIsRowExpanded","row","getPreExpandedRowModel","process","env","NODE_ENV","console","warn","Error","getRowCanExpand","getRow","enableExpanded","defaultCanExpand","subRows","length","getToggleExpandedProps","userProps","canExpand","initialProps","title","undefined","onClick","e","persist","propGetter","getToggleAllRowsExpandedProps","some","id","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getExpandedRowModel","memo","getGroupedRowModel","expandRowsFn","rowModel","key","debug","debugAll","debugTable","createRow","toggleExpanded","getIsExpanded","getCanExpand","stopPropagation"],"mappings":"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"}
1
+ {"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { MouseEvent, TouchEvent } from 'react'\nimport { RowModel } from '..'\nimport {\n Getter,\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type ExpandedStateList = Record<string, boolean>\nexport type ExpandedState = true | Record<string, boolean>\nexport type ExpandedTableState = {\n expanded: ExpandedState\n}\n\nexport type ExpandedRow = {\n toggleExpanded: (expanded?: boolean) => void\n getIsExpanded: () => boolean\n getCanExpand: () => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n}\n\nexport type ExpandedOptions<TGenerics extends PartialGenerics> = {\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n expandRowsFn?: (\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n ) => RowModel<TGenerics>\n expandSubRows?: boolean\n defaultCanExpand?: boolean\n getIsRowExpanded?: (row: Row<TGenerics>) => boolean\n getRowCanExpand?: (row: Row<TGenerics>) => boolean\n paginateExpandedRows?: boolean\n}\n\nexport type ToggleExpandedProps = {\n title?: string\n onClick?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport type ExpandedInstance<TGenerics extends PartialGenerics> = {\n _notifyExpandedReset: () => void\n setExpanded: (updater: Updater<ExpandedState>) => void\n toggleRowExpanded: (rowId: string, expanded?: boolean) => void\n toggleAllRowsExpanded: (expanded?: boolean) => void\n resetExpanded: () => void\n getRowCanExpand: (rowId: string) => boolean\n getIsRowExpanded: (rowId: string) => boolean\n getToggleExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getToggleAllRowsExpandedProps: <TGetter extends Getter<ToggleExpandedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleExpandedProps, TGetter>\n getIsSomeRowsExpanded: () => boolean\n getIsAllRowsExpanded: () => boolean\n getExpandedDepth: () => number\n getExpandedRowModel: () => RowModel<TGenerics>\n getPreExpandedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Expanding = {\n getInitialState: (): ExpandedTableState => {\n return {\n expanded: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedOptions<TGenerics> => {\n return {\n onExpandedChange: makeStateUpdater('expanded', instance),\n autoResetExpanded: true,\n expandSubRows: true,\n paginateExpandedRows: true,\n }\n },\n\n getInstance: <TGenerics extends PartialGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n\n return {\n _notifyExpandedReset: () => {\n if (!registered) {\n registered = true\n return\n }\n\n if (instance.options.autoResetAll === false) {\n return\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetExpanded\n ) {\n instance.resetExpanded()\n }\n },\n setExpanded: updater =>\n instance.options.onExpandedChange?.(\n updater,\n functionalUpdate(updater, instance.getState().expanded)\n ),\n toggleRowExpanded: (rowId, expanded) => {\n if (!rowId) return\n\n instance.setExpanded(old => {\n const exists = old === true ? true : !!old?.[rowId]\n\n let oldExpanded: ExpandedStateList = {}\n\n if (old === true) {\n Object.keys(instance.getRowModel().rowsById).forEach(rowId => {\n oldExpanded[rowId] = true\n })\n } else {\n oldExpanded = old\n }\n\n expanded = expanded ?? !exists\n\n if (!exists && expanded) {\n return {\n ...oldExpanded,\n [rowId]: true,\n }\n }\n\n if (exists && !expanded) {\n const { [rowId]: _, ...rest } = oldExpanded\n return rest\n }\n\n return old\n })\n },\n toggleAllRowsExpanded: expanded => {\n if (expanded ?? !instance.getIsAllRowsExpanded()) {\n instance.setExpanded(true)\n } else {\n instance.setExpanded({})\n }\n },\n resetExpanded: () => {\n instance.setExpanded(instance.initialState?.expanded ?? {})\n },\n getIsRowExpanded: rowId => {\n const row = instance.getPreExpandedRowModel().rowsById[rowId]\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getIsRowExpanded: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n const expanded = instance.getState().expanded\n\n return !!(\n instance.options.getIsRowExpanded?.(row) ??\n (expanded === true || expanded?.[rowId])\n )\n },\n getRowCanExpand: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `[Table] getRowCanExpand: no row found with id ${rowId}`\n )\n }\n throw new Error()\n }\n\n return (\n instance.options.getRowCanExpand?.(row) ??\n instance.options.enableExpanded ??\n instance.options.defaultCanExpand ??\n !!row.subRows?.length\n )\n },\n getToggleExpandedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n return\n }\n\n const canExpand = instance.getRowCanExpand(rowId)\n\n const initialProps: ToggleExpandedProps = {\n title: canExpand ? 'Toggle Expanded' : undefined,\n onClick: canExpand\n ? (e: MouseEvent | TouchEvent) => {\n e.persist()\n instance.toggleRowExpanded(rowId)\n }\n : undefined,\n }\n\n return propGetter(initialProps, userProps)\n },\n getToggleAllRowsExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle All Expanded',\n onClick: (e: MouseEvent | TouchEvent) => {\n e.persist()\n instance.toggleAllRowsExpanded()\n },\n }\n\n return propGetter(initialProps, userProps)\n },\n getIsSomeRowsExpanded: () => {\n const expanded = instance.getState().expanded\n return expanded === true || Object.values(expanded).some(Boolean)\n },\n getIsAllRowsExpanded: () => {\n const expanded = instance.getState().expanded\n\n // If expanded is true, save some cycles and return true\n if (expanded === true) {\n return true\n }\n\n // If any row is not expanded, return false\n if (\n Object.keys(instance.getRowModel().rowsById).some(\n id => !instance.getIsRowExpanded(id)\n )\n ) {\n return false\n }\n\n // They must all be expanded :shrug:\n return true\n },\n getExpandedDepth: () => {\n let maxDepth = 0\n\n const rowIds =\n instance.getState().expanded === true\n ? Object.keys(instance.getRowModel().rowsById)\n : Object.keys(instance.getState().expanded)\n\n rowIds.forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n },\n getExpandedRowModel: memo(\n () => [\n instance.getState().expanded,\n instance.getGroupedRowModel(),\n instance.options.expandRowsFn,\n instance.options.paginateExpandedRows,\n ],\n (expanded, rowModel, expandRowsFn, paginateExpandedRows) => {\n if (\n !expandRowsFn ||\n // Do not expand if rows are not included in pagination\n !paginateExpandedRows ||\n (expanded !== true && !Object.keys(expanded ?? {}).length)\n ) {\n return rowModel\n }\n\n return expandRowsFn(instance, rowModel)\n },\n {\n key: 'getExpandedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n ),\n\n getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n }\n },\n\n createRow: <TGenerics extends PartialGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): ExpandedRow => {\n return {\n toggleExpanded: expanded =>\n void instance.toggleRowExpanded(row.id, expanded),\n getIsExpanded: () => instance.getIsRowExpanded(row.id),\n getCanExpand: () => row.subRows && !!row.subRows.length,\n getToggleExpandedProps: userProps => {\n const initialProps: ToggleExpandedProps = {\n title: 'Toggle Row Expanded',\n onClick: (e: MouseEvent | TouchEvent) => {\n e.stopPropagation()\n instance.toggleRowExpanded(row.id)\n },\n }\n return propGetter(initialProps, userProps)\n },\n }\n },\n}\n"],"names":["Expanding","getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","getInstance","registered","_notifyExpandedReset","options","autoResetAll","resetExpanded","setExpanded","updater","functionalUpdate","getState","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowModel","rowsById","forEach","rest","toggleAllRowsExpanded","getIsAllRowsExpanded","initialState","getIsRowExpanded","row","getPreExpandedRowModel","process","env","NODE_ENV","console","warn","Error","getRowCanExpand","getRow","enableExpanded","defaultCanExpand","subRows","length","getToggleExpandedProps","userProps","canExpand","initialProps","title","undefined","onClick","e","persist","propGetter","getToggleAllRowsExpandedProps","getIsSomeRowsExpanded","values","some","Boolean","id","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getExpandedRowModel","memo","getGroupedRowModel","expandRowsFn","rowModel","key","debug","debugAll","debugTable","createRow","toggleExpanded","getIsExpanded","getCanExpand","stopPropagation"],"mappings":"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"}
@@ -2900,6 +2900,10 @@ var Expanding = {
2900
2900
  };
2901
2901
  return propGetter(initialProps, userProps);
2902
2902
  },
2903
+ getIsSomeRowsExpanded: function getIsSomeRowsExpanded() {
2904
+ var expanded = instance.getState().expanded;
2905
+ return expanded === true || Object.values(expanded).some(Boolean);
2906
+ },
2903
2907
  getIsAllRowsExpanded: function getIsAllRowsExpanded() {
2904
2908
  var expanded = instance.getState().expanded; // If expanded is true, save some cycles and return true
2905
2909