@tanstack/table-core 8.0.0-alpha.40 → 8.0.0-alpha.43

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.
Files changed (39) hide show
  1. package/build/cjs/features/Expanding.js +5 -0
  2. package/build/cjs/features/Expanding.js.map +1 -1
  3. package/build/cjs/features/Filters.js.map +1 -1
  4. package/build/cjs/features/RowSelection.js.map +1 -1
  5. package/build/cjs/utils/getColumnFilteredRowModelSync.js +2 -2
  6. package/build/cjs/utils/getColumnFilteredRowModelSync.js.map +1 -1
  7. package/build/cjs/utils/getExpandedRowModel.js +1 -1
  8. package/build/cjs/utils/getExpandedRowModel.js.map +1 -1
  9. package/build/cjs/utils/getGlobalFilteredRowModelSync.js +1 -1
  10. package/build/cjs/utils/getGlobalFilteredRowModelSync.js.map +1 -1
  11. package/build/cjs/utils/getGroupedRowModel.js +1 -1
  12. package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
  13. package/build/cjs/utils/getPaginationRowModel.js +1 -1
  14. package/build/cjs/utils/getPaginationRowModel.js.map +1 -1
  15. package/build/cjs/utils/getSortedRowModelSync.js +1 -1
  16. package/build/cjs/utils/getSortedRowModelSync.js.map +1 -1
  17. package/build/esm/index.js +12 -7
  18. package/build/esm/index.js.map +1 -1
  19. package/build/stats-html.html +1 -1
  20. package/build/stats-react.json +301 -301
  21. package/build/types/features/Expanding.d.ts +1 -0
  22. package/build/types/features/Filters.d.ts +0 -1
  23. package/build/umd/index.development.js +12 -7
  24. package/build/umd/index.development.js.map +1 -1
  25. package/build/umd/index.production.js +1 -1
  26. package/build/umd/index.production.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/features/Expanding.ts +6 -0
  29. package/src/features/Filters.ts +0 -1
  30. package/src/features/RowSelection.ts +1 -1
  31. package/src/utils/getColumnFilteredRowModelAsync.ts +4 -1
  32. package/src/utils/getColumnFilteredRowModelSync.ts +5 -2
  33. package/src/utils/getExpandedRowModel.ts +1 -1
  34. package/src/utils/getGlobalFilteredRowModelAsync.ts +4 -1
  35. package/src/utils/getGlobalFilteredRowModelSync.ts +4 -1
  36. package/src/utils/getGroupedRowModel.ts +1 -1
  37. package/src/utils/getPaginationRowModel.ts +4 -1
  38. package/src/utils/getSortedRowModelAsync.ts +1 -1
  39. package/src/utils/getSortedRowModelSync.ts +1 -1
@@ -130,6 +130,11 @@ var Expanding = {
130
130
 
131
131
  return (_ref = (_ref2 = (_instance$options$get2 = instance.options.getRowCanExpand == null ? void 0 : instance.options.getRowCanExpand(row)) != null ? _instance$options$get2 : instance.options.enableExpanded) != null ? _ref2 : instance.options.defaultCanExpand) != null ? _ref : !!((_row$subRows = row.subRows) != null && _row$subRows.length);
132
132
  },
133
+ getCanSomeRowsExpand: function getCanSomeRowsExpand() {
134
+ return Object.keys(instance.getRowModel().rowsById).some(function (id) {
135
+ return instance.getRowCanExpand(id);
136
+ });
137
+ },
133
138
  getToggleExpandedProps: function getToggleExpandedProps(rowId, userProps) {
134
139
  var row = instance.getRow(rowId);
135
140
 
@@ -1 +1 @@
1
- {"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { 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 AnyGenerics> = {\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n getExpandedRowModel?: (\n instance: TableInstance<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 AnyGenerics> = {\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 _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 AnyGenerics>(\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 AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n\n return {\n _notifyExpandedReset: () => {\n instance._notifyPageIndexReset()\n\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 as any).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 as any).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 getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n getExpandedRowModel: () => {\n if (\n !instance._getExpandedRowModel &&\n instance.options.getExpandedRowModel\n ) {\n instance._getExpandedRowModel =\n instance.options.getExpandedRowModel(instance)\n }\n\n if (!instance._getExpandedRowModel) {\n return instance.getPreExpandedRowModel()\n }\n\n return instance._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends AnyGenerics>(\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 instance.getToggleExpandedProps(row.id, userProps),\n }\n },\n}\n"],"names":["Expanding","getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","getInstance","registered","_notifyExpandedReset","_notifyPageIndexReset","options","autoResetAll","resetExpanded","setExpanded","updater","functionalUpdate","getState","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowModel","rowsById","forEach","_extends","rest","_toPropertyKey","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","getGroupedRowModel","getExpandedRowModel","_getExpandedRowModel","createRow","toggleExpanded","getIsExpanded","getCanExpand"],"mappings":";;;;;;;;;;;;;;;;;AAsEA;AAEO,IAAMA,SAAS,GAAG;AACvBC,EAAAA,eAAe,EAAE,SAA0B,eAAA,GAAA;AACzC,IAAO,OAAA;AACLC,MAAAA,QAAQ,EAAE,EAAA;AADL,KAAP,CAAA;AAGD,GALsB;AAOvBC,EAAAA,iBAAiB,EAAE,SACjBC,iBAAAA,CAAAA,QADiB,EAEc;AAC/B,IAAO,OAAA;AACLC,MAAAA,gBAAgB,EAAEC,sBAAgB,CAAC,UAAD,EAAaF,QAAb,CAD7B;AAELG,MAAAA,iBAAiB,EAAE,IAFd;AAGLC,MAAAA,aAAa,EAAE,IAHV;AAILC,MAAAA,oBAAoB,EAAE,IAAA;AAJjB,KAAP,CAAA;AAMD,GAhBsB;AAkBvBC,EAAAA,WAAW,EAAE,SACXN,WAAAA,CAAAA,QADW,EAEqB;AAChC,IAAIO,IAAAA,UAAU,GAAG,KAAjB,CAAA;AAEA,IAAO,OAAA;AACLC,MAAAA,oBAAoB,EAAE,SAAM,oBAAA,GAAA;AAC1BR,QAAAA,QAAQ,CAACS,qBAAT,EAAA,CAAA;;AAEA,QAAI,IAAA,CAACF,UAAL,EAAiB;AACfA,UAAAA,UAAU,GAAG,IAAb,CAAA;AACA,UAAA,OAAA;AACD,SAAA;;AAED,QAAA,IAAIP,QAAQ,CAACU,OAAT,CAAiBC,YAAjB,KAAkC,KAAtC,EAA6C;AAC3C,UAAA,OAAA;AACD,SAAA;;AAED,QAAA,IACEX,QAAQ,CAACU,OAAT,CAAiBC,YAAjB,KAAkC,IAAlC,IACAX,QAAQ,CAACU,OAAT,CAAiBP,iBAFnB,EAGE;AACAH,UAAAA,QAAQ,CAACY,aAAT,EAAA,CAAA;AACD,SAAA;AACF,OAnBI;AAoBLC,MAAAA,WAAW,EAAE,SAAA,WAAA,CAAAC,OAAO,EAAA;AAAA,QAClBd,OAAAA,QAAQ,CAACU,OAAT,CAAiBT,gBADC,oBAClBD,QAAQ,CAACU,OAAT,CAAiBT,gBAAjB,CACEa,OADF,EAEEC,sBAAgB,CAACD,OAAD,EAAUd,QAAQ,CAACgB,QAAT,EAAA,CAAoBlB,QAA9B,CAFlB,CADkB,CAAA;AAAA,OApBf;AAyBLmB,MAAAA,iBAAiB,EAAE,SAAA,iBAAA,CAACC,KAAD,EAAQpB,QAAR,EAAqB;AACtC,QAAI,IAAA,CAACoB,KAAL,EAAY,OAAA;AAEZlB,QAAAA,QAAQ,CAACa,WAAT,CAAqB,UAAAM,GAAG,EAAI;AAAA,UAAA,IAAA,SAAA,CAAA;;AAC1B,UAAA,IAAMC,MAAM,GAAGD,GAAG,KAAK,IAAR,GAAe,IAAf,GAAsB,CAAC,EAACA,GAAD,IAACA,IAAAA,IAAAA,GAAG,CAAGD,KAAH,CAAJ,CAAtC,CAAA;AAEA,UAAIG,IAAAA,WAA8B,GAAG,EAArC,CAAA;;AAEA,UAAIF,IAAAA,GAAG,KAAK,IAAZ,EAAkB;AAChBG,YAAAA,MAAM,CAACC,IAAP,CAAYvB,QAAQ,CAACwB,WAAT,EAAuBC,CAAAA,QAAnC,CAA6CC,CAAAA,OAA7C,CAAqD,UAAAR,KAAK,EAAI;AAC5DG,cAAAA,WAAW,CAACH,KAAD,CAAX,GAAqB,IAArB,CAAA;AACD,aAFD,CAAA,CAAA;AAGD,WAJD,MAIO;AACLG,YAAAA,WAAW,GAAGF,GAAd,CAAA;AACD,WAAA;;AAEDrB,UAAAA,QAAQ,GAAA,CAAA,SAAA,GAAGA,QAAH,KAAA,IAAA,GAAA,SAAA,GAAe,CAACsB,MAAxB,CAAA;;AAEA,UAAA,IAAI,CAACA,MAAD,IAAWtB,QAAf,EAAyB;AAAA,YAAA,IAAA,SAAA,CAAA;;AACvB,YAAA,OAAA6B,oCAAA,CAAA,EAAA,EACKN,WADL,GAAA,SAAA,GAAA,EAAA,EAAA,SAAA,CAEGH,KAFH,CAAA,GAEW,IAFX,EAAA,SAAA,EAAA,CAAA;AAID,WAAA;;AAED,UAAA,IAAIE,MAAM,IAAI,CAACtB,QAAf,EAAyB;AACvB,YAAA,IAAA,YAAA,GAAgCuB,WAAhC,CAAA;AAAA,6BAASH,KAAT,CAAA,CAAA;AAAA,oBAAuBU,IAAvB,yEAASV,KAAT,CAAA,CAAA,GAAA,CAAAW,uCAAA,CAAA,EAAA;;AACA,YAAA,OAAOD,IAAP,CAAA;AACD,WAAA;;AAED,UAAA,OAAOT,GAAP,CAAA;AACD,SA5BD,CAAA,CAAA;AA6BD,OAzDI;AA0DLW,MAAAA,qBAAqB,EAAE,SAAAhC,qBAAAA,CAAAA,QAAQ,EAAI;AACjC,QAAIA,IAAAA,QAAJ,WAAIA,QAAJ,GAAgB,CAACE,QAAQ,CAAC+B,oBAAT,EAAjB,EAAkD;AAChD/B,UAAAA,QAAQ,CAACa,WAAT,CAAqB,IAArB,CAAA,CAAA;AACD,SAFD,MAEO;AACLb,UAAAA,QAAQ,CAACa,WAAT,CAAqB,EAArB,CAAA,CAAA;AACD,SAAA;AACF,OAhEI;AAiELD,MAAAA,aAAa,EAAE,SAAM,aAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,EAAA,sBAAA,CAAA;;AACnBZ,QAAAA,QAAQ,CAACa,WAAT,CAAqBb,CAAAA,qBAAAA,GAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACgC,YAA9B,KAAqB,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAuBlC,QAA5C,KAAA,IAAA,GAAA,qBAAA,GAAwD,EAAxD,CAAA,CAAA;AACD,OAnEI;AAoELmC,MAAAA,gBAAgB,EAAE,SAAAf,gBAAAA,CAAAA,KAAK,EAAI;AAAA,QAAA,IAAA,qBAAA,CAAA;;AACzB,QAAMgB,IAAAA,GAAG,GAAGlC,QAAQ,CAACmC,sBAAT,EAAkCV,CAAAA,QAAlC,CAA2CP,KAA3C,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACgB,GAAL,EAAU;AACR,UAAA,IAAIE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,YAAAA,OAAO,CAACC,IAAR,CAAA,iDAAA,GACoDtB,KADpD,CAAA,CAAA;AAGD,WAAA;;AACD,UAAM,MAAA,IAAIuB,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,IAAM3C,QAAQ,GAAGE,QAAQ,CAACgB,QAAT,GAAoBlB,QAArC,CAAA;AAEA,QAAA,OAAO,CAAC,EAAA,CAAA,qBAAA,GACNE,QAAQ,CAACU,OAAT,CAAiBuB,gBADX,IAAA,IAAA,GAAA,KAAA,CAAA,GACNjC,QAAQ,CAACU,OAAT,CAAiBuB,gBAAjB,CAAoCC,GAApC,CADM,KAELpC,IAAAA,GAAAA,qBAAAA,GAAAA,QAAQ,KAAK,IAAb,KAAqBA,QAArB,IAAqBA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAGoB,KAAH,CAA7B,CAFK,CAAR,CAAA;AAID,OAtFI;AAuFLwB,MAAAA,eAAe,EAAE,SAAAxB,eAAAA,CAAAA,KAAK,EAAI;AAAA,QAAA,IAAA,IAAA,EAAA,KAAA,EAAA,sBAAA,EAAA,YAAA,CAAA;;AACxB,QAAA,IAAMgB,GAAG,GAAGlC,QAAQ,CAAC2C,MAAT,CAAgBzB,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACgB,GAAL,EAAU;AACR,UAAA,IAAIE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,YAAAA,OAAO,CAACC,IAAR,CAAA,gDAAA,GACmDtB,KADnD,CAAA,CAAA;AAGD,WAAA;;AACD,UAAM,MAAA,IAAIuB,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,IAAA,GAAA,CAAA,KAAA,GAAA,CAAA,sBAAA,GACEzC,QAAQ,CAACU,OAAT,CAAiBgC,eADnB,IACE1C,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAACU,OAAT,CAAiBgC,eAAjB,CAAmCR,GAAnC,CADF,qCAEElC,QAAQ,CAACU,OAAT,CAAiBkC,cAFnB,KAGE5C,IAAAA,GAAAA,KAAAA,GAAAA,QAAQ,CAACU,OAAT,CAAiBmC,gBAHnB,KAAA,IAAA,GAAA,IAAA,GAIE,CAAC,EAAA,CAAA,YAAA,GAACX,GAAG,CAACY,OAAL,KAAC,IAAA,IAAA,YAAA,CAAaC,MAAd,CAJH,CAAA;AAMD,OAzGI;AA0GLC,MAAAA,sBAAsB,EAAE,SAAA,sBAAA,CAAC9B,KAAD,EAAQ+B,SAAR,EAAsB;AAC5C,QAAA,IAAMf,GAAG,GAAGlC,QAAQ,CAAC2C,MAAT,CAAgBzB,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACgB,GAAL,EAAU;AACR,UAAA,OAAA;AACD,SAAA;;AAED,QAAA,IAAMgB,SAAS,GAAGlD,QAAQ,CAAC0C,eAAT,CAAyBxB,KAAzB,CAAlB,CAAA;AAEA,QAAA,IAAMiC,YAAiC,GAAG;AACxCC,UAAAA,KAAK,EAAEF,SAAS,GAAG,iBAAH,GAAuBG,SADC;AAExCC,UAAAA,OAAO,EAAEJ,SAAS,GACd,UAACK,CAAD,EAAgC;AAC5BA,YAAAA,CAAD,CAAWC,OAAX,IAACD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAD,CAAWC,OAAX,EAAA,CAAA;AACDxD,YAAAA,QAAQ,CAACiB,iBAAT,CAA2BC,KAA3B,CAAA,CAAA;AACD,WAJa,GAKdmC,SAAAA;AAPoC,SAA1C,CAAA;AAUA,QAAA,OAAOI,gBAAU,CAACN,YAAD,EAAeF,SAAf,CAAjB,CAAA;AACD,OA9HI;AA+HLS,MAAAA,6BAA6B,EAAE,SAAAT,6BAAAA,CAAAA,SAAS,EAAI;AAC1C,QAAA,IAAME,YAAiC,GAAG;AACxCC,UAAAA,KAAK,EAAE,qBADiC;AAExCE,UAAAA,OAAO,EAAE,SAACC,OAAAA,CAAAA,CAAD,EAAgC;AACrCA,YAAAA,CAAD,CAAWC,OAAX,IAACD,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAD,CAAWC,OAAX,EAAA,CAAA;AACDxD,YAAAA,QAAQ,CAAC8B,qBAAT,EAAA,CAAA;AACD,WAAA;AALuC,SAA1C,CAAA;AAQA,QAAA,OAAO2B,gBAAU,CAACN,YAAD,EAAeF,SAAf,CAAjB,CAAA;AACD,OAzII;AA0ILU,MAAAA,qBAAqB,EAAE,SAAM,qBAAA,GAAA;AAC3B,QAAA,IAAM7D,QAAQ,GAAGE,QAAQ,CAACgB,QAAT,GAAoBlB,QAArC,CAAA;AACA,QAAA,OAAOA,QAAQ,KAAK,IAAb,IAAqBwB,MAAM,CAACsC,MAAP,CAAc9D,QAAd,CAAA,CAAwB+D,IAAxB,CAA6BC,OAA7B,CAA5B,CAAA;AACD,OA7II;AA8IL/B,MAAAA,oBAAoB,EAAE,SAAM,oBAAA,GAAA;AAC1B,QAAMjC,IAAAA,QAAQ,GAAGE,QAAQ,CAACgB,QAAT,EAAoBlB,CAAAA,QAArC,CAD0B;;AAI1B,QAAIA,IAAAA,QAAQ,KAAK,IAAjB,EAAuB;AACrB,UAAA,OAAO,IAAP,CAAA;AACD,SANyB;;;AAS1B,QAAA,IACEwB,MAAM,CAACC,IAAP,CAAYvB,QAAQ,CAACwB,WAAT,EAAA,CAAuBC,QAAnC,CAAA,CAA6CoC,IAA7C,CACE,UAAAE,EAAE,EAAA;AAAA,UAAA,OAAI,CAAC/D,QAAQ,CAACiC,gBAAT,CAA0B8B,EAA1B,CAAL,CAAA;AAAA,SADJ,CADF,EAIE;AACA,UAAA,OAAO,KAAP,CAAA;AACD,SAfyB;;;AAkB1B,QAAA,OAAO,IAAP,CAAA;AACD,OAjKI;AAkKLC,MAAAA,gBAAgB,EAAE,SAAM,gBAAA,GAAA;AACtB,QAAIC,IAAAA,QAAQ,GAAG,CAAf,CAAA;AAEA,QAAA,IAAMC,MAAM,GACVlE,QAAQ,CAACgB,QAAT,EAAA,CAAoBlB,QAApB,KAAiC,IAAjC,GACIwB,MAAM,CAACC,IAAP,CAAYvB,QAAQ,CAACwB,WAAT,EAAuBC,CAAAA,QAAnC,CADJ,GAEIH,MAAM,CAACC,IAAP,CAAYvB,QAAQ,CAACgB,QAAT,EAAA,CAAoBlB,QAAhC,CAHN,CAAA;AAKAoE,QAAAA,MAAM,CAACxC,OAAP,CAAe,UAAAqC,EAAE,EAAI;AACnB,UAAA,IAAMI,OAAO,GAAGJ,EAAE,CAACK,KAAH,CAAS,GAAT,CAAhB,CAAA;AACAH,UAAAA,QAAQ,GAAGI,IAAI,CAACC,GAAL,CAASL,QAAT,EAAmBE,OAAO,CAACpB,MAA3B,CAAX,CAAA;AACD,SAHD,CAAA,CAAA;AAKA,QAAA,OAAOkB,QAAP,CAAA;AACD,OAhLI;AAiLL9B,MAAAA,sBAAsB,EAAE,SAAA,sBAAA,GAAA;AAAA,QAAMnC,OAAAA,QAAQ,CAACuE,kBAAT,EAAN,CAAA;AAAA,OAjLnB;AAkLLC,MAAAA,mBAAmB,EAAE,SAAM,mBAAA,GAAA;AACzB,QACE,IAAA,CAACxE,QAAQ,CAACyE,oBAAV,IACAzE,QAAQ,CAACU,OAAT,CAAiB8D,mBAFnB,EAGE;AACAxE,UAAAA,QAAQ,CAACyE,oBAAT,GACEzE,QAAQ,CAACU,OAAT,CAAiB8D,mBAAjB,CAAqCxE,QAArC,CADF,CAAA;AAED,SAAA;;AAED,QAAA,IAAI,CAACA,QAAQ,CAACyE,oBAAd,EAAoC;AAClC,UAAOzE,OAAAA,QAAQ,CAACmC,sBAAT,EAAP,CAAA;AACD,SAAA;;AAED,QAAOnC,OAAAA,QAAQ,CAACyE,oBAAT,EAAP,CAAA;AACD,OAAA;AAhMI,KAAP,CAAA;AAkMD,GAzNsB;AA2NvBC,EAAAA,SAAS,EAAE,SAAA,SAAA,CACTxC,GADS,EAETlC,QAFS,EAGO;AAChB,IAAO,OAAA;AACL2E,MAAAA,cAAc,EAAE,SAAA,cAAA,CAAA7E,QAAQ,EAAA;AAAA,QACtB,OAAA,KAAKE,QAAQ,CAACiB,iBAAT,CAA2BiB,GAAG,CAAC6B,EAA/B,EAAmCjE,QAAnC,CADiB,CAAA;AAAA,OADnB;AAGL8E,MAAAA,aAAa,EAAE,SAAA,aAAA,GAAA;AAAA,QAAA,OAAM5E,QAAQ,CAACiC,gBAAT,CAA0BC,GAAG,CAAC6B,EAA9B,CAAN,CAAA;AAAA,OAHV;AAILc,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAM3C,OAAAA,GAAG,CAACY,OAAJ,IAAe,CAAC,CAACZ,GAAG,CAACY,OAAJ,CAAYC,MAAnC,CAAA;AAAA,OAJT;AAKLC,MAAAA,sBAAsB,EAAE,SAAA,sBAAA,CAAAC,SAAS,EAAA;AAAA,QAC/BjD,OAAAA,QAAQ,CAACgD,sBAAT,CAAgCd,GAAG,CAAC6B,EAApC,EAAwCd,SAAxC,CAD+B,CAAA;AAAA,OAAA;AAL5B,KAAP,CAAA;AAQD,GAAA;AAvOsB;;;;"}
1
+ {"version":3,"file":"Expanding.js","sources":["../../../src/features/Expanding.ts"],"sourcesContent":["import { 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 AnyGenerics> = {\n onExpandedChange?: OnChangeFn<ExpandedState>\n autoResetExpanded?: boolean\n enableExpanded?: boolean\n getExpandedRowModel?: (\n instance: TableInstance<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 AnyGenerics> = {\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 getCanSomeRowsExpand: () => 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 _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 AnyGenerics>(\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 AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): ExpandedInstance<TGenerics> => {\n let registered = false\n\n return {\n _notifyExpandedReset: () => {\n instance._notifyPageIndexReset()\n\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 getCanSomeRowsExpand: () => {\n return Object.keys(instance.getRowModel().rowsById).some(id =>\n instance.getRowCanExpand(id)\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 as any).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 as any).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 getPreExpandedRowModel: () => instance.getGroupedRowModel(),\n getExpandedRowModel: () => {\n if (\n !instance._getExpandedRowModel &&\n instance.options.getExpandedRowModel\n ) {\n instance._getExpandedRowModel =\n instance.options.getExpandedRowModel(instance)\n }\n\n if (!instance._getExpandedRowModel) {\n return instance.getPreExpandedRowModel()\n }\n\n return instance._getExpandedRowModel()\n },\n }\n },\n\n createRow: <TGenerics extends AnyGenerics>(\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 instance.getToggleExpandedProps(row.id, userProps),\n }\n },\n}\n"],"names":["Expanding","getInitialState","expanded","getDefaultOptions","instance","onExpandedChange","makeStateUpdater","autoResetExpanded","expandSubRows","paginateExpandedRows","getInstance","registered","_notifyExpandedReset","_notifyPageIndexReset","options","autoResetAll","resetExpanded","setExpanded","updater","functionalUpdate","getState","toggleRowExpanded","rowId","old","exists","oldExpanded","Object","keys","getRowModel","rowsById","forEach","_extends","rest","_toPropertyKey","toggleAllRowsExpanded","getIsAllRowsExpanded","initialState","getIsRowExpanded","row","getPreExpandedRowModel","process","env","NODE_ENV","console","warn","Error","getRowCanExpand","getRow","enableExpanded","defaultCanExpand","subRows","length","getCanSomeRowsExpand","some","id","getToggleExpandedProps","userProps","canExpand","initialProps","title","undefined","onClick","e","persist","propGetter","getToggleAllRowsExpandedProps","getIsSomeRowsExpanded","values","Boolean","getExpandedDepth","maxDepth","rowIds","splitId","split","Math","max","getGroupedRowModel","getExpandedRowModel","_getExpandedRowModel","createRow","toggleExpanded","getIsExpanded","getCanExpand"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterType, filterTypes } from '../filterTypes'\nimport {\n Column,\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type FilterFn<TGenerics extends AnyGenerics> = {\n (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends AnyGenerics> = (\n value: unknown,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterTypes<TGenerics extends AnyGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n columnFiltersProgress: number\n globalFilterProgress: number\n}\n\nexport type FilterType<TGenerics extends AnyGenerics> =\n | 'auto'\n | BuiltInFilterType\n | TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends AnyGenerics> = {\n filterType?: FilterType<Overwrite<TGenerics, { Value: any }>>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends AnyGenerics> = {\n filterType: FilterType<Overwrite<TGenerics, { Value: any }>>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getIsColumnFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (value: any) => void\n getPreFilteredRows: () => Row<TGenerics>[] | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<TGenerics extends AnyGenerics> = {\n filterFromLeafRows?: boolean\n filterTypes?: TGenerics['FilterFns']\n enableFilters?: boolean\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n getColumnFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n // Global\n globalFilterType?: FilterType<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n enableGlobalFilters?: boolean\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n getGlobalFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends AnyGenerics> = {\n _notifyFiltersReset: () => void\n getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, value: any) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // All\n getPreFilteredRowModel: () => RowModel<TGenerics>\n\n // Column Filters\n getPreColumnFilteredRowModel: () => RowModel<TGenerics>\n getColumnFilteredRowModel: () => RowModel<TGenerics>\n _getColumnFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getPreGlobalFilteredRowModel: () => RowModel<TGenerics>\n getGlobalFilteredRowModel: () => RowModel<TGenerics>\n _getGlobalFilteredRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Filters = {\n getDefaultColumn: <\n TGenerics extends AnyGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterType: 'auto',\n }\n },\n\n getInitialState: (): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n autoResetColumnFilters: true,\n filterFromLeafRows: true,\n autoResetGlobalFilter: true,\n globalFilterType: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends AnyGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n {\n key: 'column.getFacetInfo',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n\n return {\n filterType: column.filterType,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getIsColumnFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val =>\n instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n let registered = false\n\n return {\n _notifyFiltersReset: () => {\n instance._notifySortingReset()\n\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.autoResetColumnFilters\n ) {\n instance.resetColumnFilters()\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGlobalFilter\n ) {\n instance.resetGlobalFilter()\n }\n },\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterTypes.includesString\n }\n\n if (typeof value === 'number') {\n return filterTypes.betweenNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterTypes.equals\n }\n\n if (Array.isArray(value)) {\n return filterTypes.arrIncludes\n }\n\n return filterTypes.weakEquals\n },\n getGlobalAutoFilterFn: () => {\n return filterTypes.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterTypes = instance.options.filterTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterType)\n ? column.filterType\n : column.filterType === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterTypes as Record<string, any>)?.[\n column.filterType as string\n ] ??\n (filterTypes[\n column.filterType as BuiltInFilterType\n ] as FilterFn<TGenerics>)\n },\n\n getGlobalFilterFn: () => {\n const { filterTypes: userFilterTypes, globalFilterType } =\n instance.options\n\n return isFunction(globalFilterType)\n ? globalFilterType\n : globalFilterType === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterTypes as Record<string, any>)?.[\n globalFilterType as string\n ] ??\n (filterTypes[\n globalFilterType as BuiltInFilterType\n ] as FilterFn<TGenerics>)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(\n updateFn,\n updateFn(instance.getState().columnFilters)\n )\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(\n updater,\n functionalUpdate(updater, instance.getState().globalFilter)\n )\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(instance.initialState.globalFilter)\n },\n\n getColumnCanColumnFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanFilter ??\n column.defaultCanColumnFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanFilter ??\n column.defaultCanGlobalFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TGenerics>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),\n getColumnFilteredRowModel: () => {\n if (\n !instance._getColumnFilteredRowModel &&\n instance.options.getColumnFilteredRowModel\n ) {\n instance._getColumnFilteredRowModel =\n instance.options.getColumnFilteredRowModel(instance)\n }\n\n if (!instance._getColumnFilteredRowModel) {\n return instance.getPreColumnFilteredRowModel()\n }\n\n return instance._getColumnFilteredRowModel()\n },\n getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),\n getGlobalFilteredRowModel: () => {\n if (\n !instance._getGlobalFilteredRowModel &&\n instance.options.getGlobalFilteredRowModel\n ) {\n instance._getGlobalFilteredRowModel =\n instance.options.getGlobalFilteredRowModel(instance)\n }\n\n if (!instance._getGlobalFilteredRowModel) {\n return instance.getPreGlobalFilteredRowModel()\n }\n\n return instance._getGlobalFilteredRowModel()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends AnyGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["Filters","getDefaultColumn","filterType","getInitialState","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","autoResetColumnFilters","filterFromLeafRows","autoResetGlobalFilter","globalFilterType","getColumnCanGlobalFilterFn","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","debugAll","debugColumns","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getIsColumnFiltered","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","getInstance","registered","_notifyFiltersReset","_notifySortingReset","autoResetAll","resetColumnFilters","resetGlobalFilter","getColumnAutoFilterFn","columnId","firstRow","filterTypes","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterTypes","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","filterFn","shouldAutoRemoveFilter","getState","setGlobalFilter","initialState","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanFilter","defaultCanColumnFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","getPreFilteredRowModel","getPreColumnFilteredRowModel","getColumnFilteredRowModel","_getColumnFilteredRowModel","getPreGlobalFilteredRowModel","getGlobalFilteredRowModel","_getGlobalFilteredRowModel","autoRemove"],"mappings":"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"}
1
+ {"version":3,"file":"Filters.js","sources":["../../../src/features/Filters.ts"],"sourcesContent":["import { RowModel } from '..'\nimport { BuiltInFilterType, filterTypes } from '../filterTypes'\nimport {\n Column,\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n TableInstance,\n Row,\n Updater,\n} from '../types'\nimport {\n functionalUpdate,\n isFunction,\n makeStateUpdater,\n memo,\n Overwrite,\n} from '../utils'\n\nexport type ColumnFilter = {\n id: string\n value: unknown\n}\n\nexport type ColumnFiltersState = ColumnFilter[]\n\nexport type FilterFn<TGenerics extends AnyGenerics> = {\n (rows: Row<TGenerics>[], columnIds: string[], filterValue: any): any\n autoRemove?: ColumnFilterAutoRemoveTestFn<TGenerics>\n}\n\nexport type ColumnFilterAutoRemoveTestFn<TGenerics extends AnyGenerics> = (\n value: unknown,\n column?: Column<TGenerics>\n) => boolean\n\nexport type CustomFilterTypes<TGenerics extends AnyGenerics> = Record<\n string,\n FilterFn<TGenerics>\n>\n\nexport type FiltersTableState = {\n columnFilters: ColumnFiltersState\n globalFilter: any\n columnFiltersProgress: number\n globalFilterProgress: number\n}\n\nexport type FilterType<TGenerics extends AnyGenerics> =\n | 'auto'\n | BuiltInFilterType\n | TGenerics['FilterFns']\n | FilterFn<TGenerics>\n\nexport type FiltersColumnDef<TGenerics extends AnyGenerics> = {\n filterType?: FilterType<Overwrite<TGenerics, { Value: any }>>\n enableAllFilters?: boolean\n enableColumnFilter?: boolean\n enableGlobalFilter?: boolean\n defaultCanFilter?: boolean\n defaultCanColumnFilter?: boolean\n defaultCanGlobalFilter?: boolean\n}\n\nexport type FiltersColumn<TGenerics extends AnyGenerics> = {\n filterType: FilterType<Overwrite<TGenerics, { Value: any }>>\n getCanColumnFilter: () => boolean\n getCanGlobalFilter: () => boolean\n getColumnFilterIndex: () => number\n getIsColumnFiltered: () => boolean\n getColumnFilterValue: () => unknown\n setColumnFilterValue: (value: any) => void\n getPreFilteredRows: () => Row<TGenerics>[] | undefined\n getPreFilteredUniqueValues: () => Map<any, number>\n getPreFilteredMinMaxValues: () => [any, any]\n}\n\nexport type FiltersOptions<TGenerics extends AnyGenerics> = {\n filterFromLeafRows?: boolean\n filterTypes?: TGenerics['FilterFns']\n enableFilters?: boolean\n // Column\n onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>\n autoResetColumnFilters?: boolean\n enableColumnFilters?: boolean\n getColumnFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n // Global\n globalFilterType?: FilterType<TGenerics>\n onGlobalFilterChange?: OnChangeFn<any>\n autoResetGlobalFilter?: boolean\n enableGlobalFilter?: boolean\n getGlobalFilteredRowModel?: (\n instance: TableInstance<TGenerics>\n ) => () => RowModel<TGenerics>\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n}\n\nexport type FiltersInstance<TGenerics extends AnyGenerics> = {\n _notifyFiltersReset: () => void\n getColumnAutoFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n getColumnFilterFn: (columnId: string) => FilterFn<TGenerics> | undefined\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => void\n setColumnFilterValue: (columnId: string, value: any) => void\n resetColumnFilters: () => void\n getColumnCanColumnFilter: (columnId: string) => boolean\n getColumnCanGlobalFilterFn?: (column: Column<TGenerics>) => boolean\n\n getColumnIsFiltered: (columnId: string) => boolean\n getColumnFilterValue: (columnId: string) => unknown\n getColumnFilterIndex: (columnId: string) => number\n\n // All\n getPreFilteredRowModel: () => RowModel<TGenerics>\n\n // Column Filters\n getPreColumnFilteredRowModel: () => RowModel<TGenerics>\n getColumnFilteredRowModel: () => RowModel<TGenerics>\n _getColumnFilteredRowModel?: () => RowModel<TGenerics>\n\n // Global Filters\n setGlobalFilter: (updater: Updater<any>) => void\n resetGlobalFilter: () => void\n getGlobalAutoFilterFn: () => FilterFn<TGenerics> | undefined\n getGlobalFilterFn: () => FilterFn<TGenerics> | undefined\n getColumnCanGlobalFilter: (columnId: string) => boolean\n getPreGlobalFilteredRowModel: () => RowModel<TGenerics>\n getGlobalFilteredRowModel: () => RowModel<TGenerics>\n _getGlobalFilteredRowModel?: () => RowModel<TGenerics>\n}\n\n//\n\nexport const Filters = {\n getDefaultColumn: <\n TGenerics extends AnyGenerics\n >(): FiltersColumnDef<TGenerics> => {\n return {\n filterType: 'auto',\n }\n },\n\n getInitialState: (): FiltersTableState => {\n return {\n columnFilters: [],\n globalFilter: undefined,\n columnFiltersProgress: 1,\n globalFilterProgress: 1,\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersOptions<TGenerics> => {\n return {\n onColumnFiltersChange: makeStateUpdater('columnFilters', instance),\n onGlobalFilterChange: makeStateUpdater('globalFilter', instance),\n autoResetColumnFilters: true,\n filterFromLeafRows: true,\n autoResetGlobalFilter: true,\n globalFilterType: 'auto',\n getColumnCanGlobalFilterFn: column => {\n const value = instance\n .getCoreRowModel()\n .flatRows[0]?.getAllCellsByColumnId()[column.id]?.value\n\n return typeof value === 'string'\n },\n }\n },\n\n createColumn: <TGenerics extends AnyGenerics>(\n column: Column<TGenerics>,\n instance: TableInstance<TGenerics>\n ): FiltersColumn<TGenerics> => {\n const getFacetInfo = memo(\n () => [column.getPreFilteredRows()],\n (rows = []) => {\n let preFilteredUniqueValues = new Map<any, number>()\n\n let preFilteredMinMaxValues: [any, any] = [\n rows[0]?.values[column.id] ?? null,\n rows[0]?.values[column.id] ?? null,\n ]\n\n for (let i = 0; i < rows.length; i++) {\n const value = rows[i]?.values[column.id]\n\n if (preFilteredUniqueValues.has(value)) {\n preFilteredUniqueValues.set(\n value,\n (preFilteredUniqueValues.get(value) ?? 0) + 1\n )\n } else {\n preFilteredUniqueValues.set(value, 1)\n }\n\n if (value < preFilteredMinMaxValues[0]) {\n preFilteredMinMaxValues[0] = value\n } else if (value > preFilteredMinMaxValues[1]) {\n preFilteredMinMaxValues[1] = value\n }\n }\n\n return {\n preFilteredUniqueValues,\n preFilteredMinMaxValues,\n }\n },\n {\n key: 'column.getFacetInfo',\n debug: () => instance.options.debugAll ?? instance.options.debugColumns,\n }\n )\n\n return {\n filterType: column.filterType,\n getCanColumnFilter: () => instance.getColumnCanColumnFilter(column.id),\n getCanGlobalFilter: () => instance.getColumnCanGlobalFilter(column.id),\n getColumnFilterIndex: () => instance.getColumnFilterIndex(column.id),\n getIsColumnFiltered: () => instance.getColumnIsFiltered(column.id),\n getColumnFilterValue: () => instance.getColumnFilterValue(column.id),\n setColumnFilterValue: val =>\n instance.setColumnFilterValue(column.id, val),\n getPreFilteredUniqueValues: () => getFacetInfo().preFilteredUniqueValues,\n getPreFilteredMinMaxValues: () => getFacetInfo().preFilteredMinMaxValues,\n getPreFilteredRows: () => undefined,\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): FiltersInstance<TGenerics> => {\n let registered = false\n\n return {\n _notifyFiltersReset: () => {\n instance._notifySortingReset()\n\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.autoResetColumnFilters\n ) {\n instance.resetColumnFilters()\n }\n\n if (\n instance.options.autoResetAll === true ||\n instance.options.autoResetGlobalFilter\n ) {\n instance.resetGlobalFilter()\n }\n },\n getColumnAutoFilterFn: columnId => {\n const firstRow = instance.getCoreRowModel().flatRows[0]\n\n const value = firstRow?.values[columnId]\n\n if (typeof value === 'string') {\n return filterTypes.includesString\n }\n\n if (typeof value === 'number') {\n return filterTypes.betweenNumberRange\n }\n\n if (value !== null && typeof value === 'object') {\n return filterTypes.equals\n }\n\n if (Array.isArray(value)) {\n return filterTypes.arrIncludes\n }\n\n return filterTypes.weakEquals\n },\n getGlobalAutoFilterFn: () => {\n return filterTypes.includesString\n },\n getColumnFilterFn: columnId => {\n const column = instance.getColumn(columnId)\n const userFilterTypes = instance.options.filterTypes\n\n if (!column) {\n throw new Error()\n }\n\n return isFunction(column.filterType)\n ? column.filterType\n : column.filterType === 'auto'\n ? instance.getColumnAutoFilterFn(columnId)\n : (userFilterTypes as Record<string, any>)?.[\n column.filterType as string\n ] ??\n (filterTypes[\n column.filterType as BuiltInFilterType\n ] as FilterFn<TGenerics>)\n },\n\n getGlobalFilterFn: () => {\n const { filterTypes: userFilterTypes, globalFilterType } =\n instance.options\n\n return isFunction(globalFilterType)\n ? globalFilterType\n : globalFilterType === 'auto'\n ? instance.getGlobalAutoFilterFn()\n : (userFilterTypes as Record<string, any>)?.[\n globalFilterType as string\n ] ??\n (filterTypes[\n globalFilterType as BuiltInFilterType\n ] as FilterFn<TGenerics>)\n },\n\n setColumnFilters: (updater: Updater<ColumnFiltersState>) => {\n const leafColumns = instance.getAllLeafColumns()\n\n const updateFn = (old: ColumnFiltersState) => {\n return functionalUpdate(updater, old)?.filter(filter => {\n const column = leafColumns.find(d => d.id === filter.id)\n\n if (column) {\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (shouldAutoRemoveFilter(filterFn, filter.value, column)) {\n return false\n }\n }\n\n return true\n })\n }\n\n instance.options.onColumnFiltersChange?.(\n updateFn,\n updateFn(instance.getState().columnFilters)\n )\n },\n\n setGlobalFilter: updater => {\n instance.options.onGlobalFilterChange?.(\n updater,\n functionalUpdate(updater, instance.getState().globalFilter)\n )\n },\n\n resetGlobalFilter: () => {\n instance.setGlobalFilter(instance.initialState.globalFilter)\n },\n\n getColumnCanColumnFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n column.enableAllFilters ??\n column.enableColumnFilter ??\n instance.options.enableFilters ??\n instance.options.enableColumnFilters ??\n column.defaultCanFilter ??\n column.defaultCanColumnFilter ??\n !!column.accessorFn\n )\n },\n\n getColumnCanGlobalFilter: columnId => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n throw new Error()\n }\n\n return (\n ((instance.options.enableFilters ??\n instance.options.enableGlobalFilter ??\n column.enableAllFilters ??\n column.enableGlobalFilter ??\n column.defaultCanFilter ??\n column.defaultCanGlobalFilter ??\n !!column.accessorFn) &&\n instance.options.getColumnCanGlobalFilterFn?.(column)) ??\n true\n )\n },\n\n getColumnIsFiltered: columnId =>\n instance.getColumnFilterIndex(columnId) > -1,\n\n getColumnFilterValue: columnId =>\n instance.getState().columnFilters?.find(d => d.id === columnId)?.value,\n\n getColumnFilterIndex: columnId =>\n instance.getState().columnFilters?.findIndex(d => d.id === columnId) ??\n -1,\n\n setColumnFilterValue: (columnId, value) => {\n if (!columnId) return\n\n instance.setColumnFilters(old => {\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n const previousfilter = old?.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n value,\n previousfilter ? previousfilter.value : undefined\n )\n\n //\n if (\n shouldAutoRemoveFilter(\n filterFn as FilterFn<TGenerics>,\n newFilter,\n column\n )\n ) {\n return old?.filter(d => d.id !== columnId) ?? []\n }\n\n const newFilterObj = { id: columnId, value: newFilter }\n\n if (previousfilter) {\n return (\n old?.map(d => {\n if (d.id === columnId) {\n return newFilterObj\n }\n return d\n }) ?? []\n )\n }\n\n if (old?.length) {\n return [...old, newFilterObj]\n }\n\n return [newFilterObj]\n })\n },\n\n resetColumnFilters: () => {\n instance.setColumnFilters(instance.initialState?.columnFilters ?? [])\n },\n\n getPreFilteredRowModel: () => instance.getCoreRowModel(),\n getPreColumnFilteredRowModel: () => instance.getCoreRowModel(),\n getColumnFilteredRowModel: () => {\n if (\n !instance._getColumnFilteredRowModel &&\n instance.options.getColumnFilteredRowModel\n ) {\n instance._getColumnFilteredRowModel =\n instance.options.getColumnFilteredRowModel(instance)\n }\n\n if (!instance._getColumnFilteredRowModel) {\n return instance.getPreColumnFilteredRowModel()\n }\n\n return instance._getColumnFilteredRowModel()\n },\n getPreGlobalFilteredRowModel: () => instance.getColumnFilteredRowModel(),\n getGlobalFilteredRowModel: () => {\n if (\n !instance._getGlobalFilteredRowModel &&\n instance.options.getGlobalFilteredRowModel\n ) {\n instance._getGlobalFilteredRowModel =\n instance.options.getGlobalFilteredRowModel(instance)\n }\n\n if (!instance._getGlobalFilteredRowModel) {\n return instance.getPreGlobalFilteredRowModel()\n }\n\n return instance._getGlobalFilteredRowModel()\n },\n }\n },\n}\n\nexport function shouldAutoRemoveFilter<TGenerics extends AnyGenerics>(\n filterFn?: FilterFn<TGenerics>,\n value?: any,\n column?: Column<TGenerics>\n) {\n return (\n (filterFn && filterFn.autoRemove\n ? filterFn.autoRemove(value, column)\n : false) ||\n typeof value === 'undefined' ||\n (typeof value === 'string' && !value)\n )\n}\n"],"names":["Filters","getDefaultColumn","filterType","getInitialState","columnFilters","globalFilter","undefined","columnFiltersProgress","globalFilterProgress","getDefaultOptions","instance","onColumnFiltersChange","makeStateUpdater","onGlobalFilterChange","autoResetColumnFilters","filterFromLeafRows","autoResetGlobalFilter","globalFilterType","getColumnCanGlobalFilterFn","column","value","getCoreRowModel","flatRows","getAllCellsByColumnId","id","createColumn","getFacetInfo","memo","getPreFilteredRows","rows","preFilteredUniqueValues","Map","preFilteredMinMaxValues","values","i","length","has","set","get","key","debug","options","debugAll","debugColumns","getCanColumnFilter","getColumnCanColumnFilter","getCanGlobalFilter","getColumnCanGlobalFilter","getColumnFilterIndex","getIsColumnFiltered","getColumnIsFiltered","getColumnFilterValue","setColumnFilterValue","val","getPreFilteredUniqueValues","getPreFilteredMinMaxValues","getInstance","registered","_notifyFiltersReset","_notifySortingReset","autoResetAll","resetColumnFilters","resetGlobalFilter","getColumnAutoFilterFn","columnId","firstRow","filterTypes","includesString","betweenNumberRange","equals","Array","isArray","arrIncludes","weakEquals","getGlobalAutoFilterFn","getColumnFilterFn","getColumn","userFilterTypes","Error","isFunction","getGlobalFilterFn","setColumnFilters","updater","leafColumns","getAllLeafColumns","updateFn","old","functionalUpdate","filter","find","d","filterFn","shouldAutoRemoveFilter","getState","setGlobalFilter","initialState","enableAllFilters","enableColumnFilter","enableFilters","enableColumnFilters","defaultCanFilter","defaultCanColumnFilter","accessorFn","enableGlobalFilter","defaultCanGlobalFilter","findIndex","process","env","NODE_ENV","console","warn","previousfilter","newFilter","newFilterObj","map","getPreFilteredRowModel","getPreColumnFilteredRowModel","getColumnFilteredRowModel","_getColumnFilteredRowModel","getPreGlobalFilteredRowModel","getGlobalFilteredRowModel","_getGlobalFilteredRowModel","autoRemove"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowSelection.js","sources":["../../../src/features/RowSelection.ts"],"sourcesContent":["import {\n Getter,\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n RowModel,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type RowSelectionState = Record<string, boolean>\n\nexport type RowSelectionTableState = {\n rowSelection: RowSelectionState\n}\n\nexport type RowSelectionOptions<TGenerics extends AnyGenerics> = {\n onRowSelectionChange?: OnChangeFn<RowSelectionState>\n autoResetRowSelection?: boolean\n enableRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n enableMultiRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n enableSubRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n // enableGroupingRowSelection?:\n // | boolean\n // | ((\n // row: Row<TGenerics>\n // ) => boolean)\n // isAdditiveSelectEvent?: (e: MouseEvent | TouchEvent) => boolean\n // isInclusiveSelectEvent?: (e: MouseEvent | TouchEvent) => boolean\n // selectRowsFn?: (\n // instance: TableInstance<\n // TData,\n // TValue,\n // TFilterFns,\n // TSortingFns,\n // TAggregationFns\n // >,\n // rowModel: RowModel<TGenerics>\n // ) => RowModel<TGenerics>\n}\n\ntype ToggleRowSelectedProps = {\n onChange?: (e: MouseEvent | TouchEvent) => void\n checked?: boolean\n title?: string\n indeterminate?: boolean\n}\n\nexport type RowSelectionRow = {\n getIsSelected: () => boolean\n getIsSomeSelected: () => boolean\n getCanSelect: () => boolean\n getCanMultiSelect: () => boolean\n toggleSelected: (value?: boolean) => void\n getToggleSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>\n}\n\nexport type RowSelectionInstance<TGenerics extends AnyGenerics> = {\n _notifyRowSelectionReset: () => void\n getToggleRowSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>\n getToggleAllRowsSelectedProps: <\n TGetter extends Getter<ToggleRowSelectedProps>\n >(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>\n getToggleAllPageRowsSelectedProps: <\n TGetter extends Getter<ToggleRowSelectedProps>\n >(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>\n setRowSelection: (updater: Updater<RowSelectionState>) => void\n resetRowSelection: () => void\n toggleRowSelected: (rowId: string, value?: boolean) => void\n getRowCanSelect: (rowId: string) => boolean\n getRowCanSelectSubRows: (rowId: string) => boolean\n getRowCanMultiSelect: (rowId: string) => boolean\n // getGroupingRowCanSelect: (rowId: string) => boolean\n getRowIsSelected: (rowId: string) => boolean\n getRowIsSomeSelected: (rowId: string) => boolean\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<TGenerics>\n getSelectedRowModel: () => RowModel<TGenerics>\n getFilteredSelectedRowModel: () => RowModel<TGenerics>\n getGroupedSelectedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const RowSelection = {\n getInitialState: (): RowSelectionTableState => {\n return {\n rowSelection: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): RowSelectionOptions<TGenerics> => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', instance),\n autoResetRowSelection: true,\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true,\n // enableGroupingRowSelection: false,\n // isAdditiveSelectEvent: (e: MouseEvent | TouchEvent) => !!e.metaKey,\n // isInclusiveSelectEvent: (e: MouseEvent | TouchEvent) => !!e.shiftKey,\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): RowSelectionInstance<TGenerics> => {\n let registered = false\n\n // const pageRows = instance.getPageRows()\n\n return {\n _notifyRowSelectionReset: () => {\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.autoResetRowSelection\n ) {\n instance.resetRowSelection()\n }\n },\n setRowSelection: updater =>\n instance.options.onRowSelectionChange?.(\n updater,\n functionalUpdate(updater, instance.getState().rowSelection)\n ),\n resetRowSelection: () =>\n instance.setRowSelection(instance.initialState.rowSelection ?? {}),\n toggleAllRowsSelected: value => {\n instance.setRowSelection(old => {\n value =\n typeof value !== 'undefined'\n ? value\n : !instance.getIsAllRowsSelected()\n\n const rowSelection = { ...old }\n\n const preGroupedFlatRows = instance.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 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 instance.setRowSelection(old => {\n const selectAll =\n typeof value !== 'undefined'\n ? value\n : !instance.getIsAllPageRowsSelected()\n\n const rowSelection: RowSelectionState = { ...old }\n\n instance.getRowModel().rows.forEach(row => {\n mutateRowIsSelected(rowSelection, row.id, value, instance)\n })\n\n return rowSelection\n }),\n toggleRowSelected: (rowId, value) => {\n const row = instance.getRow(rowId)\n const isSelected = row.getIsSelected()\n\n instance.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, rowId, value, instance)\n\n return selectedRowIds\n })\n },\n // addRowSelectionRange: rowId => {\n // const {\n // rows,\n // rowsById,\n // options: { selectGroupingRows, selectSubRows },\n // } = instance\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 // instance.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 // instance.setRowSelection(selectedRowIds)\n // },\n getPreSelectedRowModel: () => instance.getCoreRowModel(),\n getSelectedRowModel: memo(\n () => [instance.getState().rowSelection, instance.getCoreRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key: 'getSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => instance._notifyExpandedReset())\n },\n }\n ),\n\n getFilteredSelectedRowModel: memo(\n () => [\n instance.getState().rowSelection,\n instance.getGlobalFilteredRowModel(),\n ],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key: 'getFilteredSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => instance.queue(() => instance._notifyExpandedReset()),\n }\n ),\n\n getGroupedSelectedRowModel: memo(\n () => [instance.getState().rowSelection, instance.getGroupedRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key: 'getGroupedSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => instance.queue(() => instance._notifyExpandedReset()),\n }\n ),\n\n ///\n\n getRowIsSelected: rowId => {\n const { rowSelection } = instance.getState()\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n return isRowSelected(row, rowSelection, instance) === true\n },\n\n getRowIsSomeSelected: rowId => {\n const { rowSelection } = instance.getState()\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n return isRowSelected(row, rowSelection, instance) === 'some'\n },\n\n getRowCanSelect: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableRowSelection === 'function') {\n return instance.options.enableRowSelection(row)\n }\n\n return instance.options.enableRowSelection ?? true\n },\n\n getRowCanSelectSubRows: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableSubRowSelection === 'function') {\n return instance.options.enableSubRowSelection(row)\n }\n\n return instance.options.enableSubRowSelection ?? true\n },\n\n getRowCanMultiSelect: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableMultiRowSelection === 'function') {\n return instance.options.enableMultiRowSelection(row)\n }\n\n return instance.options.enableMultiRowSelection ?? true\n },\n\n // getGroupingRowCanSelect: rowId => {\n // const row = instance.getRow(rowId)\n\n // if (!row) {\n // throw new Error()\n // }\n\n // if (typeof instance.options.enableGroupingRowSelection === 'function') {\n // return instance.options.enableGroupingRowSelection(row)\n // }\n\n // return instance.options.enableGroupingRowSelection ?? false\n // },\n\n getIsAllRowsSelected: () => {\n const preFilteredFlatRows =\n instance.getPreGlobalFilteredRowModel().flatRows\n const { rowSelection } = instance.getState()\n\n let isAllRowsSelected = Boolean(\n preFilteredFlatRows.length && Object.keys(rowSelection).length\n )\n\n if (isAllRowsSelected) {\n if (preFilteredFlatRows.some(row => !rowSelection[row.id])) {\n isAllRowsSelected = false\n }\n }\n\n return isAllRowsSelected\n },\n\n getIsAllPageRowsSelected: () => {\n const paginationFlatRows = instance.getPaginationRowModel().flatRows\n const { rowSelection } = instance.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 return (\n !instance.getIsAllRowsSelected() &&\n !!Object.keys(instance.getState().rowSelection ?? {}).length\n )\n },\n\n getIsSomePageRowsSelected: () => {\n const paginationFlatRows = instance.getPaginationRowModel().flatRows\n return instance.getIsAllPageRowsSelected()\n ? false\n : !!paginationFlatRows?.length\n },\n\n getToggleRowSelectedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n const isSelected = row.getIsSelected()\n const isSomeSelected = row.getIsSomeSelected()\n const canSelect = row.getCanSelect()\n\n const initialProps: ToggleRowSelectedProps = {\n onChange: canSelect\n ? (e: MouseEvent | TouchEvent) => {\n row.toggleSelected((e.target as HTMLInputElement).checked)\n }\n : undefined,\n checked: isSelected,\n title: 'Toggle Row Selected',\n indeterminate: isSomeSelected,\n // onChange: forInput\n // ? (e: Event) => e.stopPropagation()\n // : (e: Event) => {\n // if (instance.options.isAdditiveSelectEvent(e)) {\n // row.toggleSelected()\n // } else if (instance.options.isInclusiveSelectEvent(e)) {\n // instance.addRowSelectionRange(row.id)\n // } else {\n // instance.setRowSelection({})\n // row.toggleSelected()\n // }\n\n // if (props.onClick) props.onClick(e)\n // },\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getToggleAllRowsSelectedProps: userProps => {\n const isSomeRowsSelected = instance.getIsSomeRowsSelected()\n const isAllRowsSelected = instance.getIsAllRowsSelected()\n\n const initialProps: ToggleRowSelectedProps = {\n onChange: (e: MouseEvent | TouchEvent) => {\n instance.toggleAllRowsSelected(\n (e.target as HTMLInputElement).checked\n )\n },\n checked: isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: isSomeRowsSelected,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getToggleAllPageRowsSelectedProps: userProps => {\n const isSomePageRowsSelected = instance.getIsSomePageRowsSelected()\n const isAllPageRowsSelected = instance.getIsAllPageRowsSelected()\n\n const initialProps: ToggleRowSelectedProps = {\n onChange: (e: MouseEvent | TouchEvent) => {\n instance.toggleAllPageRowsSelected(\n (e.target as HTMLInputElement).checked\n )\n },\n checked: isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: isSomePageRowsSelected,\n }\n\n return propGetter(initialProps, userProps)\n },\n }\n },\n\n createRow: <TGenerics extends AnyGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): RowSelectionRow => {\n return {\n getIsSelected: () => instance.getRowIsSelected(row.id),\n getIsSomeSelected: () => instance.getRowIsSomeSelected(row.id),\n toggleSelected: value => instance.toggleRowSelected(row.id, value),\n getToggleSelectedProps: userProps =>\n instance.getToggleRowSelectedProps(row.id, userProps),\n getCanMultiSelect: () => instance.getRowCanMultiSelect(row.id),\n getCanSelect: () => instance.getRowCanSelect(row.id),\n }\n },\n}\n\nconst mutateRowIsSelected = <TGenerics extends AnyGenerics>(\n selectedRowIds: Record<string, boolean>,\n id: string,\n value: boolean,\n instance: TableInstance<TGenerics>\n) => {\n const row = instance.getRow(id)\n\n const isGrouped = row.getIsGrouped()\n\n // if ( // TODO: enforce grouping row selection rules\n // !isGrouped ||\n // (isGrouped && instance.options.enableGroupingRowSelection)\n // ) {\n if (value) {\n selectedRowIds[id] = true\n } else {\n delete selectedRowIds[id]\n }\n // }\n\n if (row.subRows?.length && instance.getRowCanSelectSubRows(row.id)) {\n row.subRows.forEach(row =>\n mutateRowIsSelected(selectedRowIds, row.id, value, instance)\n )\n }\n}\n\nexport function selectRowsFn<TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n): RowModel<TGenerics> {\n const rowSelection = instance.getState().rowSelection\n\n const newSelectedFlatRows: Row<TGenerics>[] = []\n const newSelectedRowsById: Record<string, Row<TGenerics>> = {}\n\n // Filters top level and nested rows\n const recurseRows = (rows: Row<TGenerics>[], depth = 0) => {\n return rows\n .map(row => {\n const isSelected = isRowSelected(row, rowSelection, instance) === true\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<TGenerics>[]\n }\n\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById,\n }\n}\n\nexport function isRowSelected<TGenerics extends AnyGenerics>(\n row: Row<TGenerics>,\n selection: Record<string, boolean>,\n instance: TableInstance<TGenerics>\n): boolean | 'some' {\n if (selection[row.id]) {\n return true\n }\n\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, instance)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n\n return allChildrenSelected ? true : someSelected ? 'some' : false\n }\n\n return false\n}\n"],"names":["RowSelection","getInitialState","rowSelection","getDefaultOptions","instance","onRowSelectionChange","makeStateUpdater","autoResetRowSelection","enableRowSelection","enableMultiRowSelection","enableSubRowSelection","getInstance","registered","_notifyRowSelectionReset","options","autoResetAll","resetRowSelection","setRowSelection","updater","functionalUpdate","getState","initialState","toggleAllRowsSelected","value","old","getIsAllRowsSelected","preGroupedFlatRows","getPreGroupedRowModel","flatRows","forEach","row","id","toggleAllPageRowsSelected","getIsAllPageRowsSelected","getRowModel","rows","mutateRowIsSelected","toggleRowSelected","rowId","getRow","isSelected","getIsSelected","selectedRowIds","getPreSelectedRowModel","getCoreRowModel","getSelectedRowModel","memo","rowModel","Object","keys","length","rowsById","selectRowsFn","key","debug","debugAll","debugTable","onChange","queue","_notifyExpandedReset","getFilteredSelectedRowModel","getGlobalFilteredRowModel","getGroupedSelectedRowModel","getGroupedRowModel","getRowIsSelected","Error","isRowSelected","getRowIsSomeSelected","getRowCanSelect","getRowCanSelectSubRows","getRowCanMultiSelect","preFilteredFlatRows","getPreGlobalFilteredRowModel","isAllRowsSelected","Boolean","some","paginationFlatRows","getPaginationRowModel","isAllPageRowsSelected","getIsSomeRowsSelected","getIsSomePageRowsSelected","getToggleRowSelectedProps","userProps","isSomeSelected","getIsSomeSelected","canSelect","getCanSelect","initialProps","e","toggleSelected","target","checked","undefined","title","indeterminate","propGetter","getToggleAllRowsSelectedProps","isSomeRowsSelected","getToggleAllPageRowsSelectedProps","isSomePageRowsSelected","createRow","getToggleSelectedProps","getCanMultiSelect","getIsGrouped","subRows","newSelectedFlatRows","newSelectedRowsById","recurseRows","depth","map","push","filter","selection","allChildrenSelected","someSelected","subRow"],"mappings":";;;;;;;;;;;;;;;;;AAmGA;AAEO,IAAMA,YAAY,GAAG;AAC1BC,EAAAA,eAAe,EAAE,SAA8B,eAAA,GAAA;AAC7C,IAAO,OAAA;AACLC,MAAAA,YAAY,EAAE,EAAA;AADT,KAAP,CAAA;AAGD,GALyB;AAO1BC,EAAAA,iBAAiB,EAAE,SACjBC,iBAAAA,CAAAA,QADiB,EAEkB;AACnC,IAAO,OAAA;AACLC,MAAAA,oBAAoB,EAAEC,sBAAgB,CAAC,cAAD,EAAiBF,QAAjB,CADjC;AAELG,MAAAA,qBAAqB,EAAE,IAFlB;AAGLC,MAAAA,kBAAkB,EAAE,IAHf;AAILC,MAAAA,uBAAuB,EAAE,IAJpB;AAKLC,MAAAA,qBAAqB,EAAE,IALlB;AAOL;AACA;;AARK,KAAP,CAAA;AAUD,GApByB;AAsB1BC,EAAAA,WAAW,EAAE,SACXP,WAAAA,CAAAA,QADW,EAEyB;AACpC,IAAA,IAAIQ,UAAU,GAAG,KAAjB,CADoC;;AAKpC,IAAO,OAAA;AACLC,MAAAA,wBAAwB,EAAE,SAAM,wBAAA,GAAA;AAC9B,QAAI,IAAA,CAACD,UAAL,EAAiB;AACfA,UAAAA,UAAU,GAAG,IAAb,CAAA;AACA,UAAA,OAAA;AACD,SAAA;;AAED,QAAA,IAAIR,QAAQ,CAACU,OAAT,CAAiBC,YAAjB,KAAkC,KAAtC,EAA6C;AAC3C,UAAA,OAAA;AACD,SAAA;;AAED,QAAA,IACEX,QAAQ,CAACU,OAAT,CAAiBC,YAAjB,KAAkC,IAAlC,IACAX,QAAQ,CAACU,OAAT,CAAiBP,qBAFnB,EAGE;AACAH,UAAAA,QAAQ,CAACY,iBAAT,EAAA,CAAA;AACD,SAAA;AACF,OAjBI;AAkBLC,MAAAA,eAAe,EAAE,SAAA,eAAA,CAAAC,OAAO,EAAA;AAAA,QACtBd,OAAAA,QAAQ,CAACU,OAAT,CAAiBT,oBADK,oBACtBD,QAAQ,CAACU,OAAT,CAAiBT,oBAAjB,CACEa,OADF,EAEEC,sBAAgB,CAACD,OAAD,EAAUd,QAAQ,CAACgB,QAAT,EAAA,CAAoBlB,YAA9B,CAFlB,CADsB,CAAA;AAAA,OAlBnB;AAuBLc,MAAAA,iBAAiB,EAAE,SAAA,iBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QACjBZ,OAAAA,QAAQ,CAACa,eAAT,CAAyBb,CAAAA,qBAAAA,GAAAA,QAAQ,CAACiB,YAAT,CAAsBnB,YAA/C,KAA+D,IAAA,GAAA,qBAAA,GAAA,EAA/D,CADiB,CAAA;AAAA,OAvBd;AAyBLoB,MAAAA,qBAAqB,EAAE,SAAAC,qBAAAA,CAAAA,KAAK,EAAI;AAC9BnB,QAAAA,QAAQ,CAACa,eAAT,CAAyB,UAAAO,GAAG,EAAI;AAC9BD,UAAAA,KAAK,GACH,OAAOA,KAAP,KAAiB,WAAjB,GACIA,KADJ,GAEI,CAACnB,QAAQ,CAACqB,oBAAT,EAHP,CAAA;;AAKA,UAAMvB,IAAAA,YAAY,GAAQsB,oCAAAA,CAAAA,EAAAA,EAAAA,GAAR,CAAlB,CAAA;;AAEA,UAAME,IAAAA,kBAAkB,GAAGtB,QAAQ,CAACuB,qBAAT,EAAiCC,CAAAA,QAA5D,CAR8B;AAW9B;;AACA,UAAA,IAAIL,KAAJ,EAAW;AACTG,YAAAA,kBAAkB,CAACG,OAAnB,CAA2B,UAAAC,GAAG,EAAI;AAChC5B,cAAAA,YAAY,CAAC4B,GAAG,CAACC,EAAL,CAAZ,GAAuB,IAAvB,CAAA;AACD,aAFD,CAAA,CAAA;AAGD,WAJD,MAIO;AACLL,YAAAA,kBAAkB,CAACG,OAAnB,CAA2B,UAAAC,GAAG,EAAI;AAChC,cAAA,OAAO5B,YAAY,CAAC4B,GAAG,CAACC,EAAL,CAAnB,CAAA;AACD,aAFD,CAAA,CAAA;AAGD,WAAA;;AAED,UAAA,OAAO7B,YAAP,CAAA;AACD,SAvBD,CAAA,CAAA;AAwBD,OAlDI;AAmDL8B,MAAAA,yBAAyB,EAAE,SAAA,yBAAA,CAAAT,KAAK,EAAA;AAAA,QAAA,OAC9BnB,QAAQ,CAACa,eAAT,CAAyB,UAAAO,GAAG,EAAI;AAC9B,UACE,OAAOD,KAAP,KAAiB,WAAjB,GACIA,KADJ,GAEI,CAACnB,QAAQ,CAAC6B,wBAAT,GAHP;;AAKA,UAAM/B,IAAAA,YAA+B,GAAQsB,oCAAAA,CAAAA,EAAAA,EAAAA,GAAR,CAArC,CAAA;;AAEApB,UAAAA,QAAQ,CAAC8B,WAAT,EAAuBC,CAAAA,IAAvB,CAA4BN,OAA5B,CAAoC,UAAAC,GAAG,EAAI;AACzCM,YAAAA,mBAAmB,CAAClC,YAAD,EAAe4B,GAAG,CAACC,EAAnB,EAAuBR,KAAvB,EAA8BnB,QAA9B,CAAnB,CAAA;AACD,WAFD,CAAA,CAAA;AAIA,UAAA,OAAOF,YAAP,CAAA;AACD,SAbD,CAD8B,CAAA;AAAA,OAnD3B;AAkELmC,MAAAA,iBAAiB,EAAE,SAAA,iBAAA,CAACC,KAAD,EAAQf,KAAR,EAAkB;AACnC,QAAA,IAAMO,GAAG,GAAG1B,QAAQ,CAACmC,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;AACA,QAAA,IAAME,UAAU,GAAGV,GAAG,CAACW,aAAJ,EAAnB,CAAA;AAEArC,QAAAA,QAAQ,CAACa,eAAT,CAAyB,UAAAO,GAAG,EAAI;AAC9BD,UAAAA,KAAK,GAAG,OAAOA,KAAP,KAAiB,WAAjB,GAA+BA,KAA/B,GAAuC,CAACiB,UAAhD,CAAA;;AAEA,UAAIA,IAAAA,UAAU,KAAKjB,KAAnB,EAA0B;AACxB,YAAA,OAAOC,GAAP,CAAA;AACD,WAAA;;AAED,UAAMkB,IAAAA,cAAc,GAAQlB,oCAAAA,CAAAA,EAAAA,EAAAA,GAAR,CAApB,CAAA;;AAEAY,UAAAA,mBAAmB,CAACM,cAAD,EAAiBJ,KAAjB,EAAwBf,KAAxB,EAA+BnB,QAA/B,CAAnB,CAAA;AAEA,UAAA,OAAOsC,cAAP,CAAA;AACD,SAZD,CAAA,CAAA;AAaD,OAnFI;AAoFL;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACAC,MAAAA,sBAAsB,EAAE,SAAA,sBAAA,GAAA;AAAA,QAAMvC,OAAAA,QAAQ,CAACwC,eAAT,EAAN,CAAA;AAAA,OA9InB;AA+ILC,MAAAA,mBAAmB,EAAEC,UAAI,CACvB,YAAA;AAAA,QAAM,OAAA,CAAC1C,QAAQ,CAACgB,QAAT,EAAA,CAAoBlB,YAArB,EAAmCE,QAAQ,CAACwC,eAAT,EAAnC,CAAN,CAAA;AAAA,OADuB,EAEvB,UAAC1C,YAAD,EAAe6C,QAAf,EAA4B;AAC1B,QAAI,IAAA,CAACC,MAAM,CAACC,IAAP,CAAY/C,YAAZ,CAAA,CAA0BgD,MAA/B,EAAuC;AACrC,UAAO,OAAA;AACLf,YAAAA,IAAI,EAAE,EADD;AAELP,YAAAA,QAAQ,EAAE,EAFL;AAGLuB,YAAAA,QAAQ,EAAE,EAAA;AAHL,WAAP,CAAA;AAKD,SAAA;;AAED,QAAA,OAAOC,YAAY,CAAChD,QAAD,EAAW2C,QAAX,CAAnB,CAAA;AACD,OAZsB,EAavB;AACEM,QAAAA,GAAG,EAAE,qBADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,qBAAA,CAAA;;AAAA,UAAMlD,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACU,OAAT,CAAiByC,QAAvB,oCAAmCnD,QAAQ,CAACU,OAAT,CAAiB0C,UAApD,CAAA;AAAA,SAFT;AAGEC,QAAAA,QAAQ,EAAE,SAAM,QAAA,GAAA;AACdrD,UAAAA,QAAQ,CAACsD,KAAT,CAAe,YAAA;AAAA,YAAMtD,OAAAA,QAAQ,CAACuD,oBAAT,EAAN,CAAA;AAAA,WAAf,CAAA,CAAA;AACD,SAAA;AALH,OAbuB,CA/IpB;AAqKLC,MAAAA,2BAA2B,EAAEd,UAAI,CAC/B,YAAA;AAAA,QAAM,OAAA,CACJ1C,QAAQ,CAACgB,QAAT,EAAA,CAAoBlB,YADhB,EAEJE,QAAQ,CAACyD,yBAAT,EAFI,CAAN,CAAA;AAAA,OAD+B,EAK/B,UAAC3D,YAAD,EAAe6C,QAAf,EAA4B;AAC1B,QAAI,IAAA,CAACC,MAAM,CAACC,IAAP,CAAY/C,YAAZ,CAAA,CAA0BgD,MAA/B,EAAuC;AACrC,UAAO,OAAA;AACLf,YAAAA,IAAI,EAAE,EADD;AAELP,YAAAA,QAAQ,EAAE,EAFL;AAGLuB,YAAAA,QAAQ,EAAE,EAAA;AAHL,WAAP,CAAA;AAKD,SAAA;;AAED,QAAA,OAAOC,YAAY,CAAChD,QAAD,EAAW2C,QAAX,CAAnB,CAAA;AACD,OAf8B,EAgB/B;AACEM,QAAAA,GAAG,EAAE,6BADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UAAMlD,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACU,OAAT,CAAiByC,QAAvB,qCAAmCnD,QAAQ,CAACU,OAAT,CAAiB0C,UAApD,CAAA;AAAA,SAFT;AAGEC,QAAAA,QAAQ,EAAE,SAAA,QAAA,GAAA;AAAA,UAAMrD,OAAAA,QAAQ,CAACsD,KAAT,CAAe,YAAA;AAAA,YAAMtD,OAAAA,QAAQ,CAACuD,oBAAT,EAAN,CAAA;AAAA,WAAf,CAAN,CAAA;AAAA,SAAA;AAHZ,OAhB+B,CArK5B;AA4LLG,MAAAA,0BAA0B,EAAEhB,UAAI,CAC9B,YAAA;AAAA,QAAM,OAAA,CAAC1C,QAAQ,CAACgB,QAAT,EAAA,CAAoBlB,YAArB,EAAmCE,QAAQ,CAAC2D,kBAAT,EAAnC,CAAN,CAAA;AAAA,OAD8B,EAE9B,UAAC7D,YAAD,EAAe6C,QAAf,EAA4B;AAC1B,QAAI,IAAA,CAACC,MAAM,CAACC,IAAP,CAAY/C,YAAZ,CAAA,CAA0BgD,MAA/B,EAAuC;AACrC,UAAO,OAAA;AACLf,YAAAA,IAAI,EAAE,EADD;AAELP,YAAAA,QAAQ,EAAE,EAFL;AAGLuB,YAAAA,QAAQ,EAAE,EAAA;AAHL,WAAP,CAAA;AAKD,SAAA;;AAED,QAAA,OAAOC,YAAY,CAAChD,QAAD,EAAW2C,QAAX,CAAnB,CAAA;AACD,OAZ6B,EAa9B;AACEM,QAAAA,GAAG,EAAE,4BADP;AAEEC,QAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,UAAA,IAAA,sBAAA,CAAA;;AAAA,UAAMlD,OAAAA,CAAAA,sBAAAA,GAAAA,QAAQ,CAACU,OAAT,CAAiByC,QAAvB,qCAAmCnD,QAAQ,CAACU,OAAT,CAAiB0C,UAApD,CAAA;AAAA,SAFT;AAGEC,QAAAA,QAAQ,EAAE,SAAA,QAAA,GAAA;AAAA,UAAMrD,OAAAA,QAAQ,CAACsD,KAAT,CAAe,YAAA;AAAA,YAAMtD,OAAAA,QAAQ,CAACuD,oBAAT,EAAN,CAAA;AAAA,WAAf,CAAN,CAAA;AAAA,SAAA;AAHZ,OAb8B,CA5L3B;AAgNL;AAEAK,MAAAA,gBAAgB,EAAE,SAAA1B,gBAAAA,CAAAA,KAAK,EAAI;AACzB,QAAyBlC,IAAAA,kBAAAA,GAAAA,QAAQ,CAACgB,QAAT,EAAzB;AAAA,YAAQlB,YAAR,sBAAQA,YAAR,CAAA;;AACA,QAAA,IAAM4B,GAAG,GAAG1B,QAAQ,CAACmC,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACR,GAAL,EAAU;AACR,UAAM,MAAA,IAAImC,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAOC,OAAAA,aAAa,CAACpC,GAAD,EAAM5B,YAAN,CAAb,KAA+C,IAAtD,CAAA;AACD,OA3NI;AA6NLiE,MAAAA,oBAAoB,EAAE,SAAA7B,oBAAAA,CAAAA,KAAK,EAAI;AAC7B,QAAyBlC,IAAAA,mBAAAA,GAAAA,QAAQ,CAACgB,QAAT,EAAzB;AAAA,YAAQlB,YAAR,uBAAQA,YAAR,CAAA;;AACA,QAAA,IAAM4B,GAAG,GAAG1B,QAAQ,CAACmC,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACR,GAAL,EAAU;AACR,UAAM,MAAA,IAAImC,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAOC,OAAAA,aAAa,CAACpC,GAAD,EAAM5B,YAAN,CAAb,KAA+C,MAAtD,CAAA;AACD,OAtOI;AAwOLkE,MAAAA,eAAe,EAAE,SAAA9B,eAAAA,CAAAA,KAAK,EAAI;AAAA,QAAA,IAAA,qBAAA,CAAA;;AACxB,QAAA,IAAMR,GAAG,GAAG1B,QAAQ,CAACmC,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACR,GAAL,EAAU;AACR,UAAM,MAAA,IAAImC,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAI,IAAA,OAAO7D,QAAQ,CAACU,OAAT,CAAiBN,kBAAxB,KAA+C,UAAnD,EAA+D;AAC7D,UAAA,OAAOJ,QAAQ,CAACU,OAAT,CAAiBN,kBAAjB,CAAoCsB,GAApC,CAAP,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,qBAAA,GAAO1B,QAAQ,CAACU,OAAT,CAAiBN,kBAAxB,oCAA8C,IAA9C,CAAA;AACD,OApPI;AAsPL6D,MAAAA,sBAAsB,EAAE,SAAA/B,sBAAAA,CAAAA,KAAK,EAAI;AAAA,QAAA,IAAA,sBAAA,CAAA;;AAC/B,QAAA,IAAMR,GAAG,GAAG1B,QAAQ,CAACmC,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACR,GAAL,EAAU;AACR,UAAM,MAAA,IAAImC,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAI,IAAA,OAAO7D,QAAQ,CAACU,OAAT,CAAiBJ,qBAAxB,KAAkD,UAAtD,EAAkE;AAChE,UAAA,OAAON,QAAQ,CAACU,OAAT,CAAiBJ,qBAAjB,CAAuCoB,GAAvC,CAAP,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,sBAAA,GAAO1B,QAAQ,CAACU,OAAT,CAAiBJ,qBAAxB,qCAAiD,IAAjD,CAAA;AACD,OAlQI;AAoQL4D,MAAAA,oBAAoB,EAAE,SAAAhC,oBAAAA,CAAAA,KAAK,EAAI;AAAA,QAAA,IAAA,sBAAA,CAAA;;AAC7B,QAAA,IAAMR,GAAG,GAAG1B,QAAQ,CAACmC,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;;AAEA,QAAI,IAAA,CAACR,GAAL,EAAU;AACR,UAAM,MAAA,IAAImC,KAAJ,EAAN,CAAA;AACD,SAAA;;AAED,QAAI,IAAA,OAAO7D,QAAQ,CAACU,OAAT,CAAiBL,uBAAxB,KAAoD,UAAxD,EAAoE;AAClE,UAAA,OAAOL,QAAQ,CAACU,OAAT,CAAiBL,uBAAjB,CAAyCqB,GAAzC,CAAP,CAAA;AACD,SAAA;;AAED,QAAA,OAAA,CAAA,sBAAA,GAAO1B,QAAQ,CAACU,OAAT,CAAiBL,uBAAxB,qCAAmD,IAAnD,CAAA;AACD,OAhRI;AAkRL;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEAgB,MAAAA,oBAAoB,EAAE,SAAM,oBAAA,GAAA;AAC1B,QAAA,IAAM8C,mBAAmB,GACvBnE,QAAQ,CAACoE,4BAAT,GAAwC5C,QAD1C,CAAA;;AAEA,QAAyBxB,IAAAA,mBAAAA,GAAAA,QAAQ,CAACgB,QAAT,EAAzB;AAAA,YAAQlB,YAAR,uBAAQA,YAAR,CAAA;;AAEA,QAAA,IAAIuE,iBAAiB,GAAGC,OAAO,CAC7BH,mBAAmB,CAACrB,MAApB,IAA8BF,MAAM,CAACC,IAAP,CAAY/C,YAAZ,CAAA,CAA0BgD,MAD3B,CAA/B,CAAA;;AAIA,QAAA,IAAIuB,iBAAJ,EAAuB;AACrB,UAAA,IAAIF,mBAAmB,CAACI,IAApB,CAAyB,UAAA7C,GAAG,EAAA;AAAA,YAAA,OAAI,CAAC5B,YAAY,CAAC4B,GAAG,CAACC,EAAL,CAAjB,CAAA;AAAA,WAA5B,CAAJ,EAA4D;AAC1D0C,YAAAA,iBAAiB,GAAG,KAApB,CAAA;AACD,WAAA;AACF,SAAA;;AAED,QAAA,OAAOA,iBAAP,CAAA;AACD,OAhTI;AAkTLxC,MAAAA,wBAAwB,EAAE,SAAM,wBAAA,GAAA;AAC9B,QAAA,IAAM2C,kBAAkB,GAAGxE,QAAQ,CAACyE,qBAAT,GAAiCjD,QAA5D,CAAA;;AACA,QAAyBxB,IAAAA,mBAAAA,GAAAA,QAAQ,CAACgB,QAAT,EAAzB;AAAA,YAAQlB,YAAR,uBAAQA,YAAR,CAAA;;AAEA,QAAA,IAAI4E,qBAAqB,GAAG,CAAC,CAACF,kBAAkB,CAAC1B,MAAjD,CAAA;;AAEA,QAAA,IACE4B,qBAAqB,IACrBF,kBAAkB,CAACD,IAAnB,CAAwB,UAAA7C,GAAG,EAAA;AAAA,UAAA,OAAI,CAAC5B,YAAY,CAAC4B,GAAG,CAACC,EAAL,CAAjB,CAAA;AAAA,SAA3B,CAFF,EAGE;AACA+C,UAAAA,qBAAqB,GAAG,KAAxB,CAAA;AACD,SAAA;;AAED,QAAA,OAAOA,qBAAP,CAAA;AACD,OAhUI;AAkULC,MAAAA,qBAAqB,EAAE,SAAM,qBAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAC3B,QACE,OAAA,CAAC3E,QAAQ,CAACqB,oBAAT,EAAD,IACA,CAAC,CAACuB,MAAM,CAACC,IAAP,CAAY7C,CAAAA,qBAAAA,GAAAA,QAAQ,CAACgB,QAAT,EAAA,CAAoBlB,YAAhC,KAAgD,IAAA,GAAA,qBAAA,GAAA,EAAhD,EAAoDgD,MAFxD,CAAA;AAID,OAvUI;AAyUL8B,MAAAA,yBAAyB,EAAE,SAAM,yBAAA,GAAA;AAC/B,QAAA,IAAMJ,kBAAkB,GAAGxE,QAAQ,CAACyE,qBAAT,GAAiCjD,QAA5D,CAAA;AACA,QAAA,OAAOxB,QAAQ,CAAC6B,wBAAT,EAAA,GACH,KADG,GAEH,CAAC,EAAC2C,kBAAD,IAAA,IAAA,IAACA,kBAAkB,CAAE1B,MAArB,CAFL,CAAA;AAGD,OA9UI;AAgVL+B,MAAAA,yBAAyB,EAAE,SAAA,yBAAA,CAAC3C,KAAD,EAAQ4C,SAAR,EAAsB;AAC/C,QAAA,IAAMpD,GAAG,GAAG1B,QAAQ,CAACmC,MAAT,CAAgBD,KAAhB,CAAZ,CAAA;AAEA,QAAA,IAAME,UAAU,GAAGV,GAAG,CAACW,aAAJ,EAAnB,CAAA;AACA,QAAA,IAAM0C,cAAc,GAAGrD,GAAG,CAACsD,iBAAJ,EAAvB,CAAA;AACA,QAAA,IAAMC,SAAS,GAAGvD,GAAG,CAACwD,YAAJ,EAAlB,CAAA;AAEA,QAAA,IAAMC,YAAoC,GAAG;AAC3C9B,UAAAA,QAAQ,EAAE4B,SAAS,GACf,UAACG,CAAD,EAAgC;AAC9B1D,YAAAA,GAAG,CAAC2D,cAAJ,CAAoBD,CAAC,CAACE,MAAH,CAA+BC,OAAlD,CAAA,CAAA;AACD,WAHc,GAIfC,SALuC;AAM3CD,UAAAA,OAAO,EAAEnD,UANkC;AAO3CqD,UAAAA,KAAK,EAAE,qBAPoC;AAQ3CC,UAAAA,aAAa,EAAEX,cAR4B;AAU3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAtB2C,SAA7C,CAAA;AAyBA,QAAA,OAAOY,gBAAU,CAACR,YAAD,EAAeL,SAAf,CAAjB,CAAA;AACD,OAjXI;AAmXLc,MAAAA,6BAA6B,EAAE,SAAAd,6BAAAA,CAAAA,SAAS,EAAI;AAC1C,QAAA,IAAMe,kBAAkB,GAAG7F,QAAQ,CAAC2E,qBAAT,EAA3B,CAAA;AACA,QAAA,IAAMN,iBAAiB,GAAGrE,QAAQ,CAACqB,oBAAT,EAA1B,CAAA;AAEA,QAAA,IAAM8D,YAAoC,GAAG;AAC3C9B,UAAAA,QAAQ,EAAE,SAAC+B,QAAAA,CAAAA,CAAD,EAAgC;AACxCpF,YAAAA,QAAQ,CAACkB,qBAAT,CACGkE,CAAC,CAACE,MAAH,CAA+BC,OADjC,CAAA,CAAA;AAGD,WAL0C;AAM3CA,UAAAA,OAAO,EAAElB,iBANkC;AAO3CoB,UAAAA,KAAK,EAAE,0BAPoC;AAQ3CC,UAAAA,aAAa,EAAEG,kBAAAA;AAR4B,SAA7C,CAAA;AAWA,QAAA,OAAOF,gBAAU,CAACR,YAAD,EAAeL,SAAf,CAAjB,CAAA;AACD,OAnYI;AAqYLgB,MAAAA,iCAAiC,EAAE,SAAAhB,iCAAAA,CAAAA,SAAS,EAAI;AAC9C,QAAA,IAAMiB,sBAAsB,GAAG/F,QAAQ,CAAC4E,yBAAT,EAA/B,CAAA;AACA,QAAA,IAAMF,qBAAqB,GAAG1E,QAAQ,CAAC6B,wBAAT,EAA9B,CAAA;AAEA,QAAA,IAAMsD,YAAoC,GAAG;AAC3C9B,UAAAA,QAAQ,EAAE,SAAC+B,QAAAA,CAAAA,CAAD,EAAgC;AACxCpF,YAAAA,QAAQ,CAAC4B,yBAAT,CACGwD,CAAC,CAACE,MAAH,CAA+BC,OADjC,CAAA,CAAA;AAGD,WAL0C;AAM3CA,UAAAA,OAAO,EAAEb,qBANkC;AAO3Ce,UAAAA,KAAK,EAAE,uCAPoC;AAQ3CC,UAAAA,aAAa,EAAEK,sBAAAA;AAR4B,SAA7C,CAAA;AAWA,QAAA,OAAOJ,gBAAU,CAACR,YAAD,EAAeL,SAAf,CAAjB,CAAA;AACD,OAAA;AArZI,KAAP,CAAA;AAuZD,GApbyB;AAsb1BkB,EAAAA,SAAS,EAAE,SAAA,SAAA,CACTtE,GADS,EAET1B,QAFS,EAGW;AACpB,IAAO,OAAA;AACLqC,MAAAA,aAAa,EAAE,SAAA,aAAA,GAAA;AAAA,QAAA,OAAMrC,QAAQ,CAAC4D,gBAAT,CAA0BlC,GAAG,CAACC,EAA9B,CAAN,CAAA;AAAA,OADV;AAELqD,MAAAA,iBAAiB,EAAE,SAAA,iBAAA,GAAA;AAAA,QAAA,OAAMhF,QAAQ,CAAC+D,oBAAT,CAA8BrC,GAAG,CAACC,EAAlC,CAAN,CAAA;AAAA,OAFd;AAGL0D,MAAAA,cAAc,EAAE,SAAA,cAAA,CAAAlE,KAAK,EAAA;AAAA,QAAInB,OAAAA,QAAQ,CAACiC,iBAAT,CAA2BP,GAAG,CAACC,EAA/B,EAAmCR,KAAnC,CAAJ,CAAA;AAAA,OAHhB;AAIL8E,MAAAA,sBAAsB,EAAE,SAAA,sBAAA,CAAAnB,SAAS,EAAA;AAAA,QAC/B9E,OAAAA,QAAQ,CAAC6E,yBAAT,CAAmCnD,GAAG,CAACC,EAAvC,EAA2CmD,SAA3C,CAD+B,CAAA;AAAA,OAJ5B;AAMLoB,MAAAA,iBAAiB,EAAE,SAAA,iBAAA,GAAA;AAAA,QAAA,OAAMlG,QAAQ,CAACkE,oBAAT,CAA8BxC,GAAG,CAACC,EAAlC,CAAN,CAAA;AAAA,OANd;AAOLuD,MAAAA,YAAY,EAAE,SAAA,YAAA,GAAA;AAAA,QAAA,OAAMlF,QAAQ,CAACgE,eAAT,CAAyBtC,GAAG,CAACC,EAA7B,CAAN,CAAA;AAAA,OAAA;AAPT,KAAP,CAAA;AASD,GAAA;AAncyB,EAArB;;AAscP,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAC1BM,cAD0B,EAE1BX,EAF0B,EAG1BR,KAH0B,EAI1BnB,QAJ0B,EAKvB;AAAA,EAAA,IAAA,YAAA,CAAA;;AACH,EAAA,IAAM0B,GAAG,GAAG1B,QAAQ,CAACmC,MAAT,CAAgBR,EAAhB,CAAZ,CAAA;AAEA,EAAkBD,GAAG,CAACyE,YAAJ,GAHf;AAMH;AACA;AACA;;AACA,EAAA,IAAIhF,KAAJ,EAAW;AACTmB,IAAAA,cAAc,CAACX,EAAD,CAAd,GAAqB,IAArB,CAAA;AACD,GAFD,MAEO;AACL,IAAOW,OAAAA,cAAc,CAACX,EAAD,CAArB,CAAA;AACD,GAbE;;;AAgBH,EAAA,IAAI,CAAAD,YAAAA,GAAAA,GAAG,CAAC0E,OAAJ,0BAAatD,MAAb,IAAuB9C,QAAQ,CAACiE,sBAAT,CAAgCvC,GAAG,CAACC,EAApC,CAA3B,EAAoE;AAClED,IAAAA,GAAG,CAAC0E,OAAJ,CAAY3E,OAAZ,CAAoB,UAAAC,GAAG,EAAA;AAAA,MACrBM,OAAAA,mBAAmB,CAACM,cAAD,EAAiBZ,GAAG,CAACC,EAArB,EAAyBR,KAAzB,EAAgCnB,QAAhC,CADE,CAAA;AAAA,KAAvB,CAAA,CAAA;AAGD,GAAA;AACF,CA1BD,CAAA;;AA4BO,SAASgD,YAAT,CACLhD,QADK,EAEL2C,QAFK,EAGgB;AACrB,EAAA,IAAM7C,YAAY,GAAGE,QAAQ,CAACgB,QAAT,GAAoBlB,YAAzC,CAAA;AAEA,EAAMuG,IAAAA,mBAAqC,GAAG,EAA9C,CAAA;AACA,EAAA,IAAMC,mBAAmD,GAAG,EAA5D,CAJqB;;AAOrB,EAAMC,IAAAA,WAAW,GAAG,SAAdA,WAAc,CAACxE,IAAD,EAAyByE,KAAzB,EAAuC;;AACzD,IAAA,OAAOzE,IAAI,CACR0E,GADI,CACA,UAAA/E,GAAG,EAAI;AAAA,MAAA,IAAA,aAAA,CAAA;;AACV,MAAMU,IAAAA,UAAU,GAAG0B,aAAa,CAACpC,GAAD,EAAM5B,YAAN,CAAb,KAA+C,IAAlE,CAAA;;AAEA,MAAA,IAAIsC,UAAJ,EAAgB;AACdiE,QAAAA,mBAAmB,CAACK,IAApB,CAAyBhF,GAAzB,CAAA,CAAA;AACA4E,QAAAA,mBAAmB,CAAC5E,GAAG,CAACC,EAAL,CAAnB,GAA8BD,GAA9B,CAAA;AACD,OAAA;;AAED,MAAA,IAAA,CAAA,aAAA,GAAIA,GAAG,CAAC0E,OAAR,KAAI,IAAA,IAAA,aAAA,CAAatD,MAAjB,EAAyB;AACvBpB,QAAAA,GAAG,4CACEA,GADF,EAAA;AAED0E,UAAAA,OAAO,EAAEG,WAAW,CAAC7E,GAAG,CAAC0E,OAAL,CAAA;AAFnB,SAAH,CAAA,CAAA;AAID,OAAA;;AAED,MAAA,IAAIhE,UAAJ,EAAgB;AACd,QAAA,OAAOV,GAAP,CAAA;AACD,OAAA;AACF,KAnBI,CAoBJiF,CAAAA,MApBI,CAoBGrC,OApBH,CAAP,CAAA;AAqBD,GAtBD,CAAA;;AAwBA,EAAO,OAAA;AACLvC,IAAAA,IAAI,EAAEwE,WAAW,CAAC5D,QAAQ,CAACZ,IAAV,CADZ;AAELP,IAAAA,QAAQ,EAAE6E,mBAFL;AAGLtD,IAAAA,QAAQ,EAAEuD,mBAAAA;AAHL,GAAP,CAAA;AAKD,CAAA;AAEM,SAASxC,aAAT,CACLpC,GADK,EAELkF,SAFK,EAGL5G,QAHK,EAIa;AAClB,EAAA,IAAI4G,SAAS,CAAClF,GAAG,CAACC,EAAL,CAAb,EAAuB;AACrB,IAAA,OAAO,IAAP,CAAA;AACD,GAAA;;AAED,EAAID,IAAAA,GAAG,CAAC0E,OAAJ,IAAe1E,GAAG,CAAC0E,OAAJ,CAAYtD,MAA/B,EAAuC;AACrC,IAAI+D,IAAAA,mBAAmB,GAAG,IAA1B,CAAA;AACA,IAAIC,IAAAA,YAAY,GAAG,KAAnB,CAAA;AAEApF,IAAAA,GAAG,CAAC0E,OAAJ,CAAY3E,OAAZ,CAAoB,UAAAsF,MAAM,EAAI;AAC5B;AACA,MAAA,IAAID,YAAY,IAAI,CAACD,mBAArB,EAA0C;AACxC,QAAA,OAAA;AACD,OAAA;;AAED,MAAI/C,IAAAA,aAAa,CAACiD,MAAD,EAASH,SAAT,CAAjB,EAAgD;AAC9CE,QAAAA,YAAY,GAAG,IAAf,CAAA;AACD,OAFD,MAEO;AACLD,QAAAA,mBAAmB,GAAG,KAAtB,CAAA;AACD,OAAA;AACF,KAXD,CAAA,CAAA;AAaA,IAAOA,OAAAA,mBAAmB,GAAG,IAAH,GAAUC,YAAY,GAAG,MAAH,GAAY,KAA5D,CAAA;AACD,GAAA;;AAED,EAAA,OAAO,KAAP,CAAA;AACD;;;;;;"}
1
+ {"version":3,"file":"RowSelection.js","sources":["../../../src/features/RowSelection.ts"],"sourcesContent":["import {\n Getter,\n OnChangeFn,\n AnyGenerics,\n PartialGenerics,\n PropGetterValue,\n TableInstance,\n Row,\n RowModel,\n Updater,\n} from '../types'\nimport { functionalUpdate, makeStateUpdater, memo, propGetter } from '../utils'\n\nexport type RowSelectionState = Record<string, boolean>\n\nexport type RowSelectionTableState = {\n rowSelection: RowSelectionState\n}\n\nexport type RowSelectionOptions<TGenerics extends AnyGenerics> = {\n onRowSelectionChange?: OnChangeFn<RowSelectionState>\n autoResetRowSelection?: boolean\n enableRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n enableMultiRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n enableSubRowSelection?: boolean | ((row: Row<TGenerics>) => boolean)\n // enableGroupingRowSelection?:\n // | boolean\n // | ((\n // row: Row<TGenerics>\n // ) => boolean)\n // isAdditiveSelectEvent?: (e: MouseEvent | TouchEvent) => boolean\n // isInclusiveSelectEvent?: (e: MouseEvent | TouchEvent) => boolean\n // selectRowsFn?: (\n // instance: TableInstance<\n // TData,\n // TValue,\n // TFilterFns,\n // TSortingFns,\n // TAggregationFns\n // >,\n // rowModel: RowModel<TGenerics>\n // ) => RowModel<TGenerics>\n}\n\ntype ToggleRowSelectedProps = {\n onChange?: (e: MouseEvent | TouchEvent) => void\n checked?: boolean\n title?: string\n indeterminate?: boolean\n}\n\nexport type RowSelectionRow = {\n getIsSelected: () => boolean\n getIsSomeSelected: () => boolean\n getCanSelect: () => boolean\n getCanMultiSelect: () => boolean\n toggleSelected: (value?: boolean) => void\n getToggleSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>\n}\n\nexport type RowSelectionInstance<TGenerics extends AnyGenerics> = {\n _notifyRowSelectionReset: () => void\n getToggleRowSelectedProps: <TGetter extends Getter<ToggleRowSelectedProps>>(\n rowId: string,\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>\n getToggleAllRowsSelectedProps: <\n TGetter extends Getter<ToggleRowSelectedProps>\n >(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>\n getToggleAllPageRowsSelectedProps: <\n TGetter extends Getter<ToggleRowSelectedProps>\n >(\n userProps?: TGetter\n ) => undefined | PropGetterValue<ToggleRowSelectedProps, TGetter>\n setRowSelection: (updater: Updater<RowSelectionState>) => void\n resetRowSelection: () => void\n toggleRowSelected: (rowId: string, value?: boolean) => void\n getRowCanSelect: (rowId: string) => boolean\n getRowCanSelectSubRows: (rowId: string) => boolean\n getRowCanMultiSelect: (rowId: string) => boolean\n // getGroupingRowCanSelect: (rowId: string) => boolean\n getRowIsSelected: (rowId: string) => boolean\n getRowIsSomeSelected: (rowId: string) => boolean\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<TGenerics>\n getSelectedRowModel: () => RowModel<TGenerics>\n getFilteredSelectedRowModel: () => RowModel<TGenerics>\n getGroupedSelectedRowModel: () => RowModel<TGenerics>\n}\n\n//\n\nexport const RowSelection = {\n getInitialState: (): RowSelectionTableState => {\n return {\n rowSelection: {},\n }\n },\n\n getDefaultOptions: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): RowSelectionOptions<TGenerics> => {\n return {\n onRowSelectionChange: makeStateUpdater('rowSelection', instance),\n autoResetRowSelection: true,\n enableRowSelection: true,\n enableMultiRowSelection: true,\n enableSubRowSelection: true,\n // enableGroupingRowSelection: false,\n // isAdditiveSelectEvent: (e: MouseEvent | TouchEvent) => !!e.metaKey,\n // isInclusiveSelectEvent: (e: MouseEvent | TouchEvent) => !!e.shiftKey,\n }\n },\n\n getInstance: <TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>\n ): RowSelectionInstance<TGenerics> => {\n let registered = false\n\n // const pageRows = instance.getPageRows()\n\n return {\n _notifyRowSelectionReset: () => {\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.autoResetRowSelection\n ) {\n instance.resetRowSelection()\n }\n },\n setRowSelection: updater =>\n instance.options.onRowSelectionChange?.(\n updater,\n functionalUpdate(updater, instance.getState().rowSelection)\n ),\n resetRowSelection: () =>\n instance.setRowSelection(instance.initialState.rowSelection ?? {}),\n toggleAllRowsSelected: value => {\n instance.setRowSelection(old => {\n value =\n typeof value !== 'undefined'\n ? value\n : !instance.getIsAllRowsSelected()\n\n const rowSelection = { ...old }\n\n const preGroupedFlatRows = instance.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 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 instance.setRowSelection(old => {\n const selectAll =\n typeof value !== 'undefined'\n ? value\n : !instance.getIsAllPageRowsSelected()\n\n const rowSelection: RowSelectionState = { ...old }\n\n instance.getRowModel().rows.forEach(row => {\n mutateRowIsSelected(rowSelection, row.id, value, instance)\n })\n\n return rowSelection\n }),\n toggleRowSelected: (rowId, value) => {\n const row = instance.getRow(rowId)\n const isSelected = row.getIsSelected()\n\n instance.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, rowId, value, instance)\n\n return selectedRowIds\n })\n },\n // addRowSelectionRange: rowId => {\n // const {\n // rows,\n // rowsById,\n // options: { selectGroupingRows, selectSubRows },\n // } = instance\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 // instance.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 // instance.setRowSelection(selectedRowIds)\n // },\n getPreSelectedRowModel: () => instance.getCoreRowModel(),\n getSelectedRowModel: memo(\n () => [instance.getState().rowSelection, instance.getCoreRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key: 'getSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => instance._notifyExpandedReset())\n },\n }\n ),\n\n getFilteredSelectedRowModel: memo(\n () => [\n instance.getState().rowSelection,\n instance.getGlobalFilteredRowModel(),\n ],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key: 'getFilteredSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => instance.queue(() => instance._notifyExpandedReset()),\n }\n ),\n\n getGroupedSelectedRowModel: memo(\n () => [instance.getState().rowSelection, instance.getGroupedRowModel()],\n (rowSelection, rowModel) => {\n if (!Object.keys(rowSelection).length) {\n return {\n rows: [],\n flatRows: [],\n rowsById: {},\n }\n }\n\n return selectRowsFn(instance, rowModel)\n },\n {\n key: 'getGroupedSelectedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => instance.queue(() => instance._notifyExpandedReset()),\n }\n ),\n\n ///\n\n getRowIsSelected: rowId => {\n const { rowSelection } = instance.getState()\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n return isRowSelected(row, rowSelection, instance) === true\n },\n\n getRowIsSomeSelected: rowId => {\n const { rowSelection } = instance.getState()\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n return isRowSelected(row, rowSelection, instance) === 'some'\n },\n\n getRowCanSelect: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableRowSelection === 'function') {\n return instance.options.enableRowSelection(row)\n }\n\n return instance.options.enableRowSelection ?? true\n },\n\n getRowCanSelectSubRows: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableSubRowSelection === 'function') {\n return instance.options.enableSubRowSelection(row)\n }\n\n return instance.options.enableSubRowSelection ?? true\n },\n\n getRowCanMultiSelect: rowId => {\n const row = instance.getRow(rowId)\n\n if (!row) {\n throw new Error()\n }\n\n if (typeof instance.options.enableMultiRowSelection === 'function') {\n return instance.options.enableMultiRowSelection(row)\n }\n\n return instance.options.enableMultiRowSelection ?? true\n },\n\n // getGroupingRowCanSelect: rowId => {\n // const row = instance.getRow(rowId)\n\n // if (!row) {\n // throw new Error()\n // }\n\n // if (typeof instance.options.enableGroupingRowSelection === 'function') {\n // return instance.options.enableGroupingRowSelection(row)\n // }\n\n // return instance.options.enableGroupingRowSelection ?? false\n // },\n\n getIsAllRowsSelected: () => {\n const preFilteredFlatRows =\n instance.getPreGlobalFilteredRowModel().flatRows\n const { rowSelection } = instance.getState()\n\n let isAllRowsSelected = Boolean(\n preFilteredFlatRows.length && Object.keys(rowSelection).length\n )\n\n if (isAllRowsSelected) {\n if (preFilteredFlatRows.some(row => !rowSelection[row.id])) {\n isAllRowsSelected = false\n }\n }\n\n return isAllRowsSelected\n },\n\n getIsAllPageRowsSelected: () => {\n const paginationFlatRows = instance.getPaginationRowModel().flatRows\n const { rowSelection } = instance.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 return (\n !instance.getIsAllRowsSelected() &&\n !!Object.keys(instance.getState().rowSelection ?? {}).length\n )\n },\n\n getIsSomePageRowsSelected: () => {\n const paginationFlatRows = instance.getPaginationRowModel().flatRows\n return instance.getIsAllPageRowsSelected()\n ? false\n : !!paginationFlatRows?.length\n },\n\n getToggleRowSelectedProps: (rowId, userProps) => {\n const row = instance.getRow(rowId)\n\n const isSelected = row.getIsSelected()\n const isSomeSelected = row.getIsSomeSelected()\n const canSelect = row.getCanSelect()\n\n const initialProps: ToggleRowSelectedProps = {\n onChange: canSelect\n ? (e: MouseEvent | TouchEvent) => {\n row.toggleSelected((e.target as HTMLInputElement).checked)\n }\n : undefined,\n checked: isSelected,\n title: 'Toggle Row Selected',\n indeterminate: isSomeSelected,\n // onChange: forInput\n // ? (e: Event) => e.stopPropagation()\n // : (e: Event) => {\n // if (instance.options.isAdditiveSelectEvent(e)) {\n // row.toggleSelected()\n // } else if (instance.options.isInclusiveSelectEvent(e)) {\n // instance.addRowSelectionRange(row.id)\n // } else {\n // instance.setRowSelection({})\n // row.toggleSelected()\n // }\n\n // if (props.onClick) props.onClick(e)\n // },\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getToggleAllRowsSelectedProps: userProps => {\n const isSomeRowsSelected = instance.getIsSomeRowsSelected()\n const isAllRowsSelected = instance.getIsAllRowsSelected()\n\n const initialProps: ToggleRowSelectedProps = {\n onChange: (e: MouseEvent | TouchEvent) => {\n instance.toggleAllRowsSelected(\n (e.target as HTMLInputElement).checked\n )\n },\n checked: isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: isSomeRowsSelected,\n }\n\n return propGetter(initialProps, userProps)\n },\n\n getToggleAllPageRowsSelectedProps: userProps => {\n const isSomePageRowsSelected = instance.getIsSomePageRowsSelected()\n const isAllPageRowsSelected = instance.getIsAllPageRowsSelected()\n\n const initialProps: ToggleRowSelectedProps = {\n onChange: (e: MouseEvent | TouchEvent) => {\n instance.toggleAllPageRowsSelected(\n (e.target as HTMLInputElement).checked\n )\n },\n checked: isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: isSomePageRowsSelected,\n }\n\n return propGetter(initialProps, userProps)\n },\n }\n },\n\n createRow: <TGenerics extends AnyGenerics>(\n row: Row<TGenerics>,\n instance: TableInstance<TGenerics>\n ): RowSelectionRow => {\n return {\n getIsSelected: () => instance.getRowIsSelected(row.id),\n getIsSomeSelected: () => instance.getRowIsSomeSelected(row.id),\n toggleSelected: value => instance.toggleRowSelected(row.id, value),\n getToggleSelectedProps: userProps =>\n instance.getToggleRowSelectedProps(row.id, userProps),\n getCanMultiSelect: () => instance.getRowCanMultiSelect(row.id),\n getCanSelect: () => instance.getRowCanSelect(row.id),\n }\n },\n}\n\nconst mutateRowIsSelected = <TGenerics extends AnyGenerics>(\n selectedRowIds: Record<string, boolean>,\n id: string,\n value: boolean,\n instance: TableInstance<TGenerics>\n) => {\n const row = instance.getRow(id)\n\n const isGrouped = row.getIsGrouped()\n\n // if ( // TODO: enforce grouping row selection rules\n // !isGrouped ||\n // (isGrouped && instance.options.enableGroupingRowSelection)\n // ) {\n if (value) {\n selectedRowIds[id] = true\n } else {\n delete selectedRowIds[id]\n }\n // }\n\n if (row.subRows?.length && instance.getRowCanSelectSubRows(row.id)) {\n row.subRows.forEach(row =>\n mutateRowIsSelected(selectedRowIds, row.id, value, instance)\n )\n }\n}\n\nexport function selectRowsFn<TGenerics extends AnyGenerics>(\n instance: TableInstance<TGenerics>,\n rowModel: RowModel<TGenerics>\n): RowModel<TGenerics> {\n const rowSelection = instance.getState().rowSelection\n\n const newSelectedFlatRows: Row<TGenerics>[] = []\n const newSelectedRowsById: Record<string, Row<TGenerics>> = {}\n\n // Filters top level and nested rows\n const recurseRows = (rows: Row<TGenerics>[], depth = 0): Row<TGenerics>[] => {\n return rows\n .map(row => {\n const isSelected = isRowSelected(row, rowSelection, instance) === true\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<TGenerics>[]\n }\n\n return {\n rows: recurseRows(rowModel.rows),\n flatRows: newSelectedFlatRows,\n rowsById: newSelectedRowsById,\n }\n}\n\nexport function isRowSelected<TGenerics extends AnyGenerics>(\n row: Row<TGenerics>,\n selection: Record<string, boolean>,\n instance: TableInstance<TGenerics>\n): boolean | 'some' {\n if (selection[row.id]) {\n return true\n }\n\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, instance)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n\n return allChildrenSelected ? true : someSelected ? 'some' : false\n }\n\n return false\n}\n"],"names":["RowSelection","getInitialState","rowSelection","getDefaultOptions","instance","onRowSelectionChange","makeStateUpdater","autoResetRowSelection","enableRowSelection","enableMultiRowSelection","enableSubRowSelection","getInstance","registered","_notifyRowSelectionReset","options","autoResetAll","resetRowSelection","setRowSelection","updater","functionalUpdate","getState","initialState","toggleAllRowsSelected","value","old","getIsAllRowsSelected","preGroupedFlatRows","getPreGroupedRowModel","flatRows","forEach","row","id","toggleAllPageRowsSelected","getIsAllPageRowsSelected","getRowModel","rows","mutateRowIsSelected","toggleRowSelected","rowId","getRow","isSelected","getIsSelected","selectedRowIds","getPreSelectedRowModel","getCoreRowModel","getSelectedRowModel","memo","rowModel","Object","keys","length","rowsById","selectRowsFn","key","debug","debugAll","debugTable","onChange","queue","_notifyExpandedReset","getFilteredSelectedRowModel","getGlobalFilteredRowModel","getGroupedSelectedRowModel","getGroupedRowModel","getRowIsSelected","Error","isRowSelected","getRowIsSomeSelected","getRowCanSelect","getRowCanSelectSubRows","getRowCanMultiSelect","preFilteredFlatRows","getPreGlobalFilteredRowModel","isAllRowsSelected","Boolean","some","paginationFlatRows","getPaginationRowModel","isAllPageRowsSelected","getIsSomeRowsSelected","getIsSomePageRowsSelected","getToggleRowSelectedProps","userProps","isSomeSelected","getIsSomeSelected","canSelect","getCanSelect","initialProps","e","toggleSelected","target","checked","undefined","title","indeterminate","propGetter","getToggleAllRowsSelectedProps","isSomeRowsSelected","getToggleAllPageRowsSelectedProps","isSomePageRowsSelected","createRow","getToggleSelectedProps","getCanMultiSelect","getIsGrouped","subRows","newSelectedFlatRows","newSelectedRowsById","recurseRows","depth","map","push","filter","selection","allChildrenSelected","someSelected","subRow"],"mappings":"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"}
@@ -18,10 +18,10 @@ var filterRowsUtils = require('./filterRowsUtils.js');
18
18
  function getColumnFilteredRowModelSync() {
19
19
  return function (instance) {
20
20
  return utils.memo(function () {
21
- return [instance.getState().columnFilters, instance.getCoreRowModel()];
21
+ return [instance.getState().columnFilters, instance.getPreColumnFilteredRowModel()];
22
22
  }, function (columnFilters, rowModel) {
23
23
  var columnFilteredRowModel = function () {
24
- if (!rowModel.rows.length || !columnFilters) {
24
+ if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length)) {
25
25
  return rowModel;
26
26
  }
27
27
 
@@ -1 +1 @@
1
- {"version":3,"file":"getColumnFilteredRowModelSync.js","sources":["../../../src/utils/getColumnFilteredRowModelSync.ts"],"sourcesContent":["import { TableInstance, RowModel, AnyGenerics, Row } from '../types'\nimport { memo } from '../utils'\nimport {\n filterRowModelFromLeafs,\n filterRowModelFromRoot,\n} from './filterRowsUtils'\n\nexport function getColumnFilteredRowModelSync<\n TGenerics extends AnyGenerics\n>(): (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().columnFilters, instance.getCoreRowModel()],\n (columnFilters, rowModel) => {\n const columnFilteredRowModel: RowModel<TGenerics> = (() => {\n if (!rowModel.rows.length || !columnFilters) {\n return rowModel\n }\n\n const filterFromLeafRows = instance.options.filterFromLeafRows\n\n const filterRows = (\n rowsToFilter: Row<TGenerics>[],\n depth: number\n ) => {\n for (let i = 0; i < columnFilters.length; i++) {\n const { id: columnId, value: filterValue } = columnFilters[i]\n // Find the columnFilters column\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n if (depth === 0) {\n const preFilteredRows = [...rowsToFilter]\n column.getPreFilteredRows = () => preFilteredRows\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Could not find a valid 'column.filterType' for column with the ID: ${column.id}.`\n )\n }\n continue\n }\n\n // Pass the rows, id, filterValue and column to the filterFn\n // to get the filtered rows back\n rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue)\n }\n\n return rowsToFilter\n }\n\n if (filterFromLeafRows) {\n return filterRowModelFromLeafs(rowModel.rows, filterRows, instance)\n }\n\n return filterRowModelFromRoot(rowModel.rows, filterRows, instance)\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => columnFilteredRowModel.rows\n })\n\n return columnFilteredRowModel\n },\n {\n key: 'getColumnFilteredRowModelSync',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._notifySortingReset()\n })\n },\n }\n )\n}\n"],"names":["getColumnFilteredRowModelSync","instance","memo","getState","columnFilters","getCoreRowModel","rowModel","columnFilteredRowModel","rows","length","filterFromLeafRows","options","filterRows","rowsToFilter","depth","i","columnId","id","filterValue","value","column","getColumn","process","env","NODE_ENV","console","warn","Error","preFilteredRows","getPreFilteredRows","filterFn","getColumnFilterFn","filterRowModelFromLeafs","filterRowModelFromRoot","nonFilteredColumns","getAllLeafColumns","filter","find","d","forEach","key","debug","debugAll","debugTable","onChange","queue","_notifySortingReset"],"mappings":";;;;;;;;;;;;;;;;;AAOO,SAASA,6BAAT,GAEgE;AACrE,EAAA,OAAO,UAAAC,QAAQ,EAAA;AAAA,IAAA,OACbC,UAAI,CACF,YAAA;AAAA,MAAM,OAAA,CAACD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,aAArB,EAAoCH,QAAQ,CAACI,eAAT,EAApC,CAAN,CAAA;AAAA,KADE,EAEF,UAACD,aAAD,EAAgBE,QAAhB,EAA6B;AAC3B,MAAMC,IAAAA,sBAA2C,GAAI,YAAM;AACzD,QAAI,IAAA,CAACD,QAAQ,CAACE,IAAT,CAAcC,MAAf,IAAyB,CAACL,aAA9B,EAA6C;AAC3C,UAAA,OAAOE,QAAP,CAAA;AACD,SAAA;;AAED,QAAA,IAAMI,kBAAkB,GAAGT,QAAQ,CAACU,OAAT,CAAiBD,kBAA5C,CAAA;;AAEA,QAAME,IAAAA,UAAU,GAAG,SAAbA,UAAa,CACjBC,YADiB,EAEjBC,KAFiB,EAGd;AACH,UAAA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGX,aAAa,CAACK,MAAlC,EAA0CM,CAAC,EAA3C,EAA+C;AAC7C,YAA6CX,IAAAA,gBAAAA,GAAAA,aAAa,CAACW,CAAD,CAA1D;AAAA,gBAAYC,QAAZ,oBAAQC,EAAR;AAAA,gBAA6BC,WAA7B,GAAA,gBAAA,CAAsBC,KAAtB,CAD6C;;AAG7C,YAAA,IAAMC,MAAM,GAAGnB,QAAQ,CAACoB,SAAT,CAAmBL,QAAnB,CAAf,CAAA;;AAEA,YAAI,IAAA,CAACI,MAAL,EAAa;AACX,cAAA,IAAIE,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,gBAAAA,OAAO,CAACC,IAAR,CAAA,0CAAA,GAC6CV,QAD7C,CAAA,CAAA;AAGD,eAAA;;AACD,cAAM,MAAA,IAAIW,KAAJ,EAAN,CAAA;AACD,aAAA;;AAED,YAAIb,IAAAA,KAAK,KAAK,CAAd,EAAiB;AAAA,cAAA,CAAA,YAAA;AACf,gBAAMc,IAAAA,eAAe,GAAOf,EAAAA,CAAAA,MAAAA,CAAAA,YAAP,CAArB,CAAA;;AACAO,gBAAAA,MAAM,CAACS,kBAAP,GAA4B,YAAA;AAAA,kBAAA,OAAMD,eAAN,CAAA;AAAA,iBAA5B,CAAA;AAFe,eAAA,GAAA,CAAA;AAGhB,aAAA;;AAED,YAAME,IAAAA,QAAQ,GAAG7B,QAAQ,CAAC8B,iBAAT,CAA2BX,MAAM,CAACH,EAAlC,CAAjB,CAAA;;AAEA,YAAI,IAAA,CAACa,QAAL,EAAe;AACb,cAAA,IAAIR,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzCC,gBAAAA,OAAO,CAACC,IAAR,CACwEN,qEAAAA,GAAAA,MAAM,CAACH,EAD/E,GAAA,GAAA,CAAA,CAAA;AAGD,eAAA;;AACD,cAAA,SAAA;AACD,aA5B4C;AA+B7C;;;AACAJ,YAAAA,YAAY,GAAGiB,QAAQ,CAACjB,YAAD,EAAe,CAACG,QAAD,CAAf,EAA2BE,WAA3B,CAAvB,CAAA;AACD,WAAA;;AAED,UAAA,OAAOL,YAAP,CAAA;AACD,SAxCD,CAAA;;AA0CA,QAAA,IAAIH,kBAAJ,EAAwB;AACtB,UAAOsB,OAAAA,uCAAuB,CAAC1B,QAAQ,CAACE,IAAV,EAAgBI,UAAhB,EAA4BX,QAA5B,CAA9B,CAAA;AACD,SAAA;;AAED,QAAOgC,OAAAA,sCAAsB,CAAC3B,QAAQ,CAACE,IAAV,EAAgBI,UAAhB,EAA4BX,QAA5B,CAA7B,CAAA;AACD,OAtDmD,EAApD,CAD2B;AA0D3B;;;AACA,MAAMiC,IAAAA,kBAAkB,GAAGjC,QAAQ,CAChCkC,iBADwB,EAExBC,CAAAA,MAFwB,CAGvB,UAAAhB,MAAM,EAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QACJ,OAAA,EAAA,CAAA,qBAAA,GAACnB,QAAQ,CAACE,QAAT,EAAA,CAAoBC,aAArB,KAAA,IAAA,IAAC,qBAAmCiC,CAAAA,IAAnC,CAAwC,UAAAC,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAACrB,EAAF,KAASG,MAAM,CAACH,EAApB,CAAA;AAAA,SAAzC,CAAD,CADI,CAAA;AAAA,OAHiB,CAA3B,CA3D2B;AAmE3B;;AAEAiB,MAAAA,kBAAkB,CAACK,OAAnB,CAA2B,UAAAnB,MAAM,EAAI;AACnCA,QAAAA,MAAM,CAACS,kBAAP,GAA4B,YAAA;AAAA,UAAMtB,OAAAA,sBAAsB,CAACC,IAA7B,CAAA;AAAA,SAA5B,CAAA;AACD,OAFD,CAAA,CAAA;AAIA,MAAA,OAAOD,sBAAP,CAAA;AACD,KA5EC,EA6EF;AACEiC,MAAAA,GAAG,EAAE,+BADP;AAEEC,MAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QAAMxC,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACU,OAAT,CAAiB+B,QAAvB,oCAAmCzC,QAAQ,CAACU,OAAT,CAAiBgC,UAApD,CAAA;AAAA,OAFT;AAGEC,MAAAA,QAAQ,EAAE,SAAM,QAAA,GAAA;AACd3C,QAAAA,QAAQ,CAAC4C,KAAT,CAAe,YAAM;AACnB5C,UAAAA,QAAQ,CAAC6C,mBAAT,EAAA,CAAA;AACD,SAFD,CAAA,CAAA;AAGD,OAAA;AAPH,KA7EE,CADS,CAAA;AAAA,GAAf,CAAA;AAwFD;;;;"}
1
+ {"version":3,"file":"getColumnFilteredRowModelSync.js","sources":["../../../src/utils/getColumnFilteredRowModelSync.ts"],"sourcesContent":["import { TableInstance, RowModel, AnyGenerics, Row } from '../types'\nimport { memo } from '../utils'\nimport {\n filterRowModelFromLeafs,\n filterRowModelFromRoot,\n} from './filterRowsUtils'\n\nexport function getColumnFilteredRowModelSync<\n TGenerics extends AnyGenerics\n>(): (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().columnFilters,\n instance.getPreColumnFilteredRowModel(),\n ],\n (columnFilters, rowModel) => {\n const columnFilteredRowModel: RowModel<TGenerics> = (() => {\n if (!rowModel.rows.length || !columnFilters?.length) {\n return rowModel\n }\n\n const filterFromLeafRows = instance.options.filterFromLeafRows\n\n const filterRows = (\n rowsToFilter: Row<TGenerics>[],\n depth: number\n ) => {\n for (let i = 0; i < columnFilters.length; i++) {\n const { id: columnId, value: filterValue } = columnFilters[i]\n // Find the columnFilters column\n const column = instance.getColumn(columnId)\n\n if (!column) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Table: Could not find a column with id: ${columnId}`\n )\n }\n throw new Error()\n }\n\n if (depth === 0) {\n const preFilteredRows = [...rowsToFilter]\n column.getPreFilteredRows = () => preFilteredRows\n }\n\n const filterFn = instance.getColumnFilterFn(column.id)\n\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n `Could not find a valid 'column.filterType' for column with the ID: ${column.id}.`\n )\n }\n continue\n }\n\n // Pass the rows, id, filterValue and column to the filterFn\n // to get the filtered rows back\n rowsToFilter = filterFn(rowsToFilter, [columnId], filterValue)\n }\n\n return rowsToFilter\n }\n\n if (filterFromLeafRows) {\n return filterRowModelFromLeafs(rowModel.rows, filterRows, instance)\n }\n\n return filterRowModelFromRoot(rowModel.rows, filterRows, instance)\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => columnFilteredRowModel.rows\n })\n\n return columnFilteredRowModel\n },\n {\n key: 'getColumnFilteredRowModelSync',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._notifySortingReset()\n })\n },\n }\n )\n}\n"],"names":["getColumnFilteredRowModelSync","instance","memo","getState","columnFilters","getPreColumnFilteredRowModel","rowModel","columnFilteredRowModel","rows","length","filterFromLeafRows","options","filterRows","rowsToFilter","depth","i","columnId","id","filterValue","value","column","getColumn","process","env","NODE_ENV","console","warn","Error","preFilteredRows","getPreFilteredRows","filterFn","getColumnFilterFn","filterRowModelFromLeafs","filterRowModelFromRoot","nonFilteredColumns","getAllLeafColumns","filter","find","d","forEach","key","debug","debugAll","debugTable","onChange","queue","_notifySortingReset"],"mappings":"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"}
@@ -17,7 +17,7 @@ var utils = require('../utils.js');
17
17
  function getExpandedRowModel() {
18
18
  return function (instance) {
19
19
  return utils.memo(function () {
20
- return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.paginateExpandedRows];
20
+ return [instance.getState().expanded, instance.getPreExpandedRowModel(), instance.options.paginateExpandedRows];
21
21
  }, function (expanded, rowModel, paginateExpandedRows) {
22
22
  if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
23
23
  !paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
@@ -1 +1 @@
1
- {"version":3,"file":"getExpandedRowModel.js","sources":["../../../src/utils/getExpandedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, AnyGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getExpandedRowModel<TGenerics extends AnyGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().expanded,\n instance.getGroupedRowModel(),\n instance.options.paginateExpandedRows,\n ],\n (expanded, rowModel, paginateExpandedRows) => {\n if (\n !rowModel.rows.length ||\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 expandRows(rowModel, instance)\n },\n {\n key: 'getExpandedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n )\n}\n\nexport function expandRows<TGenerics extends AnyGenerics>(\n rowModel: RowModel<TGenerics>,\n instance: TableInstance<TGenerics>\n) {\n const expandedRows: Row<TGenerics>[] = []\n\n const handleRow = (row: Row<TGenerics>) => {\n expandedRows.push(row)\n\n if (\n instance.options.expandSubRows &&\n row.subRows?.length &&\n instance.getIsRowExpanded(row.id)\n ) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"names":["getExpandedRowModel","instance","memo","getState","expanded","getGroupedRowModel","options","paginateExpandedRows","rowModel","rows","length","Object","keys","expandRows","key","debug","debugAll","debugTable","expandedRows","handleRow","row","push","expandSubRows","subRows","getIsRowExpanded","id","forEach","flatRows","rowsById"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,mBAAT,GAEwB;AAC7B,EAAA,OAAO,UAAAC,QAAQ,EAAA;AAAA,IAAA,OACbC,UAAI,CACF,YAAA;AAAA,MAAA,OAAM,CACJD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,QADhB,EAEJH,QAAQ,CAACI,kBAAT,EAFI,EAGJJ,QAAQ,CAACK,OAAT,CAAiBC,oBAHb,CAAN,CAAA;AAAA,KADE,EAMF,UAACH,QAAD,EAAWI,QAAX,EAAqBD,oBAArB,EAA8C;AAC5C,MAAA,IACE,CAACC,QAAQ,CAACC,IAAT,CAAcC,MAAf;AAEA,MAAA,CAACH,oBAFD,IAGCH,QAAQ,KAAK,IAAb,IAAqB,CAACO,MAAM,CAACC,IAAP,CAAYR,QAAZ,IAAYA,IAAAA,GAAAA,QAAZ,GAAwB,EAAxB,CAAA,CAA4BM,MAJrD,EAKE;AACA,QAAA,OAAOF,QAAP,CAAA;AACD,OAAA;;AAED,MAAA,OAAOK,UAAU,CAACL,QAAD,EAAWP,QAAX,CAAjB,CAAA;AACD,KAjBC,EAkBF;AACEa,MAAAA,GAAG,EAAE,qBADP;AAEEC,MAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QAAMd,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACK,OAAT,CAAiBU,QAAvB,oCAAmCf,QAAQ,CAACK,OAAT,CAAiBW,UAApD,CAAA;AAAA,OAAA;AAFT,KAlBE,CADS,CAAA;AAAA,GAAf,CAAA;AAwBD,CAAA;AAEM,SAASJ,UAAT,CACLL,QADK,EAELP,QAFK,EAGL;AACA,EAAMiB,IAAAA,YAA8B,GAAG,EAAvC,CAAA;;AAEA,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,GAAD,EAAyB;AAAA,IAAA,IAAA,YAAA,CAAA;;AACzCF,IAAAA,YAAY,CAACG,IAAb,CAAkBD,GAAlB,CAAA,CAAA;;AAEA,IACEnB,IAAAA,QAAQ,CAACK,OAAT,CAAiBgB,aAAjB,IACAF,CAAAA,YAAAA,GAAAA,GAAG,CAACG,OADJ,KAAA,IAAA,IACA,aAAab,MADb,IAEAT,QAAQ,CAACuB,gBAAT,CAA0BJ,GAAG,CAACK,EAA9B,CAHF,EAIE;AACAL,MAAAA,GAAG,CAACG,OAAJ,CAAYG,OAAZ,CAAoBP,SAApB,CAAA,CAAA;AACD,KAAA;AACF,GAVD,CAAA;;AAYAX,EAAAA,QAAQ,CAACC,IAAT,CAAciB,OAAd,CAAsBP,SAAtB,CAAA,CAAA;AAEA,EAAO,OAAA;AACLV,IAAAA,IAAI,EAAES,YADD;AAELS,IAAAA,QAAQ,EAAEnB,QAAQ,CAACmB,QAFd;AAGLC,IAAAA,QAAQ,EAAEpB,QAAQ,CAACoB,QAAAA;AAHd,GAAP,CAAA;AAKD;;;;;"}
1
+ {"version":3,"file":"getExpandedRowModel.js","sources":["../../../src/utils/getExpandedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, AnyGenerics } from '../types'\nimport { memo } from '../utils'\n\nexport function getExpandedRowModel<TGenerics extends AnyGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().expanded,\n instance.getPreExpandedRowModel(),\n instance.options.paginateExpandedRows,\n ],\n (expanded, rowModel, paginateExpandedRows) => {\n if (\n !rowModel.rows.length ||\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 expandRows(rowModel, instance)\n },\n {\n key: 'getExpandedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n )\n}\n\nexport function expandRows<TGenerics extends AnyGenerics>(\n rowModel: RowModel<TGenerics>,\n instance: TableInstance<TGenerics>\n) {\n const expandedRows: Row<TGenerics>[] = []\n\n const handleRow = (row: Row<TGenerics>) => {\n expandedRows.push(row)\n\n if (\n instance.options.expandSubRows &&\n row.subRows?.length &&\n instance.getIsRowExpanded(row.id)\n ) {\n row.subRows.forEach(handleRow)\n }\n }\n\n rowModel.rows.forEach(handleRow)\n\n return {\n rows: expandedRows,\n flatRows: rowModel.flatRows,\n rowsById: rowModel.rowsById,\n }\n}\n"],"names":["getExpandedRowModel","instance","memo","getState","expanded","getPreExpandedRowModel","options","paginateExpandedRows","rowModel","rows","length","Object","keys","expandRows","key","debug","debugAll","debugTable","expandedRows","handleRow","row","push","expandSubRows","subRows","getIsRowExpanded","id","forEach","flatRows","rowsById"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,mBAAT,GAEwB;AAC7B,EAAA,OAAO,UAAAC,QAAQ,EAAA;AAAA,IAAA,OACbC,UAAI,CACF,YAAA;AAAA,MAAA,OAAM,CACJD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,QADhB,EAEJH,QAAQ,CAACI,sBAAT,EAFI,EAGJJ,QAAQ,CAACK,OAAT,CAAiBC,oBAHb,CAAN,CAAA;AAAA,KADE,EAMF,UAACH,QAAD,EAAWI,QAAX,EAAqBD,oBAArB,EAA8C;AAC5C,MAAA,IACE,CAACC,QAAQ,CAACC,IAAT,CAAcC,MAAf;AAEA,MAAA,CAACH,oBAFD,IAGCH,QAAQ,KAAK,IAAb,IAAqB,CAACO,MAAM,CAACC,IAAP,CAAYR,QAAZ,IAAYA,IAAAA,GAAAA,QAAZ,GAAwB,EAAxB,CAAA,CAA4BM,MAJrD,EAKE;AACA,QAAA,OAAOF,QAAP,CAAA;AACD,OAAA;;AAED,MAAA,OAAOK,UAAU,CAACL,QAAD,EAAWP,QAAX,CAAjB,CAAA;AACD,KAjBC,EAkBF;AACEa,MAAAA,GAAG,EAAE,qBADP;AAEEC,MAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QAAMd,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACK,OAAT,CAAiBU,QAAvB,oCAAmCf,QAAQ,CAACK,OAAT,CAAiBW,UAApD,CAAA;AAAA,OAAA;AAFT,KAlBE,CADS,CAAA;AAAA,GAAf,CAAA;AAwBD,CAAA;AAEM,SAASJ,UAAT,CACLL,QADK,EAELP,QAFK,EAGL;AACA,EAAMiB,IAAAA,YAA8B,GAAG,EAAvC,CAAA;;AAEA,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,GAAD,EAAyB;AAAA,IAAA,IAAA,YAAA,CAAA;;AACzCF,IAAAA,YAAY,CAACG,IAAb,CAAkBD,GAAlB,CAAA,CAAA;;AAEA,IACEnB,IAAAA,QAAQ,CAACK,OAAT,CAAiBgB,aAAjB,IACAF,CAAAA,YAAAA,GAAAA,GAAG,CAACG,OADJ,KAAA,IAAA,IACA,aAAab,MADb,IAEAT,QAAQ,CAACuB,gBAAT,CAA0BJ,GAAG,CAACK,EAA9B,CAHF,EAIE;AACAL,MAAAA,GAAG,CAACG,OAAJ,CAAYG,OAAZ,CAAoBP,SAApB,CAAA,CAAA;AACD,KAAA;AACF,GAVD,CAAA;;AAYAX,EAAAA,QAAQ,CAACC,IAAT,CAAciB,OAAd,CAAsBP,SAAtB,CAAA,CAAA;AAEA,EAAO,OAAA;AACLV,IAAAA,IAAI,EAAES,YADD;AAELS,IAAAA,QAAQ,EAAEnB,QAAQ,CAACmB,QAFd;AAGLC,IAAAA,QAAQ,EAAEpB,QAAQ,CAACoB,QAAAA;AAHd,GAAP,CAAA;AAKD;;;;;"}
@@ -18,7 +18,7 @@ var filterRowsUtils = require('./filterRowsUtils.js');
18
18
  function getGlobalFilteredRowModelSync() {
19
19
  return function (instance) {
20
20
  return utils.memo(function () {
21
- return [instance.getState().globalFilter, instance.getCoreRowModel()];
21
+ return [instance.getState().globalFilter, instance.getPreGlobalFilteredRowModel()];
22
22
  }, function (globalFilter, rowModel) {
23
23
  var globalFilteredRowModel = function () {
24
24
  if (!rowModel.rows.length || !globalFilter) {
@@ -1 +1 @@
1
- {"version":3,"file":"getGlobalFilteredRowModelSync.js","sources":["../../../src/utils/getGlobalFilteredRowModelSync.ts"],"sourcesContent":["import { TableInstance, RowModel, AnyGenerics, Row } from '../types'\nimport { memo } from '../utils'\nimport {\n filterRowModelFromLeafs,\n filterRowModelFromRoot,\n} from './filterRowsUtils'\n\nexport function getGlobalFilteredRowModelSync<\n TGenerics extends AnyGenerics\n>(): (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().globalFilter, instance.getCoreRowModel()],\n (globalFilter, rowModel) => {\n const globalFilteredRowModel: RowModel<TGenerics> = (() => {\n if (!rowModel.rows.length || !globalFilter) {\n return rowModel\n }\n\n const filterFromLeafRows = instance.options.filterFromLeafRows\n\n const filterFn = instance.getGlobalFilterFn()\n\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find a valid 'globalFilterType'`)\n }\n return rowModel\n }\n\n const filterableColumns = instance\n .getAllLeafColumns()\n .filter(column => column.getCanGlobalFilter())\n\n const filterableColumnIds = filterableColumns.map(d => d.id)\n\n const filterRows = (rows: Row<TGenerics>[]) => {\n return filterFn(rows, filterableColumnIds, globalFilter)\n }\n\n if (filterFromLeafRows) {\n return filterRowModelFromLeafs(rowModel.rows, filterRows, instance)\n }\n\n return filterRowModelFromRoot(rowModel.rows, filterRows, instance)\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => globalFilteredRowModel.rows\n })\n\n return globalFilteredRowModel\n },\n {\n key: 'getGlobalFilteredRowModelSync',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._notifySortingReset()\n })\n },\n }\n )\n}\n"],"names":["getGlobalFilteredRowModelSync","instance","memo","getState","globalFilter","getCoreRowModel","rowModel","globalFilteredRowModel","rows","length","filterFromLeafRows","options","filterFn","getGlobalFilterFn","process","env","NODE_ENV","console","warn","filterableColumns","getAllLeafColumns","filter","column","getCanGlobalFilter","filterableColumnIds","map","d","id","filterRows","filterRowModelFromLeafs","filterRowModelFromRoot","nonFilteredColumns","columnFilters","find","forEach","getPreFilteredRows","key","debug","debugAll","debugTable","onChange","queue","_notifySortingReset"],"mappings":"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"}
1
+ {"version":3,"file":"getGlobalFilteredRowModelSync.js","sources":["../../../src/utils/getGlobalFilteredRowModelSync.ts"],"sourcesContent":["import { TableInstance, RowModel, AnyGenerics, Row } from '../types'\nimport { memo } from '../utils'\nimport {\n filterRowModelFromLeafs,\n filterRowModelFromRoot,\n} from './filterRowsUtils'\n\nexport function getGlobalFilteredRowModelSync<\n TGenerics extends AnyGenerics\n>(): (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().globalFilter,\n instance.getPreGlobalFilteredRowModel(),\n ],\n (globalFilter, rowModel) => {\n const globalFilteredRowModel: RowModel<TGenerics> = (() => {\n if (!rowModel.rows.length || !globalFilter) {\n return rowModel\n }\n\n const filterFromLeafRows = instance.options.filterFromLeafRows\n\n const filterFn = instance.getGlobalFilterFn()\n\n if (!filterFn) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Could not find a valid 'globalFilterType'`)\n }\n return rowModel\n }\n\n const filterableColumns = instance\n .getAllLeafColumns()\n .filter(column => column.getCanGlobalFilter())\n\n const filterableColumnIds = filterableColumns.map(d => d.id)\n\n const filterRows = (rows: Row<TGenerics>[]) => {\n return filterFn(rows, filterableColumnIds, globalFilter)\n }\n\n if (filterFromLeafRows) {\n return filterRowModelFromLeafs(rowModel.rows, filterRows, instance)\n }\n\n return filterRowModelFromRoot(rowModel.rows, filterRows, instance)\n })()\n\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = instance\n .getAllLeafColumns()\n .filter(\n column =>\n !instance.getState().columnFilters?.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n\n nonFilteredColumns.forEach(column => {\n column.getPreFilteredRows = () => globalFilteredRowModel.rows\n })\n\n return globalFilteredRowModel\n },\n {\n key: 'getGlobalFilteredRowModelSync',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._notifySortingReset()\n })\n },\n }\n )\n}\n"],"names":["getGlobalFilteredRowModelSync","instance","memo","getState","globalFilter","getPreGlobalFilteredRowModel","rowModel","globalFilteredRowModel","rows","length","filterFromLeafRows","options","filterFn","getGlobalFilterFn","process","env","NODE_ENV","console","warn","filterableColumns","getAllLeafColumns","filter","column","getCanGlobalFilter","filterableColumnIds","map","d","id","filterRows","filterRowModelFromLeafs","filterRowModelFromRoot","nonFilteredColumns","columnFilters","find","forEach","getPreFilteredRows","key","debug","debugAll","debugTable","onChange","queue","_notifySortingReset"],"mappings":"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"}