@are-visual/virtual-table 0.3.0 → 0.4.1
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/README.md +12 -5
- package/index.d.ts +12 -5
- package/index.esm.js +29 -16
- package/index.esm.js.map +1 -1
- package/middleware/empty/index.js +11 -12
- package/middleware/empty/index.js.map +1 -1
- package/middleware/horizontal-scroll-bar/index.d.ts +2 -2
- package/middleware/horizontal-scroll-bar/index.js +5 -4
- package/middleware/horizontal-scroll-bar/index.js.map +1 -1
- package/middleware/horizontal-scroll-bar/styles.css +1 -1
- package/middleware/horizontal-scroll-bar/styles.scss +3 -1
- package/middleware/loading/index.d.ts +1 -2
- package/middleware/loading/index.js +95 -33
- package/middleware/loading/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -303,8 +303,9 @@ Context
|
|
|
303
303
|
├── colgroup
|
|
304
304
|
│
|
|
305
305
|
└── renderBody(<tbody />)
|
|
306
|
-
└──
|
|
307
|
-
└──
|
|
306
|
+
└── renderBodyContent(Row[])
|
|
307
|
+
└── renderRow(<tr />)
|
|
308
|
+
└── renderCell(<td />)
|
|
308
309
|
```
|
|
309
310
|
|
|
310
311
|
##### Render 类型签名
|
|
@@ -316,6 +317,7 @@ interface RenderOptions<T = any> {
|
|
|
316
317
|
rowIndex: number
|
|
317
318
|
columns: ColumnType<T>[]
|
|
318
319
|
rowData: T
|
|
320
|
+
startRowIndex: number
|
|
319
321
|
columnDescriptor: ColumnDescriptor<T>[]
|
|
320
322
|
}
|
|
321
323
|
|
|
@@ -361,17 +363,22 @@ type MiddlewareRenderHeaderCell<T = any> = (
|
|
|
361
363
|
|
|
362
364
|
type MiddlewareRenderBodyWrapper<T = any> = (
|
|
363
365
|
children: ReactNode,
|
|
364
|
-
options: Pick<RenderOptions<T>, 'columns' | 'columnDescriptor'>
|
|
366
|
+
options: Pick<RenderOptions<T>, 'columns' | 'columnDescriptor' | 'startRowIndex'>
|
|
365
367
|
) => ReactNode
|
|
366
368
|
|
|
367
369
|
type MiddlewareRenderBodyRoot<T = any> = (
|
|
368
370
|
children: ReactNode,
|
|
369
|
-
options: Pick<RenderOptions<T>, 'columns' | 'columnDescriptor'>
|
|
371
|
+
options: Pick<RenderOptions<T>, 'columns' | 'columnDescriptor' | 'startRowIndex'>
|
|
370
372
|
) => ReactNode
|
|
371
373
|
|
|
372
374
|
type MiddlewareRenderBody<T = any> = (
|
|
373
375
|
children: ReactNode,
|
|
374
|
-
options: Pick<RenderOptions<T>, 'columns' | 'columnDescriptor'>
|
|
376
|
+
options: Pick<RenderOptions<T>, 'columns' | 'columnDescriptor' | 'startRowIndex'>
|
|
377
|
+
) => ReactNode
|
|
378
|
+
|
|
379
|
+
type MiddlewareRenderBodyContent<T = any> = (
|
|
380
|
+
children: ReactNode,
|
|
381
|
+
options: Pick<RenderOptions<T>, 'columns' | 'columnDescriptor' | 'startRowIndex'>
|
|
375
382
|
) => ReactNode
|
|
376
383
|
|
|
377
384
|
type MiddlewareRenderRow<T = any> = (
|
package/index.d.ts
CHANGED
|
@@ -84,6 +84,7 @@ interface RenderOptions<T = any> {
|
|
|
84
84
|
column: ColumnType<T>;
|
|
85
85
|
columnWidths: Map<Key, number>;
|
|
86
86
|
rowIndex: number;
|
|
87
|
+
startRowIndex: number;
|
|
87
88
|
columns: ColumnType<T>[];
|
|
88
89
|
rowData: T;
|
|
89
90
|
columnDescriptor: ColumnDescriptor<T>[];
|
|
@@ -98,12 +99,13 @@ type MiddlewareRenderHeaderRoot<T = any> = (children: ReactNode, options: Pretti
|
|
|
98
99
|
type MiddlewareRenderHeader<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor'>>) => ReactNode;
|
|
99
100
|
type MiddlewareRenderHeaderRow<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor'>>) => ReactNode;
|
|
100
101
|
type MiddlewareRenderHeaderCell<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor' | 'column' | 'columnWidths'>>) => ReactNode;
|
|
101
|
-
type MiddlewareRenderBodyWrapper<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor'>>) => ReactNode;
|
|
102
|
-
type MiddlewareRenderBodyRoot<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor'>>) => ReactNode;
|
|
103
|
-
type MiddlewareRenderBody<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor'>>) => ReactNode;
|
|
102
|
+
type MiddlewareRenderBodyWrapper<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor' | 'startRowIndex'>>) => ReactNode;
|
|
103
|
+
type MiddlewareRenderBodyRoot<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor' | 'startRowIndex'>>) => ReactNode;
|
|
104
|
+
type MiddlewareRenderBody<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor' | 'startRowIndex'>>) => ReactNode;
|
|
105
|
+
type MiddlewareRenderBodyContent<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor' | 'startRowIndex'>>) => ReactNode;
|
|
104
106
|
type MiddlewareRenderRow<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'columns' | 'columnDescriptor' | 'rowIndex' | 'rowData'>>) => ReactNode;
|
|
105
107
|
type MiddlewareRenderCell<T = any> = (children: ReactNode, options: Prettify<Pick<RenderOptions<T>, 'column'>>) => ReactNode;
|
|
106
|
-
type MergedMiddlewareRender<T = any> = MiddlewareRender<T> | MiddlewareRenderRoot<T> | MiddlewareRenderContent<T> | MiddlewareRenderHeaderWrapper<T> | MiddlewareRenderHeaderRoot<T> | MiddlewareRenderHeader<T> | MiddlewareRenderHeaderRow<T> | MiddlewareRenderHeaderCell<T> | MiddlewareRenderBodyWrapper<T> | MiddlewareRenderBodyRoot<T> | MiddlewareRenderBody<T> | MiddlewareRenderRow<T> | MiddlewareRenderCell<T>;
|
|
108
|
+
type MergedMiddlewareRender<T = any> = MiddlewareRender<T> | MiddlewareRenderRoot<T> | MiddlewareRenderContent<T> | MiddlewareRenderHeaderWrapper<T> | MiddlewareRenderHeaderRoot<T> | MiddlewareRenderHeader<T> | MiddlewareRenderHeaderRow<T> | MiddlewareRenderHeaderCell<T> | MiddlewareRenderBodyWrapper<T> | MiddlewareRenderBodyRoot<T> | MiddlewareRenderBody<T> | MiddlewareRenderBodyContent<T> | MiddlewareRenderRow<T> | MiddlewareRenderCell<T>;
|
|
107
109
|
interface MiddlewareRenders {
|
|
108
110
|
/**
|
|
109
111
|
* 自定义最外层渲染,children 为 整个 VirtualTable。
|
|
@@ -158,6 +160,10 @@ interface MiddlewareRenders {
|
|
|
158
160
|
* @note 注意:出于性能考虑,**需要自行对函数 memo**
|
|
159
161
|
*/
|
|
160
162
|
renderBody?: MiddlewareRenderBody;
|
|
163
|
+
/**
|
|
164
|
+
* 默认情况下 children 是 ReactNode[],即 tbody 下渲染的各个 Row
|
|
165
|
+
*/
|
|
166
|
+
renderBodyContent?: MiddlewareRenderBodyContent;
|
|
161
167
|
/**
|
|
162
168
|
* children 为 tr
|
|
163
169
|
* @note 注意:出于性能考虑,**需要自行对函数 memo**
|
|
@@ -287,6 +293,7 @@ interface TableBodyProps<T> extends Omit<NecessaryProps<T>, 'columns'>, Pick<Row
|
|
|
287
293
|
renderBodyWrapper?: MiddlewareRenderBodyWrapper;
|
|
288
294
|
renderBodyRoot?: MiddlewareRenderBodyRoot;
|
|
289
295
|
renderBody?: MiddlewareRenderBody;
|
|
296
|
+
renderBodyContent?: MiddlewareRenderBodyContent;
|
|
290
297
|
}
|
|
291
298
|
|
|
292
299
|
interface VirtualTableCoreProps<T> extends NecessaryProps<T>, Pick<TableBodyProps<T>, 'rowClassName' | 'onRow'> {
|
|
@@ -331,4 +338,4 @@ type PossibleRef<T> = Ref<T> | undefined;
|
|
|
331
338
|
declare function mergeRefs<T>(...refs: PossibleRef<T>[]): (node: T | null) => void;
|
|
332
339
|
declare function useMergedRef<T>(...refs: PossibleRef<T>[]): (node: T | null) => void;
|
|
333
340
|
|
|
334
|
-
export { type AlignType, type AnyObject, _default$2 as Colgroup, type ColumnDescriptor, type ColumnExtra, type ColumnType, type ContainerSizeState, type FixedType, type HorizontalScrollContextState, type MergedMiddlewareRender, type Middleware, type MiddlewareContext, type MiddlewareRender, type MiddlewareRenderBody, type MiddlewareRenderBodyRoot, type MiddlewareRenderBodyWrapper, type MiddlewareRenderCell, type MiddlewareRenderContent, type MiddlewareRenderHeader, type MiddlewareRenderHeaderCell, type MiddlewareRenderHeaderRoot, type MiddlewareRenderHeaderRow, type MiddlewareRenderHeaderWrapper, type MiddlewareRenderRoot, type MiddlewareRenderRow, type MiddlewareRenders, type MiddlewareResult, type OnRowType, type PipelineRender, type PipelineRenderOptions, type ScrollElement, type StickyContextState, type TableColumnsContextType, TablePipeline, type TableRowManagerContextType, type UseTablePipelineOptions, _default as VirtualTable, _default$3 as VirtualTableCell, type CellProps as VirtualTableCellProps, type VirtualTableCoreProps as VirtualTableProps, _default$1 as VirtualTableRow, type RowProps as VirtualTableRowProps, createMiddleware, findLastIndex, getKey, getScrollElement, getScrollParent, getScrollTop, isDocument, isRoot, isValidFixed, isValidFixedLeft, isValidFixedRight, isWindow, mergeRefs, onResize, useColumnSizes, useContainerSize, useHorizontalScrollContext, useMergedRef, useShallowMemo, useStableFn, useTablePipeline, useTableRowManager, useTableSticky };
|
|
341
|
+
export { type AlignType, type AnyObject, _default$2 as Colgroup, type ColumnDescriptor, type ColumnExtra, type ColumnType, type ContainerSizeState, type FixedType, type HorizontalScrollContextState, type MergedMiddlewareRender, type Middleware, type MiddlewareContext, type MiddlewareRender, type MiddlewareRenderBody, type MiddlewareRenderBodyContent, type MiddlewareRenderBodyRoot, type MiddlewareRenderBodyWrapper, type MiddlewareRenderCell, type MiddlewareRenderContent, type MiddlewareRenderHeader, type MiddlewareRenderHeaderCell, type MiddlewareRenderHeaderRoot, type MiddlewareRenderHeaderRow, type MiddlewareRenderHeaderWrapper, type MiddlewareRenderRoot, type MiddlewareRenderRow, type MiddlewareRenders, type MiddlewareResult, type OnRowType, type PipelineRender, type PipelineRenderOptions, type ScrollElement, type StickyContextState, type TableColumnsContextType, TablePipeline, type TableRowManagerContextType, type UseTablePipelineOptions, _default as VirtualTable, _default$3 as VirtualTableCell, type CellProps as VirtualTableCellProps, type VirtualTableCoreProps as VirtualTableProps, _default$1 as VirtualTableRow, type RowProps as VirtualTableRowProps, createMiddleware, findLastIndex, getKey, getScrollElement, getScrollParent, getScrollTop, isDocument, isRoot, isValidFixed, isValidFixedLeft, isValidFixedRight, isWindow, mergeRefs, onResize, useColumnSizes, useContainerSize, useHorizontalScrollContext, useMergedRef, useShallowMemo, useStableFn, useTablePipeline, useTableRowManager, useTableSticky };
|
package/index.esm.js
CHANGED
|
@@ -585,7 +585,7 @@ function createMiddleware(hook) {
|
|
|
585
585
|
};
|
|
586
586
|
}
|
|
587
587
|
|
|
588
|
-
var _excluded$2 = ["render", "renderRoot", "renderContent", "renderHeaderWrapper", "renderHeaderRoot", "renderHeader", "renderHeaderRow", "renderHeaderCell", "renderBodyWrapper", "renderBodyRoot", "renderBody", "renderRow", "renderCell", "rowClassName", "onRow"];
|
|
588
|
+
var _excluded$2 = ["render", "renderRoot", "renderContent", "renderHeaderWrapper", "renderHeaderRoot", "renderHeader", "renderHeaderRow", "renderHeaderCell", "renderBodyWrapper", "renderBodyRoot", "renderBody", "renderBodyContent", "renderRow", "renderCell", "rowClassName", "onRow"];
|
|
589
589
|
function shakeUnsafeHooks(hooks) {
|
|
590
590
|
if (Array.isArray(hooks)) {
|
|
591
591
|
return hooks.filter(function (x) {
|
|
@@ -635,6 +635,7 @@ var TablePipeline = /*#__PURE__*/function () {
|
|
|
635
635
|
renderBodyWrapper: [],
|
|
636
636
|
renderBodyRoot: [],
|
|
637
637
|
renderBody: [],
|
|
638
|
+
renderBodyContent: [],
|
|
638
639
|
renderRow: [],
|
|
639
640
|
renderCell: []
|
|
640
641
|
};
|
|
@@ -659,6 +660,7 @@ var TablePipeline = /*#__PURE__*/function () {
|
|
|
659
660
|
nextCtx.renderBodyWrapper;
|
|
660
661
|
nextCtx.renderBodyRoot;
|
|
661
662
|
nextCtx.renderBody;
|
|
663
|
+
nextCtx.renderBodyContent;
|
|
662
664
|
nextCtx.renderRow;
|
|
663
665
|
nextCtx.renderCell;
|
|
664
666
|
var rowClassName = nextCtx.rowClassName,
|
|
@@ -1065,6 +1067,7 @@ function TableBody(props) {
|
|
|
1065
1067
|
renderBodyWrapper = props.renderBodyWrapper,
|
|
1066
1068
|
renderBodyRoot = props.renderBodyRoot,
|
|
1067
1069
|
renderBody = props.renderBody,
|
|
1070
|
+
renderBodyContent = props.renderBodyContent,
|
|
1068
1071
|
renderRow = props.renderRow,
|
|
1069
1072
|
renderCell = props.renderCell;
|
|
1070
1073
|
var _useRowVirtualize = useRowVirtualize({
|
|
@@ -1119,23 +1122,29 @@ function TableBody(props) {
|
|
|
1119
1122
|
updateRowRectList();
|
|
1120
1123
|
rowHeights.current.clear();
|
|
1121
1124
|
});
|
|
1125
|
+
var bodyContent = pipelineRender(dataSource.map(function (e, rowIndex) {
|
|
1126
|
+
var _rowKey = e[rowKey];
|
|
1127
|
+
return jsx(Row$1, {
|
|
1128
|
+
className: clsx(rowClassName == null ? undefined : rowClassName(e, rowIndex)),
|
|
1129
|
+
rowIndex: rowIndex + startIndex,
|
|
1130
|
+
rowData: e,
|
|
1131
|
+
columns: columnDescriptor,
|
|
1132
|
+
onRow: onRow,
|
|
1133
|
+
renderRow: renderRow,
|
|
1134
|
+
renderCell: renderCell
|
|
1135
|
+
}, _rowKey);
|
|
1136
|
+
}), renderBodyContent, {
|
|
1137
|
+
columns: columns,
|
|
1138
|
+
columnDescriptor: descriptor,
|
|
1139
|
+
startRowIndex: startIndex
|
|
1140
|
+
});
|
|
1122
1141
|
var bodyNode = pipelineRender(jsx("tbody", {
|
|
1123
1142
|
ref: tbodyRef,
|
|
1124
|
-
children:
|
|
1125
|
-
var _rowKey = e[rowKey];
|
|
1126
|
-
return jsx(Row$1, {
|
|
1127
|
-
className: clsx(rowClassName == null ? undefined : rowClassName(e, rowIndex)),
|
|
1128
|
-
rowIndex: rowIndex + startIndex,
|
|
1129
|
-
rowData: e,
|
|
1130
|
-
columns: columnDescriptor,
|
|
1131
|
-
onRow: onRow,
|
|
1132
|
-
renderRow: renderRow,
|
|
1133
|
-
renderCell: renderCell
|
|
1134
|
-
}, _rowKey);
|
|
1135
|
-
})
|
|
1143
|
+
children: bodyContent
|
|
1136
1144
|
}), renderBody, {
|
|
1137
1145
|
columns: columns,
|
|
1138
|
-
columnDescriptor: descriptor
|
|
1146
|
+
columnDescriptor: descriptor,
|
|
1147
|
+
startRowIndex: startIndex
|
|
1139
1148
|
});
|
|
1140
1149
|
var _useColumnSizes = useColumnSizes(),
|
|
1141
1150
|
setWidthList = _useColumnSizes.setWidthList;
|
|
@@ -1152,7 +1161,8 @@ function TableBody(props) {
|
|
|
1152
1161
|
}), bodyNode]
|
|
1153
1162
|
}), renderBodyRoot, {
|
|
1154
1163
|
columns: columns,
|
|
1155
|
-
columnDescriptor: descriptor
|
|
1164
|
+
columnDescriptor: descriptor,
|
|
1165
|
+
startRowIndex: startIndex
|
|
1156
1166
|
});
|
|
1157
1167
|
var _useHorizontalScrollC = useHorizontalScrollContext(),
|
|
1158
1168
|
listen = _useHorizontalScrollC.listen,
|
|
@@ -1188,7 +1198,8 @@ function TableBody(props) {
|
|
|
1188
1198
|
children: tableNode
|
|
1189
1199
|
}), renderBodyWrapper, {
|
|
1190
1200
|
columns: columns,
|
|
1191
|
-
columnDescriptor: descriptor
|
|
1201
|
+
columnDescriptor: descriptor,
|
|
1202
|
+
startRowIndex: startIndex
|
|
1192
1203
|
})
|
|
1193
1204
|
});
|
|
1194
1205
|
}
|
|
@@ -1687,6 +1698,7 @@ function VirtualTableCore(props, ref) {
|
|
|
1687
1698
|
renderBodyWrapper = _pipeline$use.renderBodyWrapper,
|
|
1688
1699
|
renderBodyRoot = _pipeline$use.renderBodyRoot,
|
|
1689
1700
|
renderBody = _pipeline$use.renderBody,
|
|
1701
|
+
renderBodyContent = _pipeline$use.renderBodyContent,
|
|
1690
1702
|
renderRow = _pipeline$use.renderRow,
|
|
1691
1703
|
renderCell = _pipeline$use.renderCell,
|
|
1692
1704
|
onPipelineRow = _pipeline$use.onRow;
|
|
@@ -1775,6 +1787,7 @@ function VirtualTableCore(props, ref) {
|
|
|
1775
1787
|
renderBodyWrapper: renderBodyWrapper,
|
|
1776
1788
|
renderBodyRoot: renderBodyRoot,
|
|
1777
1789
|
renderBody: renderBody,
|
|
1790
|
+
renderBodyContent: renderBodyContent,
|
|
1778
1791
|
renderRow: renderRow,
|
|
1779
1792
|
renderCell: renderCell
|
|
1780
1793
|
})]
|