@pinnacle0/web-ui 0.7.0-beta.8 → 0.7.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.
Files changed (42) hide show
  1. package/core/UIProvider/index.d.ts +1 -1
  2. package/core/VirtualTable/{OldVirtualTable/TableHeader.js → TableHeader.js} +2 -2
  3. package/core/VirtualTable/TableHeader.js.map +1 -0
  4. package/core/VirtualTable/{OldVirtualTable/TableRow.js → TableRow.js} +2 -2
  5. package/core/VirtualTable/TableRow.js.map +1 -0
  6. package/core/VirtualTable/{OldVirtualTable/hooks → hooks}/useColumnWidths.js +1 -1
  7. package/core/VirtualTable/hooks/useColumnWidths.js.map +1 -0
  8. package/core/VirtualTable/{OldVirtualTable/hooks → hooks}/useColumnsStickyPosition.js +1 -1
  9. package/core/VirtualTable/hooks/useColumnsStickyPosition.js.map +1 -0
  10. package/core/VirtualTable/{OldVirtualTable/hooks → hooks}/useRowSelection.d.ts +1 -1
  11. package/core/VirtualTable/{OldVirtualTable/hooks → hooks}/useRowSelection.js +2 -2
  12. package/core/VirtualTable/hooks/useRowSelection.js.map +1 -0
  13. package/core/VirtualTable/hooks/useScroll.js.map +1 -0
  14. package/core/VirtualTable/{OldVirtualTable/hooks → hooks}/useScrollBarSize.js +1 -1
  15. package/core/VirtualTable/hooks/useScrollBarSize.js.map +1 -0
  16. package/core/VirtualTable/index.d.ts +26 -18
  17. package/core/VirtualTable/index.js +50 -65
  18. package/core/VirtualTable/index.js.map +1 -1
  19. package/core/VirtualTable/index.less +140 -28
  20. package/core/VirtualTable/type.d.ts +43 -16
  21. package/package.json +1 -1
  22. package/core/VirtualTable/OldVirtualTable/TableHeader.js.map +0 -1
  23. package/core/VirtualTable/OldVirtualTable/TableRow.js.map +0 -1
  24. package/core/VirtualTable/OldVirtualTable/hooks/useColumnWidths.js.map +0 -1
  25. package/core/VirtualTable/OldVirtualTable/hooks/useColumnsStickyPosition.js.map +0 -1
  26. package/core/VirtualTable/OldVirtualTable/hooks/useRowSelection.js.map +0 -1
  27. package/core/VirtualTable/OldVirtualTable/hooks/useScroll.js.map +0 -1
  28. package/core/VirtualTable/OldVirtualTable/hooks/useScrollBarSize.js.map +0 -1
  29. package/core/VirtualTable/OldVirtualTable/index.d.ts +0 -28
  30. package/core/VirtualTable/OldVirtualTable/index.js +0 -58
  31. package/core/VirtualTable/OldVirtualTable/index.js.map +0 -1
  32. package/core/VirtualTable/OldVirtualTable/index.old.less +0 -160
  33. package/core/VirtualTable/OldVirtualTable/type.d.ts +0 -45
  34. package/core/VirtualTable/OldVirtualTable/type.js +0 -2
  35. package/core/VirtualTable/OldVirtualTable/type.js.map +0 -1
  36. /package/core/VirtualTable/{OldVirtualTable/TableHeader.d.ts → TableHeader.d.ts} +0 -0
  37. /package/core/VirtualTable/{OldVirtualTable/TableRow.d.ts → TableRow.d.ts} +0 -0
  38. /package/core/VirtualTable/{OldVirtualTable/hooks → hooks}/useColumnWidths.d.ts +0 -0
  39. /package/core/VirtualTable/{OldVirtualTable/hooks → hooks}/useColumnsStickyPosition.d.ts +0 -0
  40. /package/core/VirtualTable/{OldVirtualTable/hooks → hooks}/useScroll.d.ts +0 -0
  41. /package/core/VirtualTable/{OldVirtualTable/hooks → hooks}/useScroll.js +0 -0
  42. /package/core/VirtualTable/{OldVirtualTable/hooks → hooks}/useScrollBarSize.d.ts +0 -0
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import type { Locale } from "../../util/LocaleUtil";
3
3
  import type { ConfigProviderProps } from "antd/es/config-provider";
4
4
  export type { ThemeConfig } from "antd";
5
- interface Props extends Omit<ConfigProviderProps, "locale"> {
5
+ export interface Props extends Omit<ConfigProviderProps, "locale"> {
6
6
  children: React.ReactNode;
7
7
  locale: Locale | "auto";
8
8
  }
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { ReactUtil } from "../../../util/ReactUtil";
3
- import { classNames } from "../../../util/ClassNames";
2
+ import { ReactUtil } from "../../util/ReactUtil";
3
+ import { classNames } from "../../util/ClassNames";
4
4
  export const TableHeader = ReactUtil.memo("TableHeader", function ({ headerRef, headerHeight, columns, columnsStickyPosition }) {
5
5
  return (React.createElement("div", { className: "table-headers", ref: headerRef, style: { height: headerHeight, width: scrollX || "100%" } }, columns.map(({ title, width, align, fixed, display }, columnIndex) => {
6
6
  const stickyPosition = columnsStickyPosition[columnIndex];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableHeader.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/TableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAUjD,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,UAAkC,EAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAiB;IAChK,OAAO,CACH,6BAAK,SAAS,EAAC,eAAe,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,IAAI,MAAM,EAAC,IACjG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE,WAAW,EAAE,EAAE;QAChE,MAAM,cAAc,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,CACH,6BACI,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAC,CAAC,EAC9H,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE;gBACH,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBAC/C,IAAI,EAAE,OAAO,KAAK,IAAI;gBACtB,cAAc,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;gBAC7F,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC1D,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;aAC/D,IAEA,KAAK,CACJ,CACT,CAAC;IACN,CAAC,CAAC,CACA,CACT,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { ReactUtil } from "../../../util/ReactUtil";
3
- import { classNames } from "../../../util/ClassNames";
2
+ import { ReactUtil } from "../../util/ReactUtil";
3
+ import { classNames } from "../../util/ClassNames";
4
4
  export const TableRow = ReactUtil.memo("TableRow", function ({ virtualItem, data, columns, columnWidths, rowHeight, scrollBarSize, columnsStickyPosition, rowClassName, onRowClick }) {
5
5
  const rowIndex = virtualItem.index;
6
6
  const lastShownColumnIndex = React.useMemo(() => columns.findLastIndex(_ => _.display !== "hidden"), [columns]);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/TableRow.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { useDebounce } from "../../../../hooks/useDebounce";
2
+ import { useDebounce } from "../../../hooks/useDebounce";
3
3
  /**
4
4
  * VirtualTable is not crated by <table>, the header cell width cannot auto align the body cell width which has large content.
5
5
  * So VirtualTable get the columns widths by following steps:
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useColumnWidths.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useColumnWidths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAEvD;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAwB,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;IAErE,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YACpE,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,kBAAkB,GAAG,KAAK,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;gBACnD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACZ,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;oBACtB,kBAAkB,GAAG,IAAI,CAAC;gBAC9B,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,kBAAkB,EAAE,CAAC;gBACrB,eAAe,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAClC,CAAC,IAA2B,EAAE,EAAE;QAC5B,IAAI,IAAI,EAAE,CAAC;YACP,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,gBAAgB,EAAE,CAAC;QACvB,CAAC;IACL,CAAC,EACD,CAAC,gBAAgB,CAAC,CACrB,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC7B,CAAC,KAAiD,EAAE,EAAE;QAClD,IAAI,KAAK,CAAC,MAAM,IAAI,eAAe,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAqB,CAAC;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YACzD,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACjC,CAAC;IACL,CAAC,EACD,CAAC,gBAAgB,CAAC,CACrB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAC,CAAC;AACrE,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { ArrayUtil } from "../../../../internal/ArrayUtil";
2
+ import { ArrayUtil } from "../../../internal/ArrayUtil";
3
3
  export const useColumnsStickyPosition = (columns, columnWidths) => {
4
4
  return React.useMemo(() => {
5
5
  const columnsStickyPosition = {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useColumnsStickyPosition.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useColumnsStickyPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAGtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAyB,OAAsC,EAAE,YAAsB,EAAyB,EAAE;IACtJ,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,qBAAqB,GAA0B,EAAE,CAAC;QACxD,IAAI,6BAA6B,GAAG,CAAC,CAAC;QACtC,IAAI,8BAA8B,GAAG,CAAC,CAAC;QAEvC,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5J,oDAAoD;QACpD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAExK,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAClC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAC,KAAK,EAAE,6BAA6B,EAAE,MAAM,EAAE,GAAG,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;YAC7H,6BAA6B,IAAI,MAAM,CAAC,KAAK,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACnC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAC,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,GAAG,KAAK,cAAc,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;YAC/H,8BAA8B,IAAI,MAAM,CAAC,KAAK,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,OAAO,qBAAqB,CAAC;IACjC,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { VirtualTableColumn, VirtualTableRowSelection } from "../type";
2
- import type { StringKey } from "../../../../internal/type";
2
+ import type { StringKey } from "../../../internal/type";
3
3
  interface Props<RowType extends object> {
4
4
  columns: VirtualTableColumn<RowType>[];
5
5
  dataSource: RowType[];
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { Checkbox } from "../../../Checkbox";
3
- import { ArrayUtil } from "../../../../internal/ArrayUtil";
2
+ import { Checkbox } from "../../Checkbox";
3
+ import { ArrayUtil } from "../../../internal/ArrayUtil";
4
4
  export const useRowSelection = function ({ columns, dataSource, rowSelection, rowKey }) {
5
5
  const transformedColumns = React.useMemo(() => {
6
6
  if (!rowSelection) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRowSelection.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useRowSelection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScroll.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useScroll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAAwD,EAAE,EAAE;IACtF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;IAEzF,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,EAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC;YACxF,aAAa,CAAC,EAAC,QAAQ,EAAE,WAAW,KAAK,WAAW,EAAE,UAAU,EAAE,YAAY,KAAK,YAAY,EAAC,CAAC,CAAC;QACtG,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO,EAAC,UAAU,EAAE,eAAe,EAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAAwD,EAAE,SAAiD,EAAE,EAAE;IACzI,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,qBAAqB,CAAC,GAAG,EAAE;YACvB,IAAI,gBAAgB,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxH,SAAS,CAAC,OAAO,CAAC,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;YACvE,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;IAElC,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,qDAAqD;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,gBAAwD,EAAE,EAAE;IACxF,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,EAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC;YACxE,MAAM,cAAc,GAAG,UAAU,IAAI,CAAC,CAAC;YACvC,MAAM,eAAe,GAAG,UAAU,IAAI,WAAW,GAAG,WAAW,CAAC;YAChE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAC5E,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;QAClF,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO,mBAAmB,CAAC;AAC/B,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { useDidMountEffect } from "../../../../hooks/useDidMountEffect";
2
+ import { useDidMountEffect } from "../../../hooks/useDidMountEffect";
3
3
  export const useScrollBarSize = () => {
4
4
  const [scrollbarSize, setScrollBarSize] = React.useState(0);
5
5
  useDidMountEffect(() => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollBarSize.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useScrollBarSize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAC;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACjC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5D,iBAAiB,CAAC,GAAG,EAAE;QACnB,+BAA+B;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,8BAA8B;QACjE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,EAAC,WAAW,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;QAC3C,MAAM,cAAc,GAAG,WAAW,GAAG,WAAW,CAAC;QACjD,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC"}
@@ -1,20 +1,28 @@
1
1
  import React from "react";
2
+ import type { StringKey } from "../../internal/type";
3
+ import type { VirtualTableColumn, VirtualTableRowSelection } from "./type";
2
4
  import "./index.less";
3
- import type { VirtualTableProps } from "./type";
4
- export type { TableRowSelection as VirtualTableRowSelection, TableHandler as VirtualTableHandler } from "../Table";
5
- export type { VirtualTableProps, VirtualTableColumns } from "./type";
6
- /**
7
- * Antd Table's scrollX behaviour is different from scrollY
8
- *
9
- * scrollY:
10
- * the height of the scrollable container (ignoring the container height) which will cause overflow
11
- * We cannot use overflow: hidden since it will cause the last few rows to be hidden
12
- *
13
- * scrollX:
14
- * It is the total of column width of the table
15
- * If scrollX > all columns width, all columns will be expanded and lose the width property
16
- * In order to calculate the scrollX, we need to sum up the width of all columns
17
- *
18
- * If scrollX is not provided, all column must provide width, ref: ./type.ts
19
- */
20
- export declare const VirtualTable: <RowType extends object>(props: VirtualTableProps<RowType>) => React.JSX.Element;
5
+ export type { VirtualTableColumn, VirtualTableRowSelection } from "./type";
6
+ export interface VirtualTableProps<RowType extends object> {
7
+ dataSource: RowType[];
8
+ columns: VirtualTableColumn<RowType>[];
9
+ rowHeight: number;
10
+ className?: string;
11
+ rowClassName?: string;
12
+ /**
13
+ * if scrollX and scrollY is not provided, height: 100% and width: 100% will be used and please wrap the table with a container
14
+ */
15
+ scrollY?: number;
16
+ scrollX?: number;
17
+ overscan?: number;
18
+ loading?: boolean;
19
+ emptyPlaceholder?: React.ReactElement | string | number;
20
+ onRowClick?: (record: RowType, rowIndex: number) => void;
21
+ /**
22
+ * Default: index
23
+ */
24
+ rowKey?: StringKey<RowType> | "index";
25
+ headerHeight?: number;
26
+ rowSelection?: VirtualTableRowSelection<RowType>;
27
+ }
28
+ export declare const VirtualTable: <RowType extends object>({ columns, rowHeight, dataSource, className, rowClassName, loading, emptyPlaceholder, onRowClick, scrollY, scrollX, overscan, rowSelection, headerHeight, rowKey }: VirtualTableProps<RowType>) => React.JSX.Element;
@@ -1,73 +1,58 @@
1
1
  import React from "react";
2
+ import { useVirtualizer } from "@tanstack/react-virtual";
2
3
  import { classNames } from "../../util/ClassNames";
4
+ import { Spin } from "../Spin";
5
+ import { TableRow } from "./TableRow";
6
+ import { TableHeader } from "./TableHeader";
7
+ import { useRowSelection } from "./hooks/useRowSelection";
8
+ import { useColumnWidths } from "./hooks/useColumnWidths";
9
+ import { useScrollBarSize } from "./hooks/useScrollBarSize";
10
+ import { useScrollToEdge, useSyncScroll, useScrollable } from "./hooks/useScroll";
11
+ import { useColumnsStickyPosition } from "./hooks/useColumnsStickyPosition";
3
12
  import { ReactUtil } from "../../util/ReactUtil";
4
- import { Table } from "../Table";
5
13
  import "./index.less";
6
- import { useResizeObserver } from "../../hooks/useResizeObserver";
7
- /**
8
- * Antd Table's scrollX behaviour is different from scrollY
9
- *
10
- * scrollY:
11
- * the height of the scrollable container (ignoring the container height) which will cause overflow
12
- * We cannot use overflow: hidden since it will cause the last few rows to be hidden
13
- *
14
- * scrollX:
15
- * It is the total of column width of the table
16
- * If scrollX > all columns width, all columns will be expanded and lose the width property
17
- * In order to calculate the scrollX, we need to sum up the width of all columns
18
- *
19
- * If scrollX is not provided, all column must provide width, ref: ./type.ts
20
- */
21
- export const VirtualTable = ReactUtil.memo("VirtualTable", function (props) {
22
- const { dataSource, className, width = "100%", scrollY: propScrollY, emptyPlaceholder, ...restProps } = props;
23
- const [scrollY, setScrollY] = React.useState(propScrollY ?? 300);
24
- const [headerHeight, setHeaderHeight] = React.useState(0);
25
- const containerRef = React.useRef(null);
26
- React.useEffect(() => {
27
- const parent = containerRef.current?.parentElement;
28
- if (!parent)
29
- return;
30
- const observer = new ResizeObserver((entries) => {
31
- const parentHeight = entries[0].contentRect.height;
32
- let newScrollY = Math.max(0, parentHeight - headerHeight);
33
- if (propScrollY)
34
- newScrollY = Math.min(newScrollY, propScrollY);
35
- setScrollY(newScrollY);
36
- });
37
- observer.observe(parent);
38
- return () => {
39
- observer.unobserve(parent);
40
- observer.disconnect();
41
- };
42
- }, [propScrollY, headerHeight]);
43
- // Need to listen to header change onMount so we can calculate the scrollY correctly
44
- const headerRef = useResizeObserver(({ height }) => {
45
- setHeaderHeight(height);
14
+ export const VirtualTable = ReactUtil.memo("VirtualTable", function ({ columns, rowHeight, dataSource, className, rowClassName, loading, emptyPlaceholder, onRowClick, scrollY, scrollX, overscan, rowSelection, headerHeight = 50, rowKey = "index" }) {
15
+ const count = dataSource.length;
16
+ const scrollContentRef = React.useRef(null);
17
+ const totalSize = count * rowHeight;
18
+ const emptyElement = emptyPlaceholder || "暂无数据";
19
+ const transformedColumns = useRowSelection({ columns, dataSource, rowKey, rowSelection });
20
+ const rowVirtualizer = useVirtualizer({
21
+ count,
22
+ getScrollElement: () => scrollContentRef.current,
23
+ estimateSize: () => rowHeight,
24
+ overscan,
46
25
  });
26
+ const { headerRef, getHeaderRef, columnWidths, calcColumnWidths } = useColumnWidths();
27
+ const scrollBarSize = useScrollBarSize();
28
+ const syncScroll = useSyncScroll(scrollContentRef, headerRef);
29
+ const checkIsScrollToEdge = useScrollToEdge(scrollContentRef);
30
+ const { scrollable, checkScrollable } = useScrollable(scrollContentRef);
31
+ const columnsStickyPosition = useColumnsStickyPosition(transformedColumns, columnWidths);
32
+ const onScroll = React.useCallback(() => {
33
+ syncScroll();
34
+ checkIsScrollToEdge();
35
+ }, [syncScroll, checkIsScrollToEdge]);
36
+ React.useEffect(() => {
37
+ checkIsScrollToEdge();
38
+ }, [columnWidths, checkIsScrollToEdge]);
39
+ React.useEffect(() => {
40
+ checkScrollable();
41
+ }, [totalSize, columnWidths, checkScrollable]);
47
42
  React.useEffect(() => {
48
- headerRef.current = containerRef.current?.querySelector(".ant-table-header") ?? null;
49
- }, [containerRef, headerRef]);
50
- const containerStyle = React.useMemo(() => {
51
- return {
52
- width,
53
- height: "100%",
54
- };
55
- }, [width]);
56
- const scrollX = React.useMemo(() => {
57
- if ("scrollX" in restProps)
58
- return restProps.scrollX;
59
- restProps.columns.reduce((acc, column) => acc + (column.hidden ? 0 : column.width), 0);
60
- }, [restProps]);
61
- const emptyElement = React.createElement("div", { style: { height: scrollY } }, emptyPlaceholder || "暂无数据");
62
- return (React.createElement("div", { ref: containerRef, className: classNames("g-virtual-table", className), style: containerStyle },
63
- React.createElement(Table
64
- // @ts-ignore: using our Table component with virtual props from antd
65
- , {
66
- // @ts-ignore: using our Table component with virtual props from antd
67
- virtual: true, dataSource: dataSource,
68
- /**
69
- * Antd <Table virtual /> must use number scrollX or number scrollY to work
70
- */
71
- scrollY: scrollY, scrollX: scrollX, emptyPlaceholder: emptyElement, ...restProps })));
43
+ calcColumnWidths();
44
+ }, [calcColumnWidths, transformedColumns]);
45
+ const containerHeight = scrollY ? scrollY + headerHeight + (scrollable.horizontal ? scrollBarSize : 0) : "100%";
46
+ return (React.createElement("div", { className: classNames("g-virtual-table", className), style: { width: scrollX || "100%", height: containerHeight } },
47
+ loading && (React.createElement("div", { className: "mask" },
48
+ React.createElement(Spin, { spinning: loading }))),
49
+ React.createElement("div", { className: "scroll-content", ref: scrollContentRef, style: { height: `calc(100% - ${headerHeight}px)`, top: headerHeight }, onScroll: onScroll },
50
+ React.createElement("div", { className: "table", style: { height: totalSize } },
51
+ React.createElement(TableHeader, { headerRef: getHeaderRef, headerHeight: headerHeight, columns: transformedColumns, columnsStickyPosition: columnsStickyPosition }),
52
+ columnWidths.length > 0 && (React.createElement("div", { className: "table-body" }, dataSource.length === 0
53
+ ? emptyElement
54
+ : rowVirtualizer
55
+ .getVirtualItems()
56
+ .map(virtualItem => (React.createElement(TableRow, { key: virtualItem.key, rowHeight: rowHeight, onRowClick: onRowClick, virtualItem: virtualItem, data: dataSource[virtualItem.index], columns: transformedColumns, columnWidths: columnWidths, scrollBarSize: scrollable.vertical ? scrollBarSize : 0, columnsStickyPosition: columnsStickyPosition, rowClassName: rowClassName })))))))));
72
57
  });
73
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"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"}
@@ -1,45 +1,157 @@
1
- .g-virtual-table {
2
- max-width: 100%;
3
- max-height: 100%;
1
+ .fixed-column-shadow(@position) {
2
+ content: "";
3
+ position: absolute;
4
+ width: 30px;
5
+ height: 100%;
6
+ pointer-events: none;
7
+ background-color: transparent;
8
+ top: 0;
9
+ bottom: -1px;
10
+ transition: box-shadow 0.3s;
4
11
 
5
- .ant-table {
6
- .ant-table-tbody {
7
- .ant-table-cell {
8
- display: flex;
9
- align-items: center;
12
+ & when (@position = "right") {
13
+ left: 0;
14
+ transform: translate(-100%);
15
+ box-shadow: inset -10px 0 8px -8px #00000026;
16
+ }
10
17
 
11
- &.ant-table-selection-column {
12
- justify-content: center;
13
- }
18
+ & when (@position = "left") {
19
+ right: 0;
20
+ transform: translate(100%);
21
+ box-shadow: inset 10px 0 8px -8px #00000026;
22
+ }
23
+ }
14
24
 
15
- &[style*="text-align: right"] {
16
- justify-content: flex-end;
17
- }
25
+ .g-virtual-table {
26
+ position: relative;
27
+ transform: translateX(0);
28
+
29
+ .mask {
30
+ position: absolute;
31
+ top: 0;
32
+ left: 0;
33
+ width: 100%;
34
+ height: 100%;
35
+ display: flex;
36
+ justify-content: center;
37
+ align-items: center;
38
+ background: rgb(255 255 255 / 70%);
39
+ z-index: 15;
40
+ }
41
+
42
+ .scroll-content {
43
+ position: relative;
44
+ overflow: auto;
45
+ scrollbar-width: thin;
18
46
 
19
- &[style*="text-align: center"] {
20
- justify-content: center;
47
+ &.scroll-to-left {
48
+ .table-header.fixed,
49
+ .table-cell.fixed {
50
+ &.last.left::after {
51
+ box-shadow: none !important;
21
52
  }
53
+ }
54
+ }
22
55
 
23
- &[style*="text-align: left"] {
24
- justify-content: flex-start;
56
+ &.scroll-to-right {
57
+ .table-header.fixed,
58
+ .table-cell.fixed {
59
+ &.last.right::after {
60
+ box-shadow: none !important;
25
61
  }
26
62
  }
27
63
  }
28
64
 
29
- &.ant-table-empty .ant-table-container .ant-table-body {
30
- overflow: hidden !important;
65
+ .table {
66
+ min-height: 100%;
67
+
68
+ .table-headers {
69
+ display: flex;
70
+ flex-wrap: nowrap;
71
+ position: fixed;
72
+ top: 0;
73
+ z-index: 10;
74
+ min-width: 100%;
75
+ overflow-x: hidden;
76
+
77
+ .table-header {
78
+ display: flex;
79
+ align-items: center;
80
+ background-color: #f2f2f2;
81
+ height: 100%;
82
+ position: relative;
83
+
84
+ &:not(:last-of-type)::before {
85
+ background-color: rgb(0 0 0 / 6%);
86
+ content: "";
87
+ height: 60%;
88
+ position: absolute;
89
+ right: 0;
90
+ top: 50%;
91
+ transform: translateY(-50%);
92
+ transition: background-color 0.3s;
93
+ width: 1px;
94
+ }
31
95
 
32
- .ant-table-cell {
33
- padding: 0;
96
+ &.fixed {
97
+ position: sticky;
98
+ z-index: 5;
34
99
 
35
- .ant-table-expanded-row-fixed {
36
- margin: 0;
37
- padding: 0;
100
+ &.last {
101
+ &.left {
102
+ &::after {
103
+ .fixed-column-shadow("left");
104
+ }
105
+ }
106
+
107
+ &.right {
108
+ &::after {
109
+ .fixed-column-shadow("right");
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
38
116
 
39
- .empty-text-node {
40
- display: flex;
41
- justify-content: center;
117
+ .table-body {
118
+ display: flex;
119
+ justify-content: center;
120
+ align-items: center;
121
+ position: relative;
122
+ height: 100%;
123
+
124
+ .table-row {
125
+ width: max-content;
126
+ position: absolute;
127
+ top: 0;
128
+ left: 0;
129
+
130
+ .table-cell {
131
+ display: inline-flex;
42
132
  align-items: center;
133
+ background-color: #fff;
134
+ overflow-wrap: anywhere;
135
+ vertical-align: bottom;
136
+
137
+ &.fixed {
138
+ position: sticky;
139
+ z-index: 5;
140
+
141
+ &.last {
142
+ &.left {
143
+ &::after {
144
+ .fixed-column-shadow("left");
145
+ }
146
+ }
147
+
148
+ &.right {
149
+ &::after {
150
+ .fixed-column-shadow("right");
151
+ }
152
+ }
153
+ }
154
+ }
43
155
  }
44
156
  }
45
157
  }
@@ -1,18 +1,45 @@
1
- import type { TableColumn, TableProps } from "../Table";
2
- interface TableColumnWithWidth<RowType extends object> extends Omit<TableColumn<RowType>, "width"> {
3
- width: number;
4
- }
5
- export type VirtualTableColumns<RowType extends object, UseScrollX = false> = UseScrollX extends true ? TableColumn<RowType>[] : TableColumnWithWidth<RowType>[];
6
- interface VirtualTableBaseProps<RowType extends object> extends Omit<TableProps<RowType, undefined>, "columns" | "scrollX" | "scrollY"> {
7
- width?: number | string;
8
- scrollY?: number;
9
- }
10
- interface VirtualTablePropsWithScrollX<RowType extends object> extends VirtualTableBaseProps<RowType> {
11
- columns: VirtualTableColumns<RowType, true>;
12
- scrollX: number;
1
+ type ColumnIndex = number;
2
+ export type ColumnFixedPosition = "left" | "right";
3
+ export interface StickyPosition {
4
+ value: number;
5
+ isLast: boolean;
13
6
  }
14
- interface VirtualTablePropsWithColumnWidth<RowType extends object> extends VirtualTableBaseProps<RowType> {
15
- columns: VirtualTableColumns<RowType, false>;
16
- }
17
- export type VirtualTableProps<RowType extends object> = VirtualTablePropsWithScrollX<RowType> | VirtualTablePropsWithColumnWidth<RowType>;
7
+ export type ColumnsStickyPosition = Record<ColumnIndex, StickyPosition>;
8
+ /**
9
+ * Similar usage of Antd Table but only support partial features: fixed columns, row selection, on row click
10
+ */
11
+ export type VirtualTableRowSelection<RowType extends object> = {
12
+ width: number;
13
+ selectedRowKeys: React.Key[];
14
+ onChange: (selectedRowKeys: React.Key[], selectedRows: RowType[]) => void;
15
+ /**
16
+ * Can only sticky in left
17
+ */
18
+ fixed?: boolean;
19
+ isDisabled?: (data: RowType, rowIndex: number) => boolean;
20
+ isSelectAllDisabled?: boolean;
21
+ /**
22
+ * Attention:
23
+ * If title is provided, the select all checkbox wil be overridden
24
+ */
25
+ title?: React.ReactElement | string | number | null;
26
+ };
27
+ export type VirtualTableColumn<RowType extends object> = {
28
+ title: React.ReactElement | string | number;
29
+ width: number;
30
+ /**
31
+ * Attention:
32
+ * If renderData return null, the corresponding table cell will not render
33
+ */
34
+ renderData: (record: RowType, rowIndex: number) => React.ReactNode | undefined;
35
+ align?: "left" | "right" | "center";
36
+ display?: "default" | "hidden";
37
+ fixed?: "left" | "right";
38
+ /**
39
+ * Attention:
40
+ * The overridden cell should return null in renderData props:
41
+ * e.g. [{colSpan: 3, renderData: () => <div />}, {renderData: () => null}], {renderData: () => null}
42
+ */
43
+ colSpan?: (record: RowType, rowIndex: number, colIndex: number) => number;
44
+ };
18
45
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pinnacle0/web-ui",
3
- "version": "0.7.0-beta.8",
3
+ "version": "0.7.0",
4
4
  "author": "Pinnacle",
5
5
  "license": "MIT",
6
6
  "sideEffects": [
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableHeader.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/OldVirtualTable/TableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAUpD,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,UAAkC,EAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAiB;IAChK,OAAO,CACH,6BAAK,SAAS,EAAC,eAAe,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,IAAI,MAAM,EAAC,IACjG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE,WAAW,EAAE,EAAE;QAChE,MAAM,cAAc,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,CACH,6BACI,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAC,CAAC,EAC9H,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE;gBACH,OAAO,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBAC/C,IAAI,EAAE,OAAO,KAAK,IAAI;gBACtB,cAAc,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;gBAC7F,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC1D,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;aAC/D,IAEA,KAAK,CACJ,CACT,CAAC;IACN,CAAC,CAAC,CACA,CACT,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/OldVirtualTable/TableRow.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColumnWidths.js","sourceRoot":"","sources":["../../../../../src/core/VirtualTable/OldVirtualTable/hooks/useColumnWidths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAE1D;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAwB,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;IAErE,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YACpE,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,kBAAkB,GAAG,KAAK,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;gBACnD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACZ,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;oBACtB,kBAAkB,GAAG,IAAI,CAAC;gBAC9B,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,kBAAkB,EAAE,CAAC;gBACrB,eAAe,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAClC,CAAC,IAA2B,EAAE,EAAE;QAC5B,IAAI,IAAI,EAAE,CAAC;YACP,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,gBAAgB,EAAE,CAAC;QACvB,CAAC;IACL,CAAC,EACD,CAAC,gBAAgB,CAAC,CACrB,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC7B,CAAC,KAAiD,EAAE,EAAE;QAClD,IAAI,KAAK,CAAC,MAAM,IAAI,eAAe,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAqB,CAAC;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YACzD,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACjC,CAAC;IACL,CAAC,EACD,CAAC,gBAAgB,CAAC,CACrB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAC,CAAC;AACrE,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColumnsStickyPosition.js","sourceRoot":"","sources":["../../../../../src/core/VirtualTable/OldVirtualTable/hooks/useColumnsStickyPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAGzD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAyB,OAAsC,EAAE,YAAsB,EAAyB,EAAE;IACtJ,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtB,MAAM,qBAAqB,GAA0B,EAAE,CAAC;QACxD,IAAI,6BAA6B,GAAG,CAAC,CAAC;QACtC,IAAI,8BAA8B,GAAG,CAAC,CAAC;QAEvC,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5J,oDAAoD;QACpD,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAExK,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YAClC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAC,KAAK,EAAE,6BAA6B,EAAE,MAAM,EAAE,GAAG,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;YAC7H,6BAA6B,IAAI,MAAM,CAAC,KAAK,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACnC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAC,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,GAAG,KAAK,cAAc,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;YAC/H,8BAA8B,IAAI,MAAM,CAAC,KAAK,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,OAAO,qBAAqB,CAAC;IACjC,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRowSelection.js","sourceRoot":"","sources":["../../../../../src/core/VirtualTable/OldVirtualTable/hooks/useRowSelection.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useScroll.js","sourceRoot":"","sources":["../../../../../src/core/VirtualTable/OldVirtualTable/hooks/useScroll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAAwD,EAAE,EAAE;IACtF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;IAEzF,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,EAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC;YACxF,aAAa,CAAC,EAAC,QAAQ,EAAE,WAAW,KAAK,WAAW,EAAE,UAAU,EAAE,YAAY,KAAK,YAAY,EAAC,CAAC,CAAC;QACtG,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO,EAAC,UAAU,EAAE,eAAe,EAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAAwD,EAAE,SAAiD,EAAE,EAAE;IACzI,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,qBAAqB,CAAC,GAAG,EAAE;YACvB,IAAI,gBAAgB,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxH,SAAS,CAAC,OAAO,CAAC,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;YACvE,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;IAElC,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,qDAAqD;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,gBAAwD,EAAE,EAAE;IACxF,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,EAAC,UAAU,EAAE,WAAW,EAAE,WAAW,EAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC;YACxE,MAAM,cAAc,GAAG,UAAU,IAAI,CAAC,CAAC;YACvC,MAAM,eAAe,GAAG,UAAU,IAAI,WAAW,GAAG,WAAW,CAAC;YAChE,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAC5E,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;QAClF,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO,mBAAmB,CAAC;AAC/B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useScrollBarSize.js","sourceRoot":"","sources":["../../../../../src/core/VirtualTable/OldVirtualTable/hooks/useScrollBarSize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AAEtE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACjC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5D,iBAAiB,CAAC,GAAG,EAAE;QACnB,+BAA+B;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,8BAA8B;QACjE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,EAAC,WAAW,EAAE,WAAW,EAAC,GAAG,OAAO,CAAC;QAC3C,MAAM,cAAc,GAAG,WAAW,GAAG,WAAW,CAAC;QACjD,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC"}
@@ -1,28 +0,0 @@
1
- import React from "react";
2
- import type { StringKey } from "../../../internal/type";
3
- import type { VirtualTableColumn, VirtualTableRowSelection } from "./type";
4
- import "./index.old.less";
5
- export type { VirtualTableColumn, VirtualTableRowSelection } from "./type";
6
- export interface OldVirtualTableProps<RowType extends object> {
7
- dataSource: RowType[];
8
- columns: VirtualTableColumn<RowType>[];
9
- rowHeight: number;
10
- className?: string;
11
- rowClassName?: string;
12
- /**
13
- * if scrollX and scrollY is not provided, height: 100% and width: 100% will be used and please wrap the table with a container
14
- */
15
- scrollY?: number;
16
- scrollX?: number;
17
- overscan?: number;
18
- loading?: boolean;
19
- emptyPlaceholder?: React.ReactElement | string | number;
20
- onRowClick?: (record: RowType, rowIndex: number) => void;
21
- /**
22
- * Default: index
23
- */
24
- rowKey?: StringKey<RowType> | "index";
25
- headerHeight?: number;
26
- rowSelection?: VirtualTableRowSelection<RowType>;
27
- }
28
- export declare const OldVirtualTable: <RowType extends object>({ columns, rowHeight, dataSource, className, rowClassName, loading, emptyPlaceholder, onRowClick, scrollY, scrollX, overscan, rowSelection, headerHeight, rowKey }: OldVirtualTableProps<RowType>) => React.JSX.Element;
@@ -1,58 +0,0 @@
1
- import React from "react";
2
- import { useVirtualizer } from "@tanstack/react-virtual";
3
- import { classNames } from "../../../util/ClassNames";
4
- import { Spin } from "../../Spin";
5
- import { TableRow } from "./TableRow";
6
- import { TableHeader } from "./TableHeader";
7
- import { useRowSelection } from "./hooks/useRowSelection";
8
- import { useColumnWidths } from "./hooks/useColumnWidths";
9
- import { useScrollBarSize } from "./hooks/useScrollBarSize";
10
- import { useScrollToEdge, useSyncScroll, useScrollable } from "./hooks/useScroll";
11
- import { useColumnsStickyPosition } from "./hooks/useColumnsStickyPosition";
12
- import { ReactUtil } from "../../../util/ReactUtil";
13
- import "./index.old.less";
14
- export const OldVirtualTable = ReactUtil.memo("OldVirtualTable", function ({ columns, rowHeight, dataSource, className, rowClassName, loading, emptyPlaceholder, onRowClick, scrollY, scrollX, overscan, rowSelection, headerHeight = 50, rowKey = "index" }) {
15
- const count = dataSource.length;
16
- const scrollContentRef = React.useRef(null);
17
- const totalSize = count * rowHeight;
18
- const emptyElement = emptyPlaceholder || "暂无数据";
19
- const transformedColumns = useRowSelection({ columns, dataSource, rowKey, rowSelection });
20
- const rowVirtualizer = useVirtualizer({
21
- count,
22
- getScrollElement: () => scrollContentRef.current,
23
- estimateSize: () => rowHeight,
24
- overscan,
25
- });
26
- const { headerRef, getHeaderRef, columnWidths, calcColumnWidths } = useColumnWidths();
27
- const scrollBarSize = useScrollBarSize();
28
- const syncScroll = useSyncScroll(scrollContentRef, headerRef);
29
- const checkIsScrollToEdge = useScrollToEdge(scrollContentRef);
30
- const { scrollable, checkScrollable } = useScrollable(scrollContentRef);
31
- const columnsStickyPosition = useColumnsStickyPosition(transformedColumns, columnWidths);
32
- const onScroll = React.useCallback(() => {
33
- syncScroll();
34
- checkIsScrollToEdge();
35
- }, [syncScroll, checkIsScrollToEdge]);
36
- React.useEffect(() => {
37
- checkIsScrollToEdge();
38
- }, [columnWidths, checkIsScrollToEdge]);
39
- React.useEffect(() => {
40
- checkScrollable();
41
- }, [totalSize, columnWidths, checkScrollable]);
42
- React.useEffect(() => {
43
- calcColumnWidths();
44
- }, [calcColumnWidths, transformedColumns]);
45
- const containerHeight = scrollY ? scrollY + headerHeight + (scrollable.horizontal ? scrollBarSize : 0) : "100%";
46
- return (React.createElement("div", { className: classNames("g-virtual-table", className), style: { width: scrollX || "100%", height: containerHeight } },
47
- loading && (React.createElement("div", { className: "mask" },
48
- React.createElement(Spin, { spinning: loading }))),
49
- React.createElement("div", { className: "scroll-content", ref: scrollContentRef, style: { height: `calc(100% - ${headerHeight}px)`, top: headerHeight }, onScroll: onScroll },
50
- React.createElement("div", { className: "table", style: { height: totalSize } },
51
- React.createElement(TableHeader, { headerRef: getHeaderRef, headerHeight: headerHeight, columns: transformedColumns, columnsStickyPosition: columnsStickyPosition }),
52
- columnWidths.length > 0 && (React.createElement("div", { className: "table-body" }, dataSource.length === 0
53
- ? emptyElement
54
- : rowVirtualizer
55
- .getVirtualItems()
56
- .map(virtualItem => (React.createElement(TableRow, { key: virtualItem.key, rowHeight: rowHeight, onRowClick: onRowClick, virtualItem: virtualItem, data: dataSource[virtualItem.index], columns: transformedColumns, columnWidths: columnWidths, scrollBarSize: scrollable.vertical ? scrollBarSize : 0, columnsStickyPosition: columnsStickyPosition, rowClassName: rowClassName })))))))));
57
- });
58
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/OldVirtualTable/index.tsx"],"names":[],"mappings":"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"}
@@ -1,160 +0,0 @@
1
- .fixed-column-shadow(@position) {
2
- content: "";
3
- position: absolute;
4
- width: 30px;
5
- height: 100%;
6
- pointer-events: none;
7
- background-color: transparent;
8
- top: 0;
9
- bottom: -1px;
10
- transition: box-shadow 0.3s;
11
-
12
- & when (@position = "right") {
13
- left: 0;
14
- transform: translate(-100%);
15
- box-shadow: inset -10px 0 8px -8px #00000026;
16
- }
17
-
18
- & when (@position = "left") {
19
- right: 0;
20
- transform: translate(100%);
21
- box-shadow: inset 10px 0 8px -8px #00000026;
22
- }
23
- }
24
-
25
- .g-virtual-table {
26
- position: relative;
27
- transform: translateX(0);
28
-
29
- .mask {
30
- position: absolute;
31
- top: 0;
32
- left: 0;
33
- width: 100%;
34
- height: 100%;
35
- display: flex;
36
- justify-content: center;
37
- align-items: center;
38
- background: rgb(255 255 255 / 70%);
39
- z-index: 15;
40
- }
41
-
42
- .scroll-content {
43
- position: relative;
44
- overflow: auto;
45
- scrollbar-width: thin;
46
-
47
- &.scroll-to-left {
48
- .table-header.fixed,
49
- .table-cell.fixed {
50
- &.last.left::after {
51
- box-shadow: none !important;
52
- }
53
- }
54
- }
55
-
56
- &.scroll-to-right {
57
- .table-header.fixed,
58
- .table-cell.fixed {
59
- &.last.right::after {
60
- box-shadow: none !important;
61
- }
62
- }
63
- }
64
-
65
- .table {
66
- min-height: 100%;
67
-
68
- .table-headers {
69
- display: flex;
70
- flex-wrap: nowrap;
71
- position: fixed;
72
- top: 0;
73
- z-index: 10;
74
- min-width: 100%;
75
- overflow-x: hidden;
76
-
77
- .table-header {
78
- display: flex;
79
- align-items: center;
80
- background-color: #f2f2f2;
81
- height: 100%;
82
- position: relative;
83
-
84
- &:not(:last-of-type)::before {
85
- background-color: rgb(0 0 0 / 6%);
86
- content: "";
87
- height: 60%;
88
- position: absolute;
89
- right: 0;
90
- top: 50%;
91
- transform: translateY(-50%);
92
- transition: background-color 0.3s;
93
- width: 1px;
94
- }
95
-
96
- &.fixed {
97
- position: sticky;
98
- z-index: 5;
99
-
100
- &.last {
101
- &.left {
102
- &::after {
103
- .fixed-column-shadow("left");
104
- }
105
- }
106
-
107
- &.right {
108
- &::after {
109
- .fixed-column-shadow("right");
110
- }
111
- }
112
- }
113
- }
114
- }
115
- }
116
-
117
- .table-body {
118
- display: flex;
119
- justify-content: center;
120
- align-items: center;
121
- position: relative;
122
- height: 100%;
123
-
124
- .table-row {
125
- width: max-content;
126
- position: absolute;
127
- top: 0;
128
- left: 0;
129
-
130
- .table-cell {
131
- display: inline-flex;
132
- align-items: center;
133
- background-color: #fff;
134
- overflow-wrap: anywhere;
135
- vertical-align: bottom;
136
-
137
- &.fixed {
138
- position: sticky;
139
- z-index: 5;
140
-
141
- &.last {
142
- &.left {
143
- &::after {
144
- .fixed-column-shadow("left");
145
- }
146
- }
147
-
148
- &.right {
149
- &::after {
150
- .fixed-column-shadow("right");
151
- }
152
- }
153
- }
154
- }
155
- }
156
- }
157
- }
158
- }
159
- }
160
- }
@@ -1,45 +0,0 @@
1
- type ColumnIndex = number;
2
- export type ColumnFixedPosition = "left" | "right";
3
- export interface StickyPosition {
4
- value: number;
5
- isLast: boolean;
6
- }
7
- export type ColumnsStickyPosition = Record<ColumnIndex, StickyPosition>;
8
- /**
9
- * Similar usage of Antd Table but only support partial features: fixed columns, row selection, on row click
10
- */
11
- export type VirtualTableRowSelection<RowType extends object> = {
12
- width: number;
13
- selectedRowKeys: React.Key[];
14
- onChange: (selectedRowKeys: React.Key[], selectedRows: RowType[]) => void;
15
- /**
16
- * Can only sticky in left
17
- */
18
- fixed?: boolean;
19
- isDisabled?: (data: RowType, rowIndex: number) => boolean;
20
- isSelectAllDisabled?: boolean;
21
- /**
22
- * Attention:
23
- * If title is provided, the select all checkbox wil be overridden
24
- */
25
- title?: React.ReactElement | string | number | null;
26
- };
27
- export type VirtualTableColumn<RowType extends object> = {
28
- title: React.ReactElement | string | number;
29
- width: number;
30
- /**
31
- * Attention:
32
- * If renderData return null, the corresponding table cell will not render
33
- */
34
- renderData: (record: RowType, rowIndex: number) => React.ReactNode | undefined;
35
- align?: "left" | "right" | "center";
36
- display?: "default" | "hidden";
37
- fixed?: "left" | "right";
38
- /**
39
- * Attention:
40
- * The overridden cell should return null in renderData props:
41
- * e.g. [{colSpan: 3, renderData: () => <div />}, {renderData: () => null}], {renderData: () => null}
42
- */
43
- colSpan?: (record: RowType, rowIndex: number, colIndex: number) => number;
44
- };
45
- export {};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/OldVirtualTable/type.ts"],"names":[],"mappings":""}