@tanstack/table-core 8.0.0-alpha.12 → 8.0.0-alpha.16
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 +17 -6
- package/build/cjs/core.js.map +1 -1
- package/build/cjs/createTable.js +17 -9
- package/build/cjs/createTable.js.map +1 -1
- package/build/cjs/features/ColumnSizing.js +2 -2
- package/build/cjs/features/ColumnSizing.js.map +1 -1
- package/build/cjs/features/Expanding.js +2 -2
- package/build/cjs/features/Expanding.js.map +1 -1
- package/build/cjs/features/Filters.js +1 -1
- package/build/cjs/features/Filters.js.map +1 -1
- package/build/cjs/features/Grouping.js +13 -2
- package/build/cjs/features/Grouping.js.map +1 -1
- package/build/cjs/features/Headers.js +4 -4
- package/build/cjs/features/Headers.js.map +1 -1
- package/build/cjs/features/RowSelection.js.map +1 -1
- package/build/cjs/features/Visibility.js.map +1 -1
- package/build/cjs/index.js +1 -3
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/types.js +0 -3
- package/build/cjs/types.js.map +1 -1
- package/build/cjs/utils/columnFilterRowsFn.js +1 -1
- package/build/cjs/utils/columnFilterRowsFn.js.map +1 -1
- package/build/cjs/utils/expandRowsFn.js.map +1 -1
- package/build/cjs/utils/globalFilterRowsFn.js.map +1 -1
- package/build/cjs/utils/groupRowsFn.js +1 -1
- package/build/cjs/utils/groupRowsFn.js.map +1 -1
- package/build/cjs/utils/paginateRowsFn.js.map +1 -1
- package/build/cjs/utils/sortRowsFn.js.map +1 -1
- package/build/cjs/utils.js +0 -24
- package/build/cjs/utils.js.map +1 -1
- package/build/esm/index.js +58 -50
- package/build/esm/index.js.map +1 -1
- package/build/stats-html.html +1 -1
- package/build/stats-react.json +268 -282
- package/build/types/core.d.ts +11 -9
- package/build/types/createTable.d.ts +32 -16
- package/build/types/features/ColumnSizing.d.ts +2 -3
- package/build/types/features/Grouping.d.ts +11 -5
- package/build/types/features/RowSelection.d.ts +2 -3
- package/build/types/features/Visibility.d.ts +1 -0
- package/build/types/types.d.ts +14 -7
- package/build/types/utils/columnFilterRowsFn.d.ts +2 -2
- package/build/types/utils/expandRowsFn.d.ts +2 -2
- package/build/types/utils/globalFilterRowsFn.d.ts +2 -2
- package/build/types/utils/groupRowsFn.d.ts +2 -2
- package/build/types/utils/paginateRowsFn.d.ts +2 -2
- package/build/types/utils/sortRowsFn.d.ts +2 -2
- package/build/types/utils.d.ts +4 -5
- package/build/umd/index.development.js +62 -58
- 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.tsx +63 -35
- package/src/createTable.tsx +69 -34
- package/src/features/ColumnSizing.ts +8 -14
- package/src/features/Expanding.ts +2 -2
- package/src/features/Filters.ts +1 -1
- package/src/features/Grouping.ts +30 -7
- package/src/features/Headers.ts +15 -3
- package/src/features/RowSelection.ts +2 -2
- package/src/features/Visibility.ts +1 -0
- package/src/types.ts +28 -15
- package/src/utils/columnFilterRowsFn.ts +3 -5
- package/src/utils/expandRowsFn.ts +2 -2
- package/src/utils/globalFilterRowsFn.ts +2 -2
- package/src/utils/groupRowsFn.ts +4 -4
- package/src/utils/paginateRowsFn.ts +2 -2
- package/src/utils/sortRowsFn.ts +2 -2
- package/src/utils.tsx +6 -45
package/build/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["import React from 'react'\nimport {\n Getter,\n NoInfer,\n PropGetterValue,\n Renderable,\n TableState,\n Updater,\n} from './types'\n\nexport type IsAny<T> = 0 extends 1 & T ? true : false\nexport type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type RequiredKeys<T, K extends keyof T> = Omit<T, K> &\n Required<Pick<T, K>>\nexport type Overwrite<T, U> = Omit<T, keyof U> & U\n\nexport type DataUpdateFunction<T> = (input: T) => T\n\nexport function functionalUpdate<T>(updater: Updater<T>, input: T): T {\n return typeof updater === 'function'\n ? (updater as DataUpdateFunction<T>)(input)\n : updater\n}\n\nexport function noop() {\n //\n}\n\nexport function makeStateUpdater(key: keyof TableState, instance: unknown) {\n return (updater: Updater<any>) => {\n ;(instance as any).setState(<TTableState,>(old: TTableState) => {\n return {\n ...old,\n [key]: functionalUpdate(updater, (old as any)[key]),\n }\n })\n }\n}\n\ntype AnyFunction = (...args: any) => any\n\nexport function isFunction<T extends AnyFunction>(d: any): d is T {\n return d instanceof Function\n}\n\nexport function flattenBy<TNode>(\n arr: TNode[],\n getChildren: (item: TNode) => TNode[]\n) {\n const flat: TNode[] = []\n\n const recurse = (subArr: TNode[]) => {\n subArr.forEach(item => {\n flat.push(item)\n const children = getChildren(item)\n if (children?.length) {\n recurse(children)\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\ntype PropGetterImpl = <TBaseProps, TGetter extends Getter<TBaseProps>>(\n initial: TBaseProps,\n userProps?: TGetter\n) => PropGetterValue<TBaseProps, TGetter>\n\n// @ts-ignore // Just rely on the type, not the implementation\nexport const propGetter: PropGetterImpl = (initial, getter) => {\n if (isFunction(getter)) {\n return getter(initial)\n }\n\n return {\n ...initial,\n ...(getter ?? {}),\n }\n}\n\nexport function memo<TDeps extends readonly any[], TResult>(\n getDeps: () => [...TDeps],\n fn: (...args: NoInfer<[...TDeps]>) => TResult,\n opts: {\n key: string\n debug?: () => any\n onChange?: (result: TResult, previousResult?: TResult) => void\n }\n): () => TResult {\n let deps: any[] = []\n let result: TResult | undefined\n\n return () => {\n let depTime: number\n if (opts.key && opts.debug) depTime = performance.now()\n\n const newDeps = getDeps()\n\n const depsChanged =\n newDeps.length !== deps.length ||\n newDeps.some((dep: any, index: number) => deps[index] !== dep)\n\n if (depsChanged) {\n let oldResult = result\n let resultTime: number\n if (opts.key && opts.debug) resultTime = performance.now()\n result = fn(...newDeps)\n deps = newDeps\n opts?.onChange?.(result, oldResult)\n\n if (opts.key && opts.debug) {\n if (opts?.debug()) {\n const depEndTime =\n Math.round((performance.now() - depTime!) * 100) / 100\n const resultEndTime =\n Math.round((performance.now() - resultTime!) * 100) / 100\n const resultFpsPercentage = resultEndTime / 16\n\n const pad = (str: number | string, num: number) => {\n str = String(str)\n while (str.length < num) {\n str = ' ' + str\n }\n return str\n }\n\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts?.key,\n {\n length: `${deps.length} -> ${newDeps.length}`,\n ...newDeps\n .map((_, index) => {\n if (deps[index] !== newDeps[index]) {\n return [index, deps[index], newDeps[index]]\n }\n\n return false\n })\n .filter(Boolean)\n .reduce(\n (accu, [a, b]: any) => ({\n ...accu,\n [a]: b,\n }),\n {}\n ),\n parent,\n }\n )\n }\n }\n\n oldResult = undefined\n }\n\n return result!\n }\n}\n\nexport type Render = typeof flexRender\n\nexport function flexRender<TProps extends {}>(\n Comp: Renderable<TProps>,\n props: TProps\n): React.ReactNode {\n return !Comp ? null : isReactComponent(Comp) ? <Comp {...props} /> : Comp\n}\n\nfunction isReactComponent(component: unknown): component is React.FC {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component: any) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component: any) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n\n// export function hashString(str: string, seed = 0): string {\n// let h1 = 0xdeadbeef ^ seed,\n// h2 = 0x41c6ce57 ^ seed\n// for (let i = 0, ch; i < str.length; i++) {\n// ch = str.charCodeAt(i)\n// h1 = Math.imul(h1 ^ ch, 2654435761)\n// h2 = Math.imul(h2 ^ ch, 1597334677)\n// }\n// h1 =\n// Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^\n// Math.imul(h2 ^ (h2 >>> 13), 3266489909)\n// h2 =\n// Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^\n// Math.imul(h1 ^ (h1 >>> 13), 3266489909)\n// return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString()\n// }\n"],"names":["functionalUpdate","updater","input","noop","makeStateUpdater","key","instance","setState","old","isFunction","d","Function","flattenBy","arr","getChildren","flat","recurse","subArr","forEach","item","push","children","length","propGetter","initial","getter","memo","getDeps","fn","opts","deps","result","depTime","debug","performance","now","newDeps","depsChanged","some","dep","index","oldResult","resultTime","onChange","depEndTime","Math","round","resultEndTime","resultFpsPercentage","pad","str","num","String","console","info","max","min","map","_","filter","Boolean","reduce","accu","a","b","parent","undefined","flexRender","Comp","props","isReactComponent","React","component","isClassComponent","isExoticComponent","proto","Object","getPrototypeOf","prototype","$$typeof","includes","description"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/utils.tsx"],"sourcesContent":["import { Getter, NoInfer, PropGetterValue, TableState, Updater } from './types'\n\nexport type IsAny<T> = 0 extends 1 & T ? true : false\nexport type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>\nexport type RequiredKeys<T, K extends keyof T> = Omit<T, K> &\n Required<Pick<T, K>>\nexport type Overwrite<T, U extends { [TKey in keyof T]?: any }> = Omit<\n T,\n keyof U\n> &\n U\n\nexport type DataUpdateFunction<T> = (input: T) => T\n\nexport function functionalUpdate<T>(updater: Updater<T>, input: T): T {\n return typeof updater === 'function'\n ? (updater as DataUpdateFunction<T>)(input)\n : updater\n}\n\nexport function noop() {\n //\n}\n\nexport function makeStateUpdater(key: keyof TableState, instance: unknown) {\n return (updater: Updater<any>) => {\n ;(instance as any).setState(<TTableState,>(old: TTableState) => {\n return {\n ...old,\n [key]: functionalUpdate(updater, (old as any)[key]),\n }\n })\n }\n}\n\ntype AnyFunction = (...args: any) => any\n\nexport function isFunction<T extends AnyFunction>(d: any): d is T {\n return d instanceof Function\n}\n\nexport function flattenBy<TNode>(\n arr: TNode[],\n getChildren: (item: TNode) => TNode[]\n) {\n const flat: TNode[] = []\n\n const recurse = (subArr: TNode[]) => {\n subArr.forEach(item => {\n flat.push(item)\n const children = getChildren(item)\n if (children?.length) {\n recurse(children)\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\ntype PropGetterImpl = <TBaseProps, TGetter extends Getter<TBaseProps>>(\n initial: TBaseProps,\n userProps?: TGetter\n) => PropGetterValue<TBaseProps, TGetter>\n\n// @ts-ignore // Just rely on the type, not the implementation\nexport const propGetter: PropGetterImpl = (initial, getter) => {\n if (isFunction(getter)) {\n return getter(initial)\n }\n\n return {\n ...initial,\n ...(getter ?? {}),\n }\n}\n\nexport function memo<TDeps extends readonly any[], TResult>(\n getDeps: () => [...TDeps],\n fn: (...args: NoInfer<[...TDeps]>) => TResult,\n opts: {\n key: string\n debug?: () => any\n onChange?: (result: TResult, previousResult?: TResult) => void\n }\n): () => TResult {\n let deps: any[] = []\n let result: TResult | undefined\n\n return () => {\n let depTime: number\n if (opts.key && opts.debug) depTime = performance.now()\n\n const newDeps = getDeps()\n\n const depsChanged =\n newDeps.length !== deps.length ||\n newDeps.some((dep: any, index: number) => deps[index] !== dep)\n\n if (depsChanged) {\n let oldResult = result\n let resultTime: number\n if (opts.key && opts.debug) resultTime = performance.now()\n result = fn(...newDeps)\n deps = newDeps\n opts?.onChange?.(result, oldResult)\n\n if (opts.key && opts.debug) {\n if (opts?.debug()) {\n const depEndTime =\n Math.round((performance.now() - depTime!) * 100) / 100\n const resultEndTime =\n Math.round((performance.now() - resultTime!) * 100) / 100\n const resultFpsPercentage = resultEndTime / 16\n\n const pad = (str: number | string, num: number) => {\n str = String(str)\n while (str.length < num) {\n str = ' ' + str\n }\n return str\n }\n\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts?.key,\n {\n length: `${deps.length} -> ${newDeps.length}`,\n ...newDeps\n .map((_, index) => {\n if (deps[index] !== newDeps[index]) {\n return [index, deps[index], newDeps[index]]\n }\n\n return false\n })\n .filter(Boolean)\n .reduce(\n (accu, [a, b]: any) => ({\n ...accu,\n [a]: b,\n }),\n {}\n ),\n parent,\n }\n )\n }\n }\n\n oldResult = undefined\n }\n\n return result!\n }\n}\n\n// export function hashString(str: string, seed = 0): string {\n// let h1 = 0xdeadbeef ^ seed,\n// h2 = 0x41c6ce57 ^ seed\n// for (let i = 0, ch; i < str.length; i++) {\n// ch = str.charCodeAt(i)\n// h1 = Math.imul(h1 ^ ch, 2654435761)\n// h2 = Math.imul(h2 ^ ch, 1597334677)\n// }\n// h1 =\n// Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^\n// Math.imul(h2 ^ (h2 >>> 13), 3266489909)\n// h2 =\n// Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^\n// Math.imul(h1 ^ (h1 >>> 13), 3266489909)\n// return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString()\n// }\n"],"names":["functionalUpdate","updater","input","noop","makeStateUpdater","key","instance","setState","old","isFunction","d","Function","flattenBy","arr","getChildren","flat","recurse","subArr","forEach","item","push","children","length","propGetter","initial","getter","memo","getDeps","fn","opts","deps","result","depTime","debug","performance","now","newDeps","depsChanged","some","dep","index","oldResult","resultTime","onChange","depEndTime","Math","round","resultEndTime","resultFpsPercentage","pad","str","num","String","console","info","max","min","map","_","filter","Boolean","reduce","accu","a","b","parent","undefined"],"mappings":"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"}
|
package/build/esm/index.js
CHANGED
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @license MIT
|
|
10
10
|
*/
|
|
11
|
-
import React from 'react';
|
|
12
|
-
|
|
13
11
|
function _extends() {
|
|
14
12
|
_extends = Object.assign || function (target) {
|
|
15
13
|
for (var i = 1; i < arguments.length; i++) {
|
|
@@ -202,24 +200,6 @@ function memo(getDeps, fn, opts) {
|
|
|
202
200
|
|
|
203
201
|
return result;
|
|
204
202
|
};
|
|
205
|
-
}
|
|
206
|
-
function flexRender(Comp, props) {
|
|
207
|
-
return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/React.createElement(Comp, props) : Comp;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
function isReactComponent(component) {
|
|
211
|
-
return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
function isClassComponent(component) {
|
|
215
|
-
return typeof component === 'function' && function () {
|
|
216
|
-
var proto = Object.getPrototypeOf(component);
|
|
217
|
-
return proto.prototype && proto.prototype.isReactComponent;
|
|
218
|
-
}();
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
function isExoticComponent(component) {
|
|
222
|
-
return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);
|
|
223
203
|
} // export function hashString(str: string, seed = 0): string {
|
|
224
204
|
// let h1 = 0xdeadbeef ^ seed,
|
|
225
205
|
// h2 = 0x41c6ce57 ^ seed
|
|
@@ -237,9 +217,6 @@ function isExoticComponent(component) {
|
|
|
237
217
|
// return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString()
|
|
238
218
|
// }
|
|
239
219
|
|
|
240
|
-
// declare global {
|
|
241
|
-
// const process.env.NODE_ENV !== 'production': boolean
|
|
242
|
-
// }
|
|
243
220
|
//
|
|
244
221
|
var Please_use_the_create_table_column_utilities_to_define_columns = Symbol();
|
|
245
222
|
|
|
@@ -637,7 +614,6 @@ var Grouping = {
|
|
|
637
614
|
var initialProps = {
|
|
638
615
|
title: canGroup ? 'Toggle Grouping' : undefined,
|
|
639
616
|
onClick: canGroup ? function (e) {
|
|
640
|
-
e.persist();
|
|
641
617
|
column.toggleGrouping == null ? void 0 : column.toggleGrouping();
|
|
642
618
|
} : undefined
|
|
643
619
|
};
|
|
@@ -679,7 +655,7 @@ var Grouping = {
|
|
|
679
655
|
}
|
|
680
656
|
};
|
|
681
657
|
},
|
|
682
|
-
createCell: function createCell(cell, column, row,
|
|
658
|
+
createCell: function createCell(cell, column, row, instance) {
|
|
683
659
|
return {
|
|
684
660
|
getIsGrouped: function getIsGrouped() {
|
|
685
661
|
return column.getIsGrouped() && column.id === row.groupingColumnId;
|
|
@@ -691,6 +667,18 @@ var Grouping = {
|
|
|
691
667
|
var _row$subRows;
|
|
692
668
|
|
|
693
669
|
return !cell.getIsGrouped() && !cell.getIsPlaceholder() && ((_row$subRows = row.subRows) == null ? void 0 : _row$subRows.length) > 1;
|
|
670
|
+
},
|
|
671
|
+
renderAggregatedCell: function renderAggregatedCell() {
|
|
672
|
+
var _column$aggregatedCel;
|
|
673
|
+
|
|
674
|
+
var template = (_column$aggregatedCel = column.aggregatedCell) != null ? _column$aggregatedCel : column.cell;
|
|
675
|
+
return template ? instance.render(template, {
|
|
676
|
+
instance: instance,
|
|
677
|
+
column: column,
|
|
678
|
+
row: row,
|
|
679
|
+
cell: cell,
|
|
680
|
+
value: cell.value
|
|
681
|
+
}) : null;
|
|
694
682
|
}
|
|
695
683
|
};
|
|
696
684
|
},
|
|
@@ -1136,11 +1124,11 @@ var ColumnSizing = {
|
|
|
1136
1124
|
draggable: false,
|
|
1137
1125
|
role: 'separator',
|
|
1138
1126
|
onMouseDown: function onMouseDown(e) {
|
|
1139
|
-
e.persist();
|
|
1127
|
+
e.persist == null ? void 0 : e.persist();
|
|
1140
1128
|
onResizeStart(e);
|
|
1141
1129
|
},
|
|
1142
1130
|
onTouchStart: function onTouchStart(e) {
|
|
1143
|
-
e.persist();
|
|
1131
|
+
e.persist == null ? void 0 : e.persist();
|
|
1144
1132
|
onResizeStart(e);
|
|
1145
1133
|
}
|
|
1146
1134
|
} : {};
|
|
@@ -1345,18 +1333,18 @@ var Headers = {
|
|
|
1345
1333
|
return instance.getFooterProps(header.id, userProps);
|
|
1346
1334
|
},
|
|
1347
1335
|
renderHeader: function renderHeader() {
|
|
1348
|
-
return
|
|
1336
|
+
return column.header ? instance.render(column.header, {
|
|
1349
1337
|
instance: instance,
|
|
1350
1338
|
header: header,
|
|
1351
1339
|
column: column
|
|
1352
|
-
});
|
|
1340
|
+
}) : null;
|
|
1353
1341
|
},
|
|
1354
1342
|
renderFooter: function renderFooter() {
|
|
1355
|
-
return
|
|
1343
|
+
return column.footer ? instance.render(column.footer, {
|
|
1356
1344
|
instance: instance,
|
|
1357
1345
|
header: header,
|
|
1358
1346
|
column: column
|
|
1359
|
-
});
|
|
1347
|
+
}) : null;
|
|
1360
1348
|
}
|
|
1361
1349
|
}; // Yes, we have to convert instance to unknown, because we know more than the compiler here.
|
|
1362
1350
|
|
|
@@ -2226,7 +2214,7 @@ var Filters = {
|
|
|
2226
2214
|
|
|
2227
2215
|
if (!column) {
|
|
2228
2216
|
if (process.env.NODE_ENV !== 'production') {
|
|
2229
|
-
console.warn("
|
|
2217
|
+
console.warn("Table: Could not find a column with id: " + columnId);
|
|
2230
2218
|
}
|
|
2231
2219
|
|
|
2232
2220
|
throw new Error();
|
|
@@ -2867,7 +2855,7 @@ var Expanding = {
|
|
|
2867
2855
|
|
|
2868
2856
|
if (!row) {
|
|
2869
2857
|
if (process.env.NODE_ENV !== 'production') {
|
|
2870
|
-
console.warn("[
|
|
2858
|
+
console.warn("[Table] getIsRowExpanded: no row found with id " + rowId);
|
|
2871
2859
|
}
|
|
2872
2860
|
|
|
2873
2861
|
throw new Error();
|
|
@@ -2883,7 +2871,7 @@ var Expanding = {
|
|
|
2883
2871
|
|
|
2884
2872
|
if (!row) {
|
|
2885
2873
|
if (process.env.NODE_ENV !== 'production') {
|
|
2886
|
-
console.warn("[
|
|
2874
|
+
console.warn("[Table] getRowCanExpand: no row found with id " + rowId);
|
|
2887
2875
|
}
|
|
2888
2876
|
|
|
2889
2877
|
throw new Error();
|
|
@@ -3677,7 +3665,7 @@ function createTableInstance(options) {
|
|
|
3677
3665
|
var _options$initialState;
|
|
3678
3666
|
|
|
3679
3667
|
if (options.debugAll || options.debugTable) {
|
|
3680
|
-
console.info('Creating
|
|
3668
|
+
console.info('Creating Table Instance...');
|
|
3681
3669
|
}
|
|
3682
3670
|
|
|
3683
3671
|
var instance = {};
|
|
@@ -3705,6 +3693,17 @@ function createTableInstance(options) {
|
|
|
3705
3693
|
setOptions: function setOptions(updater) {
|
|
3706
3694
|
instance.options = buildOptions(functionalUpdate(updater, instance.options));
|
|
3707
3695
|
},
|
|
3696
|
+
render: function render(template, props) {
|
|
3697
|
+
if (typeof instance.options.render === 'function') {
|
|
3698
|
+
return instance.options.render(template, props);
|
|
3699
|
+
}
|
|
3700
|
+
|
|
3701
|
+
if (typeof template === 'function') {
|
|
3702
|
+
return template(props);
|
|
3703
|
+
}
|
|
3704
|
+
|
|
3705
|
+
return template;
|
|
3706
|
+
},
|
|
3708
3707
|
getRowId: function getRowId(_, index, parent) {
|
|
3709
3708
|
return "" + (parent ? [parent.id, index].join('.') : index);
|
|
3710
3709
|
},
|
|
@@ -3897,7 +3896,7 @@ function createTableInstance(options) {
|
|
|
3897
3896
|
|
|
3898
3897
|
if (!column) {
|
|
3899
3898
|
if (process.env.NODE_ENV !== 'production') {
|
|
3900
|
-
console.warn("[
|
|
3899
|
+
console.warn("[Table] Column with id " + columnId + " does not exist.");
|
|
3901
3900
|
}
|
|
3902
3901
|
|
|
3903
3902
|
throw new Error();
|
|
@@ -3929,13 +3928,13 @@ function createTableInstance(options) {
|
|
|
3929
3928
|
return instance.getCellProps(row.id, column.id, userProps);
|
|
3930
3929
|
},
|
|
3931
3930
|
renderCell: function renderCell() {
|
|
3932
|
-
return
|
|
3931
|
+
return column.cell ? instance.render(column.cell, {
|
|
3933
3932
|
instance: instance,
|
|
3934
3933
|
column: column,
|
|
3935
3934
|
row: row,
|
|
3936
3935
|
cell: cell,
|
|
3937
3936
|
value: value
|
|
3938
|
-
});
|
|
3937
|
+
}) : null;
|
|
3939
3938
|
}
|
|
3940
3939
|
};
|
|
3941
3940
|
features.forEach(function (feature) {
|
|
@@ -4101,7 +4100,7 @@ function createTableInstance(options) {
|
|
|
4101
4100
|
|
|
4102
4101
|
if (!row) {
|
|
4103
4102
|
if (process.env.NODE_ENV !== 'production') {
|
|
4104
|
-
throw new Error("[
|
|
4103
|
+
throw new Error("[Table] could not find row with id " + rowId);
|
|
4105
4104
|
}
|
|
4106
4105
|
|
|
4107
4106
|
throw new Error();
|
|
@@ -4111,7 +4110,7 @@ function createTableInstance(options) {
|
|
|
4111
4110
|
|
|
4112
4111
|
if (!cell) {
|
|
4113
4112
|
if (process.env.NODE_ENV !== 'production') {
|
|
4114
|
-
throw new Error("[
|
|
4113
|
+
throw new Error("[Table] could not find cell " + columnId + " in row " + rowId);
|
|
4115
4114
|
}
|
|
4116
4115
|
|
|
4117
4116
|
throw new Error();
|
|
@@ -4187,18 +4186,27 @@ function createTableInstance(options) {
|
|
|
4187
4186
|
return instance;
|
|
4188
4187
|
}
|
|
4189
4188
|
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4189
|
+
//
|
|
4190
|
+
function init(opts) {
|
|
4191
|
+
return {
|
|
4192
|
+
createTableFactory: function createTableFactory(options) {
|
|
4193
|
+
return function () {
|
|
4194
|
+
return _createTable(undefined, undefined, _extends({}, options, opts));
|
|
4195
|
+
};
|
|
4196
|
+
},
|
|
4197
|
+
createTable: function createTable() {
|
|
4198
|
+
return _createTable(undefined, undefined, opts);
|
|
4199
|
+
}
|
|
4193
4200
|
};
|
|
4194
4201
|
}
|
|
4195
|
-
function createTable() {
|
|
4196
|
-
return _createTable();
|
|
4197
|
-
}
|
|
4198
4202
|
|
|
4199
4203
|
function _createTable(_, __, __options) {
|
|
4200
4204
|
return {
|
|
4201
|
-
__options: __options
|
|
4205
|
+
__options: __options != null ? __options : {
|
|
4206
|
+
render: function render() {
|
|
4207
|
+
throw new Error();
|
|
4208
|
+
}
|
|
4209
|
+
},
|
|
4202
4210
|
createColumns: function createColumns(columns) {
|
|
4203
4211
|
return columns;
|
|
4204
4212
|
},
|
|
@@ -4248,7 +4256,7 @@ function columnFilterRowsFn(instance, rowModel) {
|
|
|
4248
4256
|
|
|
4249
4257
|
if (!column) {
|
|
4250
4258
|
if (process.env.NODE_ENV !== 'production') {
|
|
4251
|
-
console.warn("
|
|
4259
|
+
console.warn("Table: Could not find a column with id: " + columnId);
|
|
4252
4260
|
}
|
|
4253
4261
|
|
|
4254
4262
|
throw new Error();
|
|
@@ -4551,7 +4559,7 @@ function groupRowsFn(instance, sortedRowModel) {
|
|
|
4551
4559
|
console.info({
|
|
4552
4560
|
column: column
|
|
4553
4561
|
});
|
|
4554
|
-
throw new Error(process.env.NODE_ENV !== 'production' ? "
|
|
4562
|
+
throw new Error(process.env.NODE_ENV !== 'production' ? "Table: Invalid column.aggregateType option for column listed above" : '');
|
|
4555
4563
|
} else {
|
|
4556
4564
|
values[column.id] = null;
|
|
4557
4565
|
}
|
|
@@ -4696,5 +4704,5 @@ function paginateRowsFn(instance, rowModel) {
|
|
|
4696
4704
|
};
|
|
4697
4705
|
}
|
|
4698
4706
|
|
|
4699
|
-
export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, Please_use_the_create_table_column_utilities_to_define_columns, RowSelection, Sorting, Visibility, buildHeaderGroups, columnFilterRowsFn,
|
|
4707
|
+
export { ColumnSizing, Expanding, Filters, Grouping, Headers, Ordering, Pagination, Pinning, Please_use_the_create_table_column_utilities_to_define_columns, RowSelection, Sorting, Visibility, buildHeaderGroups, columnFilterRowsFn, createTableInstance, defaultColumnSizing, expandRowsFn, flattenBy, functionalUpdate, getDefaultColumn, globalFilterRowsFn, groupRowsFn, init, isFunction, isRowSelected, makeStateUpdater, memo, noop, paginateRowsFn, passiveEventSupported, propGetter, selectRowsFn, shouldAutoRemoveFilter, sortRowsFn };
|
|
4700
4708
|
//# sourceMappingURL=index.js.map
|