@tanstack/table-core 8.0.0-alpha.79 → 8.0.0-alpha.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +4 -2
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/Cells.js +1 -1
- package/build/cjs/features/Cells.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +5 -5
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Columns.js +8 -6
- package/build/cjs/features/Columns.js.map +1 -1
- package/build/cjs/features/Filters.js +11 -6
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +5 -5
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +2 -2
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/Pinning.js +14 -8
- package/build/cjs/features/Pinning.js.map +1 -1
- package/build/cjs/features/Rows.js +1 -1
- package/build/cjs/features/Rows.js.map +1 -1
- package/build/cjs/features/Sorting.js +9 -9
- package/build/cjs/features/Sorting.js.map +1 -1
- package/build/cjs/features/Visibility.js +3 -3
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/index.js +8 -0
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/utils/filterRowsUtils.js +1 -1
- package/build/cjs/utils/filterRowsUtils.js.map +1 -1
- package/build/cjs/utils/getFacetedRowModel.js +1 -1
- package/build/cjs/utils/getFacetedRowModel.js.map +1 -1
- package/build/cjs/utils/getFilteredRowModel.js +20 -9
- package/build/cjs/utils/getFilteredRowModel.js.map +1 -1
- package/build/cjs/utils/getGroupedRowModel.js +2 -2
- package/build/cjs/utils/getGroupedRowModel.js.map +1 -1
- package/build/cjs/utils/getSortedRowModel.js +2 -2
- package/build/cjs/utils/getSortedRowModel.js.map +1 -1
- package/build/esm/index.js +90 -64
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +344 -326
- package/build/types/core.d.ts +4 -4
- package/build/types/createTable.d.ts +8 -5
- package/build/types/features/Columns.d.ts +2 -2
- package/build/types/features/Filters.d.ts +3 -2
- package/build/types/features/Grouping.d.ts +1 -1
- package/build/types/features/Pinning.d.ts +1 -1
- package/build/types/index.d.ts +3 -0
- package/build/types/types.d.ts +6 -3
- package/build/umd/index.development.js +94 -63
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
- package/src/core.ts +6 -6
- package/src/createTable.ts +14 -7
- package/src/features/Cells.ts +2 -2
- package/src/features/ColumnSizing.ts +5 -5
- package/src/features/Columns.ts +12 -8
- package/src/features/Filters.ts +18 -6
- package/src/features/Grouping.ts +6 -5
- package/src/features/Headers.ts +4 -4
- package/src/features/Pinning.ts +10 -5
- package/src/features/Rows.ts +5 -1
- package/src/features/Sorting.ts +10 -10
- package/src/features/Visibility.ts +2 -2
- package/src/index.ts +3 -0
- package/src/types.ts +10 -5
- package/src/utils/filterRowsUtils.ts +1 -1
- package/src/utils/getFacetedRowModel.ts +1 -1
- package/src/utils/getFilteredRowModel.ts +24 -13
- package/src/utils/getGroupedRowModel.ts +3 -2
- package/src/utils/getSortedRowModel.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { CoreRow } from '../features/Rows'\nimport { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModel<TGenerics extends TableGenerics>(): (\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 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 row = instance.createRow(id, undefined, index, depth)\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row.valuesCache.hasOwnProperty(columnId)) {\n return row.valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row.valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row.valuesCache[columnId]\n }\n\n if (row.groupingValuesCache.hasOwnProperty(columnId)) {\n return row.groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = instance.getColumn(columnId)\n const aggregateFn = column.getColumnAggregationFn()\n\n if (aggregateFn) {\n row.groupingValuesCache[columnId] = aggregateFn(\n () =>\n leafRows.map(row => {\n let columnValue = row.getValue(columnId)\n\n if (!depth && column.aggregateValue) {\n columnValue = column.aggregateValue(columnValue)\n }\n\n return columnValue\n }),\n () => groupedRows.map(row => row.getValue(columnId))\n )\n\n return row.groupingValuesCache[columnId]\n } else if (column.aggregationFn) {\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 }\n },\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: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance._queue(() => {\n instance._autoResetExpanded()\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TGenerics extends TableGenerics>(\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.getValue(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":["getGroupedRowModel","instance","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","groupedFlatRows","groupedRowsById","groupUpRecursively","depth","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","map","index","groupingValue","groupedRows","id","subRows","leafRows","flattenBy","row","createRow","undefined","Object","assign","groupingColumnId","getValue","includes","valuesCache","hasOwnProperty","groupingValuesCache","column","aggregateFn","getColumnAggregationFn","columnValue","aggregateValue","aggregationFn","console","info","Error","process","env","NODE_ENV","forEach","subRow","push","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","_queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getGroupedRowModel.js","sources":["../../../src/utils/getGroupedRowModel.ts"],"sourcesContent":["import { CoreRow } from '../features/Rows'\nimport { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { flattenBy, memo } from '../utils'\n\nexport function getGroupedRowModel<TGenerics extends TableGenerics>(): (\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 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 row = instance.createRow(id, undefined, index, depth)\n\n Object.assign(row, {\n groupingColumnId: columnId,\n groupingValue,\n subRows,\n leafRows,\n getValue: (columnId: string) => {\n // Don't aggregate columns that are in the grouping\n if (existingGrouping.includes(columnId)) {\n if (row.valuesCache.hasOwnProperty(columnId)) {\n return row.valuesCache[columnId]\n }\n\n if (groupedRows[0]) {\n row.valuesCache[columnId] =\n groupedRows[0].getValue(columnId) ?? undefined\n }\n\n return row.valuesCache[columnId]\n }\n\n if (row.groupingValuesCache.hasOwnProperty(columnId)) {\n return row.groupingValuesCache[columnId]\n }\n\n // Aggregate the values\n const column = instance.getColumn(columnId)\n const aggregateFn = column.getColumnAggregationFn()\n\n if (aggregateFn) {\n row.groupingValuesCache[columnId] = aggregateFn(\n () =>\n leafRows.map(row => {\n let columnValue = row.getValue(columnId)\n\n if (!depth && column.columnDef.aggregateValue) {\n columnValue =\n column.columnDef.aggregateValue(columnValue)\n }\n\n return columnValue\n }),\n () => groupedRows.map(row => row.getValue(columnId))\n )\n\n return row.groupingValuesCache[columnId]\n } else if (column.aggregationFn) {\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 }\n },\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: process.env.NODE_ENV === 'development' && 'getGroupedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance._queue(() => {\n instance._autoResetExpanded()\n instance._autoResetPageIndex()\n })\n },\n }\n )\n}\n\nfunction groupBy<TGenerics extends TableGenerics>(\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.getValue(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":["getGroupedRowModel","instance","memo","getState","grouping","getPreGroupedRowModel","rowModel","rows","length","existingGrouping","filter","columnId","getColumn","groupedFlatRows","groupedRowsById","groupUpRecursively","depth","parentId","rowGroupsMap","groupBy","aggregatedGroupedRows","Array","from","entries","map","index","groupingValue","groupedRows","id","subRows","leafRows","flattenBy","row","createRow","undefined","Object","assign","groupingColumnId","getValue","includes","valuesCache","hasOwnProperty","groupingValuesCache","column","aggregateFn","getColumnAggregationFn","columnValue","columnDef","aggregateValue","aggregationFn","console","info","Error","process","env","NODE_ENV","forEach","subRow","push","flatRows","rowsById","key","debug","options","debugAll","debugTable","onChange","_queue","_autoResetExpanded","_autoResetPageIndex","groupMap","Map","reduce","resKey","previous","get","set"],"mappings":";;;;;;;;;;;;;;;;AAIO,SAASA,kBAAT,GAEwB;AAC7B,EAAOC,OAAAA,QAAQ,IACbC,UAAI,CACF,MAAM,CAACD,QAAQ,CAACE,QAAT,EAAoBC,CAAAA,QAArB,EAA+BH,QAAQ,CAACI,qBAAT,EAA/B,CADJ,EAEF,CAACD,QAAD,EAAWE,QAAX,KAAwB;AACtB,IAAI,IAAA,CAACA,QAAQ,CAACC,IAAT,CAAcC,MAAf,IAAyB,CAACJ,QAAQ,CAACI,MAAvC,EAA+C;AAC7C,MAAA,OAAOF,QAAP,CAAA;AACD,KAHqB;;;AAMtB,IAAA,MAAMG,gBAAgB,GAAGL,QAAQ,CAACM,MAAT,CAAgBC,QAAQ,IAC/CV,QAAQ,CAACW,SAAT,CAAmBD,QAAnB,CADuB,CAAzB,CAAA;AAIA,IAAME,MAAAA,eAAiC,GAAG,EAA1C,CAAA;AACA,IAAA,MAAMC,eAA+C,GAAG,EAAxD,CAXsB;AAatB;AACA;AACA;AAEA;;AACA,IAAMC,MAAAA,kBAAkB,GAAG,UACzBR,IADyB,EAEzBS,KAFyB,EAGzBC,QAHyB,EAItB;AAAA,MAAA,IAFHD,KAEG,KAAA,KAAA,CAAA,EAAA;AAFHA,QAAAA,KAEG,GAFK,CAEL,CAAA;AAAA,OAAA;;AACH;AACA,MAAA,IAAIA,KAAK,KAAKP,gBAAgB,CAACD,MAA/B,EAAuC;AACrC,QAAA,OAAOD,IAAP,CAAA;AACD,OAAA;;AAED,MAAA,MAAMI,QAAQ,GAAGF,gBAAgB,CAACO,KAAD,CAAjC,CANG;;AASH,MAAME,MAAAA,YAAY,GAAGC,OAAO,CAACZ,IAAD,EAAOI,QAAP,CAA5B,CATG;;AAYH,MAAA,MAAMS,qBAAqB,GAAGC,KAAK,CAACC,IAAN,CAAWJ,YAAY,CAACK,OAAb,EAAX,CAAmCC,CAAAA,GAAnC,CAC5B,CAAA,IAAA,EAA+BC,KAA/B,KAAyC;AAAA,QAAA,IAAxC,CAACC,aAAD,EAAgBC,WAAhB,CAAwC,GAAA,IAAA,CAAA;AACvC,QAAA,IAAIC,EAAE,GAAMjB,QAAN,GAAA,GAAA,GAAkBe,aAAxB,CAAA;AACAE,QAAAA,EAAE,GAAGX,QAAQ,GAAMA,QAAN,SAAkBW,EAAlB,GAAyBA,EAAtC,CAFuC;;AAKvC,QAAA,MAAMC,OAAO,GAAGd,kBAAkB,CAACY,WAAD,EAAcX,KAAK,GAAG,CAAtB,EAAyBY,EAAzB,CAAlC,CALuC;;AAQvC,QAAA,MAAME,QAAQ,GAAGd,KAAK,GAClBe,eAAS,CAACJ,WAAD,EAAcK,GAAG,IAAIA,GAAG,CAACH,OAAzB,CADS,GAElBF,WAFJ,CAAA;AAIA,QAAA,MAAMK,GAAG,GAAG/B,QAAQ,CAACgC,SAAT,CAAmBL,EAAnB,EAAuBM,SAAvB,EAAkCT,KAAlC,EAAyCT,KAAzC,CAAZ,CAAA;AAEAmB,QAAAA,MAAM,CAACC,MAAP,CAAcJ,GAAd,EAAmB;AACjBK,UAAAA,gBAAgB,EAAE1B,QADD;AAEjBe,UAAAA,aAFiB;AAGjBG,UAAAA,OAHiB;AAIjBC,UAAAA,QAJiB;AAKjBQ,UAAAA,QAAQ,EAAG3B,QAAD,IAAsB;AAC9B;AACA,YAAA,IAAIF,gBAAgB,CAAC8B,QAAjB,CAA0B5B,QAA1B,CAAJ,EAAyC;AACvC,cAAIqB,IAAAA,GAAG,CAACQ,WAAJ,CAAgBC,cAAhB,CAA+B9B,QAA/B,CAAJ,EAA8C;AAC5C,gBAAA,OAAOqB,GAAG,CAACQ,WAAJ,CAAgB7B,QAAhB,CAAP,CAAA;AACD,eAAA;;AAED,cAAA,IAAIgB,WAAW,CAAC,CAAD,CAAf,EAAoB;AAAA,gBAAA,IAAA,qBAAA,CAAA;;AAClBK,gBAAAA,GAAG,CAACQ,WAAJ,CAAgB7B,QAAhB,6BACEgB,WAAW,CAAC,CAAD,CAAX,CAAeW,QAAf,CAAwB3B,QAAxB,CADF,oCACuCuB,SADvC,CAAA;AAED,eAAA;;AAED,cAAA,OAAOF,GAAG,CAACQ,WAAJ,CAAgB7B,QAAhB,CAAP,CAAA;AACD,aAAA;;AAED,YAAIqB,IAAAA,GAAG,CAACU,mBAAJ,CAAwBD,cAAxB,CAAuC9B,QAAvC,CAAJ,EAAsD;AACpD,cAAA,OAAOqB,GAAG,CAACU,mBAAJ,CAAwB/B,QAAxB,CAAP,CAAA;AACD,aAjB6B;;;AAoB9B,YAAA,MAAMgC,MAAM,GAAG1C,QAAQ,CAACW,SAAT,CAAmBD,QAAnB,CAAf,CAAA;AACA,YAAA,MAAMiC,WAAW,GAAGD,MAAM,CAACE,sBAAP,EAApB,CAAA;;AAEA,YAAA,IAAID,WAAJ,EAAiB;AACfZ,cAAAA,GAAG,CAACU,mBAAJ,CAAwB/B,QAAxB,CAAoCiC,GAAAA,WAAW,CAC7C,MACEd,QAAQ,CAACN,GAAT,CAAaQ,GAAG,IAAI;AAClB,gBAAA,IAAIc,WAAW,GAAGd,GAAG,CAACM,QAAJ,CAAa3B,QAAb,CAAlB,CAAA;;AAEA,gBAAI,IAAA,CAACK,KAAD,IAAU2B,MAAM,CAACI,SAAP,CAAiBC,cAA/B,EAA+C;AAC7CF,kBAAAA,WAAW,GACTH,MAAM,CAACI,SAAP,CAAiBC,cAAjB,CAAgCF,WAAhC,CADF,CAAA;AAED,iBAAA;;AAED,gBAAA,OAAOA,WAAP,CAAA;AACD,eATD,CAF2C,EAY7C,MAAMnB,WAAW,CAACH,GAAZ,CAAgBQ,GAAG,IAAIA,GAAG,CAACM,QAAJ,CAAa3B,QAAb,CAAvB,CAZuC,CAA/C,CAAA;AAeA,cAAA,OAAOqB,GAAG,CAACU,mBAAJ,CAAwB/B,QAAxB,CAAP,CAAA;AACD,aAjBD,MAiBO,IAAIgC,MAAM,CAACM,aAAX,EAA0B;AAC/BC,cAAAA,OAAO,CAACC,IAAR,CAAa;AAAER,gBAAAA,MAAAA;AAAF,eAAb,CAAA,CAAA;AACA,cAAA,MAAM,IAAIS,KAAJ,CACJC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,GAEI,oEAAA,GAAA,EAHA,CAAN,CAAA;AAKD,aAAA;AACF,WAAA;AArDgB,SAAnB,CAAA,CAAA;AAwDA1B,QAAAA,OAAO,CAAC2B,OAAR,CAAgBC,MAAM,IAAI;AACxB5C,UAAAA,eAAe,CAAC6C,IAAhB,CAAqBD,MAArB,CAAA,CAAA;AACA3C,UAAAA,eAAe,CAAC2C,MAAM,CAAC7B,EAAR,CAAf,GAA6B6B,MAA7B,CAFwB;AAIxB;AACA;AACA;AACA;AACA;AACA;AACD,SAVD,CAAA,CAAA;AAYA,QAAA,OAAOzB,GAAP,CAAA;AACD,OApF2B,CAA9B,CAAA;AAuFA,MAAA,OAAOZ,qBAAP,CAAA;AACD,KAxGD,CAAA;;AA0GA,IAAMO,MAAAA,WAAW,GAAGZ,kBAAkB,CAACT,QAAQ,CAACC,IAAV,EAAgB,CAAhB,EAAmB,EAAnB,CAAtC,CAAA;AAEAoB,IAAAA,WAAW,CAAC6B,OAAZ,CAAoBC,MAAM,IAAI;AAC5B5C,MAAAA,eAAe,CAAC6C,IAAhB,CAAqBD,MAArB,CAAA,CAAA;AACA3C,MAAAA,eAAe,CAAC2C,MAAM,CAAC7B,EAAR,CAAf,GAA6B6B,MAA7B,CAF4B;AAI5B;AACA;AACA;AACA;AACA;AACA;AACD,KAVD,CAAA,CAAA;AAYA,IAAO,OAAA;AACLlD,MAAAA,IAAI,EAAEoB,WADD;AAELgC,MAAAA,QAAQ,EAAE9C,eAFL;AAGL+C,MAAAA,QAAQ,EAAE9C,eAAAA;AAHL,KAAP,CAAA;AAKD,GAjJC,EAkJF;AACE+C,IAAAA,GAAG,EAAER,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAzB,IAA0C,oBADjD;AAEEO,IAAAA,KAAK,EAAE,MAAA;AAAA,MAAA,IAAA,qBAAA,CAAA;;AAAA,MAAM7D,OAAAA,CAAAA,qBAAAA,GAAAA,QAAQ,CAAC8D,OAAT,CAAiBC,QAAvB,oCAAmC/D,QAAQ,CAAC8D,OAAT,CAAiBE,UAApD,CAAA;AAAA,KAFT;AAGEC,IAAAA,QAAQ,EAAE,MAAM;AACdjE,MAAAA,QAAQ,CAACkE,MAAT,CAAgB,MAAM;AACpBlE,QAAAA,QAAQ,CAACmE,kBAAT,EAAA,CAAA;;AACAnE,QAAAA,QAAQ,CAACoE,mBAAT,EAAA,CAAA;AACD,OAHD,CAAA,CAAA;AAID,KAAA;AARH,GAlJE,CADN,CAAA;AA8JD,CAAA;;AAED,SAASlD,OAAT,CACEZ,IADF,EAEEI,QAFF,EAGE;AACA,EAAA,MAAM2D,QAAQ,GAAG,IAAIC,GAAJ,EAAjB,CAAA;AAEA,EAAOhE,OAAAA,IAAI,CAACiE,MAAL,CAAY,CAAChD,GAAD,EAAMQ,GAAN,KAAc;AAC/B,IAAA,MAAMyC,MAAM,GAAMzC,EAAAA,GAAAA,GAAG,CAACM,QAAJ,CAAa3B,QAAb,CAAlB,CAAA;AACA,IAAA,MAAM+D,QAAQ,GAAGlD,GAAG,CAACmD,GAAJ,CAAQF,MAAR,CAAjB,CAAA;;AACA,IAAI,IAAA,CAACC,QAAL,EAAe;AACblD,MAAAA,GAAG,CAACoD,GAAJ,CAAQH,MAAR,EAAgB,CAACzC,GAAD,CAAhB,CAAA,CAAA;AACD,KAFD,MAEO;AACLR,MAAAA,GAAG,CAACoD,GAAJ,CAAQH,MAAR,EAAgB,CAAC,GAAGC,QAAJ,EAAc1C,GAAd,CAAhB,CAAA,CAAA;AACD,KAAA;;AACD,IAAA,OAAOR,GAAP,CAAA;AACD,GATM,EASJ8C,QATI,CAAP,CAAA;AAUD;;;;"}
|
|
@@ -28,8 +28,8 @@ function getSortedRowModel() {
|
|
|
28
28
|
availableSorting.forEach(sortEntry => {
|
|
29
29
|
const column = instance.getColumn(sortEntry.id);
|
|
30
30
|
columnInfoById[sortEntry.id] = {
|
|
31
|
-
sortUndefined: column.sortUndefined,
|
|
32
|
-
invertSorting: column.invertSorting,
|
|
31
|
+
sortUndefined: column.columnDef.sortUndefined,
|
|
32
|
+
invertSorting: column.columnDef.invertSorting,
|
|
33
33
|
sortingFn: column.getSortingFn()
|
|
34
34
|
};
|
|
35
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSortedRowModel.js","sources":["../../../src/utils/getSortedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { SortingFn } from '../features/Sorting'\nimport { memo } from '../utils'\n\nexport function getSortedRowModel<TGenerics extends TableGenerics>(): (\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.getColumn(sort.id).getCanSort()\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: column.getSortingFn(),\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.getValue(sortEntry.id)\n const bValue = rowB.getValue(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: process.env.NODE_ENV === 'development' && 'getSortedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance._autoResetPageIndex()\n },\n }\n )\n}\n"],"names":["getSortedRowModel","instance","memo","getState","sorting","getPreSortedRowModel","rowModel","rows","length","sortingState","sortedFlatRows","availableSorting","filter","sort","getColumn","id","getCanSort","columnInfoById","forEach","sortEntry","column","sortUndefined","invertSorting","sortingFn","getSortingFn","sortData","sortedData","slice","rowA","rowB","i","columnInfo","isDesc","desc","aValue","getValue","bValue","aUndefined","bUndefined","sortInt","index","row","push","subRows","flatRows","rowsById","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange","_autoResetPageIndex"],"mappings":";;;;;;;;;;;;;;;;AAIO,SAASA,iBAAT,GAEwB;AAC7B,EAAOC,OAAAA,QAAQ,IACbC,UAAI,CACF,MAAM,CAACD,QAAQ,CAACE,QAAT,EAAoBC,CAAAA,OAArB,EAA8BH,QAAQ,CAACI,oBAAT,EAA9B,CADJ,EAEF,CAACD,OAAD,EAAUE,QAAV,KAAuB;AACrB,IAAA,IAAI,CAACA,QAAQ,CAACC,IAAT,CAAcC,MAAf,IAAyB,EAACJ,OAAD,IAACA,IAAAA,IAAAA,OAAO,CAAEI,MAAV,CAA7B,EAA+C;AAC7C,MAAA,OAAOF,QAAP,CAAA;AACD,KAAA;;AAED,IAAA,MAAMG,YAAY,GAAGR,QAAQ,CAACE,QAAT,GAAoBC,OAAzC,CAAA;AAEA,IAAA,MAAMM,cAAgC,GAAG,EAAzC,CAPqB;;AAUrB,IAAA,MAAMC,gBAAgB,GAAGF,YAAY,CAACG,MAAb,CAAoBC,IAAI,IAC/CZ,QAAQ,CAACa,SAAT,CAAmBD,IAAI,CAACE,EAAxB,CAA4BC,CAAAA,UAA5B,EADuB,CAAzB,CAAA;AAIA,IAAMC,MAAAA,cAOL,GAAG,EAPJ,CAAA;AASAN,IAAAA,gBAAgB,CAACO,OAAjB,CAAyBC,SAAS,IAAI;AACpC,MAAMC,MAAAA,MAAM,GAAGnB,QAAQ,CAACa,SAAT,CAAmBK,SAAS,CAACJ,EAA7B,CAAf,CAAA;AAEAE,MAAAA,cAAc,CAACE,SAAS,CAACJ,EAAX,CAAd,GAA+B;AAC7BM,QAAAA,aAAa,EAAED,MAAM,
|
|
1
|
+
{"version":3,"file":"getSortedRowModel.js","sources":["../../../src/utils/getSortedRowModel.ts"],"sourcesContent":["import { TableInstance, Row, RowModel, TableGenerics } from '../types'\nimport { SortingFn } from '../features/Sorting'\nimport { memo } from '../utils'\n\nexport function getSortedRowModel<TGenerics extends TableGenerics>(): (\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.getColumn(sort.id).getCanSort()\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.columnDef.sortUndefined,\n invertSorting: column.columnDef.invertSorting,\n sortingFn: column.getSortingFn(),\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.getValue(sortEntry.id)\n const bValue = rowB.getValue(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: process.env.NODE_ENV === 'development' && 'getSortedRowModel',\n debug: () => instance.options.debugAll ?? instance.options.debugTable,\n onChange: () => {\n instance._autoResetPageIndex()\n },\n }\n )\n}\n"],"names":["getSortedRowModel","instance","memo","getState","sorting","getPreSortedRowModel","rowModel","rows","length","sortingState","sortedFlatRows","availableSorting","filter","sort","getColumn","id","getCanSort","columnInfoById","forEach","sortEntry","column","sortUndefined","columnDef","invertSorting","sortingFn","getSortingFn","sortData","sortedData","slice","rowA","rowB","i","columnInfo","isDesc","desc","aValue","getValue","bValue","aUndefined","bUndefined","sortInt","index","row","push","subRows","flatRows","rowsById","key","process","env","NODE_ENV","debug","options","debugAll","debugTable","onChange","_autoResetPageIndex"],"mappings":"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"}
|
package/build/esm/index.js
CHANGED
|
@@ -89,7 +89,7 @@ function memo(getDeps, fn, opts) {
|
|
|
89
89
|
const Columns = {
|
|
90
90
|
createInstance: instance => {
|
|
91
91
|
return {
|
|
92
|
-
|
|
92
|
+
getDefaultColumnDef: memo(() => [instance.options.defaultColumnDef], defaultColumn => {
|
|
93
93
|
var _defaultColumn;
|
|
94
94
|
|
|
95
95
|
defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
|
|
@@ -102,7 +102,7 @@ const Columns = {
|
|
|
102
102
|
return (_props$getValue$toStr = (_props$getValue$toStr2 = (_props$getValue = props.getValue()).toString) == null ? void 0 : _props$getValue$toStr2.call(_props$getValue)) != null ? _props$getValue$toStr : null;
|
|
103
103
|
},
|
|
104
104
|
...instance._features.reduce((obj, feature) => {
|
|
105
|
-
return Object.assign(obj, feature.
|
|
105
|
+
return Object.assign(obj, feature.getDefaultColumnDef == null ? void 0 : feature.getDefaultColumnDef());
|
|
106
106
|
}, {}),
|
|
107
107
|
...defaultColumn
|
|
108
108
|
};
|
|
@@ -112,13 +112,16 @@ const Columns = {
|
|
|
112
112
|
|
|
113
113
|
return (_instance$options$deb = instance.options.debugAll) != null ? _instance$options$deb : instance.options.debugColumns;
|
|
114
114
|
},
|
|
115
|
-
key: process.env.NODE_ENV === 'development' && '
|
|
115
|
+
key: process.env.NODE_ENV === 'development' && 'getDefaultColumnDef'
|
|
116
116
|
}),
|
|
117
117
|
getColumnDefs: () => instance.options.columns,
|
|
118
118
|
createColumn: (columnDef, depth, parent) => {
|
|
119
119
|
var _ref, _columnDef$id;
|
|
120
120
|
|
|
121
|
-
const
|
|
121
|
+
const defaultColumnDef = instance.getDefaultColumnDef();
|
|
122
|
+
columnDef = { ...defaultColumnDef,
|
|
123
|
+
...columnDef
|
|
124
|
+
};
|
|
122
125
|
let id = (_ref = (_columnDef$id = columnDef.id) != null ? _columnDef$id : columnDef.accessorKey) != null ? _ref : typeof columnDef.header === 'string' ? columnDef.header : undefined;
|
|
123
126
|
let accessorFn;
|
|
124
127
|
|
|
@@ -136,8 +139,7 @@ const Columns = {
|
|
|
136
139
|
throw new Error();
|
|
137
140
|
}
|
|
138
141
|
|
|
139
|
-
let column = { ...
|
|
140
|
-
...columnDef,
|
|
142
|
+
let column = { ...columnDef,
|
|
141
143
|
id: "" + id,
|
|
142
144
|
accessorFn,
|
|
143
145
|
parent: parent,
|
|
@@ -286,7 +288,7 @@ const Rows = {
|
|
|
286
288
|
const column = instance.getColumn(columnId);
|
|
287
289
|
|
|
288
290
|
if (!column.accessorFn) {
|
|
289
|
-
|
|
291
|
+
return undefined;
|
|
290
292
|
}
|
|
291
293
|
|
|
292
294
|
row.valuesCache[columnId] = column.accessorFn(row.original, rowIndex);
|
|
@@ -373,7 +375,7 @@ const Cells = {
|
|
|
373
375
|
row,
|
|
374
376
|
column,
|
|
375
377
|
getValue: () => row.getValue(columnId),
|
|
376
|
-
renderCell: () => column.cell ? instance._render(column.cell, {
|
|
378
|
+
renderCell: () => column.columnDef.cell ? instance._render(column.columnDef.cell, {
|
|
377
379
|
instance,
|
|
378
380
|
column,
|
|
379
381
|
row,
|
|
@@ -432,7 +434,7 @@ const getDefaultColumnSizingInfoState = () => ({
|
|
|
432
434
|
});
|
|
433
435
|
|
|
434
436
|
const ColumnSizing = {
|
|
435
|
-
|
|
437
|
+
getDefaultColumnDef: () => {
|
|
436
438
|
return defaultColumnSizing;
|
|
437
439
|
},
|
|
438
440
|
getInitialState: state => {
|
|
@@ -452,10 +454,10 @@ const ColumnSizing = {
|
|
|
452
454
|
createColumn: (column, instance) => {
|
|
453
455
|
return {
|
|
454
456
|
getSize: () => {
|
|
455
|
-
var _column$
|
|
457
|
+
var _column$columnDef$min, _ref, _column$columnDef$max;
|
|
456
458
|
|
|
457
459
|
const columnSize = instance.getState().columnSizing[column.id];
|
|
458
|
-
return Math.min(Math.max((_column$
|
|
460
|
+
return Math.min(Math.max((_column$columnDef$min = column.columnDef.minSize) != null ? _column$columnDef$min : defaultColumnSizing.minSize, (_ref = columnSize != null ? columnSize : column.columnDef.size) != null ? _ref : defaultColumnSizing.size), (_column$columnDef$max = column.columnDef.maxSize) != null ? _column$columnDef$max : defaultColumnSizing.maxSize);
|
|
459
461
|
},
|
|
460
462
|
getStart: position => {
|
|
461
463
|
const columns = !position ? instance.getVisibleLeafColumns() : position === 'left' ? instance.getLeftVisibleLeafColumns() : instance.getRightVisibleLeafColumns();
|
|
@@ -478,9 +480,9 @@ const ColumnSizing = {
|
|
|
478
480
|
});
|
|
479
481
|
},
|
|
480
482
|
getCanResize: () => {
|
|
481
|
-
var _column$
|
|
483
|
+
var _column$columnDef$ena, _instance$options$ena;
|
|
482
484
|
|
|
483
|
-
return ((_column$
|
|
485
|
+
return ((_column$columnDef$ena = column.columnDef.enableResizing) != null ? _column$columnDef$ena : true) && ((_instance$options$ena = instance.options.enableColumnResizing) != null ? _instance$options$ena : true);
|
|
484
486
|
},
|
|
485
487
|
getIsResizing: () => {
|
|
486
488
|
return instance.getState().columnSizingInfo.isResizingColumn === column.id;
|
|
@@ -937,7 +939,7 @@ function testFalsey(val) {
|
|
|
937
939
|
|
|
938
940
|
//
|
|
939
941
|
const Filters = {
|
|
940
|
-
|
|
942
|
+
getDefaultColumnDef: () => {
|
|
941
943
|
return {
|
|
942
944
|
filterFn: 'auto'
|
|
943
945
|
};
|
|
@@ -980,6 +982,10 @@ const Filters = {
|
|
|
980
982
|
return filterFns.inNumberRange;
|
|
981
983
|
}
|
|
982
984
|
|
|
985
|
+
if (typeof value === 'boolean') {
|
|
986
|
+
return filterFns.equals;
|
|
987
|
+
}
|
|
988
|
+
|
|
983
989
|
if (value !== null && typeof value === 'object') {
|
|
984
990
|
return filterFns.equals;
|
|
985
991
|
}
|
|
@@ -997,14 +1003,14 @@ const Filters = {
|
|
|
997
1003
|
return isFunction(column.filterFn) ? column.filterFn : column.filterFn === 'auto' ? column.getAutoFilterFn() : (_ref = userFilterFns == null ? void 0 : userFilterFns[column.filterFn]) != null ? _ref : filterFns[column.filterFn];
|
|
998
1004
|
},
|
|
999
1005
|
getCanFilter: () => {
|
|
1000
|
-
var _column$
|
|
1006
|
+
var _column$columnDef$ena, _instance$options$ena, _instance$options$ena2;
|
|
1001
1007
|
|
|
1002
|
-
return ((_column$
|
|
1008
|
+
return ((_column$columnDef$ena = column.columnDef.enableColumnFilter) != null ? _column$columnDef$ena : true) && ((_instance$options$ena = instance.options.enableColumnFilters) != null ? _instance$options$ena : true) && ((_instance$options$ena2 = instance.options.enableFilters) != null ? _instance$options$ena2 : true) && !!column.accessorFn;
|
|
1003
1009
|
},
|
|
1004
1010
|
getCanGlobalFilter: () => {
|
|
1005
|
-
var _column$
|
|
1011
|
+
var _column$columnDef$ena2, _instance$options$ena3, _instance$options$ena4, _instance$options$get;
|
|
1006
1012
|
|
|
1007
|
-
return ((_column$
|
|
1013
|
+
return ((_column$columnDef$ena2 = column.columnDef.enableGlobalFilter) != null ? _column$columnDef$ena2 : true) && ((_instance$options$ena3 = instance.options.enableGlobalFilter) != null ? _instance$options$ena3 : true) && ((_instance$options$ena4 = instance.options.enableFilters) != null ? _instance$options$ena4 : true) && ((_instance$options$get = instance.options.getColumnCanGlobalFilter == null ? void 0 : instance.options.getColumnCanGlobalFilter(column)) != null ? _instance$options$get : true) && !!column.accessorFn;
|
|
1008
1014
|
},
|
|
1009
1015
|
getIsFiltered: () => column.getFilterIndex() > -1,
|
|
1010
1016
|
getFilterValue: () => {
|
|
@@ -1083,7 +1089,8 @@ const Filters = {
|
|
|
1083
1089
|
},
|
|
1084
1090
|
createRow: (row, instance) => {
|
|
1085
1091
|
return {
|
|
1086
|
-
|
|
1092
|
+
columnFilters: {},
|
|
1093
|
+
columnFiltersMeta: {},
|
|
1087
1094
|
subRowsByFacetId: {}
|
|
1088
1095
|
};
|
|
1089
1096
|
},
|
|
@@ -1281,7 +1288,7 @@ function count(getLeafValues) {
|
|
|
1281
1288
|
|
|
1282
1289
|
//
|
|
1283
1290
|
const Grouping = {
|
|
1284
|
-
|
|
1291
|
+
getDefaultColumnDef: () => {
|
|
1285
1292
|
return {
|
|
1286
1293
|
aggregationFn: 'auto'
|
|
1287
1294
|
};
|
|
@@ -1311,9 +1318,9 @@ const Grouping = {
|
|
|
1311
1318
|
});
|
|
1312
1319
|
},
|
|
1313
1320
|
getCanGroup: () => {
|
|
1314
|
-
var _ref, _ref2, _ref3, _column$
|
|
1321
|
+
var _ref, _ref2, _ref3, _column$columnDef$ena;
|
|
1315
1322
|
|
|
1316
|
-
return (_ref = (_ref2 = (_ref3 = (_column$
|
|
1323
|
+
return (_ref = (_ref2 = (_ref3 = (_column$columnDef$ena = column.columnDef.enableGrouping) != null ? _column$columnDef$ena : true) != null ? _ref3 : instance.options.enableGrouping) != null ? _ref2 : true) != null ? _ref : !!column.accessorFn;
|
|
1317
1324
|
},
|
|
1318
1325
|
getIsGrouped: () => {
|
|
1319
1326
|
var _instance$getState$gr;
|
|
@@ -1397,9 +1404,9 @@ const Grouping = {
|
|
|
1397
1404
|
return !cell.getIsGrouped() && !cell.getIsPlaceholder() && ((_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length) > 1;
|
|
1398
1405
|
},
|
|
1399
1406
|
renderAggregatedCell: () => {
|
|
1400
|
-
var _column$
|
|
1407
|
+
var _column$columnDef$agg;
|
|
1401
1408
|
|
|
1402
|
-
const template = (_column$
|
|
1409
|
+
const template = (_column$columnDef$agg = column.columnDef.aggregatedCell) != null ? _column$columnDef$agg : column.columnDef.cell;
|
|
1403
1410
|
return template ? instance._render(template, {
|
|
1404
1411
|
instance,
|
|
1405
1412
|
column,
|
|
@@ -1706,9 +1713,9 @@ const Pinning = {
|
|
|
1706
1713
|
getCanPin: () => {
|
|
1707
1714
|
const leafColumns = column.getLeafColumns();
|
|
1708
1715
|
return leafColumns.some(d => {
|
|
1709
|
-
var _d$
|
|
1716
|
+
var _d$columnDef$enablePi, _instance$options$ena;
|
|
1710
1717
|
|
|
1711
|
-
return ((_d$
|
|
1718
|
+
return ((_d$columnDef$enablePi = d.columnDef.enablePinning) != null ? _d$columnDef$enablePi : true) && ((_instance$options$ena = instance.options.enablePinning) != null ? _instance$options$ena : true);
|
|
1712
1719
|
});
|
|
1713
1720
|
},
|
|
1714
1721
|
getIsPinned: () => {
|
|
@@ -1778,12 +1785,18 @@ const Pinning = {
|
|
|
1778
1785
|
|
|
1779
1786
|
return instance.setColumnPinning(defaultState ? getDefaultPinningState() : (_instance$initialStat = (_instance$initialStat2 = instance.initialState) == null ? void 0 : _instance$initialStat2.columnPinning) != null ? _instance$initialStat : getDefaultPinningState());
|
|
1780
1787
|
},
|
|
1781
|
-
getIsSomeColumnsPinned:
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1788
|
+
getIsSomeColumnsPinned: position => {
|
|
1789
|
+
var _pinningState$positio;
|
|
1790
|
+
|
|
1791
|
+
const pinningState = instance.getState().columnPinning;
|
|
1792
|
+
|
|
1793
|
+
if (!position) {
|
|
1794
|
+
var _pinningState$left, _pinningState$right;
|
|
1795
|
+
|
|
1796
|
+
return Boolean(((_pinningState$left = pinningState.left) == null ? void 0 : _pinningState$left.length) || ((_pinningState$right = pinningState.right) == null ? void 0 : _pinningState$right.length));
|
|
1797
|
+
}
|
|
1798
|
+
|
|
1799
|
+
return Boolean((_pinningState$positio = pinningState[position]) == null ? void 0 : _pinningState$positio.length);
|
|
1787
1800
|
},
|
|
1788
1801
|
getLeftLeafColumns: memo(() => [instance.getAllLeafColumns(), instance.getState().columnPinning.left], (allColumns, left) => {
|
|
1789
1802
|
return (left != null ? left : []).map(columnId => allColumns.find(column => column.id === columnId)).filter(Boolean);
|
|
@@ -2309,7 +2322,7 @@ const Sorting = {
|
|
|
2309
2322
|
...state
|
|
2310
2323
|
};
|
|
2311
2324
|
},
|
|
2312
|
-
|
|
2325
|
+
getDefaultColumnDef: () => {
|
|
2313
2326
|
return {
|
|
2314
2327
|
sortingFn: 'auto'
|
|
2315
2328
|
};
|
|
@@ -2325,7 +2338,7 @@ const Sorting = {
|
|
|
2325
2338
|
createColumn: (column, instance) => {
|
|
2326
2339
|
return {
|
|
2327
2340
|
getAutoSortingFn: () => {
|
|
2328
|
-
const firstRows = instance.getFilteredRowModel().flatRows.slice(
|
|
2341
|
+
const firstRows = instance.getFilteredRowModel().flatRows.slice(10);
|
|
2329
2342
|
let isString = false;
|
|
2330
2343
|
|
|
2331
2344
|
for (const row of firstRows) {
|
|
@@ -2369,7 +2382,7 @@ const Sorting = {
|
|
|
2369
2382
|
throw new Error();
|
|
2370
2383
|
}
|
|
2371
2384
|
|
|
2372
|
-
return isFunction(column.sortingFn) ? column.sortingFn : column.sortingFn === 'auto' ? column.getAutoSortingFn() : (_ref = userSortingFn == null ? void 0 : userSortingFn[column.sortingFn]) != null ? _ref : sortingFns[column.sortingFn];
|
|
2385
|
+
return isFunction(column.columnDef.sortingFn) ? column.columnDef.sortingFn : column.columnDef.sortingFn === 'auto' ? column.getAutoSortingFn() : (_ref = userSortingFn == null ? void 0 : userSortingFn[column.columnDef.sortingFn]) != null ? _ref : sortingFns[column.columnDef.sortingFn];
|
|
2373
2386
|
},
|
|
2374
2387
|
toggleSorting: (desc, multi) => {
|
|
2375
2388
|
// if (column.columns.length) {
|
|
@@ -2381,7 +2394,7 @@ const Sorting = {
|
|
|
2381
2394
|
// return
|
|
2382
2395
|
// }
|
|
2383
2396
|
instance.setSorting(old => {
|
|
2384
|
-
var _ref2, _column$
|
|
2397
|
+
var _ref2, _column$columnDef$sor, _instance$options$ena, _instance$options$ena2;
|
|
2385
2398
|
|
|
2386
2399
|
// Find any existing sorting for this column
|
|
2387
2400
|
const existingSorting = old == null ? void 0 : old.find(d => d.id === column.id);
|
|
@@ -2408,7 +2421,7 @@ const Sorting = {
|
|
|
2408
2421
|
}
|
|
2409
2422
|
}
|
|
2410
2423
|
|
|
2411
|
-
const sortDescFirst = (_ref2 = (_column$
|
|
2424
|
+
const sortDescFirst = (_ref2 = (_column$columnDef$sor = column.columnDef.sortDescFirst) != null ? _column$columnDef$sor : instance.options.sortDescFirst) != null ? _ref2 : column.getAutoSortDir() === 'desc'; // Handle toggle states that will remove the sorting
|
|
2412
2425
|
|
|
2413
2426
|
if (sortAction === 'toggle' && ( // Must be toggling
|
|
2414
2427
|
(_instance$options$ena = instance.options.enableSortingRemoval) != null ? _instance$options$ena : true) && // If enableSortRemove, enable in general
|
|
@@ -2452,14 +2465,14 @@ const Sorting = {
|
|
|
2452
2465
|
});
|
|
2453
2466
|
},
|
|
2454
2467
|
getCanSort: () => {
|
|
2455
|
-
var _column$
|
|
2468
|
+
var _column$columnDef$ena, _instance$options$ena3;
|
|
2456
2469
|
|
|
2457
|
-
return ((_column$
|
|
2470
|
+
return ((_column$columnDef$ena = column.columnDef.enableSorting) != null ? _column$columnDef$ena : true) && ((_instance$options$ena3 = instance.options.enableSorting) != null ? _instance$options$ena3 : true) && !!column.accessorFn;
|
|
2458
2471
|
},
|
|
2459
2472
|
getCanMultiSort: () => {
|
|
2460
|
-
var _ref3, _column$
|
|
2473
|
+
var _ref3, _column$columnDef$ena2;
|
|
2461
2474
|
|
|
2462
|
-
return (_ref3 = (_column$
|
|
2475
|
+
return (_ref3 = (_column$columnDef$ena2 = column.columnDef.enableMultiSort) != null ? _column$columnDef$ena2 : instance.options.enableMultiSort) != null ? _ref3 : !!column.accessorFn;
|
|
2463
2476
|
},
|
|
2464
2477
|
getIsSorted: () => {
|
|
2465
2478
|
var _instance$getState$so;
|
|
@@ -2523,7 +2536,7 @@ const Visibility = {
|
|
|
2523
2536
|
onColumnVisibilityChange: makeStateUpdater('columnVisibility', instance)
|
|
2524
2537
|
};
|
|
2525
2538
|
},
|
|
2526
|
-
|
|
2539
|
+
getDefaultColumnDef: () => {
|
|
2527
2540
|
return {
|
|
2528
2541
|
defaultIsVisible: true
|
|
2529
2542
|
};
|
|
@@ -2543,9 +2556,9 @@ const Visibility = {
|
|
|
2543
2556
|
return (_instance$getState$co = (_instance$getState$co2 = instance.getState().columnVisibility) == null ? void 0 : _instance$getState$co2[column.id]) != null ? _instance$getState$co : true;
|
|
2544
2557
|
},
|
|
2545
2558
|
getCanHide: () => {
|
|
2546
|
-
var _column$
|
|
2559
|
+
var _column$columnDef$ena, _instance$options$ena;
|
|
2547
2560
|
|
|
2548
|
-
return ((_column$
|
|
2561
|
+
return ((_column$columnDef$ena = column.columnDef.enableHiding) != null ? _column$columnDef$ena : true) && ((_instance$options$ena = instance.options.enableHiding) != null ? _instance$options$ena : true);
|
|
2549
2562
|
},
|
|
2550
2563
|
getToggleVisibilityHandler: () => {
|
|
2551
2564
|
return e => {
|
|
@@ -2656,12 +2669,12 @@ const Headers = {
|
|
|
2656
2669
|
recurseHeader(header);
|
|
2657
2670
|
return leafHeaders;
|
|
2658
2671
|
},
|
|
2659
|
-
renderHeader: () => column.header ? instance._render(column.header, {
|
|
2672
|
+
renderHeader: () => column.columnDef.header ? instance._render(column.columnDef.header, {
|
|
2660
2673
|
instance,
|
|
2661
2674
|
header: header,
|
|
2662
2675
|
column
|
|
2663
2676
|
}) : null,
|
|
2664
|
-
renderFooter: () => column.footer ? instance._render(column.footer, {
|
|
2677
|
+
renderFooter: () => column.columnDef.footer ? instance._render(column.columnDef.footer, {
|
|
2665
2678
|
instance,
|
|
2666
2679
|
header: header,
|
|
2667
2680
|
column
|
|
@@ -3169,10 +3182,11 @@ function createTable(_, __, options) {
|
|
|
3169
3182
|
throw new Error('');
|
|
3170
3183
|
})()
|
|
3171
3184
|
},
|
|
3172
|
-
setGenerics: () => table,
|
|
3185
|
+
// setGenerics: () => table as any,
|
|
3173
3186
|
setRowType: () => table,
|
|
3174
3187
|
setTableMetaType: () => table,
|
|
3175
3188
|
setColumnMetaType: () => table,
|
|
3189
|
+
setFilterMetaType: () => table,
|
|
3176
3190
|
setOptions: newOptions => createTable(_, __, { ...options,
|
|
3177
3191
|
...newOptions
|
|
3178
3192
|
}),
|
|
@@ -3204,7 +3218,8 @@ function createTable(_, __, options) {
|
|
|
3204
3218
|
}
|
|
3205
3219
|
|
|
3206
3220
|
throw new Error('Invalid accessor');
|
|
3207
|
-
}
|
|
3221
|
+
},
|
|
3222
|
+
createOptions: options => options
|
|
3208
3223
|
};
|
|
3209
3224
|
return table;
|
|
3210
3225
|
}
|
|
@@ -3300,7 +3315,7 @@ function filterRowModelFromLeafs(rowsToFilter, filterRow, instance) {
|
|
|
3300
3315
|
|
|
3301
3316
|
if ((_row$subRows = row.subRows) != null && _row$subRows.length) {
|
|
3302
3317
|
newRow = instance.createRow(row.id, row.original, row.index, row.depth);
|
|
3303
|
-
newRow.
|
|
3318
|
+
newRow.columnFilters = row.columnFilters;
|
|
3304
3319
|
newRow.subRows = recurseFilterRows(row.subRows, depth + 1);
|
|
3305
3320
|
|
|
3306
3321
|
if (!newRow.subRows.length) {
|
|
@@ -3373,6 +3388,11 @@ function filterRowModelFromRoot(rowsToFilter, filterRow, instance) {
|
|
|
3373
3388
|
function getFilteredRowModel() {
|
|
3374
3389
|
return instance => memo(() => [instance.getPreFilteredRowModel(), instance.getState().columnFilters, instance.getState().globalFilter], (rowModel, columnFilters, globalFilter) => {
|
|
3375
3390
|
if (!rowModel.rows.length || !(columnFilters != null && columnFilters.length) && !globalFilter) {
|
|
3391
|
+
for (let i = 0; i < rowModel.flatRows.length; i++) {
|
|
3392
|
+
rowModel.flatRows[i].columnFilters = {};
|
|
3393
|
+
rowModel.flatRows[i].columnFiltersMeta = {};
|
|
3394
|
+
}
|
|
3395
|
+
|
|
3376
3396
|
return rowModel;
|
|
3377
3397
|
}
|
|
3378
3398
|
|
|
@@ -3427,28 +3447,34 @@ function getFilteredRowModel() {
|
|
|
3427
3447
|
|
|
3428
3448
|
for (let j = 0; j < rowModel.flatRows.length; j++) {
|
|
3429
3449
|
const row = rowModel.flatRows[j];
|
|
3430
|
-
row.
|
|
3450
|
+
row.columnFilters = {};
|
|
3431
3451
|
|
|
3432
3452
|
if (resolvedColumnFilters.length) {
|
|
3433
3453
|
for (let i = 0; i < resolvedColumnFilters.length; i++) {
|
|
3434
|
-
currentColumnFilter = resolvedColumnFilters[i];
|
|
3454
|
+
currentColumnFilter = resolvedColumnFilters[i];
|
|
3455
|
+
const id = currentColumnFilter.id; // Tag the row with the column filter state
|
|
3435
3456
|
|
|
3436
|
-
row.
|
|
3457
|
+
row.columnFilters[id] = currentColumnFilter.filterFn(row, id, currentColumnFilter.resolvedValue, filterMeta => {
|
|
3458
|
+
row.columnFiltersMeta[id] = filterMeta;
|
|
3459
|
+
});
|
|
3437
3460
|
}
|
|
3438
3461
|
}
|
|
3439
3462
|
|
|
3440
3463
|
if (resolvedGlobalFilters.length) {
|
|
3441
3464
|
for (let i = 0; i < resolvedGlobalFilters.length; i++) {
|
|
3442
|
-
currentGlobalFilter = resolvedGlobalFilters[i];
|
|
3465
|
+
currentGlobalFilter = resolvedGlobalFilters[i];
|
|
3466
|
+
const id = currentGlobalFilter.id; // Tag the row with the first truthy global filter state
|
|
3443
3467
|
|
|
3444
|
-
if (currentGlobalFilter.filterFn(row,
|
|
3445
|
-
row.
|
|
3468
|
+
if (currentGlobalFilter.filterFn(row, id, currentGlobalFilter.resolvedValue, filterMeta => {
|
|
3469
|
+
row.columnFiltersMeta[id] = filterMeta;
|
|
3470
|
+
})) {
|
|
3471
|
+
row.columnFilters.__global__ = true;
|
|
3446
3472
|
break;
|
|
3447
3473
|
}
|
|
3448
3474
|
}
|
|
3449
3475
|
|
|
3450
|
-
if (row.
|
|
3451
|
-
row.
|
|
3476
|
+
if (row.columnFilters.__global__ !== true) {
|
|
3477
|
+
row.columnFilters.__global__ = false;
|
|
3452
3478
|
}
|
|
3453
3479
|
}
|
|
3454
3480
|
}
|
|
@@ -3456,7 +3482,7 @@ function getFilteredRowModel() {
|
|
|
3456
3482
|
const filterRowsImpl = row => {
|
|
3457
3483
|
// Horizontally filter rows through each column
|
|
3458
3484
|
for (let i = 0; i < filterableIds.length; i++) {
|
|
3459
|
-
if (row.
|
|
3485
|
+
if (row.columnFilters[filterableIds[i]] === false) {
|
|
3460
3486
|
return false;
|
|
3461
3487
|
}
|
|
3462
3488
|
}
|
|
@@ -3490,7 +3516,7 @@ function getFacetedRowModel() {
|
|
|
3490
3516
|
const filterRowsImpl = row => {
|
|
3491
3517
|
// Horizontally filter rows through each column
|
|
3492
3518
|
for (let i = 0; i < filterableIds.length; i++) {
|
|
3493
|
-
if (row.
|
|
3519
|
+
if (row.columnFilters[filterableIds[i]] === false) {
|
|
3494
3520
|
return false;
|
|
3495
3521
|
}
|
|
3496
3522
|
}
|
|
@@ -3590,8 +3616,8 @@ function getSortedRowModel() {
|
|
|
3590
3616
|
availableSorting.forEach(sortEntry => {
|
|
3591
3617
|
const column = instance.getColumn(sortEntry.id);
|
|
3592
3618
|
columnInfoById[sortEntry.id] = {
|
|
3593
|
-
sortUndefined: column.sortUndefined,
|
|
3594
|
-
invertSorting: column.invertSorting,
|
|
3619
|
+
sortUndefined: column.columnDef.sortUndefined,
|
|
3620
|
+
invertSorting: column.columnDef.invertSorting,
|
|
3595
3621
|
sortingFn: column.getSortingFn()
|
|
3596
3622
|
};
|
|
3597
3623
|
});
|
|
@@ -3739,8 +3765,8 @@ function getGroupedRowModel() {
|
|
|
3739
3765
|
row.groupingValuesCache[columnId] = aggregateFn(() => leafRows.map(row => {
|
|
3740
3766
|
let columnValue = row.getValue(columnId);
|
|
3741
3767
|
|
|
3742
|
-
if (!depth && column.aggregateValue) {
|
|
3743
|
-
columnValue = column.aggregateValue(columnValue);
|
|
3768
|
+
if (!depth && column.columnDef.aggregateValue) {
|
|
3769
|
+
columnValue = column.columnDef.aggregateValue(columnValue);
|
|
3744
3770
|
}
|
|
3745
3771
|
|
|
3746
3772
|
return columnValue;
|
|
@@ -3898,5 +3924,5 @@ function getPaginationRowModel(opts) {
|
|
|
3898
3924
|
});
|
|
3899
3925
|
}
|
|
3900
3926
|
|
|
3901
|
-
export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, buildHeaderGroups, createTableFactory, createTableInstance, defaultColumnSizing, expandRows, flattenBy, functionalUpdate, getCoreRowModel, getExpandedRowModel, getFacetedMinMaxValues, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, isFunction, isRowSelected, makeStateUpdater, memo, noop, orderColumns, passiveEventSupported, selectRowsFn, shouldAutoRemoveFilter };
|
|
3927
|
+
export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, aggregationFns, buildHeaderGroups, createTableFactory, createTableInstance, defaultColumnSizing, expandRows, filterFns, flattenBy, functionalUpdate, getCoreRowModel, getExpandedRowModel, getFacetedMinMaxValues, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, isFunction, isRowSelected, makeStateUpdater, mean, memo, noop, orderColumns, passiveEventSupported, reSplitAlphaNumeric, selectRowsFn, shouldAutoRemoveFilter, sortingFns };
|
|
3902
3928
|
//# sourceMappingURL=index.js.map
|