@are-visual/virtual-table 0.10.2 → 0.11.0
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 +24 -10
- package/index.d.ts +12 -6
- package/index.esm.js +249 -301
- package/index.esm.js.map +1 -1
- package/middleware/column-resize/index.d.ts +2 -0
- package/middleware/column-resize/index.js +6 -6
- package/middleware/column-resize/index.js.map +1 -1
- package/middleware/expandable/index.d.ts +1 -1
- package/middleware/expandable/index.js.map +1 -1
- package/middleware/horizontal-scroll-bar/index.js +3 -26
- package/middleware/horizontal-scroll-bar/index.js.map +1 -1
- package/middleware/selection/index.d.ts +1 -1
- package/middleware/summary/index.d.ts +1 -0
- package/middleware/summary/index.js +13 -29
- package/middleware/summary/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -86,8 +86,8 @@ function App() {
|
|
|
86
86
|
| colSpan | **表头**列合并,设置为 0 时,不渲染 | number | | |
|
|
87
87
|
| title | 表头内容 | ReactNode | | |
|
|
88
88
|
| align | 单元格对齐方式 | `left` \|`right` \|`center` | | |
|
|
89
|
-
| minWidth
|
|
90
|
-
| width | 列宽度 | number \| string
|
|
89
|
+
| ~~minWidth~~ | ~~列最小宽度~~ | ~~number~~ | | `v0.11`废弃 |
|
|
90
|
+
| width | 列宽度 | number \| ~~string~~ | | `v0.11`废弃 `string`类型 |
|
|
91
91
|
| fixed | 固定列 | `left` \| `right` | | |
|
|
92
92
|
| render | 自定义单元格渲染内容 | (*value*, *record*, *index*) => ReactNode | | |
|
|
93
93
|
| onHeaderCell | 设置表头单元格属性 | (column, index) => TdHTMLAttributes | | |
|
|
@@ -681,8 +681,6 @@ const {
|
|
|
681
681
|
|
|
682
682
|
当你自定义的插件需要同步水平滚动时,可以使用这个 hook。使用 `listen` 进行滚动同步。
|
|
683
683
|
|
|
684
|
-
可参考 [horizontalScrollBar 水平滚动条](./packages/virtual-table/src/middleware/horizontal-scroll-bar)的实现。
|
|
685
|
-
|
|
686
684
|
```tsx
|
|
687
685
|
import { useHorizontalScrollContext } from '@are-visual/virtual-table'
|
|
688
686
|
|
|
@@ -700,12 +698,29 @@ useEffect(() => {
|
|
|
700
698
|
})
|
|
701
699
|
}, [listen])
|
|
702
700
|
|
|
701
|
+
<div
|
|
702
|
+
ref={element}
|
|
703
|
+
onScroll={() => {
|
|
704
|
+
// element 滚动时,调用 notify 函数,同步其他容器
|
|
705
|
+
notify('union-key', {
|
|
706
|
+
scrollLeft: () => element.current.scrollLeft,
|
|
707
|
+
node
|
|
708
|
+
})
|
|
709
|
+
}}
|
|
710
|
+
/>
|
|
711
|
+
```
|
|
703
712
|
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
713
|
+
|
|
714
|
+
##### useScrollSynchronize
|
|
715
|
+
|
|
716
|
+
基于 `useHorizontalScrollContext` 的封装。
|
|
717
|
+
|
|
718
|
+
```tsx
|
|
719
|
+
import { useScrollSynchronize } from '@are-visual/virtual-table'
|
|
720
|
+
|
|
721
|
+
const nodeRef = useScrollSynchronize<HTMLDivElement>('union-key')
|
|
722
|
+
|
|
723
|
+
<div ref={nodeRef}></div>
|
|
709
724
|
```
|
|
710
725
|
|
|
711
726
|
##### useTableRowManager
|
|
@@ -743,7 +758,6 @@ interface TableRowManagerContextType {
|
|
|
743
758
|
```ts
|
|
744
759
|
interface TableColumnsContextType {
|
|
745
760
|
widthList: Map<Key, number>
|
|
746
|
-
setWidthList: (value: Map<Key, number>) => void
|
|
747
761
|
}
|
|
748
762
|
```
|
|
749
763
|
|
package/index.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ declare const _default$3: <T>(props: RowProps<T>) => ReactElement;
|
|
|
32
32
|
interface TableBodyProps<T> extends Omit<NecessaryProps<T>, 'columns'>, Pick<RowProps<T>, 'onRow' | 'renderRow' | 'renderCell'> {
|
|
33
33
|
className?: string;
|
|
34
34
|
style?: CSSProperties;
|
|
35
|
+
defaultColumnWidth: number;
|
|
35
36
|
columns: InnerColumnDescriptor<T>;
|
|
36
37
|
bodyWrapperRef?: Ref<HTMLDivElement>;
|
|
37
38
|
bodyRootRef?: Ref<HTMLTableElement>;
|
|
@@ -113,8 +114,8 @@ interface ColumnTypeCommon<T> extends ColumnExtra<T> {
|
|
|
113
114
|
colSpan?: number;
|
|
114
115
|
title?: ReactNode;
|
|
115
116
|
align?: AlignType;
|
|
116
|
-
|
|
117
|
-
width?:
|
|
117
|
+
/** @default 100 */
|
|
118
|
+
width?: number;
|
|
118
119
|
fixed?: FixedType;
|
|
119
120
|
render?: (value: any, record: T, index: number) => ReactNode;
|
|
120
121
|
onHeaderCell?: (column: ColumnType<any>, index: number) => HTMLAttributes<any> & TdHTMLAttributes<any>;
|
|
@@ -142,8 +143,11 @@ interface InnerColumnDescriptor<T> {
|
|
|
142
143
|
descriptor: ColumnDescriptor<T>[];
|
|
143
144
|
columns: ColumnType<T>[];
|
|
144
145
|
}
|
|
146
|
+
type Prettify$1<T> = {
|
|
147
|
+
[K in keyof T]: T[K];
|
|
148
|
+
} & {};
|
|
145
149
|
interface TableInstanceBuildIn<T = any> {
|
|
146
|
-
getCurrentProps: () => Readonly<VirtualTableCoreProps<T
|
|
150
|
+
getCurrentProps: () => Prettify$1<Readonly<Omit<VirtualTableCoreProps<T>, 'defaultColumnWidth'> & Required<Pick<VirtualTableCoreProps<T>, 'estimatedRowHeight' | 'overscanRows' | 'overscanColumns' | 'defaultColumnWidth'>>>>;
|
|
147
151
|
/** 获取所有 middleware 处理过的 columns */
|
|
148
152
|
getColumns: () => ColumnType<T>[];
|
|
149
153
|
/** 获取所有 middleware 处理过的 dataSource */
|
|
@@ -324,13 +328,12 @@ declare const _default$1: <T>(props: CellProps<T>) => ReactElement;
|
|
|
324
328
|
|
|
325
329
|
interface ColgroupProps {
|
|
326
330
|
columns: ColumnDescriptor[];
|
|
327
|
-
|
|
331
|
+
defaultColumnWidth: number;
|
|
328
332
|
}
|
|
329
333
|
declare const _default: react.NamedExoticComponent<ColgroupProps>;
|
|
330
334
|
|
|
331
335
|
interface TableColumnsContextType {
|
|
332
336
|
widthList: Map<Key, number>;
|
|
333
|
-
setWidthList: (value: Map<Key, number>) => void;
|
|
334
337
|
}
|
|
335
338
|
declare function useColumnSizes(): TableColumnsContextType;
|
|
336
339
|
|
|
@@ -351,6 +354,7 @@ interface HorizontalScrollContextState {
|
|
|
351
354
|
}) => void;
|
|
352
355
|
}
|
|
353
356
|
declare function useHorizontalScrollContext(): HorizontalScrollContextState;
|
|
357
|
+
declare function useScrollSynchronize<T extends HTMLElement>(key: string): react.RefObject<T>;
|
|
354
358
|
|
|
355
359
|
interface TableRowManagerContextType {
|
|
356
360
|
getRowHeightList: () => number[];
|
|
@@ -392,6 +396,8 @@ declare function createMiddleware<T, Args extends any[]>(hook: (ctx: MiddlewareC
|
|
|
392
396
|
declare function getKey<T>(column: ColumnType<T>): Key;
|
|
393
397
|
declare function getRowKey<T>(rowData: T, rowKey: NecessaryProps<T>['rowKey']): Key;
|
|
394
398
|
|
|
399
|
+
declare function getColumnWidth<T>(column: ColumnType<T>, defaultColumnWidth: number): number;
|
|
400
|
+
|
|
395
401
|
interface ResizeRect {
|
|
396
402
|
width: number;
|
|
397
403
|
height: number;
|
|
@@ -404,5 +410,5 @@ type PossibleRef<T> = Ref<T> | undefined;
|
|
|
404
410
|
declare function mergeRefs<T>(...refs: PossibleRef<T>[]): (node: T | null) => void;
|
|
405
411
|
declare function useMergedRef<T>(...refs: PossibleRef<T>[]): (node: T | null) => void;
|
|
406
412
|
|
|
407
|
-
export { _default as Colgroup, NormalRowHeightKey, TablePipeline, _default$2 as VirtualTable, _default$1 as VirtualTableCell, _default$3 as VirtualTableRow, createMiddleware, findLastIndex, getKey, getRelativeOffsetTop, getRowKey, getScrollElement, getScrollParent, getScrollTop, isDocument, isRoot, isValidFixed, isValidFixedLeft, isValidFixedRight, isWindow, mergeRefs, onResize, useColumnSizes, useContainerSize, useHorizontalScrollContext, useMergedRef, useShallowMemo, useStableFn, useTableInstance, useTablePipeline, useTableRowManager, useTableSticky };
|
|
413
|
+
export { _default as Colgroup, NormalRowHeightKey, TablePipeline, _default$2 as VirtualTable, _default$1 as VirtualTableCell, _default$3 as VirtualTableRow, createMiddleware, findLastIndex, getColumnWidth, getKey, getRelativeOffsetTop, getRowKey, getScrollElement, getScrollParent, getScrollTop, isDocument, isRoot, isValidFixed, isValidFixedLeft, isValidFixedRight, isWindow, mergeRefs, onResize, useColumnSizes, useContainerSize, useHorizontalScrollContext, useMergedRef, useScrollSynchronize, useShallowMemo, useStableFn, useTableInstance, useTablePipeline, useTableRowManager, useTableSticky };
|
|
408
414
|
export type { AlignType, AnyObject, ColumnDescriptor, ColumnExtra, ColumnType, ContainerSizeState, FixedType, HorizontalScrollContextState, MergedMiddlewareRender, Middleware, MiddlewareContext, MiddlewareRender, MiddlewareRenderBody, MiddlewareRenderBodyContent, MiddlewareRenderBodyRoot, MiddlewareRenderBodyWrapper, MiddlewareRenderCell, MiddlewareRenderContent, MiddlewareRenderHeader, MiddlewareRenderHeaderCell, MiddlewareRenderHeaderRoot, MiddlewareRenderHeaderRow, MiddlewareRenderHeaderWrapper, MiddlewareRenderRoot, MiddlewareRenderRow, MiddlewareRenders, MiddlewareResult, OnRowType, PipelineRender, PipelineRenderOptions, ScrollElement, StickyContextState, TableColumnsContextType, TableInstance, TableInstanceBuildIn, TableRowManagerContextType, UseTablePipelineOptions, CellProps as VirtualTableCellProps, VirtualTableCoreProps as VirtualTableProps, RowProps as VirtualTableRowProps };
|