@tanstack/vue-table 8.5.1 → 8.5.4
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/table-core/build/esm/index.js +20 -7
- package/build/cjs/table-core/build/esm/index.js.map +1 -1
- package/build/cjs/vue-table/src/index.js +12 -12
- package/build/cjs/vue-table/src/index.js.map +1 -1
- package/build/esm/index.js +32 -19
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +26 -26
- package/build/types/index.d.ts +8 -3
- package/build/umd/index.development.js +32 -19
- 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 +2 -2
- package/src/index.ts +14 -15
|
@@ -16,15 +16,18 @@ var index = require('../../table-core/build/esm/index.js');
|
|
|
16
16
|
var vue = require('vue');
|
|
17
17
|
var mergeProxy = require('./merge-proxy.js');
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
const FlexRender = {
|
|
20
|
+
props: ['render', 'props'],
|
|
21
|
+
setup: props => {
|
|
22
|
+
return () => {
|
|
23
|
+
if (typeof props.render === 'function' || typeof props.render === 'object') {
|
|
24
|
+
return vue.h(props.render, props.props);
|
|
25
|
+
}
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
return props.render;
|
|
28
|
+
};
|
|
24
29
|
}
|
|
25
|
-
|
|
26
|
-
return Comp;
|
|
27
|
-
}
|
|
30
|
+
};
|
|
28
31
|
function useVueTable(options) {
|
|
29
32
|
const resolvedOptions = mergeProxy.mergeProxy({
|
|
30
33
|
state: {},
|
|
@@ -66,10 +69,7 @@ function useVueTable(options) {
|
|
|
66
69
|
}
|
|
67
70
|
});
|
|
68
71
|
});
|
|
69
|
-
});
|
|
70
|
-
// table.willUpdate()
|
|
71
|
-
// })
|
|
72
|
-
|
|
72
|
+
});
|
|
73
73
|
return table;
|
|
74
74
|
}
|
|
75
75
|
|
|
@@ -117,6 +117,6 @@ exports.reSplitAlphaNumeric = index.reSplitAlphaNumeric;
|
|
|
117
117
|
exports.selectRowsFn = index.selectRowsFn;
|
|
118
118
|
exports.shouldAutoRemoveFilter = index.shouldAutoRemoveFilter;
|
|
119
119
|
exports.sortingFns = index.sortingFns;
|
|
120
|
-
exports.
|
|
120
|
+
exports.FlexRender = FlexRender;
|
|
121
121
|
exports.useVueTable = useVueTable;
|
|
122
122
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/index.ts"],"sourcesContent":["import {\n TableOptions,\n createTable,\n TableOptionsResolved,\n RowData,\n} from '@tanstack/table-core'\nimport { h, watchEffect, ref
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/index.ts"],"sourcesContent":["import {\n TableOptions,\n createTable,\n TableOptionsResolved,\n RowData,\n} from '@tanstack/table-core'\nimport { h, watchEffect, ref } from 'vue'\nimport { mergeProxy } from './merge-proxy'\n\nexport * from '@tanstack/table-core'\n\nexport const FlexRender = {\n props: ['render', 'props'],\n setup: (props: { render: any; props: any }) => {\n return () => {\n if (\n typeof props.render === 'function' ||\n typeof props.render === 'object'\n ) {\n return h(props.render, props.props)\n }\n\n return props.render\n }\n },\n}\n\nexport function useVueTable<TData extends RowData>(\n options: TableOptions<TData>\n) {\n const resolvedOptions: TableOptionsResolved<TData> = mergeProxy(\n {\n state: {}, // Dummy state\n onStateChange: () => {}, // noop\n renderFallbackValue: null,\n mergeOptions(\n defaultOptions: TableOptions<TData>,\n options: TableOptions<TData>\n ) {\n return mergeProxy(defaultOptions, options)\n },\n },\n options\n )\n\n const table = createTable<TData>(resolvedOptions)\n // can't use `reactive` because update needs to be immutable\n const state = ref(table.initialState)\n\n watchEffect(() => {\n table.setOptions(prev => {\n const stateProxy = new Proxy({} as typeof state.value, {\n get: (_, prop) => state.value[prop as keyof typeof state.value],\n })\n\n return mergeProxy(prev, options, {\n // merge the initialState and `options.state`\n // create a new proxy on each `setOptions` call\n // and get the value from state on each property access\n state: mergeProxy(stateProxy, options.state ?? {}),\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: (updater: any) => {\n if (updater instanceof Function) {\n state.value = updater(state.value)\n } else {\n state.value = updater\n }\n\n options.onStateChange?.(updater)\n },\n })\n })\n })\n\n return table\n}\n"],"names":["FlexRender","props","setup","render","h","useVueTable","options","resolvedOptions","mergeProxy","state","onStateChange","renderFallbackValue","mergeOptions","defaultOptions","table","createTable","ref","initialState","watchEffect","setOptions","prev","stateProxy","Proxy","get","_","prop","value","updater","Function"],"mappings":";;;;;;;;;;;;;;;;;;AAWO,MAAMA,UAAU,GAAG;AACxBC,EAAAA,KAAK,EAAE,CAAC,QAAD,EAAW,OAAX,CADiB;EAExBC,KAAK,EAAGD,KAAD,IAAwC;AAC7C,IAAA,OAAO,MAAM;AACX,MAAA,IACE,OAAOA,KAAK,CAACE,MAAb,KAAwB,UAAxB,IACA,OAAOF,KAAK,CAACE,MAAb,KAAwB,QAF1B,EAGE;QACA,OAAOC,KAAC,CAACH,KAAK,CAACE,MAAP,EAAeF,KAAK,CAACA,KAArB,CAAR,CAAA;AACD,OAAA;;MAED,OAAOA,KAAK,CAACE,MAAb,CAAA;KARF,CAAA;AAUD,GAAA;AAbuB,EAAnB;AAgBA,SAASE,WAAT,CACLC,OADK,EAEL;EACA,MAAMC,eAA4C,GAAGC,qBAAU,CAC7D;AACEC,IAAAA,KAAK,EAAE,EADT;AACa;IACXC,aAAa,EAAE,MAAM,EAFvB;AAE2B;AACzBC,IAAAA,mBAAmB,EAAE,IAHvB;;AAIEC,IAAAA,YAAY,CACVC,cADU,EAEVP,OAFU,EAGV;AACA,MAAA,OAAOE,qBAAU,CAACK,cAAD,EAAiBP,OAAjB,CAAjB,CAAA;AACD,KAAA;;GAV0D,EAY7DA,OAZ6D,CAA/D,CAAA;AAeA,EAAA,MAAMQ,KAAK,GAAGC,iBAAW,CAAQR,eAAR,CAAzB,CAhBA;;AAkBA,EAAA,MAAME,KAAK,GAAGO,OAAG,CAACF,KAAK,CAACG,YAAP,CAAjB,CAAA;AAEAC,EAAAA,eAAW,CAAC,MAAM;AAChBJ,IAAAA,KAAK,CAACK,UAAN,CAAiBC,IAAI,IAAI;AAAA,MAAA,IAAA,cAAA,CAAA;;AACvB,MAAA,MAAMC,UAAU,GAAG,IAAIC,KAAJ,CAAU,EAAV,EAAoC;QACrDC,GAAG,EAAE,CAACC,CAAD,EAAIC,IAAJ,KAAahB,KAAK,CAACiB,KAAN,CAAYD,IAAZ,CAAA;AADmC,OAApC,CAAnB,CAAA;AAIA,MAAA,OAAOjB,qBAAU,CAACY,IAAD,EAAOd,OAAP,EAAgB;AAC/B;AACA;AACA;QACAG,KAAK,EAAED,qBAAU,CAACa,UAAD,EAAA,CAAA,cAAA,GAAaf,OAAO,CAACG,KAArB,KAA8B,IAAA,GAAA,cAAA,GAAA,EAA9B,CAJc;AAK/B;AACA;QACAC,aAAa,EAAGiB,OAAD,IAAkB;UAC/B,IAAIA,OAAO,YAAYC,QAAvB,EAAiC;YAC/BnB,KAAK,CAACiB,KAAN,GAAcC,OAAO,CAAClB,KAAK,CAACiB,KAAP,CAArB,CAAA;AACD,WAFD,MAEO;YACLjB,KAAK,CAACiB,KAAN,GAAcC,OAAd,CAAA;AACD,WAAA;;AAEDrB,UAAAA,OAAO,CAACI,aAAR,IAAA,IAAA,GAAA,KAAA,CAAA,GAAAJ,OAAO,CAACI,aAAR,CAAwBiB,OAAxB,CAAA,CAAA;AACD,SAAA;AAf8B,OAAhB,CAAjB,CAAA;KALF,CAAA,CAAA;AAuBD,GAxBU,CAAX,CAAA;AA0BA,EAAA,OAAOb,KAAP,CAAA;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/build/esm/index.js
CHANGED
|
@@ -2158,14 +2158,14 @@ const RowSelection = {
|
|
|
2158
2158
|
// return table.options.enableGroupingRowSelection ?? false
|
|
2159
2159
|
// },
|
|
2160
2160
|
getIsAllRowsSelected: () => {
|
|
2161
|
-
const
|
|
2161
|
+
const preGroupedFlatRows = table.getFilteredRowModel().flatRows;
|
|
2162
2162
|
const {
|
|
2163
2163
|
rowSelection
|
|
2164
2164
|
} = table.getState();
|
|
2165
|
-
let isAllRowsSelected = Boolean(
|
|
2165
|
+
let isAllRowsSelected = Boolean(preGroupedFlatRows.length && Object.keys(rowSelection).length);
|
|
2166
2166
|
|
|
2167
2167
|
if (isAllRowsSelected) {
|
|
2168
|
-
if (
|
|
2168
|
+
if (preGroupedFlatRows.some(row => row.getCanSelect() && !rowSelection[row.id])) {
|
|
2169
2169
|
isAllRowsSelected = false;
|
|
2170
2170
|
}
|
|
2171
2171
|
}
|
|
@@ -2189,7 +2189,7 @@ const RowSelection = {
|
|
|
2189
2189
|
var _table$getState$rowSe;
|
|
2190
2190
|
|
|
2191
2191
|
const totalSelected = Object.keys((_table$getState$rowSe = table.getState().rowSelection) != null ? _table$getState$rowSe : {}).length;
|
|
2192
|
-
return totalSelected > 0 && totalSelected < table.
|
|
2192
|
+
return totalSelected > 0 && totalSelected < table.getFilteredRowModel().flatRows.length;
|
|
2193
2193
|
},
|
|
2194
2194
|
getIsSomePageRowsSelected: () => {
|
|
2195
2195
|
const paginationFlatRows = table.getPaginationRowModel().flatRows;
|
|
@@ -2935,8 +2935,20 @@ function createTable(options) {
|
|
|
2935
2935
|
|
|
2936
2936
|
defaultColumn = (_defaultColumn = defaultColumn) != null ? _defaultColumn : {};
|
|
2937
2937
|
return {
|
|
2938
|
-
header: props =>
|
|
2939
|
-
|
|
2938
|
+
header: props => {
|
|
2939
|
+
const resolvedColumnDef = props.header.column.columnDef;
|
|
2940
|
+
|
|
2941
|
+
if (resolvedColumnDef.accessorKey) {
|
|
2942
|
+
return resolvedColumnDef.accessorKey;
|
|
2943
|
+
}
|
|
2944
|
+
|
|
2945
|
+
if (resolvedColumnDef.accessorFn) {
|
|
2946
|
+
return resolvedColumnDef.id;
|
|
2947
|
+
}
|
|
2948
|
+
|
|
2949
|
+
return null;
|
|
2950
|
+
},
|
|
2951
|
+
// footer: props => props.header.column.id,
|
|
2940
2952
|
cell: props => {
|
|
2941
2953
|
var _props$renderValue$to, _props$renderValue;
|
|
2942
2954
|
|
|
@@ -2964,7 +2976,8 @@ function createTable(options) {
|
|
|
2964
2976
|
|
|
2965
2977
|
return columnDefs.map(columnDef => {
|
|
2966
2978
|
const column = createColumn(table, columnDef, depth, parent);
|
|
2967
|
-
|
|
2979
|
+
const groupingColumnDef = columnDef;
|
|
2980
|
+
column.columns = groupingColumnDef.columns ? recurseColumns(groupingColumnDef.columns, column, depth + 1) : [];
|
|
2968
2981
|
return column;
|
|
2969
2982
|
});
|
|
2970
2983
|
};
|
|
@@ -3948,15 +3961,18 @@ function mergeProxy() {
|
|
|
3948
3961
|
}, propTraps);
|
|
3949
3962
|
}
|
|
3950
3963
|
|
|
3951
|
-
|
|
3952
|
-
|
|
3964
|
+
const FlexRender = {
|
|
3965
|
+
props: ['render', 'props'],
|
|
3966
|
+
setup: props => {
|
|
3967
|
+
return () => {
|
|
3968
|
+
if (typeof props.render === 'function' || typeof props.render === 'object') {
|
|
3969
|
+
return h(props.render, props.props);
|
|
3970
|
+
}
|
|
3953
3971
|
|
|
3954
|
-
|
|
3955
|
-
|
|
3972
|
+
return props.render;
|
|
3973
|
+
};
|
|
3956
3974
|
}
|
|
3957
|
-
|
|
3958
|
-
return Comp;
|
|
3959
|
-
}
|
|
3975
|
+
};
|
|
3960
3976
|
function useVueTable(options) {
|
|
3961
3977
|
const resolvedOptions = mergeProxy({
|
|
3962
3978
|
state: {},
|
|
@@ -3998,12 +4014,9 @@ function useVueTable(options) {
|
|
|
3998
4014
|
}
|
|
3999
4015
|
});
|
|
4000
4016
|
});
|
|
4001
|
-
});
|
|
4002
|
-
// table.willUpdate()
|
|
4003
|
-
// })
|
|
4004
|
-
|
|
4017
|
+
});
|
|
4005
4018
|
return table;
|
|
4006
4019
|
}
|
|
4007
4020
|
|
|
4008
|
-
export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, aggregationFns, buildHeaderGroups, createCell, createColumn, createColumnHelper, createRow, createTable, defaultColumnSizing, expandRows, filterFns, flattenBy,
|
|
4021
|
+
export { ColumnSizing, Expanding, Filters, FlexRender, Grouping, Headers, Ordering, Pagination, Pinning, RowSelection, Sorting, Visibility, aggregationFns, buildHeaderGroups, createCell, createColumn, createColumnHelper, createRow, createTable, defaultColumnSizing, expandRows, filterFns, flattenBy, functionalUpdate, getCoreRowModel, getExpandedRowModel, getFacetedMinMaxValues, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, isFunction, isRowSelected, isSubRowSelected, makeStateUpdater, memo, noop, orderColumns, passiveEventSupported, reSplitAlphaNumeric, selectRowsFn, shouldAutoRemoveFilter, sortingFns, useVueTable };
|
|
4009
4022
|
//# sourceMappingURL=index.js.map
|