@tanstack/table-core 8.0.0-alpha.41 → 8.0.0-alpha.44

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 (38) hide show
  1. package/build/cjs/core.js +4 -2
  2. package/build/cjs/core.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 +11 -9
  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/Filters.d.ts +0 -1
  22. package/build/umd/index.development.js +11 -9
  23. package/build/umd/index.development.js.map +1 -1
  24. package/build/umd/index.production.js +1 -1
  25. package/build/umd/index.production.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/core.ts +2 -1
  28. package/src/features/Filters.ts +0 -1
  29. package/src/features/RowSelection.ts +1 -1
  30. package/src/utils/getColumnFilteredRowModelAsync.ts +4 -1
  31. package/src/utils/getColumnFilteredRowModelSync.ts +5 -2
  32. package/src/utils/getExpandedRowModel.ts +1 -1
  33. package/src/utils/getGlobalFilteredRowModelAsync.ts +4 -1
  34. package/src/utils/getGlobalFilteredRowModelSync.ts +4 -1
  35. package/src/utils/getGroupedRowModel.ts +1 -1
  36. package/src/utils/getPaginationRowModel.ts +4 -1
  37. package/src/utils/getSortedRowModelAsync.ts +1 -1
  38. package/src/utils/getSortedRowModelSync.ts +1 -1
@@ -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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"}
@@ -17,7 +17,7 @@ var utils = require('../utils.js');
17
17
  function getGroupedRowModelSync() {
18
18
  return function (instance) {
19
19
  return utils.memo(function () {
20
- return [instance.getState().grouping, instance.getSortedRowModel()];
20
+ return [instance.getState().grouping, instance.getPreGroupedRowModel()];
21
21
  }, function (grouping, rowModel) {
22
22
  if (!rowModel.rows.length || !grouping.length) {
23
23
  return rowModel;
@@ -1 +1 @@
1
- {"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, AnyGenerics } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModelSync<TGenerics extends AnyGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().grouping, instance.getSortedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n instance.getColumn(columnId)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (\n leafRows: Row<TGenerics>[],\n groupedRows: Row<TGenerics>[],\n depth: number\n ) => {\n const values: Record<string, unknown> = {}\n\n instance.getAllLeafColumns().forEach(column => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n const aggregateFn = instance.getColumnAggregationFn(column.id)\n\n if (aggregateFn) {\n values[column.id] = aggregateFn(\n () =>\n leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n columnValue = column.aggregateValue(columnValue)\n }\n\n return columnValue\n }),\n () => groupedRows.map(row => row.values[column.id])\n )\n } else if (column.aggregationType) {\n console.info({ column })\n throw new Error(\n process.env.NODE_ENV !== 'production'\n ? `Table: Invalid column.aggregateType option for column listed above`\n : ''\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n const groupedFlatRows: Row<TGenerics>[] = []\n const groupedRowsById: Record<string, Row<TGenerics>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TGenerics>[],\n depth = 0,\n parentId: string\n ) => {\n // This is the last level, just return the rows\n if (depth === existingGrouping.length) {\n return rows\n }\n\n const columnId = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = instance.createRow(\n id,\n undefined,\n index,\n depth,\n values\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0, '')\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n {\n key: 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._notifyExpandedReset()\n })\n },\n }\n )\n}\n\nfunction groupBy<TGenerics extends AnyGenerics>(\n rows: Row<TGenerics>[],\n columnId: string\n) {\n const groupMap = new Map<any, Row<TGenerics>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.values[columnId]}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n map.set(resKey, [...previous, row])\n }\n return map\n }, groupMap)\n}\n"],"names":["getGroupedRowModelSync","instance","memo","getState","grouping","getSortedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","aggregateRowsToValues","leafRows","groupedRows","depth","values","getAllLeafColumns","forEach","column","includes","id","aggregateFn","getColumnAggregationFn","map","row","columnValue","aggregateValue","aggregationType","console","info","Error","process","env","NODE_ENV","groupedFlatRows","groupedRowsById","groupUpRecursively","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","index","groupingValue","subRows","flattenBy","createRow","undefined","Object","assign","groupingColumnId","subRow","push","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","queue","_notifyExpandedReset","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":";;;;;;;;;;;;;;;;AAGO,SAASA,sBAAT,GAEwB;AAC7B,EAAA,OAAO,UAAAC,QAAQ,EAAA;AAAA,IAAA,OACbC,UAAI,CACF,YAAA;AAAA,MAAM,OAAA,CAACD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,QAArB,EAA+BH,QAAQ,CAACI,iBAAT,EAA/B,CAAN,CAAA;AAAA,KADE,EAEF,UAACD,QAAD,EAAWE,QAAX,EAAwB;AACtB,MAAI,IAAA,CAACA,QAAQ,CAACC,IAAT,CAAcC,MAAf,IAAyB,CAACJ,QAAQ,CAACI,MAAvC,EAA+C;AAC7C,QAAA,OAAOF,QAAP,CAAA;AACD,OAHqB;;;AAMtB,MAAA,IAAMG,gBAAgB,GAAGL,QAAQ,CAACM,MAAT,CAAgB,UAAAC,QAAQ,EAAA;AAAA,QAAA,OAC/CV,QAAQ,CAACW,SAAT,CAAmBD,QAAnB,CAD+C,CAAA;AAAA,OAAxB,CAAzB,CANsB;AAWtB;;AACA,MAAME,IAAAA,qBAAqB,GAAG,SAAxBA,qBAAwB,CAC5BC,QAD4B,EAE5BC,WAF4B,EAG5BC,KAH4B,EAIzB;AACH,QAAMC,IAAAA,MAA+B,GAAG,EAAxC,CAAA;AAEAhB,QAAAA,QAAQ,CAACiB,iBAAT,EAAA,CAA6BC,OAA7B,CAAqC,UAAAC,MAAM,EAAI;AAC7C;AACA,UAAIX,IAAAA,gBAAgB,CAACY,QAAjB,CAA0BD,MAAM,CAACE,EAAjC,CAAJ,EAA0C;AACxCL,YAAAA,MAAM,CAACG,MAAM,CAACE,EAAR,CAAN,GAAoBP,WAAW,CAAC,CAAD,CAAX,GAChBA,WAAW,CAAC,CAAD,CAAX,CAAeE,MAAf,CAAsBG,MAAM,CAACE,EAA7B,CADgB,GAEhB,IAFJ,CAAA;AAGA,YAAA,OAAA;AACD,WAP4C;;;AAU7C,UAAMC,IAAAA,WAAW,GAAGtB,QAAQ,CAACuB,sBAAT,CAAgCJ,MAAM,CAACE,EAAvC,CAApB,CAAA;;AAEA,UAAA,IAAIC,WAAJ,EAAiB;AACfN,YAAAA,MAAM,CAACG,MAAM,CAACE,EAAR,CAAN,GAAoBC,WAAW,CAC7B,YAAA;AAAA,cAAA,OACET,QAAQ,CAACW,GAAT,CAAa,UAAAC,GAAG,EAAI;AAClB,gBAAIC,IAAAA,WAAW,GAAGD,GAAG,CAACT,MAAJ,CAAWG,MAAM,CAACE,EAAlB,CAAlB,CAAA;;AAEA,gBAAA,IAAI,CAACN,KAAD,IAAUI,MAAM,CAACQ,cAArB,EAAqC;AACnCD,kBAAAA,WAAW,GAAGP,MAAM,CAACQ,cAAP,CAAsBD,WAAtB,CAAd,CAAA;AACD,iBAAA;;AAED,gBAAA,OAAOA,WAAP,CAAA;AACD,eARD,CADF,CAAA;AAAA,aAD6B,EAW7B,YAAA;AAAA,cAAA,OAAMZ,WAAW,CAACU,GAAZ,CAAgB,UAAAC,GAAG,EAAA;AAAA,gBAAA,OAAIA,GAAG,CAACT,MAAJ,CAAWG,MAAM,CAACE,EAAlB,CAAJ,CAAA;AAAA,eAAnB,CAAN,CAAA;AAAA,aAX6B,CAA/B,CAAA;AAaD,WAdD,MAcO,IAAIF,MAAM,CAACS,eAAX,EAA4B;AACjCC,YAAAA,OAAO,CAACC,IAAR,CAAa;AAAEX,cAAAA,MAAM,EAANA,MAAAA;AAAF,aAAb,CAAA,CAAA;AACA,YAAA,MAAM,IAAIY,KAAJ,CACJC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GAEI,oEAAA,GAAA,EAHA,CAAN,CAAA;AAKD,WAPM,MAOA;AACLlB,YAAAA,MAAM,CAACG,MAAM,CAACE,EAAR,CAAN,GAAoB,IAApB,CAAA;AACD,WAAA;AACF,SApCD,CAAA,CAAA;AAsCA,QAAA,OAAOL,MAAP,CAAA;AACD,OA9CD,CAAA;;AAgDA,MAAMmB,IAAAA,eAAiC,GAAG,EAA1C,CAAA;AACA,MAAA,IAAMC,eAA+C,GAAG,EAAxD,CA7DsB;AA+DtB;AACA;AACA;AAEA;;AACA,MAAMC,IAAAA,kBAAkB,GAAG,SAArBA,kBAAqB,CACzB/B,IADyB,EAEzBS,KAFyB,EAGzBuB,QAHyB,EAItB;AAAA,QAAA,IAFHvB,KAEG,KAAA,KAAA,CAAA,EAAA;AAFHA,UAAAA,KAEG,GAFK,CAEL,CAAA;AAAA,SAAA;;AACH;AACA,QAAA,IAAIA,KAAK,KAAKP,gBAAgB,CAACD,MAA/B,EAAuC;AACrC,UAAA,OAAOD,IAAP,CAAA;AACD,SAAA;;AAED,QAAA,IAAMI,QAAQ,GAAGF,gBAAgB,CAACO,KAAD,CAAjC,CANG;;AASH,QAAMwB,IAAAA,YAAY,GAAGC,OAAO,CAAClC,IAAD,EAAOI,QAAP,CAA5B,CATG;;AAYH,QAAA,IAAM+B,qBAAqB,GAAGC,KAAK,CAACC,IAAN,CAAWJ,YAAY,CAACK,OAAb,EAAX,CAAmCpB,CAAAA,GAAnC,CAC5B,UAAA,IAAA,EAA+BqB,KAA/B,EAAyC;AAAA,UAAA,IAAvCC,aAAuC,GAAA,IAAA,CAAA,CAAA,CAAA;AAAA,cAAxBhC,WAAwB,GAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AACvC,UAAA,IAAIO,EAAE,GAAMX,QAAN,GAAA,GAAA,GAAkBoC,aAAxB,CAAA;AACAzB,UAAAA,EAAE,GAAGiB,QAAQ,GAAMA,QAAN,SAAkBjB,EAAlB,GAAyBA,EAAtC,CAFuC;;AAKvC,UAAA,IAAM0B,OAAO,GAAGV,kBAAkB,CAACvB,WAAD,EAAcC,KAAK,GAAG,CAAtB,EAAyBM,EAAzB,CAAlC,CALuC;;AAQvC,UAAMR,IAAAA,QAAQ,GAAGE,KAAK,GAClBiC,eAAS,CAAClC,WAAD,EAAc,UAAAW,GAAG,EAAA;AAAA,YAAIA,OAAAA,GAAG,CAACsB,OAAR,CAAA;AAAA,WAAjB,CADS,GAElBjC,WAFJ,CAAA;AAIA,UAAME,IAAAA,MAAM,GAAGJ,qBAAqB,CAACC,QAAD,EAAWC,WAAX,EAAwBC,KAAxB,CAApC,CAAA;AAEA,UAAA,IAAMU,GAAG,GAAGzB,QAAQ,CAACiD,SAAT,CACV5B,EADU,EAEV6B,SAFU,EAGVL,KAHU,EAIV9B,KAJU,EAKVC,MALU,CAAZ,CAAA;AAQAmC,UAAAA,MAAM,CAACC,MAAP,CAAc3B,GAAd,EAAmB;AACjB4B,YAAAA,gBAAgB,EAAE3C,QADD;AAEjBoC,YAAAA,aAAa,EAAbA,aAFiB;AAGjBC,YAAAA,OAAO,EAAPA,OAHiB;AAIjBlC,YAAAA,QAAQ,EAARA,QAAAA;AAJiB,WAAnB,CAAA,CAAA;AAOAkC,UAAAA,OAAO,CAAC7B,OAAR,CAAgB,UAAAoC,MAAM,EAAI;AACxBnB,YAAAA,eAAe,CAACoB,IAAhB,CAAqBD,MAArB,CAAA,CAAA;AACAlB,YAAAA,eAAe,CAACkB,MAAM,CAACjC,EAAR,CAAf,GAA6BiC,MAA7B,CAFwB;AAIxB;AACA;AACA;AACA;AACA;AACA;AACD,WAVD,CAAA,CAAA;AAYA,UAAA,OAAO7B,GAAP,CAAA;AACD,SA3C2B,CAA9B,CAAA;AA8CA,QAAA,OAAOgB,qBAAP,CAAA;AACD,OA/DD,CAAA;;AAiEA,MAAM3B,IAAAA,WAAW,GAAGuB,kBAAkB,CAAChC,QAAQ,CAACC,IAAV,EAAgB,CAAhB,EAAmB,EAAnB,CAAtC,CAAA;AAEAQ,MAAAA,WAAW,CAACI,OAAZ,CAAoB,UAAAoC,MAAM,EAAI;AAC5BnB,QAAAA,eAAe,CAACoB,IAAhB,CAAqBD,MAArB,CAAA,CAAA;AACAlB,QAAAA,eAAe,CAACkB,MAAM,CAACjC,EAAR,CAAf,GAA6BiC,MAA7B,CAF4B;AAI5B;AACA;AACA;AACA;AACA;AACA;AACD,OAVD,CAAA,CAAA;AAYA,MAAO,OAAA;AACLhD,QAAAA,IAAI,EAAEQ,WADD;AAEL0C,QAAAA,QAAQ,EAAErB,eAFL;AAGLsB,QAAAA,QAAQ,EAAErB,eAAAA;AAHL,OAAP,CAAA;AAKD,KA1JC,EA2JF;AACEsB,MAAAA,GAAG,EAAE,oBADP;AAEEC,MAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QAAM3D,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAAC4D,OAAT,CAAiBC,QAAvB,oCAAmC7D,QAAQ,CAAC4D,OAAT,CAAiBE,UAApD,CAAA;AAAA,OAFT;AAGEC,MAAAA,QAAQ,EAAE,SAAM,QAAA,GAAA;AACd/D,QAAAA,QAAQ,CAACgE,KAAT,CAAe,YAAM;AACnBhE,UAAAA,QAAQ,CAACiE,oBAAT,EAAA,CAAA;AACD,SAFD,CAAA,CAAA;AAGD,OAAA;AAPH,KA3JE,CADS,CAAA;AAAA,GAAf,CAAA;AAsKD,CAAA;;AAED,SAASzB,OAAT,CACElC,IADF,EAEEI,QAFF,EAGE;AACA,EAAA,IAAMwD,QAAQ,GAAG,IAAIC,GAAJ,EAAjB,CAAA;AAEA,EAAO7D,OAAAA,IAAI,CAAC8D,MAAL,CAAY,UAAC5C,GAAD,EAAMC,GAAN,EAAc;AAC/B,IAAA,IAAM4C,MAAM,GAAM5C,EAAAA,GAAAA,GAAG,CAACT,MAAJ,CAAWN,QAAX,CAAlB,CAAA;AACA,IAAA,IAAM4D,QAAQ,GAAG9C,GAAG,CAAC+C,GAAJ,CAAQF,MAAR,CAAjB,CAAA;;AACA,IAAI,IAAA,CAACC,QAAL,EAAe;AACb9C,MAAAA,GAAG,CAACgD,GAAJ,CAAQH,MAAR,EAAgB,CAAC5C,GAAD,CAAhB,CAAA,CAAA;AACD,KAFD,MAEO;AACLD,MAAAA,GAAG,CAACgD,GAAJ,CAAQH,MAAR,EAAoBC,EAAAA,CAAAA,MAAAA,CAAAA,QAApB,GAA8B7C,GAA9B,CAAA,CAAA,CAAA,CAAA;AACD,KAAA;;AACD,IAAA,OAAOD,GAAP,CAAA;AACD,GATM,EASJ0C,QATI,CAAP,CAAA;AAUD;;;;"}
1
+ {"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, AnyGenerics } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModelSync<TGenerics extends AnyGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().grouping, instance.getPreGroupedRowModel()],\n (grouping, rowModel) => {\n if (!rowModel.rows.length || !grouping.length) {\n return rowModel\n }\n\n // Filter the grouping list down to columns that exist\n const existingGrouping = grouping.filter(columnId =>\n instance.getColumn(columnId)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (\n leafRows: Row<TGenerics>[],\n groupedRows: Row<TGenerics>[],\n depth: number\n ) => {\n const values: Record<string, unknown> = {}\n\n instance.getAllLeafColumns().forEach(column => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n const aggregateFn = instance.getColumnAggregationFn(column.id)\n\n if (aggregateFn) {\n values[column.id] = aggregateFn(\n () =>\n leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n columnValue = column.aggregateValue(columnValue)\n }\n\n return columnValue\n }),\n () => groupedRows.map(row => row.values[column.id])\n )\n } else if (column.aggregationType) {\n console.info({ column })\n throw new Error(\n process.env.NODE_ENV !== 'production'\n ? `Table: Invalid column.aggregateType option for column listed above`\n : ''\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n const groupedFlatRows: Row<TGenerics>[] = []\n const groupedRowsById: Record<string, Row<TGenerics>> = {}\n // const onlyGroupedFlatRows: Row[] = [];\n // const onlyGroupedRowsById: Record<RowId, Row> = {};\n // const nonGroupedFlatRows: Row[] = [];\n // const nonGroupedRowsById: Record<RowId, Row> = {};\n\n // Recursively group the data\n const groupUpRecursively = (\n rows: Row<TGenerics>[],\n depth = 0,\n parentId: string\n ) => {\n // This is the last level, just return the rows\n if (depth === existingGrouping.length) {\n return rows\n }\n\n const columnId = existingGrouping[depth]!\n\n // Group the rows together for this level\n const rowGroupsMap = groupBy(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Array.from(rowGroupsMap.entries()).map(\n ([groupingValue, groupedRows], index) => {\n let id = `${columnId}:${groupingValue}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, row => row.subRows)\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = instance.createRow(\n id,\n undefined,\n index,\n depth,\n values\n )\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n })\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rowModel.rows, 0, '')\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n // if (subRow.getIsGrouped?.()) {\n // onlyGroupedFlatRows.push(subRow);\n // onlyGroupedRowsById[subRow.id] = subRow;\n // } else {\n // nonGroupedFlatRows.push(subRow);\n // nonGroupedRowsById[subRow.id] = subRow;\n // }\n })\n\n return {\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n }\n },\n {\n key: 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._notifyExpandedReset()\n })\n },\n }\n )\n}\n\nfunction groupBy<TGenerics extends AnyGenerics>(\n rows: Row<TGenerics>[],\n columnId: string\n) {\n const groupMap = new Map<any, Row<TGenerics>[]>()\n\n return rows.reduce((map, row) => {\n const resKey = `${row.values[columnId]}`\n const previous = map.get(resKey)\n if (!previous) {\n map.set(resKey, [row])\n } else {\n map.set(resKey, [...previous, row])\n }\n return map\n }, groupMap)\n}\n"],"names":["getGroupedRowModelSync","instance","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","aggregateRowsToValues","leafRows","groupedRows","depth","values","getAllLeafColumns","forEach","column","includes","id","aggregateFn","getColumnAggregationFn","map","row","columnValue","aggregateValue","aggregationType","console","info","Error","process","env","NODE_ENV","groupedFlatRows","groupedRowsById","groupUpRecursively","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","index","groupingValue","subRows","flattenBy","createRow","undefined","Object","assign","groupingColumnId","subRow","push","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","queue","_notifyExpandedReset","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}
@@ -18,7 +18,7 @@ var getExpandedRowModel = require('./getExpandedRowModel.js');
18
18
  function getPaginationRowModel(opts) {
19
19
  return function (instance) {
20
20
  return utils.memo(function () {
21
- return [instance.getState().pagination, instance.getExpandedRowModel()];
21
+ return [instance.getState().pagination, instance.getPrePaginationRowModel()];
22
22
  }, function (pagination, rowModel) {
23
23
  if (!rowModel.rows.length) {
24
24
  return rowModel;
@@ -1 +1 @@
1
- {"version":3,"file":"getPaginationRowModel.js","sources":["../../../src/utils/getPaginationRowModel.ts"],"sourcesContent":["import { TableInstance, RowModel, AnyGenerics } from '../types'\nimport { memo } from '../utils'\nimport { expandRows } from './getExpandedRowModel'\n\nexport function getPaginationRowModel<TGenerics extends AnyGenerics>(opts?: {\n initialSync: boolean\n}): (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().pagination, instance.getExpandedRowModel()],\n (pagination, rowModel) => {\n if (!rowModel.rows.length) {\n return rowModel\n }\n\n const { pageSize, pageIndex } = pagination\n let { rows, flatRows, rowsById } = rowModel\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n rows = rows.slice(pageStart, pageEnd)\n\n if (!instance.options.paginateExpandedRows) {\n return expandRows(\n {\n rows,\n flatRows,\n rowsById,\n },\n instance\n )\n }\n\n return {\n rows,\n flatRows,\n rowsById,\n }\n },\n {\n key: 'getPaginationRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n )\n}\n"],"names":["getPaginationRowModel","opts","instance","memo","getState","pagination","getExpandedRowModel","rowModel","rows","length","pageSize","pageIndex","flatRows","rowsById","pageStart","pageEnd","slice","options","paginateExpandedRows","expandRows","key","debug","debugAll","debugTable"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,qBAAT,CAA8DC,IAA9D,EAE+D;AACpE,EAAA,OAAO,UAAAC,QAAQ,EAAA;AAAA,IAAA,OACbC,UAAI,CACF,YAAA;AAAA,MAAM,OAAA,CAACD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,UAArB,EAAiCH,QAAQ,CAACI,mBAAT,EAAjC,CAAN,CAAA;AAAA,KADE,EAEF,UAACD,UAAD,EAAaE,QAAb,EAA0B;AACxB,MAAA,IAAI,CAACA,QAAQ,CAACC,IAAT,CAAcC,MAAnB,EAA2B;AACzB,QAAA,OAAOF,QAAP,CAAA;AACD,OAAA;;AAED,MAAA,IAAQG,QAAR,GAAgCL,UAAhC,CAAQK,QAAR;AAAA,UAAkBC,SAAlB,GAAgCN,UAAhC,CAAkBM,SAAlB,CAAA;AACA,MAAA,IAAMH,IAAN,GAAmCD,QAAnC,CAAMC,IAAN;AAAA,UAAYI,QAAZ,GAAmCL,QAAnC,CAAYK,QAAZ;AAAA,UAAsBC,QAAtB,GAAmCN,QAAnC,CAAsBM,QAAtB,CAAA;AACA,MAAA,IAAMC,SAAS,GAAGJ,QAAQ,GAAGC,SAA7B,CAAA;AACA,MAAA,IAAMI,OAAO,GAAGD,SAAS,GAAGJ,QAA5B,CAAA;AAEAF,MAAAA,IAAI,GAAGA,IAAI,CAACQ,KAAL,CAAWF,SAAX,EAAsBC,OAAtB,CAAP,CAAA;;AAEA,MAAA,IAAI,CAACb,QAAQ,CAACe,OAAT,CAAiBC,oBAAtB,EAA4C;AAC1C,QAAA,OAAOC,8BAAU,CACf;AACEX,UAAAA,IAAI,EAAJA,IADF;AAEEI,UAAAA,QAAQ,EAARA,QAFF;AAGEC,UAAAA,QAAQ,EAARA,QAAAA;AAHF,SADe,EAMfX,QANe,CAAjB,CAAA;AAQD,OAAA;;AAED,MAAO,OAAA;AACLM,QAAAA,IAAI,EAAJA,IADK;AAELI,QAAAA,QAAQ,EAARA,QAFK;AAGLC,QAAAA,QAAQ,EAARA,QAAAA;AAHK,OAAP,CAAA;AAKD,KA9BC,EA+BF;AACEO,MAAAA,GAAG,EAAE,uBADP;AAEEC,MAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QAAMnB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACe,OAAT,CAAiBK,QAAvB,oCAAmCpB,QAAQ,CAACe,OAAT,CAAiBM,UAApD,CAAA;AAAA,OAAA;AAFT,KA/BE,CADS,CAAA;AAAA,GAAf,CAAA;AAqCD;;;;"}
1
+ {"version":3,"file":"getPaginationRowModel.js","sources":["../../../src/utils/getPaginationRowModel.ts"],"sourcesContent":["import { TableInstance, RowModel, AnyGenerics } from '../types'\nimport { memo } from '../utils'\nimport { expandRows } from './getExpandedRowModel'\n\nexport function getPaginationRowModel<TGenerics extends AnyGenerics>(opts?: {\n initialSync: boolean\n}): (instance: TableInstance<TGenerics>) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [\n instance.getState().pagination,\n instance.getPrePaginationRowModel(),\n ],\n (pagination, rowModel) => {\n if (!rowModel.rows.length) {\n return rowModel\n }\n\n const { pageSize, pageIndex } = pagination\n let { rows, flatRows, rowsById } = rowModel\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n rows = rows.slice(pageStart, pageEnd)\n\n if (!instance.options.paginateExpandedRows) {\n return expandRows(\n {\n rows,\n flatRows,\n rowsById,\n },\n instance\n )\n }\n\n return {\n rows,\n flatRows,\n rowsById,\n }\n },\n {\n key: 'getPaginationRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n }\n )\n}\n"],"names":["getPaginationRowModel","opts","instance","memo","getState","pagination","getPrePaginationRowModel","rowModel","rows","length","pageSize","pageIndex","flatRows","rowsById","pageStart","pageEnd","slice","options","paginateExpandedRows","expandRows","key","debug","debugAll","debugTable"],"mappings":";;;;;;;;;;;;;;;;;AAIO,SAASA,qBAAT,CAA8DC,IAA9D,EAE+D;AACpE,EAAA,OAAO,UAAAC,QAAQ,EAAA;AAAA,IAAA,OACbC,UAAI,CACF,YAAA;AAAA,MAAM,OAAA,CACJD,QAAQ,CAACE,QAAT,EAAA,CAAoBC,UADhB,EAEJH,QAAQ,CAACI,wBAAT,EAFI,CAAN,CAAA;AAAA,KADE,EAKF,UAACD,UAAD,EAAaE,QAAb,EAA0B;AACxB,MAAA,IAAI,CAACA,QAAQ,CAACC,IAAT,CAAcC,MAAnB,EAA2B;AACzB,QAAA,OAAOF,QAAP,CAAA;AACD,OAAA;;AAED,MAAA,IAAQG,QAAR,GAAgCL,UAAhC,CAAQK,QAAR;AAAA,UAAkBC,SAAlB,GAAgCN,UAAhC,CAAkBM,SAAlB,CAAA;AACA,MAAA,IAAMH,IAAN,GAAmCD,QAAnC,CAAMC,IAAN;AAAA,UAAYI,QAAZ,GAAmCL,QAAnC,CAAYK,QAAZ;AAAA,UAAsBC,QAAtB,GAAmCN,QAAnC,CAAsBM,QAAtB,CAAA;AACA,MAAA,IAAMC,SAAS,GAAGJ,QAAQ,GAAGC,SAA7B,CAAA;AACA,MAAA,IAAMI,OAAO,GAAGD,SAAS,GAAGJ,QAA5B,CAAA;AAEAF,MAAAA,IAAI,GAAGA,IAAI,CAACQ,KAAL,CAAWF,SAAX,EAAsBC,OAAtB,CAAP,CAAA;;AAEA,MAAA,IAAI,CAACb,QAAQ,CAACe,OAAT,CAAiBC,oBAAtB,EAA4C;AAC1C,QAAA,OAAOC,8BAAU,CACf;AACEX,UAAAA,IAAI,EAAJA,IADF;AAEEI,UAAAA,QAAQ,EAARA,QAFF;AAGEC,UAAAA,QAAQ,EAARA,QAAAA;AAHF,SADe,EAMfX,QANe,CAAjB,CAAA;AAQD,OAAA;;AAED,MAAO,OAAA;AACLM,QAAAA,IAAI,EAAJA,IADK;AAELI,QAAAA,QAAQ,EAARA,QAFK;AAGLC,QAAAA,QAAQ,EAARA,QAAAA;AAHK,OAAP,CAAA;AAKD,KAjCC,EAkCF;AACEO,MAAAA,GAAG,EAAE,uBADP;AAEEC,MAAAA,KAAK,EAAE,SAAA,KAAA,GAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;;AAAA,QAAMnB,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAACe,OAAT,CAAiBK,QAAvB,oCAAmCpB,QAAQ,CAACe,OAAT,CAAiBM,UAApD,CAAA;AAAA,OAAA;AAFT,KAlCE,CADS,CAAA;AAAA,GAAf,CAAA;AAwCD;;;;"}
@@ -17,7 +17,7 @@ var utils = require('../utils.js');
17
17
  function getSortedRowModelSync() {
18
18
  return function (instance) {
19
19
  return utils.memo(function () {
20
- return [instance.getState().sorting, instance.getGlobalFilteredRowModel()];
20
+ return [instance.getState().sorting, instance.getPreSortedRowModel()];
21
21
  }, function (sorting, rowModel) {
22
22
  if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
23
23
  return rowModel;
@@ -1 +1 @@
1
- {"version":3,"file":"getSortedRowModelSync.js","sources":["../../../src/utils/getSortedRowModelSync.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, AnyGenerics } from '../types'\nimport { SortingFn } from '../features/Sorting'\nimport { memo } from '../utils'\n\nexport function getSortedRowModelSync<TGenerics extends AnyGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().sorting, instance.getGlobalFilteredRowModel()],\n (sorting, rowModel) => {\n if (!rowModel.rows.length || !sorting?.length) {\n return rowModel\n }\n\n const sortingState = instance.getState().sorting\n\n const sortedFlatRows: Row<TGenerics>[] = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort =>\n instance.getColumnCanSort(sort.id)\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1\n invertSorting?: boolean\n sortingFn: SortingFn<TGenerics>\n }\n > = {}\n\n availableSorting.forEach(sortEntry => {\n const column = instance.getColumn(sortEntry.id)!\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.sortUndefined,\n invertSorting: column.invertSorting,\n sortingFn: instance.getColumnSortingFn(sortEntry.id)!,\n }\n })\n\n const sortData = (rows: Row<TGenerics>[]) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.slice()\n\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n const sortEntry = availableSorting[i]!\n const columnInfo = columnInfoById[sortEntry.id]!\n const isDesc = sortEntry?.desc ?? false\n\n if (columnInfo.sortUndefined) {\n const aValue = rowA.values[sortEntry.id]\n const bValue = rowB.values[sortEntry.id]\n\n const aUndefined = typeof aValue === 'undefined'\n const bUndefined = typeof bValue === 'undefined'\n\n if (aUndefined || bUndefined) {\n return aUndefined && bUndefined\n ? 0\n : aUndefined\n ? columnInfo.sortUndefined\n : -columnInfo.sortUndefined\n }\n }\n\n // This function should always return in ascending order\n let sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id)\n\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length <= 1) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById,\n }\n },\n {\n key: 'getSortedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._notifyGroupingReset()\n })\n },\n }\n )\n}\n"],"names":["getSortedRowModelSync","instance","memo","getState","sorting","getGlobalFilteredRowModel","rowModel","rows","length","sortingState","sortedFlatRows","availableSorting","filter","sort","getColumnCanSort","id","columnInfoById","forEach","sortEntry","column","getColumn","sortUndefined","invertSorting","sortingFn","getColumnSortingFn","sortData","sortedData","slice","rowA","rowB","i","columnInfo","isDesc","desc","aValue","values","bValue","aUndefined","bUndefined","sortInt","index","row","push","subRows","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","queue","_notifyGroupingReset"],"mappings":"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"}
1
+ {"version":3,"file":"getSortedRowModelSync.js","sources":["../../../src/utils/getSortedRowModelSync.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, AnyGenerics } from '../types'\nimport { SortingFn } from '../features/Sorting'\nimport { memo } from '../utils'\n\nexport function getSortedRowModelSync<TGenerics extends AnyGenerics>(): (\n instance: TableInstance<TGenerics>\n) => () => RowModel<TGenerics> {\n return instance =>\n memo(\n () => [instance.getState().sorting, instance.getPreSortedRowModel()],\n (sorting, rowModel) => {\n if (!rowModel.rows.length || !sorting?.length) {\n return rowModel\n }\n\n const sortingState = instance.getState().sorting\n\n const sortedFlatRows: Row<TGenerics>[] = []\n\n // Filter out sortings that correspond to non existing columns\n const availableSorting = sortingState.filter(sort =>\n instance.getColumnCanSort(sort.id)\n )\n\n const columnInfoById: Record<\n string,\n {\n sortUndefined?: false | -1 | 1\n invertSorting?: boolean\n sortingFn: SortingFn<TGenerics>\n }\n > = {}\n\n availableSorting.forEach(sortEntry => {\n const column = instance.getColumn(sortEntry.id)!\n\n columnInfoById[sortEntry.id] = {\n sortUndefined: column.sortUndefined,\n invertSorting: column.invertSorting,\n sortingFn: instance.getColumnSortingFn(sortEntry.id)!,\n }\n })\n\n const sortData = (rows: Row<TGenerics>[]) => {\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = rows.slice()\n\n sortedData.sort((rowA, rowB) => {\n for (let i = 0; i < availableSorting.length; i += 1) {\n const sortEntry = availableSorting[i]!\n const columnInfo = columnInfoById[sortEntry.id]!\n const isDesc = sortEntry?.desc ?? false\n\n if (columnInfo.sortUndefined) {\n const aValue = rowA.values[sortEntry.id]\n const bValue = rowB.values[sortEntry.id]\n\n const aUndefined = typeof aValue === 'undefined'\n const bUndefined = typeof bValue === 'undefined'\n\n if (aUndefined || bUndefined) {\n return aUndefined && bUndefined\n ? 0\n : aUndefined\n ? columnInfo.sortUndefined\n : -columnInfo.sortUndefined\n }\n }\n\n // This function should always return in ascending order\n let sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id)\n\n if (sortInt !== 0) {\n if (isDesc) {\n sortInt *= -1\n }\n\n if (columnInfo.invertSorting) {\n sortInt *= -1\n }\n\n return sortInt\n }\n }\n\n return rowA.index - rowB.index\n })\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length <= 1) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return {\n rows: sortData(rowModel.rows),\n flatRows: sortedFlatRows,\n rowsById: rowModel.rowsById,\n }\n },\n {\n key: 'getSortedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance.queue(() => {\n instance._notifyGroupingReset()\n })\n },\n }\n )\n}\n"],"names":["getSortedRowModelSync","instance","memo","getState","sorting","getPreSortedRowModel","rowModel","rows","length","sortingState","sortedFlatRows","availableSorting","filter","sort","getColumnCanSort","id","columnInfoById","forEach","sortEntry","column","getColumn","sortUndefined","invertSorting","sortingFn","getColumnSortingFn","sortData","sortedData","slice","rowA","rowB","i","columnInfo","isDesc","desc","aValue","values","bValue","aUndefined","bUndefined","sortInt","index","row","push","subRows","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","queue","_notifyGroupingReset"],"mappings":"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"}
@@ -3817,8 +3817,10 @@ function createTableInstance(options) {
3817
3817
 
3818
3818
  return template;
3819
3819
  },
3820
- getRowId: function getRowId(_, index, parent) {
3821
- return "" + (parent ? [parent.id, index].join('.') : index);
3820
+ getRowId: function getRowId(row, index, parent) {
3821
+ var _instance$options$get;
3822
+
3823
+ return (_instance$options$get = instance.options.getRowId == null ? void 0 : instance.options.getRowId(row, index, parent)) != null ? _instance$options$get : "" + (parent ? [parent.id, index].join('.') : index);
3822
3824
  },
3823
3825
  getState: function getState() {
3824
3826
  return instance.options.state;
@@ -4569,10 +4571,10 @@ function filterRowModelFromRoot(rowsToFilter, filterRows, instance) {
4569
4571
  function getColumnFilteredRowModelSync() {
4570
4572
  return function (instance) {
4571
4573
  return memo(function () {
4572
- return [instance.getState().columnFilters, instance.getCoreRowModel()];
4574
+ return [instance.getState().columnFilters, instance.getPreColumnFilteredRowModel()];
4573
4575
  }, function (columnFilters, rowModel) {
4574
4576
  var columnFilteredRowModel = function () {
4575
- if (!rowModel.rows.length || !columnFilters) {
4577
+ if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length)) {
4576
4578
  return rowModel;
4577
4579
  }
4578
4580
 
@@ -4665,7 +4667,7 @@ function getColumnFilteredRowModelSync() {
4665
4667
  function getGlobalFilteredRowModelSync() {
4666
4668
  return function (instance) {
4667
4669
  return memo(function () {
4668
- return [instance.getState().globalFilter, instance.getCoreRowModel()];
4670
+ return [instance.getState().globalFilter, instance.getPreGlobalFilteredRowModel()];
4669
4671
  }, function (globalFilter, rowModel) {
4670
4672
  var globalFilteredRowModel = function () {
4671
4673
  if (!rowModel.rows.length || !globalFilter) {
@@ -4737,7 +4739,7 @@ function getGlobalFilteredRowModelSync() {
4737
4739
  function getSortedRowModelSync() {
4738
4740
  return function (instance) {
4739
4741
  return memo(function () {
4740
- return [instance.getState().sorting, instance.getGlobalFilteredRowModel()];
4742
+ return [instance.getState().sorting, instance.getPreSortedRowModel()];
4741
4743
  }, function (sorting, rowModel) {
4742
4744
  if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
4743
4745
  return rowModel;
@@ -4837,7 +4839,7 @@ function getSortedRowModelSync() {
4837
4839
  function getGroupedRowModelSync() {
4838
4840
  return function (instance) {
4839
4841
  return memo(function () {
4840
- return [instance.getState().grouping, instance.getSortedRowModel()];
4842
+ return [instance.getState().grouping, instance.getPreGroupedRowModel()];
4841
4843
  }, function (grouping, rowModel) {
4842
4844
  if (!rowModel.rows.length || !grouping.length) {
4843
4845
  return rowModel;
@@ -4995,7 +4997,7 @@ function groupBy(rows, columnId) {
4995
4997
  function getExpandedRowModel() {
4996
4998
  return function (instance) {
4997
4999
  return memo(function () {
4998
- return [instance.getState().expanded, instance.getGroupedRowModel(), instance.options.paginateExpandedRows];
5000
+ return [instance.getState().expanded, instance.getPreExpandedRowModel(), instance.options.paginateExpandedRows];
4999
5001
  }, function (expanded, rowModel, paginateExpandedRows) {
5000
5002
  if (!rowModel.rows.length || // Do not expand if rows are not included in pagination
5001
5003
  !paginateExpandedRows || expanded !== true && !Object.keys(expanded != null ? expanded : {}).length) {
@@ -5037,7 +5039,7 @@ function expandRows(rowModel, instance) {
5037
5039
  function getPaginationRowModel(opts) {
5038
5040
  return function (instance) {
5039
5041
  return memo(function () {
5040
- return [instance.getState().pagination, instance.getExpandedRowModel()];
5042
+ return [instance.getState().pagination, instance.getPrePaginationRowModel()];
5041
5043
  }, function (pagination, rowModel) {
5042
5044
  if (!rowModel.rows.length) {
5043
5045
  return rowModel;