ds-web-all 1.0.1-beta.21 → 1.0.1-beta.22

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.
@@ -60,8 +60,8 @@
60
60
 
61
61
  .section-caption {
62
62
  display: flex;
63
- align-items: center;
64
- justify-content: flex-end;
63
+ flex-direction: row-reverse;
64
+ justify-content: space-between;
65
65
  align-items: center;
66
66
  margin: 16px 0;
67
67
  }
@@ -0,0 +1,444 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.VList = VList;
7
+ exports.scrollTo = scrollTo;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _lodashEs = require("lodash-es");
10
+ require("./style.css");
11
+ var _excluded = ["children"],
12
+ _excluded2 = ["children", "style"],
13
+ _excluded3 = ["children"],
14
+ _excluded4 = ["style", "children"],
15
+ _excluded5 = ["width"];
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ 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); }
19
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
20
+ 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."); }
21
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
22
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
23
+ 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; } }
24
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
25
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
26
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
27
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
28
+ 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; }
29
+ 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; }
30
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
31
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
32
+ 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); } /* eslint-disable arrow-body-style */
33
+ // ==============全局常量 ================== //
34
+ var DEFAULT_VID = 'vtable';
35
+ var vidMap = new Map();
36
+ var debounceListRender;
37
+
38
+ // ===============reducer ============== //
39
+ var initialState = {
40
+ // 行高度
41
+ rowHeight: 0,
42
+ // 当前的scrollTop
43
+ curScrollTop: 0,
44
+ // 总行数
45
+ totalLen: 0
46
+ };
47
+ function reducer(state, action) {
48
+ var curScrollTop = action.curScrollTop,
49
+ rowHeight = action.rowHeight,
50
+ totalLen = action.totalLen,
51
+ ifScrollTopClear = action.ifScrollTopClear;
52
+ var stateScrollTop = state.curScrollTop;
53
+ switch (action.type) {
54
+ // 改变trs 即 改变渲染的列表trs
55
+ case 'changeTrs':
56
+ return _objectSpread(_objectSpread({}, state), {}, {
57
+ curScrollTop: curScrollTop
58
+ });
59
+ // 初始化每行的高度, 表格总高度, 渲染的条数
60
+ case 'initHeight':
61
+ return _objectSpread(_objectSpread({}, state), {}, {
62
+ rowHeight: rowHeight
63
+ });
64
+ // 更改totalLen
65
+ case 'changeTotalLen':
66
+ if (totalLen === 0) {
67
+ stateScrollTop = 0;
68
+ }
69
+ return _objectSpread(_objectSpread({}, state), {}, {
70
+ totalLen: totalLen,
71
+ curScrollTop: stateScrollTop
72
+ });
73
+ case 'reset':
74
+ return _objectSpread(_objectSpread({}, state), {}, {
75
+ curScrollTop: ifScrollTopClear ? 0 : state.curScrollTop
76
+ });
77
+ default:
78
+ throw new Error();
79
+ }
80
+ }
81
+
82
+ // ===============context ============== //
83
+ var ScrollContext = /*#__PURE__*/(0, _react.createContext)({
84
+ dispatch: undefined,
85
+ renderLen: 1,
86
+ start: 0,
87
+ offsetStart: 0,
88
+ // =============
89
+ rowHeight: initialState.rowHeight,
90
+ totalLen: 0,
91
+ vid: DEFAULT_VID
92
+ });
93
+
94
+ // =============组件 =================== //
95
+
96
+ function VCell(props) {
97
+ var children = props.children,
98
+ restProps = _objectWithoutProperties(props, _excluded);
99
+ return /*#__PURE__*/_react.default.createElement("td", restProps, /*#__PURE__*/_react.default.createElement("div", null, children));
100
+ }
101
+ function VRow(props, ref) {
102
+ var _useContext = (0, _react.useContext)(ScrollContext),
103
+ dispatch = _useContext.dispatch,
104
+ rowHeight = _useContext.rowHeight,
105
+ totalLen = _useContext.totalLen,
106
+ vid = _useContext.vid;
107
+ var children = props.children,
108
+ style = props.style,
109
+ restProps = _objectWithoutProperties(props, _excluded2);
110
+ var trRef = (0, _react.useRef)(null);
111
+ (0, _react.useEffect)(function () {
112
+ var initHeight = function initHeight(tempRef) {
113
+ var _tempRef$current;
114
+ if ((tempRef === null || tempRef === void 0 ? void 0 : (_tempRef$current = tempRef.current) === null || _tempRef$current === void 0 ? void 0 : _tempRef$current.offsetHeight) && !rowHeight && totalLen) {
115
+ var _tempRef$current$offs, _tempRef$current2;
116
+ var tempRowHeight = (_tempRef$current$offs = tempRef === null || tempRef === void 0 ? void 0 : (_tempRef$current2 = tempRef.current) === null || _tempRef$current2 === void 0 ? void 0 : _tempRef$current2.offsetHeight) !== null && _tempRef$current$offs !== void 0 ? _tempRef$current$offs : 0;
117
+ vidMap.set(vid, _objectSpread(_objectSpread({}, vidMap.get(vid)), {}, {
118
+ rowItemHeight: tempRowHeight
119
+ }));
120
+ dispatch({
121
+ type: 'initHeight',
122
+ rowHeight: tempRowHeight
123
+ });
124
+ }
125
+ };
126
+ initHeight(Object.prototype.hasOwnProperty.call(ref, 'current') ? ref : trRef);
127
+ }, [trRef, dispatch, rowHeight, totalLen, ref, vid]);
128
+ return /*#__PURE__*/_react.default.createElement("tr", _extends({}, restProps, {
129
+ ref: Object.prototype.hasOwnProperty.call(ref, 'current') ? ref : trRef,
130
+ style: _objectSpread(_objectSpread({}, style), {}, {
131
+ height: rowHeight || 'auto',
132
+ boxSizing: 'border-box'
133
+ })
134
+ }), children);
135
+ }
136
+ function VWrapper(props) {
137
+ var children = props.children,
138
+ restProps = _objectWithoutProperties(props, _excluded3);
139
+ var _useContext2 = (0, _react.useContext)(ScrollContext),
140
+ renderLen = _useContext2.renderLen,
141
+ start = _useContext2.start,
142
+ dispatch = _useContext2.dispatch,
143
+ vid = _useContext2.vid,
144
+ totalLen = _useContext2.totalLen;
145
+ var contents = (0, _react.useMemo)(function () {
146
+ return children[1];
147
+ }, [children]);
148
+ var contentsLen = (0, _react.useMemo)(function () {
149
+ var _contents$length;
150
+ return (_contents$length = contents === null || contents === void 0 ? void 0 : contents.length) !== null && _contents$length !== void 0 ? _contents$length : 0;
151
+ }, [contents]);
152
+ (0, _react.useEffect)(function () {
153
+ if (totalLen !== contentsLen) {
154
+ dispatch({
155
+ type: 'changeTotalLen',
156
+ totalLen: contentsLen !== null && contentsLen !== void 0 ? contentsLen : 0
157
+ });
158
+ }
159
+ }, [contentsLen, dispatch, vid, totalLen]);
160
+ var tempNode = null;
161
+ if (Array.isArray(contents) && contents.length) {
162
+ tempNode = [children[0], contents.slice(start, start + (renderLen !== null && renderLen !== void 0 ? renderLen : 1)).map(function (item) {
163
+ if (Array.isArray(item)) {
164
+ // 兼容antd v4.3.5 --- rc-table 7.8.1及以下
165
+ return item[0];
166
+ }
167
+ // 处理antd ^v4.4.0 --- rc-table ^7.8.2
168
+ return item;
169
+ })];
170
+ } else {
171
+ tempNode = children;
172
+ }
173
+ return /*#__PURE__*/_react.default.createElement("tbody", restProps, tempNode);
174
+ }
175
+ function VTable(props, otherParams) {
176
+ var _children$1$props$dat, _children$, _children$$props, _children$$props$data, _vidMap$get2;
177
+ var style = props.style,
178
+ children = props.children,
179
+ rest = _objectWithoutProperties(props, _excluded4);
180
+ var width = style.width,
181
+ rest_style = _objectWithoutProperties(style, _excluded5);
182
+ var _ref = otherParams !== null && otherParams !== void 0 ? otherParams : {},
183
+ vid = _ref.vid,
184
+ scrollY = _ref.scrollY,
185
+ reachEnd = _ref.reachEnd,
186
+ onScroll = _ref.onScroll,
187
+ resetScrollTopWhenDataChange = _ref.resetScrollTopWhenDataChange;
188
+ var _useReducer = (0, _react.useReducer)(reducer, initialState),
189
+ _useReducer2 = _slicedToArray(_useReducer, 2),
190
+ state = _useReducer2[0],
191
+ dispatch = _useReducer2[1];
192
+ var wrap_tableRef = (0, _react.useRef)(null);
193
+ var tableRef = (0, _react.useRef)(null);
194
+
195
+ // 数据的总条数
196
+ var _useState = (0, _react.useState)((_children$1$props$dat = (_children$ = children[1]) === null || _children$ === void 0 ? void 0 : (_children$$props = _children$.props) === null || _children$$props === void 0 ? void 0 : (_children$$props$data = _children$$props.data) === null || _children$$props$data === void 0 ? void 0 : _children$$props$data.length) !== null && _children$1$props$dat !== void 0 ? _children$1$props$dat : 0),
197
+ _useState2 = _slicedToArray(_useState, 2),
198
+ totalLen = _useState2[0],
199
+ setTotalLen = _useState2[1];
200
+ (0, _react.useEffect)(function () {
201
+ setTotalLen(state.totalLen);
202
+ }, [state.totalLen]);
203
+
204
+ // 组件卸载的清除操作
205
+ (0, _react.useEffect)(function () {
206
+ return function () {
207
+ vidMap.delete(vid);
208
+ };
209
+ }, [vid]);
210
+
211
+ // table总高度
212
+ var tableHeight = (0, _react.useMemo)(function () {
213
+ var temp = 'auto';
214
+ if (state.rowHeight && totalLen) {
215
+ temp = state.rowHeight * totalLen;
216
+ }
217
+ return temp;
218
+ }, [state.rowHeight, totalLen]);
219
+
220
+ // table的scrollY值
221
+ var _useState3 = (0, _react.useState)(0),
222
+ _useState4 = _slicedToArray(_useState3, 2),
223
+ tableScrollY = _useState4[0],
224
+ setTableScrollY = _useState4[1];
225
+
226
+ // tableScrollY 随scrollY / tableHeight 进行变更
227
+ (0, _react.useEffect)(function () {
228
+ var temp = 0;
229
+ if (typeof scrollY === 'string') {
230
+ var _offsetHeight, _wrap_tableRef$curren, _wrap_tableRef$curren2;
231
+ temp = (_offsetHeight = (_wrap_tableRef$curren = wrap_tableRef.current) === null || _wrap_tableRef$curren === void 0 ? void 0 : (_wrap_tableRef$curren2 = _wrap_tableRef$curren.parentNode) === null || _wrap_tableRef$curren2 === void 0 ? void 0 : _wrap_tableRef$curren2.offsetHeight) !== null && _offsetHeight !== void 0 ? _offsetHeight : 0;
232
+ } else {
233
+ temp = scrollY;
234
+ }
235
+
236
+ // if (isNumber(tableHeight) && tableHeight < temp) {
237
+ // temp = tableHeight;
238
+ // }
239
+
240
+ // 处理tableScrollY <= 0的情况
241
+ if (temp <= 0) {
242
+ temp = 0;
243
+ }
244
+ setTableScrollY(temp);
245
+ }, [scrollY, tableHeight]);
246
+
247
+ // 渲染的条数
248
+ var renderLen = (0, _react.useMemo)(function () {
249
+ var temp = 1;
250
+ if (state.rowHeight && totalLen && tableScrollY) {
251
+ if (tableScrollY <= 0) {
252
+ temp = 0;
253
+ } else {
254
+ var tempRenderLen = (tableScrollY / state.rowHeight | 0) + 1 + 2;
255
+ // console.log('tempRenderLen', tempRenderLen)
256
+ // temp = tempRenderLen > totalLen ? totalLen : tempRenderLen;
257
+ temp = tempRenderLen;
258
+ }
259
+ }
260
+ return temp;
261
+ }, [state.rowHeight, totalLen, tableScrollY]);
262
+
263
+ // 渲染中的第一条
264
+ var start = state.rowHeight ? state.curScrollTop / state.rowHeight | 0 : 0;
265
+
266
+ // 偏移量
267
+ var offsetStart = state.rowHeight ? state.curScrollTop % state.rowHeight : 0;
268
+
269
+ // 用来优化向上滚动出现的空白
270
+ if (state.curScrollTop && state.rowHeight && state.curScrollTop > state.rowHeight) {
271
+ start -= 1;
272
+ offsetStart += state.rowHeight;
273
+ } else {
274
+ start = 0;
275
+ }
276
+
277
+ // 数据变更 操作scrollTop
278
+ (0, _react.useEffect)(function () {
279
+ var _wrap_tableRef$curren3;
280
+ var scrollNode = (_wrap_tableRef$curren3 = wrap_tableRef.current) === null || _wrap_tableRef$curren3 === void 0 ? void 0 : _wrap_tableRef$curren3.parentNode;
281
+ if (resetScrollTopWhenDataChange) {
282
+ // 重置scrollTop
283
+ if (scrollNode) {
284
+ scrollNode.scrollTop = 0;
285
+ }
286
+ dispatch({
287
+ type: 'reset',
288
+ ifScrollTopClear: true
289
+ });
290
+ } else {
291
+ // 不重置scrollTop 不清空curScrollTop
292
+ dispatch({
293
+ type: 'reset',
294
+ ifScrollTopClear: false
295
+ });
296
+ }
297
+ if (vidMap.has(vid)) {
298
+ vidMap.set(vid, _objectSpread(_objectSpread({}, vidMap.get(vid)), {}, {
299
+ scrollNode: scrollNode
300
+ }));
301
+ }
302
+ }, [totalLen, resetScrollTopWhenDataChange, vid, children]);
303
+ (0, _react.useEffect)(function () {
304
+ var _wrap_tableRef$curren4;
305
+ var throttleScroll = (0, _lodashEs.throttle)(function (e) {
306
+ var _vidMap$get, _e$target$scrollTop, _e$target, _e$target$scrollHeigh, _e$target2, _e$target$clientHeigh, _e$target3;
307
+ var historyScrollHeight = (_vidMap$get = vidMap.get(vid)) === null || _vidMap$get === void 0 ? void 0 : _vidMap$get.scrollHeight;
308
+ var scrollTop = (_e$target$scrollTop = e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.scrollTop) !== null && _e$target$scrollTop !== void 0 ? _e$target$scrollTop : 0;
309
+ var scrollHeight = (_e$target$scrollHeigh = e === null || e === void 0 ? void 0 : (_e$target2 = e.target) === null || _e$target2 === void 0 ? void 0 : _e$target2.scrollHeight) !== null && _e$target$scrollHeigh !== void 0 ? _e$target$scrollHeigh : 0;
310
+ var clientHeight = (_e$target$clientHeigh = e === null || e === void 0 ? void 0 : (_e$target3 = e.target) === null || _e$target3 === void 0 ? void 0 : _e$target3.clientHeight) !== null && _e$target$clientHeigh !== void 0 ? _e$target$clientHeigh : 0;
311
+
312
+ // 到底了 没有滚动条就不会触发reachEnd. 建议设置scrolly高度少点或者数据量多点.
313
+ if (scrollTop === scrollHeight) {
314
+ // reachEnd && reachEnd()
315
+ } else if (scrollTop + clientHeight >= scrollHeight && historyScrollHeight !== scrollHeight) {
316
+ // 相同的tableData情况下, 上次reachEnd执行后, scrollHeight不变, 则不会再次请求reachEnd
317
+ vidMap.set(vid, _objectSpread(_objectSpread({}, vidMap.get(vid)), {}, {
318
+ scrollHeight: scrollHeight
319
+ }));
320
+ // 有滚动条的情况
321
+ // eslint-disable-next-line no-unused-expressions
322
+ reachEnd && reachEnd();
323
+ }
324
+
325
+ // eslint-disable-next-line no-unused-expressions
326
+ onScroll && onScroll();
327
+
328
+ // 若renderLen大于totalLen, 置空curScrollTop. => table paddingTop会置空.
329
+ dispatch({
330
+ type: 'changeTrs',
331
+ curScrollTop: renderLen <= totalLen ? scrollTop : 0,
332
+ vid: vid
333
+ });
334
+ }, 60);
335
+ var ref = wrap_tableRef === null || wrap_tableRef === void 0 ? void 0 : (_wrap_tableRef$curren4 = wrap_tableRef.current) === null || _wrap_tableRef$curren4 === void 0 ? void 0 : _wrap_tableRef$curren4.parentNode;
336
+ if (ref) {
337
+ ref.addEventListener('scroll', throttleScroll);
338
+ }
339
+ return function () {
340
+ ref.removeEventListener('scroll', throttleScroll);
341
+ };
342
+ }, [onScroll, reachEnd, renderLen, totalLen, vid]);
343
+ debounceListRender(start, renderLen);
344
+ return /*#__PURE__*/_react.default.createElement("div", {
345
+ className: "virtuallist",
346
+ ref: wrap_tableRef,
347
+ style: {
348
+ width: '100%',
349
+ position: 'relative',
350
+ height: tableHeight,
351
+ boxSizing: 'border-box',
352
+ paddingTop: state.curScrollTop
353
+ }
354
+ }, /*#__PURE__*/_react.default.createElement(ScrollContext.Provider, {
355
+ value: {
356
+ dispatch: dispatch,
357
+ rowHeight: vidMap === null || vidMap === void 0 ? void 0 : (_vidMap$get2 = vidMap.get(vid)) === null || _vidMap$get2 === void 0 ? void 0 : _vidMap$get2.rowItemHeight,
358
+ start: start,
359
+ offsetStart: offsetStart,
360
+ renderLen: renderLen,
361
+ totalLen: totalLen,
362
+ vid: vid
363
+ }
364
+ }, /*#__PURE__*/_react.default.createElement("table", _extends({}, rest, {
365
+ ref: tableRef,
366
+ style: _objectSpread(_objectSpread({}, rest_style), {}, {
367
+ width: width,
368
+ position: 'relative',
369
+ transform: "translateY(-".concat(offsetStart, "px)")
370
+ })
371
+ }), children)));
372
+ }
373
+
374
+ // ================导出===================
375
+ function VList(props) {
376
+ var _props$vid = props.vid,
377
+ vid = _props$vid === void 0 ? DEFAULT_VID : _props$vid,
378
+ height = props.height,
379
+ onReachEnd = props.onReachEnd,
380
+ onScroll = props.onScroll,
381
+ onListRender = props.onListRender,
382
+ debounceListRenderMS = props.debounceListRenderMS,
383
+ _props$resetTopWhenDa = props.resetTopWhenDataChange,
384
+ resetTopWhenDataChange = _props$resetTopWhenDa === void 0 ? true : _props$resetTopWhenDa;
385
+ var resetScrollTopWhenDataChange = onReachEnd ? false : resetTopWhenDataChange;
386
+ if (!vidMap.has(vid)) {
387
+ vidMap.set(vid, {
388
+ _id: vid
389
+ });
390
+ }
391
+ debounceListRender = onListRender ? (0, _lodashEs.debounce)(function (_start, _renderLen) {
392
+ onListRender({
393
+ start: _start,
394
+ renderLen: _renderLen
395
+ });
396
+ }, debounceListRenderMS !== null && debounceListRenderMS !== void 0 ? debounceListRenderMS : 300) : function () {};
397
+ return {
398
+ table: function table(p) {
399
+ return VTable(p, {
400
+ vid: vid,
401
+ scrollY: height,
402
+ reachEnd: onReachEnd,
403
+ onScroll: onScroll,
404
+ onListRender: onListRender,
405
+ resetScrollTopWhenDataChange: resetScrollTopWhenDataChange
406
+ });
407
+ },
408
+ body: {
409
+ wrapper: VWrapper,
410
+ row: VRow,
411
+ cell: VCell
412
+ }
413
+ };
414
+ }
415
+ function scrollTo(option) {
416
+ var row = option.row,
417
+ y = option.y,
418
+ _option$vid = option.vid,
419
+ vid = _option$vid === void 0 ? DEFAULT_VID : _option$vid;
420
+ try {
421
+ var _vidMap$get3 = vidMap.get(vid),
422
+ scrollNode = _vidMap$get3.scrollNode,
423
+ rowItemHeight = _vidMap$get3.rowItemHeight;
424
+ if (row) {
425
+ if (row - 1 > 0) {
426
+ scrollNode.scrollTop = (row - 1) * (rowItemHeight !== null && rowItemHeight !== void 0 ? rowItemHeight : 0);
427
+ } else {
428
+ scrollNode.scrollTop = 0;
429
+ }
430
+ } else {
431
+ scrollNode.scrollTop = y !== null && y !== void 0 ? y : 0;
432
+ }
433
+ return {
434
+ vid: vid,
435
+ rowItemHeight: rowItemHeight
436
+ };
437
+ } catch (e) {
438
+ console.error('dont call scrollTo before init table');
439
+ return {
440
+ vid: vid,
441
+ rowItemHeight: -1
442
+ };
443
+ }
444
+ }
@@ -78,7 +78,8 @@ var _default = exports.default = function _default(_ref2) {
78
78
  } : _ref2$requestDataForm,
79
79
  _ref2$moduleRoute = _ref2.moduleRoute,
80
80
  moduleRoute = _ref2$moduleRoute === void 0 ? '\\*' : _ref2$moduleRoute,
81
- dataSourceFormatter = _ref2.dataSourceFormatter;
81
+ dataSourceFormatter = _ref2.dataSourceFormatter,
82
+ extraTransparentParams = _ref2.extraTransparentParams;
82
83
  var match = (0, _reactRouterDom.useRouteMatch)();
83
84
  var history = (0, _reactRouterDom.useHistory)();
84
85
  var _useUnmounted = (0, _useUnmounted3.default)(),
@@ -634,7 +635,8 @@ var _default = exports.default = function _default(_ref2) {
634
635
  generateUrlByTreePaths: generateUrlByTreePaths,
635
636
  isInTree: true,
636
637
  firstLoaded: firstLoaded,
637
- updateDataSource: updateDataSource
638
+ updateDataSource: updateDataSource,
639
+ extraTransparentParams: extraTransparentParams
638
640
  };
639
641
  };
640
642
  var ComposeTreeContext = exports.ComposeTreeContext = /*#__PURE__*/_react.default.createContext(null);
@@ -31,7 +31,7 @@ var _blank = require("../blank");
31
31
  var _useComposeTree = _interopRequireWildcard(require("./hooks/use-compose-tree"));
32
32
  require("./index.less");
33
33
  var _excluded = ["onSelect", "onUserSelect", "routerConfig", "treeColWidth", "request", "renderSearchExtra", "groupTypeList", "typeKey", "renderTree"],
34
- _excluded2 = ["request", "extendModuleMap", "firstLoadAll", "expandAllTree", "typeKey", "groupTypeList", "requestDataFormatter", "moduleRoute", "dataSourceFormatter"];
34
+ _excluded2 = ["request", "extendModuleMap", "firstLoadAll", "expandAllTree", "typeKey", "groupTypeList", "requestDataFormatter", "moduleRoute", "dataSourceFormatter", "extraTransparentParams"];
35
35
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
36
36
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
37
37
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -163,6 +163,7 @@ var _default = exports.default = /*#__PURE__*/(0, _react.forwardRef)(function (_
163
163
  requestDataFormatter = _ref3.requestDataFormatter,
164
164
  moduleRoute = _ref3.moduleRoute,
165
165
  dataSourceFormatter = _ref3.dataSourceFormatter,
166
+ extraTransparentParams = _ref3.extraTransparentParams,
166
167
  others = _objectWithoutProperties(_ref3, _excluded2);
167
168
  var composeTreeContext = (0, _useComposeTree.default)({
168
169
  request: {
@@ -175,7 +176,8 @@ var _default = exports.default = /*#__PURE__*/(0, _react.forwardRef)(function (_
175
176
  groupTypeList: groupTypeList,
176
177
  requestDataFormatter: requestDataFormatter,
177
178
  moduleRoute: moduleRoute,
178
- dataSourceFormatter: dataSourceFormatter
179
+ dataSourceFormatter: dataSourceFormatter,
180
+ extraTransparentParams: extraTransparentParams
179
181
  });
180
182
  (0, _react.useImperativeHandle)(ref, function () {
181
183
  return {
@@ -41,6 +41,8 @@ var Splitter = function Splitter(_ref) {
41
41
  _ref$disabledHideBar = _ref.disabledHideBar,
42
42
  disabledHideBar = _ref$disabledHideBar === void 0 ? true : _ref$disabledHideBar,
43
43
  className = _ref.className,
44
+ _ref$sizes = _ref.sizes,
45
+ sizes = _ref$sizes === void 0 ? [] : _ref$sizes,
44
46
  style = _ref.style;
45
47
  var splitterRef = (0, _react.useRef)(null);
46
48
  var _useRefState = (0, _useRefState3.default)([]),
@@ -50,19 +52,22 @@ var Splitter = function Splitter(_ref) {
50
52
  cacheSizesRef = _useRefState2[2];
51
53
  var panels = (0, _react.useMemo)(function () {
52
54
  return (Array.isArray(children) ? children : [children]).filter(_react.isValidElement).map(function (node, i) {
53
- var _props$size;
54
55
  var _ref2 = node,
55
56
  props = _ref2.props;
56
- return _objectSpread(_objectSpread({}, props), {}, {
57
- size: (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : cacheSizes[i]
58
- });
57
+ return _objectSpread({}, props);
58
+ });
59
+ }, [children]);
60
+ var propSizes = (0, _react.useMemo)(function () {
61
+ return panels.map(function (el, i) {
62
+ var _cacheSizes$i;
63
+ return (_cacheSizes$i = cacheSizes[i]) !== null && _cacheSizes$i !== void 0 ? _cacheSizes$i : sizes[i];
59
64
  });
60
- }, [cacheSizes, children]);
65
+ }, [cacheSizes, sizes, panels]);
61
66
  var _useState = (0, _react.useState)(0),
62
67
  _useState2 = _slicedToArray(_useState, 2),
63
68
  containerSize = _useState2[0],
64
69
  setContainerSize = _useState2[1];
65
- var _useSizes = (0, _useSize.default)(panels, containerSize),
70
+ var _useSizes = (0, _useSize.default)(panels, propSizes, containerSize),
66
71
  panelSizes = _useSizes.panelSizes;
67
72
  (0, _react.useEffect)(function () {
68
73
  var observer = new ResizeObserver(function (entries) {
@@ -82,7 +87,8 @@ var Splitter = function Splitter(_ref) {
82
87
  var moveBar = (0, _react.useRef)({
83
88
  oldSizePrev: 0,
84
89
  oldSizeNext: 0,
85
- index: -1
90
+ index: -1,
91
+ sizes: []
86
92
  });
87
93
  var _useMouseMove = (0, _useMouseMove2.default)({
88
94
  start: function start(e, i) {
@@ -90,7 +96,8 @@ var Splitter = function Splitter(_ref) {
90
96
  moveBar.current = {
91
97
  index: i,
92
98
  oldSizePrev: panelSizes[i - 1],
93
- oldSizeNext: panelSizes[i]
99
+ oldSizeNext: panelSizes[i],
100
+ sizes: _toConsumableArray(panelSizes)
94
101
  };
95
102
  return true;
96
103
  },
@@ -108,16 +115,14 @@ var Splitter = function Splitter(_ref) {
108
115
  end: function end(_ref4) {
109
116
  var changeX = _ref4.changeX,
110
117
  changeY = _ref4.changeY;
111
- console.log(changeX, changeY);
112
118
  if (moveBar.current.index === -1) return;
113
119
  var changePt = layout === 'horizontal' ? changeX : changeY;
114
- setCacheSizes(function (old) {
115
- old[moveBar.current.index - 1] = Math.max(0, Math.min(moveBar.current.oldSizePrev + moveBar.current.oldSizeNext, moveBar.current.oldSizePrev + changePt));
116
- old[moveBar.current.index] = Math.max(0, Math.min(moveBar.current.oldSizePrev + moveBar.current.oldSizeNext, moveBar.current.oldSizeNext - changePt));
117
- return _toConsumableArray(old);
118
- });
120
+ var old = _toConsumableArray(cacheSizesRef.current);
121
+ old[moveBar.current.index - 1] = Math.max(0, Math.min(moveBar.current.oldSizePrev + moveBar.current.oldSizeNext, moveBar.current.oldSizePrev + changePt));
122
+ old[moveBar.current.index] = Math.max(0, Math.min(moveBar.current.oldSizePrev + moveBar.current.oldSizeNext, moveBar.current.oldSizeNext - changePt));
123
+ onResize === null || onResize === void 0 ? void 0 : onResize(old);
124
+ setCacheSizes([]);
119
125
  moveBar.current.index = -1;
120
- onResize === null || onResize === void 0 ? void 0 : onResize(cacheSizesRef.current);
121
126
  }
122
127
  }),
123
128
  _onMouseDown = _useMouseMove.onMouseDown,
@@ -10,7 +10,19 @@
10
10
  flex: 0 0 0;
11
11
  .ss-splitter-bar-dragger {
12
12
  position: relative;
13
- background-color: #f0f0f0;
13
+ &::before {
14
+ display: block;
15
+ content: '';
16
+ width: 100%;
17
+ height: 100%;
18
+ background-color: #f0f0f0;
19
+ }
20
+ &:hover {
21
+ background-color: var(--ant-primary-2, #e6f7ff);
22
+ &::before {
23
+ background-color: transparent;
24
+ }
25
+ }
14
26
  }
15
27
  }
16
28
  .ss-splitter-panel {
@@ -23,9 +35,14 @@
23
35
  .ss-splitter-bar-dragger {
24
36
  cursor: row-resize;
25
37
  width: 100%;
26
- height: 2px;
27
- top: -1px;
38
+ height: 6px;
39
+ top: -3px;
40
+ box-sizing: border-box;
41
+ padding: 2px 0;
28
42
  left: 0;
43
+ &::before {
44
+ height: 2px;
45
+ }
29
46
  }
30
47
  }
31
48
  .ss-splitter-panel {
@@ -39,9 +56,14 @@
39
56
  .ss-splitter-bar-dragger {
40
57
  cursor: col-resize;
41
58
  height: 100%;
42
- width: 2px;
43
- left: -1px;
59
+ width: 6px;
60
+ left: -3px;
61
+ box-sizing: border-box;
62
+ padding: 0 2px;
44
63
  top: 0;
64
+ &::before {
65
+ width: 2px;
66
+ }
45
67
  }
46
68
  }
47
69
  .ss-splitter-panel {
@@ -11,13 +11,8 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
11
11
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
12
12
  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; } }
13
13
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /* eslint-disable no-plusplus */
14
- var useSizes = function useSizes(panelPropList) {
15
- var containerSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
16
- var propSizes = (0, _react.useMemo)(function () {
17
- return panelPropList.map(function (el) {
18
- return el.size;
19
- });
20
- }, [panelPropList]);
14
+ var useSizes = function useSizes(panelPropList, propSizes) {
15
+ var containerSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
21
16
  var _useState = (0, _react.useState)(function () {
22
17
  return panelPropList.map(function (el) {
23
18
  return el.defaultSize;
@@ -30,16 +30,23 @@ var _tooltip = _interopRequireDefault(require("antd/es/tooltip"));
30
30
  var _react = _interopRequireWildcard(require("react"));
31
31
  var _icons = require("@ant-design/icons");
32
32
  var _classnames = _interopRequireDefault(require("classnames"));
33
- var _virtuallistAntd = require("virtuallist-antd");
34
33
  var _loading = _interopRequireDefault(require("../loading"));
35
34
  var _comsMap = _interopRequireWildcard(require("./coms-map"));
36
35
  var _interface = require("./interface");
37
36
  require("./index.less");
38
37
  var _excluded = ["columns", "dataSource", "cellClassName", "comsMap", "checkable", "selectedRowKeys", "onSelectAll", "onSelect", "primaryKey", "onPageChange", "onEmit", "scroll", "size", "virtuallistParams", "fixFirstColumn"],
39
- _excluded2 = ["name", "label", "width", "uiType", "className", "props", "cell", "render", "help", "fixed", "children"];
38
+ _excluded2 = ["name", "label", "width", "uiType", "className", "props", "cell", "render", "help", "fixed", "children"],
39
+ _excluded3 = ["children"],
40
+ _excluded4 = ["children"];
40
41
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
41
42
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
42
43
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
44
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
45
+ 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."); }
46
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
47
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
48
+ 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; } }
49
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
43
50
  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; }
44
51
  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; }
45
52
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -218,21 +225,119 @@ function CFTable(_ref2) {
218
225
  };
219
226
  }
220
227
  }, [columns]);
221
- var VcComponent = (0, _react.useMemo)(function () {
222
- if (virtuallistParams) {
223
- return (0, _virtuallistAntd.VList)({
224
- height: virtuallistParams === null || virtuallistParams === void 0 ? void 0 : virtuallistParams.height,
225
- resetTopWhenDataChange: false
226
- });
227
- }
228
- }, [virtuallistParams === null || virtuallistParams === void 0 ? void 0 : virtuallistParams.height]);
229
228
  var finalScroll = _objectSpread(_objectSpread({}, _scroll), scroll || {});
229
+ var scrollTopRef = (0, _react.useRef)(0);
230
+ var VirtualTableContext = /*#__PURE__*/(0, _react.createContext)({
231
+ childrenLen: 0,
232
+ scrollTop: 0,
233
+ startRowIndex: 0,
234
+ startOffset: 0,
235
+ endRowIndex: 0,
236
+ dispatch: function dispatch(params) {}
237
+ });
238
+ var VcComponent = (0, _react.useMemo)(function () {
239
+ return {
240
+ table: function table(_ref4) {
241
+ var tableChildren = _ref4.children,
242
+ restProps = _objectWithoutProperties(_ref4, _excluded3);
243
+ var _useState = (0, _react.useState)(0),
244
+ _useState2 = _slicedToArray(_useState, 2),
245
+ childrenLen = _useState2[0],
246
+ setChildrenLen = _useState2[1];
247
+ var _useState3 = (0, _react.useState)(scrollTopRef.current),
248
+ _useState4 = _slicedToArray(_useState3, 2),
249
+ scrollTop = _useState4[0],
250
+ setScrollTop = _useState4[1];
251
+ var scrollChildRef = (0, _react.useRef)(null);
252
+ var _useMemo = (0, _react.useMemo)(function () {
253
+ var _virtuallistParams$he;
254
+ var rowHeight = (_virtuallistParams$he = virtuallistParams === null || virtuallistParams === void 0 ? void 0 : virtuallistParams.height) !== null && _virtuallistParams$he !== void 0 ? _virtuallistParams$he : 40;
255
+ var startRowIndex = Math.floor(scrollTop / rowHeight);
256
+ var startOffset = scrollTop - startRowIndex * rowHeight;
257
+ var endRowIndex = Math.ceil((scrollTop + finalScroll.y) / rowHeight);
258
+ return [startRowIndex, startOffset, endRowIndex];
259
+ }, [scrollTop, virtuallistParams === null || virtuallistParams === void 0 ? void 0 : virtuallistParams.height, finalScroll.y]),
260
+ _useMemo2 = _slicedToArray(_useMemo, 3),
261
+ startRowIndex = _useMemo2[0],
262
+ startOffset = _useMemo2[1],
263
+ endRowIndex = _useMemo2[2];
264
+ var dispatch = function dispatch(_ref5) {
265
+ var type = _ref5.type,
266
+ payload = _ref5.payload;
267
+ switch (type) {
268
+ case 'childrenLen':
269
+ setChildrenLen(payload);
270
+ break;
271
+ case 'scrollTop':
272
+ setScrollTop(payload);
273
+ break;
274
+ }
275
+ };
276
+ var onVirtualScroll = function onVirtualScroll(e) {
277
+ scrollTopRef.current = e.target.scrollTop;
278
+ setScrollTop(e.target.scrollTop);
279
+ };
280
+ (0, _react.useEffect)(function () {
281
+ var _scrollChildRef$curre;
282
+ var scrollEle = (_scrollChildRef$curre = scrollChildRef.current) === null || _scrollChildRef$curre === void 0 ? void 0 : _scrollChildRef$curre.parentNode;
283
+ if (scrollEle) {
284
+ scrollEle.scrollTop = scrollTopRef.current;
285
+ scrollEle.addEventListener('scroll', onVirtualScroll);
286
+ }
287
+ return function () {
288
+ if (scrollEle) {
289
+ scrollEle.removeEventListener('scroll', onVirtualScroll);
290
+ }
291
+ };
292
+ }, []);
293
+ return /*#__PURE__*/_react.default.createElement(VirtualTableContext.Provider, {
294
+ value: {
295
+ childrenLen: childrenLen,
296
+ scrollTop: scrollTop,
297
+ startRowIndex: startRowIndex,
298
+ startOffset: startOffset,
299
+ endRowIndex: endRowIndex,
300
+ dispatch: dispatch
301
+ }
302
+ }, /*#__PURE__*/_react.default.createElement("div", {
303
+ ref: scrollChildRef,
304
+ style: {
305
+ boxSizing: 'border-box',
306
+ height: ((virtuallistParams === null || virtuallistParams === void 0 ? void 0 : virtuallistParams.height) || 40) * childrenLen,
307
+ paddingTop: scrollTop
308
+ }
309
+ }, /*#__PURE__*/_react.default.createElement("table", _extends({}, restProps, {
310
+ style: _objectSpread(_objectSpread({}, restProps.style || {}), {}, {
311
+ minWidth: '100%',
312
+ tableLayout: 'fixed',
313
+ width: finalScroll.x,
314
+ transform: "translateY(-".concat(startOffset, "px)")
315
+ })
316
+ }), tableChildren)));
317
+ },
318
+ body: {
319
+ wrapper: function wrapper(_ref6) {
320
+ var wrapperChildren = _ref6.children,
321
+ restProps = _objectWithoutProperties(_ref6, _excluded4);
322
+ var _useContext = (0, _react.useContext)(VirtualTableContext),
323
+ dispatch = _useContext.dispatch,
324
+ startRowIndex = _useContext.startRowIndex,
325
+ endRowIndex = _useContext.endRowIndex;
326
+ (0, _react.useEffect)(function () {
327
+ var _wrapperChildren$1$le, _wrapperChildren$;
328
+ dispatch({
329
+ type: 'childrenLen',
330
+ payload: (_wrapperChildren$1$le = wrapperChildren === null || wrapperChildren === void 0 ? void 0 : (_wrapperChildren$ = wrapperChildren[1]) === null || _wrapperChildren$ === void 0 ? void 0 : _wrapperChildren$.length) !== null && _wrapperChildren$1$le !== void 0 ? _wrapperChildren$1$le : 0
331
+ });
332
+ }, [wrapperChildren]);
333
+ return /*#__PURE__*/_react.default.createElement("tbody", restProps, wrapperChildren[0], wrapperChildren[1].slice(startRowIndex, endRowIndex));
334
+ }
335
+ }
336
+ };
337
+ }, []);
230
338
  return /*#__PURE__*/_react.default.createElement(_table.default, _extends({
231
339
  components: virtuallistParams ? VcComponent : undefined,
232
- scroll: virtuallistParams ? {
233
- x: finalScroll === null || finalScroll === void 0 ? void 0 : finalScroll.x,
234
- y: virtuallistParams.height
235
- } : finalScroll,
340
+ scroll: finalScroll,
236
341
  dataSource: dataSource,
237
342
  loadingComponent: renderLoading,
238
343
  rowKey: primaryKey,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "ds-web-all",
4
- "version": "1.0.1-beta.21",
4
+ "version": "1.0.1-beta.22",
5
5
  "scripts": {
6
6
  "start": "cross-env BUILD_ENV=dev && dumi dev",
7
7
  "docs:build": "cross-env BUILD_ENV=production && dumi build",
@@ -67,7 +67,6 @@
67
67
  "runes": "^0.4.3",
68
68
  "store2": "^2.13.2",
69
69
  "typescript": "^4.2.3",
70
- "virtuallist-antd": "^0.8.0-beta.1",
71
70
  "wangeditor": "^4.7.15"
72
71
  },
73
72
  "devDependencies": {
@@ -77,6 +76,7 @@
77
76
  "@types/qs": "^6.9.7",
78
77
  "@types/react-redux": "^7.1.9",
79
78
  "@types/react-router-dom": "^5.1.5",
79
+ "@types/react-window": "^1.8.8",
80
80
  "@types/recompose": "^0.30.7",
81
81
  "@umijs/plugin-locale": "^0.14.2",
82
82
  "@umijs/test": "^3.0.5",