@arim-aisdc/public-components 2.3.48 → 2.3.50

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 (62) hide show
  1. package/dist/components/BaseInfo/BaseInfo.d.ts +1 -1
  2. package/dist/components/TableMax/TableBody/{Row.d.ts → OriginalRow.d.ts} +2 -2
  3. package/dist/components/TableMax/TableBody/{Row.js → OriginalRow.js} +2 -2
  4. package/dist/components/TableMax/TableBody/OriginalTableBody.d.ts +76 -0
  5. package/dist/components/TableMax/TableBody/OriginalTableBody.js +509 -0
  6. package/dist/components/TableMax/TableBody/TableBody.d.ts +3 -0
  7. package/dist/components/TableMax/TableBody/TableBody.js +15 -0
  8. package/dist/components/TableMax/TableBody/VirtualRow.d.ts +63 -0
  9. package/dist/components/TableMax/TableBody/VirtualRow.js +479 -0
  10. package/dist/components/TableMax/TableBody/VirtualTableBody.d.ts +75 -0
  11. package/dist/components/TableMax/TableBody/VirtualTableBody.js +423 -0
  12. package/dist/components/TableMax/TableBody/components/Total.js +86 -27
  13. package/dist/components/TableMax/TableBody/index.d.ts +3 -75
  14. package/dist/components/TableMax/TableBody/index.js +4 -519
  15. package/dist/components/TableMax/TableBody/index.less +14 -2
  16. package/dist/components/TableMax/TableHeader/OriginalTableHeader.d.ts +21 -0
  17. package/dist/components/TableMax/TableHeader/OriginalTableHeader.js +86 -0
  18. package/dist/components/TableMax/TableHeader/TableHeader.d.ts +2 -0
  19. package/dist/components/TableMax/TableHeader/TableHeader.js +14 -0
  20. package/dist/components/TableMax/TableHeader/VirtualTableHeader/ColGroup.d.ts +11 -0
  21. package/dist/components/TableMax/TableHeader/VirtualTableHeader/ColGroup.js +33 -0
  22. package/dist/components/TableMax/TableHeader/VirtualTableHeader/PinnedColumns.d.ts +19 -0
  23. package/dist/components/TableMax/TableHeader/VirtualTableHeader/PinnedColumns.js +46 -0
  24. package/dist/components/TableMax/TableHeader/VirtualTableHeader/ScrollColumns.d.ts +18 -0
  25. package/dist/components/TableMax/TableHeader/VirtualTableHeader/ScrollColumns.js +47 -0
  26. package/dist/components/TableMax/TableHeader/VirtualTableHeader/VirtualColumns.d.ts +19 -0
  27. package/dist/components/TableMax/TableHeader/VirtualTableHeader/VirtualColumns.js +49 -0
  28. package/dist/components/TableMax/TableHeader/VirtualTableHeader/VirtualPadding.d.ts +7 -0
  29. package/dist/components/TableMax/TableHeader/VirtualTableHeader/VirtualPadding.js +16 -0
  30. package/dist/components/TableMax/TableHeader/VirtualTableHeader/index.d.ts +4 -0
  31. package/dist/components/TableMax/TableHeader/VirtualTableHeader/index.js +79 -0
  32. package/dist/components/TableMax/TableHeader/VirtualTableHeader/index.less +225 -0
  33. package/dist/components/TableMax/TableHeader/index.d.ts +3 -20
  34. package/dist/components/TableMax/TableHeader/index.js +3 -90
  35. package/dist/components/TableMax/TableHeader/utils.d.ts +1 -0
  36. package/dist/components/TableMax/TableHeader/utils.js +17 -10
  37. package/dist/components/TableMax/TableMax.js +169 -123
  38. package/dist/components/TableMax/components/ColumnEdit/index.d.ts +1 -0
  39. package/dist/components/TableMax/components/ColumnEdit/index.js +5 -1
  40. package/dist/components/TableMax/components/ColumnSort/customSortFns.d.ts +8 -8
  41. package/dist/components/TableMax/contexts/VirtualScroll/VirtualScrollContext.d.ts +3 -0
  42. package/dist/components/TableMax/contexts/VirtualScroll/VirtualScrollContext.js +2 -0
  43. package/dist/components/TableMax/contexts/VirtualScroll/VirtualScrollProvider.d.ts +3 -0
  44. package/dist/components/TableMax/contexts/VirtualScroll/VirtualScrollProvider.js +26 -0
  45. package/dist/components/TableMax/contexts/VirtualScroll/index.d.ts +3 -0
  46. package/dist/components/TableMax/contexts/VirtualScroll/index.js +4 -0
  47. package/dist/components/TableMax/contexts/VirtualScroll/types.d.ts +33 -0
  48. package/dist/components/TableMax/contexts/VirtualScroll/types.js +1 -0
  49. package/dist/components/TableMax/contexts/index.d.ts +1 -0
  50. package/dist/components/TableMax/contexts/index.js +1 -0
  51. package/dist/components/TableMax/hooks/useColumnWidth copy.js +15 -6
  52. package/dist/components/TableMax/hooks/useDragDrop.d.ts +27 -0
  53. package/dist/components/TableMax/hooks/useDragDrop.js +167 -0
  54. package/dist/components/TableMax/hooks/useTableComponents.d.ts +6 -0
  55. package/dist/components/TableMax/hooks/useTableComponents.js +19 -0
  56. package/dist/components/TableMax/hooks/useVirtualCalculations.d.ts +25 -0
  57. package/dist/components/TableMax/hooks/useVirtualCalculations.js +113 -0
  58. package/dist/components/TableMax/hooks/useVirtualScroll.d.ts +4 -0
  59. package/dist/components/TableMax/hooks/useVirtualScroll.js +30 -0
  60. package/dist/components/TableMax/tableMax.less +22 -5
  61. package/dist/components/TableMax/type.d.ts +2 -0
  62. package/package.json +2 -1
@@ -1,519 +1,4 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
- import { Spin } from 'antd';
14
- // import { useVirtualizer } from "@tanstack/react-virtual";
15
-
16
- import { useDrop } from 'react-dnd';
17
- import { CustomDragLayer } from "../components/CustomDragerLayer";
18
- // import RowContent from "../components/RowContent";
19
- import { DropSide } from "../type";
20
- import { events, useEventBus } from "../../..";
21
- import React, { useCallback, useEffect, useMemo, useState } from 'react';
22
- import { createPortal } from 'react-dom';
23
- import { useConfig } from "../../ConfigProvider";
24
- import Empty from "../../Empty";
25
- import Row from "./Row";
26
- import ContextMenu from "./contextMenu/ContextMenu";
27
- import "./index.less";
28
- import { Total } from "./components/Total";
29
- import { jsx as _jsx } from "react/jsx-runtime";
30
- import { Fragment as _Fragment } from "react/jsx-runtime";
31
- import { jsxs as _jsxs } from "react/jsx-runtime";
32
- var TableBody = function TableBody(_ref) {
33
- var _headerGroups, _table$getRowModel$ro2;
34
- var tableBodyRef = _ref.tableBodyRef,
35
- table = _ref.table,
36
- tableId = _ref.tableId,
37
- theme = _ref.theme,
38
- reorderRow = _ref.reorderRow,
39
- rowSelectedId = _ref.rowSelectedId,
40
- setRowSelectedId = _ref.setRowSelectedId,
41
- rowHighLightId = _ref.rowHighLightId,
42
- setRowHighLightId = _ref.setRowHighLightId,
43
- selectedRowChange = _ref.selectedRowChange,
44
- onSelectChange = _ref.onSelectChange,
45
- canSelection = _ref.canSelection,
46
- selectionWithoutChecked = _ref.selectionWithoutChecked,
47
- tableContainerWidth = _ref.tableContainerWidth,
48
- selectedRowDragging = _ref.selectedRowDragging,
49
- setSelectedRowDragging = _ref.setSelectedRowDragging,
50
- canRowDrag = _ref.canRowDrag,
51
- rowKey = _ref.rowKey,
52
- loading = _ref.loading,
53
- rowClassName = _ref.rowClassName,
54
- cellClassName = _ref.cellClassName,
55
- rowStyle = _ref.rowStyle,
56
- getCellProps = _ref.getCellProps,
57
- rowHeight = _ref.rowHeight,
58
- renderSubComponent = _ref.renderSubComponent,
59
- onRowMouseEnter = _ref.onRowMouseEnter,
60
- onRowMouseLeave = _ref.onRowMouseLeave,
61
- onRowMouseClick = _ref.onRowMouseClick,
62
- onRowMouseDoubleClick = _ref.onRowMouseDoubleClick,
63
- disableDragRowIds = _ref.disableDragRowIds,
64
- selectRowWhenClick = _ref.selectRowWhenClick,
65
- datas = _ref.datas,
66
- canEditRowWhenDClick = _ref.canEditRowWhenDClick,
67
- editingRowId = _ref.editingRowId,
68
- handleEditRowWhenDClick = _ref.handleEditRowWhenDClick,
69
- dragBeforeStart = _ref.dragBeforeStart,
70
- getContextMenu = _ref.getContextMenu,
71
- onClickContextMenu = _ref.onClickContextMenu,
72
- getRowHoverTipConfig = _ref.getRowHoverTipConfig,
73
- tableTooltip = _ref.tableTooltip,
74
- compactMode = _ref.compactMode,
75
- onEditValueChange = _ref.onEditValueChange,
76
- hasTotalRow = _ref.hasTotalRow,
77
- totalDatas = _ref.totalDatas,
78
- setRowSelection = _ref.setRowSelection,
79
- openMemo = _ref.openMemo;
80
- var _useConfig = useConfig(),
81
- root = _useConfig.root;
82
- var headerGroups = table.getHeaderGroups();
83
- var headers = (headerGroups === null || headerGroups === void 0 || (_headerGroups = headerGroups[headerGroups.length - 1]) === null || _headerGroups === void 0 ? void 0 : _headerGroups.headers) || [];
84
- var _useState = useState({
85
- visible: false,
86
- clientX: 0,
87
- clientY: 0,
88
- row: {},
89
- column: {},
90
- options: []
91
- }),
92
- _useState2 = _slicedToArray(_useState, 2),
93
- contextMenuData = _useState2[0],
94
- setContextMenuData = _useState2[1];
95
- // 拖动时显示放置的位置
96
- var _useState3 = useState(undefined),
97
- _useState4 = _slicedToArray(_useState3, 2),
98
- hoverRowIndex = _useState4[0],
99
- setHoverRowIndex = _useState4[1];
100
- var _useState5 = useState(undefined),
101
- _useState6 = _slicedToArray(_useState5, 2),
102
- dropSide = _useState6[0],
103
- setDropSide = _useState6[1]; // 放在目标的上侧或者下侧
104
- // 清除hover行信息
105
- var clearHoverRowIndex = useCallback(function () {
106
- setHoverRowIndex(undefined);
107
- }, []);
108
- // 当前table在hover时进行广播
109
- var publishCurTableHoveringEvent = function publishCurTableHoveringEvent() {
110
- events.emit('TABLE_HOVERING', tableId);
111
- };
112
-
113
- // 接收广播:其他table在hover时,取消当前table的hover
114
- var receiveCurTableHoveringEvent = useCallback(function (hoveringTableId) {
115
- if (hoveringTableId !== tableId) {
116
- clearHoverRowIndex();
117
- }
118
- }, []);
119
- useEventBus('TABLE_HOVERING', receiveCurTableHoveringEvent);
120
-
121
- // 拖动时,即时修改hover信息
122
- var changeHoverRow = useCallback(function (_ref2) {
123
- var _origin$draggedRow, _origin$draggedRows;
124
- var target = _ref2.target,
125
- origin = _ref2.origin;
126
- publishCurTableHoveringEvent();
127
- var targetRowIndex = target === null || target === void 0 ? void 0 : target.index;
128
- var originRowIndex = origin === null || origin === void 0 || (_origin$draggedRow = origin.draggedRow) === null || _origin$draggedRow === void 0 ? void 0 : _origin$draggedRow.index;
129
- var originRowIndexList = (origin === null || origin === void 0 || (_origin$draggedRows = origin.draggedRows) === null || _origin$draggedRows === void 0 ? void 0 : _origin$draggedRows.map(function (row) {
130
- return row.index;
131
- })) || [];
132
- // console.log('hover :>> ', targetRowIndex, originRowIndex);
133
- if (tableId === origin.sourceTableId && originRowIndexList.includes(targetRowIndex)) {
134
- // hover在被拖动的行时,隐藏放置位置
135
- clearHoverRowIndex();
136
- } else if (targetRowIndex !== hoverRowIndex) {
137
- setHoverRowIndex(targetRowIndex);
138
- if (tableId !== origin.sourceTableId) {
139
- // 表格之间拖动
140
- setDropSide(DropSide.Top);
141
- } else {
142
- // 表格内部拖动
143
- setDropSide(targetRowIndex > originRowIndex ? DropSide.Bottom : DropSide.Top);
144
- }
145
- }
146
- }, [hoverRowIndex]);
147
- // 拖动到最后一行下面的空白处,在最后一行数据上展示预览位置
148
- var addToLast = useCallback(function () {
149
- publishCurTableHoveringEvent();
150
- var lastIndex = table.getRowModel().rows.length - 1;
151
- if (lastIndex !== hoverRowIndex || lastIndex === hoverRowIndex && dropSide !== DropSide.Bottom) {
152
- setHoverRowIndex(lastIndex);
153
- setDropSide(DropSide.Bottom);
154
- }
155
- }, [hoverRowIndex, dropSide]);
156
-
157
- // cell右键菜单
158
- var handleCellContextMenu = useCallback(function (e, cell) {
159
- // console.log('cell :>> ', cell);
160
- if (getContextMenu) {
161
- var options = getContextMenu({
162
- row: cell.row.original,
163
- column: cell.column.columnDef
164
- });
165
- setContextMenuData({
166
- visible: options.length > 0,
167
- clientX: e.clientX,
168
- clientY: e.clientY,
169
- row: cell.row.original,
170
- column: cell.column.columnDef,
171
- options: options
172
- });
173
- e.preventDefault();
174
- }
175
- }, [getContextMenu]);
176
-
177
- // 关闭菜单
178
- var closeContextMenu = useCallback(function () {
179
- setContextMenuData(_objectSpread(_objectSpread({}, contextMenuData), {}, {
180
- visible: false
181
- }));
182
- }, []);
183
- useEffect(function () {
184
- console.log("emptyTheme-tableMax", theme);
185
- }, [theme]);
186
-
187
- // useEffect(() => {
188
- // if (tbodyRef.current) {
189
- // console.log('tbodyRef.current.scrollHeight', tbodyRef.current.scrollHeight)
190
- // console.log('tbodyRef.current.scrollTop', tbodyRef.current.scrollTop, scroll)
191
- // tbodyRef.current.scrollTop = scroll;
192
- // }
193
- // let ele = document.getElementById('tbody')
194
- // if (ele) {
195
- // console.log('4444444', ele, ele.scrollTop)
196
- // ele.scrollTop = scroll
197
- // }
198
-
199
- // }, [scroll]);
200
-
201
- // useLayoutEffect(() => {
202
- // if (theadRef.current) {
203
- // const theadHeight = theadRef.current.clientHeight;
204
- // theadHeight !== tableHeadHeight ? setTableHeadHeight(theadHeight) : null;
205
- // }
206
- // }, [theadRef?.current, theadRef?.current?.clientHeight, enableFilters]);
207
-
208
- // const scrollDataRef = useRef<any>({
209
- // scroll,
210
- // bodyContentHeight,
211
- // tableBodyHeight,
212
- // });
213
- // useLayoutEffect(() => {
214
- // scrollDataRef.current = {
215
- // scroll,
216
- // bodyContentHeight,
217
- // tableBodyHeight,
218
- // };
219
- // }, [scroll, bodyContentHeight, tableBodyHeight]);
220
- // // const handleWheel = (event: WheelEvent) => {
221
- // // const {
222
- // // scroll: refDataScroll,
223
- // // bodyContentHeight: refDataBodyContentHeight,
224
- // // tableBodyHeight: refDataTableBodyHeight,
225
- // // } = scrollDataRef.current;
226
-
227
- // // let newScroll = refDataScroll + event.deltaY || 0;
228
- // // const maxScroll = refDataBodyContentHeight - refDataTableBodyHeight;
229
- // // if (newScroll < 0) {
230
- // // newScroll = 0;
231
- // // } else if (newScroll > maxScroll) {
232
- // // newScroll = maxScroll;
233
- // // }
234
- // // setScroll?.(newScroll);
235
-
236
- // // if (!((refDataScroll == 0 && newScroll == 0) || (refDataScroll === maxScroll && newScroll === maxScroll))) {
237
- // // event.stopPropagation();
238
- // // event.preventDefault();
239
- // // }
240
- // // };
241
-
242
- // // table-body 监听滚轮事件
243
- // // useEffect(() => {
244
- // // tbodyRef.current?.addEventListener('wheel', handleWheel, { passive: false });
245
- // // return () => tbodyRef.current?.removeEventListener('wheel', handleWheel, { passive: false });
246
- // // }, [tbodyRef.current]);
247
-
248
- // // 是否展开所有行
249
- // useEffect(() => {
250
- // isAllRowExpanded && table?.toggleAllRowsExpanded();
251
- // }, [isAllRowExpanded]);
252
-
253
- // // 虚拟列表
254
- // const rowVirtualizer = useVirtualizer({
255
- // count: rows.length, // 数据总条数
256
- // getScrollElement: () => tbodyRef.current, // 外层滚动的dom元素
257
- // estimateSize: () => rowHeight, // 每一行的预估高度值
258
- // overscan: enableVirtualList ? 5 : 9999, // 上下额外展示的数据量
259
- // });
260
-
261
- // const rowVirtualizerTotalHeight = rowVirtualizer.getTotalSize();
262
-
263
- // // 展开状态变化之后重新设定table内容高度(不能作用于left\right-table)
264
- // useLayoutEffect(() => {
265
- // // if (position !== 'Left' && position !== 'Right') {
266
- // rowVirtualizerTotalHeight && setBodyContentHeight(rowVirtualizerTotalHeight);
267
- // // }
268
- // }, [rowVirtualizerTotalHeight]);
269
-
270
- // console.log('object', rowVirtualizer.getVirtualItems(), rows);
271
-
272
- var _useDrop = useDrop({
273
- accept: 'TABLE_ROW',
274
- drop: function drop(formDatas) {
275
- // console.log('drop-empty did');
276
- return reorderRow === null || reorderRow === void 0 ? void 0 : reorderRow(formDatas, {
277
- hoverRow: {
278
- index: 0
279
- },
280
- targetTableId: tableId
281
- });
282
- }
283
- }),
284
- _useDrop2 = _slicedToArray(_useDrop, 2),
285
- dropEmptyRef = _useDrop2[1];
286
- var _useDrop3 = useDrop({
287
- accept: 'TABLE_ROW',
288
- drop: function drop(formDatas, monitor) {
289
- if (monitor.didDrop()) {
290
- // drop到内部的row时,这里不再处理
291
- // console.log('drop-table-empty stop');
292
- return undefined;
293
- }
294
- // console.log('drop-table-empty did');
295
- clearHoverRowIndex();
296
- return reorderRow === null || reorderRow === void 0 ? void 0 : reorderRow(formDatas, {
297
- hoverRow: undefined,
298
- targetTableId: tableId
299
- });
300
- },
301
- hover: function hover(item, monitor) {
302
- if (monitor.isOver({
303
- shallow: true
304
- }) && monitor.canDrop()) {
305
- addToLast();
306
- }
307
- }
308
- }),
309
- _useDrop4 = _slicedToArray(_useDrop3, 2),
310
- dropTableEmptyRef = _useDrop4[1];
311
- var LoadingAndEmptyContent = function LoadingAndEmptyContent() {
312
- console.log('emptyTheme0');
313
- return /*#__PURE__*/_jsx("div", {
314
- className: "empty-container",
315
- style: {
316
- width: table.getTotalSize()
317
- },
318
- children: /*#__PURE__*/_jsx("div", {
319
- className: "empty-wrapper",
320
- style: {
321
- width: "".concat(tableContainerWidth - 10, "px")
322
- },
323
- children: loading ? /*#__PURE__*/_jsx(Spin, {}) : /*#__PURE__*/_jsx("span", {
324
- className: "empty-content",
325
- ref: dropEmptyRef,
326
- children: /*#__PURE__*/_jsx(Empty, {})
327
- })
328
- })
329
- });
330
- };
331
- var TBodyContent = function TBodyContent() {
332
- return table.getRowModel().rows.map(function (row) {
333
- // 当前行是否编辑中
334
- var rowEditing = row.id === editingRowId;
335
- return /*#__PURE__*/_jsx(Row, {
336
- tableBodyRef: tableBodyRef,
337
- table: table,
338
- tableId: tableId,
339
- row: row,
340
- rowKey: rowKey,
341
- theme: theme,
342
- reorderRow: reorderRow,
343
- rowSelectedId: rowSelectedId,
344
- setRowSelectedId: setRowSelectedId,
345
- rowHighLightId: rowHighLightId,
346
- setRowHighLightId: setRowHighLightId,
347
- selectedRowChange: selectedRowChange,
348
- onSelectChange: onSelectChange,
349
- canSelection: canSelection,
350
- selectionWithoutChecked: selectionWithoutChecked,
351
- selectedRowDragging: selectedRowDragging,
352
- setSelectedRowDragging: setSelectedRowDragging,
353
- canRowDrag: canRowDrag,
354
- dragBeforeStart: dragBeforeStart,
355
- rowClassName: rowClassName,
356
- cellClassName: cellClassName,
357
- rowStyle: rowStyle,
358
- getCellProps: getCellProps,
359
- editting: !!editingRowId,
360
- rowEditing: rowEditing,
361
- renderSubComponent: renderSubComponent,
362
- onRowMouseEnter: onRowMouseEnter,
363
- onRowMouseLeave: onRowMouseLeave,
364
- onRowMouseClick: onRowMouseClick,
365
- onRowMouseDoubleClick: onRowMouseDoubleClick,
366
- rowHeight: rowHeight,
367
- disableDragRowIds: disableDragRowIds,
368
- selectRowWhenClick: selectRowWhenClick,
369
- handleEditRowWhenDClick: handleEditRowWhenDClick,
370
- canEditRowWhenDClick: canEditRowWhenDClick,
371
- onCellContextMenu: handleCellContextMenu,
372
- getRowHoverTipConfig: getRowHoverTipConfig,
373
- tableTooltip: tableTooltip,
374
- changeHoverRow: changeHoverRow,
375
- clearHoverRowIndex: clearHoverRowIndex,
376
- hoverRowIndex: hoverRowIndex,
377
- dropSide: dropSide,
378
- onEditValueChange: onEditValueChange,
379
- setRowSelection: setRowSelection,
380
- openMemo: openMemo
381
- }, row.id);
382
- });
383
- };
384
-
385
- // 是否有数据
386
- var showTable = useMemo(function () {
387
- var _table$getRowModel$ro;
388
- return !loading && datas.length !== 0 && ((_table$getRowModel$ro = table.getRowModel().rows) === null || _table$getRowModel$ro === void 0 ? void 0 : _table$getRowModel$ro.length) !== 0;
389
- }, [loading, datas.length, (_table$getRowModel$ro2 = table.getRowModel().rows) === null || _table$getRowModel$ro2 === void 0 ? void 0 : _table$getRowModel$ro2.length]);
390
-
391
- // console.log('rowHeight :>>', rowHeight);
392
-
393
- var TableRow = useMemo(function () {
394
- console.log(table.getRowModel().rows, 'TableRow');
395
- return table.getRowModel().rows;
396
- }, [table, table.getState().rowSelection]);
397
- return (
398
- /*#__PURE__*/
399
- // 修复筛选数据为空时,滚动条丢失
400
- _jsxs(_Fragment, {
401
- children: [canRowDrag && !editingRowId && /*#__PURE__*/createPortal( /*#__PURE__*/_jsx(CustomDragLayer, {
402
- getCellProps: getCellProps,
403
- rowClassName: rowClassName,
404
- cellClassName: cellClassName,
405
- rowStyle: rowStyle,
406
- theme: theme,
407
- rowSelectedId: rowSelectedId,
408
- table: table,
409
- tableId: tableId,
410
- compactMode: compactMode
411
- }),
412
- // document.body,
413
- root ? document.querySelector(root) : document.body), showTable ? /*#__PURE__*/_jsx("div", {
414
- className: "table-max-table-body-table-wrapper",
415
- ref: dropTableEmptyRef,
416
- children: /*#__PURE__*/_jsxs("table", {
417
- children: [/*#__PURE__*/_jsx("colgroup", {
418
- children: headers.map(function (header) {
419
- var _header$column;
420
- var size = (header === null || header === void 0 || (_header$column = header.column) === null || _header$column === void 0 ? void 0 : _header$column.getSize()) || 120;
421
- return /*#__PURE__*/_jsx("col", {
422
- width: size
423
- }, header.id);
424
- })
425
- }), /*#__PURE__*/_jsxs("tbody", {
426
- id: "table-max-tableBody-tbody-".concat(tableId),
427
- children: [table.getRowModel().rows.map(function (row) {
428
- // 当前行是否编辑中
429
- var rowEditing = row.id === editingRowId;
430
- return /*#__PURE__*/_jsx(Row, {
431
- tableBodyRef: tableBodyRef,
432
- table: table,
433
- tableId: tableId,
434
- row: row,
435
- rowKey: rowKey,
436
- theme: theme,
437
- reorderRow: reorderRow,
438
- rowSelectedId: rowSelectedId,
439
- setRowSelectedId: setRowSelectedId,
440
- rowHighLightId: rowHighLightId,
441
- setRowHighLightId: setRowHighLightId,
442
- selectedRowChange: selectedRowChange,
443
- onSelectChange: onSelectChange,
444
- canSelection: canSelection,
445
- selectionWithoutChecked: selectionWithoutChecked,
446
- selectedRowDragging: selectedRowDragging,
447
- setSelectedRowDragging: setSelectedRowDragging,
448
- canRowDrag: canRowDrag,
449
- dragBeforeStart: dragBeforeStart,
450
- rowClassName: rowClassName,
451
- cellClassName: cellClassName,
452
- rowStyle: rowStyle,
453
- getCellProps: getCellProps,
454
- editting: !!editingRowId,
455
- rowEditing: rowEditing,
456
- renderSubComponent: renderSubComponent,
457
- onRowMouseEnter: onRowMouseEnter,
458
- onRowMouseLeave: onRowMouseLeave,
459
- onRowMouseClick: onRowMouseClick,
460
- onRowMouseDoubleClick: onRowMouseDoubleClick,
461
- rowHeight: rowHeight,
462
- disableDragRowIds: disableDragRowIds,
463
- selectRowWhenClick: selectRowWhenClick,
464
- handleEditRowWhenDClick: handleEditRowWhenDClick,
465
- canEditRowWhenDClick: canEditRowWhenDClick,
466
- onCellContextMenu: handleCellContextMenu,
467
- getRowHoverTipConfig: getRowHoverTipConfig,
468
- tableTooltip: tableTooltip,
469
- changeHoverRow: changeHoverRow,
470
- clearHoverRowIndex: clearHoverRowIndex,
471
- hoverRowIndex: hoverRowIndex,
472
- dropSide: dropSide,
473
- onEditValueChange: onEditValueChange,
474
- setRowSelection: setRowSelection,
475
- openMemo: openMemo
476
- }, row.id);
477
- })
478
- // TBodyContent()
479
- , /*#__PURE__*/_jsx(_Fragment, {
480
- children: hasTotalRow && /*#__PURE__*/_jsx(Total, {
481
- table: table,
482
- totalDatas: totalDatas,
483
- rowHeight: rowHeight
484
- })
485
- })]
486
- })]
487
- })
488
- }) : /*#__PURE__*/_jsx("div", {
489
- className: "empty-container",
490
- style: {
491
- width: table.getTotalSize()
492
- },
493
- children: /*#__PURE__*/_jsx("div", {
494
- className: "empty-wrapper",
495
- style: {
496
- width: "".concat(tableContainerWidth - 10, "px")
497
- },
498
- children: loading ? /*#__PURE__*/_jsx(Spin, {}) : /*#__PURE__*/_jsx("span", {
499
- className: "empty-content",
500
- ref: dropEmptyRef,
501
- children: /*#__PURE__*/_jsx(Empty, {})
502
- })
503
- })
504
- })
505
- // LoadingAndEmptyContent()
506
- , /*#__PURE__*/_jsx(ContextMenu, _objectSpread(_objectSpread({}, contextMenuData), {}, {
507
- onClickContextMenu: onClickContextMenu,
508
- closeContextMenu: closeContextMenu
509
- }))]
510
- })
511
- );
512
- };
513
- export default TableBody;
514
- // export default React.memo(TableBody, (prev, next) => prev.table.getState() !== next.table.getState() );
515
-
516
- // export const MemoizedTableBody = React.memo(
517
- // TableBody,
518
- // (prev, next) => prev.table.options.data === next.table.options.data
519
- // ) as typeof TableBody
1
+ import { TableBody } from "./TableBody";
2
+ export { VirtualTableBody } from "./VirtualTableBody";
3
+ export { OriginalTableBody } from "./OriginalTableBody";
4
+ export default TableBody;
@@ -16,14 +16,26 @@ table {
16
16
  transition: left, top;
17
17
  transition-duration: 0.6s;
18
18
  background-color: @globalColor0;
19
- border-bottom: 1px solid @tableColor2;
19
+ position: relative;
20
+ // border-bottom: 1px solid @tableColor2;
21
+
22
+ &::after {
23
+ content: '';
24
+ position: absolute;
25
+ bottom: 0;
26
+ left: 0;
27
+ right: 0;
28
+ height: 1px;
29
+ background-color: var(--tableColor2);
30
+ z-index: 201;
31
+ }
20
32
  }
21
33
  .tbody-tr-highlight {
22
34
  // display: flex;
23
35
  transition: left, top;
24
36
  transition-duration: 0.6s;
25
37
  background-color: @rowHoverBackgroundColor;
26
- border-bottom: 1px solid @tableColor2;
38
+ // border-bottom: 1px solid @tableColor2;
27
39
  }
28
40
 
29
41
  .tbody-tr-td-editting {
@@ -0,0 +1,21 @@
1
+ import { ColumnResizeMode } from '@tanstack/react-table';
2
+ import { MutableRefObject } from 'react';
3
+ import { TableMaxColumnType } from '../type';
4
+ import './index.less';
5
+ export type TableHeaderProps = {
6
+ table: any;
7
+ tableContentRef: MutableRefObject<HTMLDivElement> | null;
8
+ canFilter?: boolean;
9
+ enableFilters?: boolean;
10
+ canSorting?: boolean;
11
+ rowHeight?: number;
12
+ hasGroup?: boolean;
13
+ getHeaderCellProps?: (columns: TableMaxColumnType[]) => object;
14
+ columnResizeMode: ColumnResizeMode;
15
+ disableColumnDrag?: boolean;
16
+ headerRowNum: number;
17
+ manualFiltering: boolean;
18
+ getDynamicFilterOptionsFn?: Function;
19
+ };
20
+ declare const OriginalTableHeader: ({ tableContentRef, table, canFilter, enableFilters, canSorting, hasGroup, getHeaderCellProps, columnResizeMode, disableColumnDrag, rowHeight, headerRowNum, manualFiltering, getDynamicFilterOptionsFn }: TableHeaderProps) => import("react/jsx-runtime").JSX.Element;
21
+ export { OriginalTableHeader };
@@ -0,0 +1,86 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import Cell from "./Cell";
8
+ import "./index.less";
9
+ import { getPinningStyle } from "./utils";
10
+ import { useWhyDidYouUpdate } from 'ahooks';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { jsxs as _jsxs } from "react/jsx-runtime";
13
+ var OriginalTableHeader = function OriginalTableHeader(_ref) {
14
+ var _headerGroups;
15
+ var tableContentRef = _ref.tableContentRef,
16
+ table = _ref.table,
17
+ canFilter = _ref.canFilter,
18
+ enableFilters = _ref.enableFilters,
19
+ canSorting = _ref.canSorting,
20
+ hasGroup = _ref.hasGroup,
21
+ getHeaderCellProps = _ref.getHeaderCellProps,
22
+ columnResizeMode = _ref.columnResizeMode,
23
+ disableColumnDrag = _ref.disableColumnDrag,
24
+ rowHeight = _ref.rowHeight,
25
+ headerRowNum = _ref.headerRowNum,
26
+ manualFiltering = _ref.manualFiltering,
27
+ getDynamicFilterOptionsFn = _ref.getDynamicFilterOptionsFn;
28
+ var headerGroups = table.getHeaderGroups();
29
+ var headers = (headerGroups === null || headerGroups === void 0 || (_headerGroups = headerGroups[headerGroups.length - 1]) === null || _headerGroups === void 0 ? void 0 : _headerGroups.headers) || [];
30
+ useWhyDidYouUpdate('useWhyDidYouUpdate', {
31
+ tableContentRef: tableContentRef,
32
+ table: table,
33
+ canFilter: canFilter,
34
+ enableFilters: enableFilters,
35
+ canSorting: canSorting,
36
+ hasGroup: hasGroup,
37
+ getHeaderCellProps: getHeaderCellProps,
38
+ columnResizeMode: columnResizeMode,
39
+ disableColumnDrag: disableColumnDrag,
40
+ rowHeight: rowHeight,
41
+ headerRowNum: headerRowNum,
42
+ manualFiltering: manualFiltering
43
+ });
44
+ return /*#__PURE__*/_jsxs("table", {
45
+ children: [/*#__PURE__*/_jsx("colgroup", {
46
+ children: headers.map(function (header) {
47
+ var _header$column;
48
+ var size = (header === null || header === void 0 || (_header$column = header.column) === null || _header$column === void 0 ? void 0 : _header$column.getSize()) || 120;
49
+ return /*#__PURE__*/_jsx("col", {
50
+ width: size
51
+ }, header.id);
52
+ })
53
+ }), /*#__PURE__*/_jsx("thead", {
54
+ children: headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(function (headerGroup) {
55
+ return /*#__PURE__*/_jsx("tr", {
56
+ className: "table-thead-tr cus-table-thead-tr",
57
+ style: {
58
+ height: hasGroup && headerGroup.depth === 0 ? "".concat(rowHeight, "px") : 'auto',
59
+ width: '100%'
60
+ },
61
+ children: headerGroup.headers.map(function (header) {
62
+ return /*#__PURE__*/_jsx("th", {
63
+ colSpan: header.colSpan,
64
+ style: _objectSpread({}, getPinningStyle(header, table, true)),
65
+ children: header.isPlaceholder || header.id === 'placeholder-column' ? null : /*#__PURE__*/_jsx(Cell, {
66
+ tableContentRef: tableContentRef,
67
+ header: header,
68
+ table: table,
69
+ hasGroup: hasGroup,
70
+ canSorting: canSorting,
71
+ getHeaderCellProps: getHeaderCellProps,
72
+ columnResizeMode: columnResizeMode,
73
+ disableColumnDrag: disableColumnDrag,
74
+ headerRowNum: headerRowNum,
75
+ canFilter: canFilter,
76
+ manualFiltering: manualFiltering,
77
+ getDynamicFilterOptionsFn: getDynamicFilterOptionsFn
78
+ }, header.id)
79
+ }, header.id);
80
+ })
81
+ }, headerGroup.id);
82
+ })
83
+ })]
84
+ });
85
+ };
86
+ export { OriginalTableHeader };
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const TableHeader: React.FC<any>;