@sheinx/hooks 3.3.6-beta.3 → 3.3.6-beta.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;CACnC;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAiLpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnFuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BA+InB,MAAM;CAmElD,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;CACnC;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAqLpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BArFuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BAiJnB,MAAM;CAwFlD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -98,7 +98,9 @@ var useTableVirtual = function useTableVirtual(props) {
98
98
  topTimer: null,
99
99
  controlScrollRate: null,
100
100
  heightCallback: null,
101
- preIndex: null
101
+ preIndex: null,
102
+ rowSpanRows: 0,
103
+ autoAddRows: 0
102
104
  }),
103
105
  context = _useRef.current;
104
106
  var getTranslate = (0, _usePersistFn.usePersistFn)(function (left, top) {
@@ -149,6 +151,7 @@ var useTableVirtual = function useTableVirtual(props) {
149
151
  var top = 0;
150
152
  var maxIndex = Math.max(props.data.length - rowsInView, 0);
151
153
  for (var i = 0; i <= maxIndex; i++) {
154
+ context.rowSpanRows = 0;
152
155
  sum += context.cachedHeight[i] || props.rowHeight;
153
156
  var rowSpanHeight = 0;
154
157
  if (rowSpanInfos) {
@@ -160,6 +163,7 @@ var useTableVirtual = function useTableVirtual(props) {
160
163
  }
161
164
  for (var j = 0; j < siblingsIndexs.length; j++) {
162
165
  var index = siblingsIndexs[j];
166
+ context.rowSpanRows += 1;
163
167
  rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
164
168
  }
165
169
  }
@@ -250,6 +254,24 @@ var useTableVirtual = function useTableVirtual(props) {
250
254
  props.scrollRef.current.scrollTop = beforeHeight;
251
255
  }
252
256
  });
257
+ (0, _react.useEffect)(function () {
258
+ var scrollRefHeight = props.scrollRef.current ? props.scrollRef.current.clientHeight : 0;
259
+ var tableRefHeight = props.innerRef.current ? props.innerRef.current.clientHeight : 0;
260
+ var remainHeight = scrollRefHeight - tableRefHeight;
261
+ if (remainHeight > 0) {
262
+ var addonHeight = 0;
263
+ var addonCount = 0;
264
+ for (var i = startIndex + rowsInView; i < props.data.length; i++) {
265
+ var height = context.cachedHeight[i] || props.rowHeight;
266
+ addonHeight += height;
267
+ addonCount += 1;
268
+ if (addonHeight >= remainHeight + context.cachedHeight[0]) break;
269
+ }
270
+ if (addonCount > 0) {
271
+ context.autoAddRows = addonCount;
272
+ }
273
+ }
274
+ }, []);
253
275
  (0, _react.useEffect)(function () {
254
276
  // 记录preIndex
255
277
  context.preIndex = startIndex;
@@ -284,7 +306,8 @@ var useTableVirtual = function useTableVirtual(props) {
284
306
  cb();
285
307
  }
286
308
  }, [scrollHeight]);
287
- var renderData = props.disabled ? props.data : _toConsumableArray(props.data).slice(startIndex, startIndex + rowsInView);
309
+ var finalRowsInView = rowsInView + context.rowSpanRows + context.autoAddRows;
310
+ var renderData = props.disabled ? props.data : _toConsumableArray(props.data).slice(startIndex, startIndex + finalRowsInView);
288
311
  return {
289
312
  scrollHeight: scrollHeight,
290
313
  startIndex: startIndex,
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;CACnC;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAiLpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BAnFuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BA+InB,MAAM;CAmElD,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"use-table-virtual.d.ts","sourceRoot":"","sources":["use-table-virtual.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,UAAU,oBAAoB;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;CACnC;AACD,QAAA,MAAM,eAAe,UAAW,oBAAoB;;;;;;;oBAqLpC,MAAM;mBACP,MAAM;WACd,MAAM;gBACD,MAAM;kBACJ,OAAO;;0BArFuB,MAAM,UAAU,MAAM;0BAxBtB,MAAM,QAAQ,MAAM;2BAiJnB,MAAM;CAwFlD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -92,7 +92,9 @@ var useTableVirtual = function useTableVirtual(props) {
92
92
  topTimer: null,
93
93
  controlScrollRate: null,
94
94
  heightCallback: null,
95
- preIndex: null
95
+ preIndex: null,
96
+ rowSpanRows: 0,
97
+ autoAddRows: 0
96
98
  }),
97
99
  context = _useRef.current;
98
100
  var getTranslate = usePersistFn(function (left, top) {
@@ -143,6 +145,7 @@ var useTableVirtual = function useTableVirtual(props) {
143
145
  var top = 0;
144
146
  var maxIndex = Math.max(props.data.length - rowsInView, 0);
145
147
  for (var i = 0; i <= maxIndex; i++) {
148
+ context.rowSpanRows = 0;
146
149
  sum += context.cachedHeight[i] || props.rowHeight;
147
150
  var rowSpanHeight = 0;
148
151
  if (rowSpanInfos) {
@@ -154,6 +157,7 @@ var useTableVirtual = function useTableVirtual(props) {
154
157
  }
155
158
  for (var j = 0; j < siblingsIndexs.length; j++) {
156
159
  var index = siblingsIndexs[j];
160
+ context.rowSpanRows += 1;
157
161
  rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
158
162
  }
159
163
  }
@@ -244,6 +248,24 @@ var useTableVirtual = function useTableVirtual(props) {
244
248
  props.scrollRef.current.scrollTop = beforeHeight;
245
249
  }
246
250
  });
251
+ useEffect(function () {
252
+ var scrollRefHeight = props.scrollRef.current ? props.scrollRef.current.clientHeight : 0;
253
+ var tableRefHeight = props.innerRef.current ? props.innerRef.current.clientHeight : 0;
254
+ var remainHeight = scrollRefHeight - tableRefHeight;
255
+ if (remainHeight > 0) {
256
+ var addonHeight = 0;
257
+ var addonCount = 0;
258
+ for (var i = startIndex + rowsInView; i < props.data.length; i++) {
259
+ var height = context.cachedHeight[i] || props.rowHeight;
260
+ addonHeight += height;
261
+ addonCount += 1;
262
+ if (addonHeight >= remainHeight + context.cachedHeight[0]) break;
263
+ }
264
+ if (addonCount > 0) {
265
+ context.autoAddRows = addonCount;
266
+ }
267
+ }
268
+ }, []);
247
269
  useEffect(function () {
248
270
  // 记录preIndex
249
271
  context.preIndex = startIndex;
@@ -278,7 +300,8 @@ var useTableVirtual = function useTableVirtual(props) {
278
300
  cb();
279
301
  }
280
302
  }, [scrollHeight]);
281
- var renderData = props.disabled ? props.data : _toConsumableArray(props.data).slice(startIndex, startIndex + rowsInView);
303
+ var finalRowsInView = rowsInView + context.rowSpanRows + context.autoAddRows;
304
+ var renderData = props.disabled ? props.data : _toConsumableArray(props.data).slice(startIndex, startIndex + finalRowsInView);
282
305
  return {
283
306
  scrollHeight: scrollHeight,
284
307
  startIndex: startIndex,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/hooks",
3
- "version": "3.3.6-beta.3",
3
+ "version": "3.3.6-beta.6",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",