shineout 3.3.3-beta.2 → 3.3.3-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/index.js CHANGED
@@ -476,5 +476,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
476
476
  // 此文件由脚本自动生成,请勿直接修改。
477
477
  // This file was generated automatically by a script. Please do not modify it directly.
478
478
  var _default = exports.default = {
479
- version: '3.3.3-beta.2'
479
+ version: '3.3.3-beta.3'
480
480
  };
package/dist/shineout.js CHANGED
@@ -11968,7 +11968,7 @@ var handleStyle = function handleStyle(style) {
11968
11968
  };
11969
11969
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
11970
11970
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
11971
- /* harmony default export */ var version = ('3.3.3-beta.2');
11971
+ /* harmony default export */ var version = ('3.3.3-beta.3');
11972
11972
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
11973
11973
 
11974
11974
 
@@ -55366,12 +55366,13 @@ var useTableLayout = function useTableLayout(props) {
55366
55366
  getColgroup(adjust === 'drag');
55367
55367
  setAdjust(false);
55368
55368
  } else {
55369
- checkFloat();
55369
+ // checkFloat();
55370
55370
  // checkScroll();
55371
55371
  // 拖拽列会导致 scrollWidth 变化
55372
55372
  syncScrollWidth();
55373
55373
  }
55374
55374
  checkScroll();
55375
+ checkFloat();
55375
55376
  }, [colgroup]);
55376
55377
  return {
55377
55378
  isScrollX: !!isScrollX,
@@ -55661,6 +55662,58 @@ var useTableVirtual = function useTableVirtual(props) {
55661
55662
  setOffsetY = _useState10[1];
55662
55663
  var rowsInView = props.rowsInView === 0 ? props.data.length : props.rowsInView;
55663
55664
  var sleft = props.scrollLeft !== undefined ? props.scrollLeft : innerLeft;
55665
+ var rowSpanInfos = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
55666
+ var rowSpanColumns = props.columns.filter(function (col) {
55667
+ return typeof col.rowSpan === 'function';
55668
+ });
55669
+ if (rowSpanColumns.length === 0) return;
55670
+ var _rowSpanInfos = [];
55671
+ var totalLength = props.data.length;
55672
+ var _loop = function _loop(i) {
55673
+ var startIndex = i;
55674
+ var rowSpanInfo = rowSpanColumns.map(function (col) {
55675
+ var rowSpan = col.rowSpan;
55676
+ function getRowSpanCount(index, _count) {
55677
+ var count = _count;
55678
+ if (index === totalLength - 1) return count;
55679
+ var prevRowData = props.data[index];
55680
+ var nextRowData = props.data[index + 1];
55681
+ if (rowSpan(prevRowData, nextRowData)) {
55682
+ count = count + 1;
55683
+ getRowSpanCount(index + 1, count);
55684
+ }
55685
+ return count;
55686
+ }
55687
+ var count = getRowSpanCount(i, 1);
55688
+ return [startIndex, startIndex + count - 1];
55689
+ });
55690
+ _rowSpanInfos.push(rowSpanInfo);
55691
+ };
55692
+ for (var i = 0; i < totalLength; i++) {
55693
+ _loop(i);
55694
+ }
55695
+ for (var _i = 0; _i < _rowSpanInfos.length; _i++) {
55696
+ if (_i === _rowSpanInfos.length - 1) break;
55697
+ var spans1 = _rowSpanInfos[_i];
55698
+ var spans2 = _rowSpanInfos[_i + 1];
55699
+ for (var j = 0; j < spans1.length; j++) {
55700
+ var _spans1$j = slicedToArray_default()(spans1[j], 2),
55701
+ startIndex1 = _spans1$j[0],
55702
+ endIndex1 = _spans1$j[1];
55703
+ var _spans2$j = slicedToArray_default()(spans2[j], 1),
55704
+ startIndex2 = _spans2$j[0];
55705
+ if (endIndex1 === startIndex2) {
55706
+ spans2[j][0] = startIndex1;
55707
+ }
55708
+ }
55709
+ }
55710
+ return _rowSpanInfos.map(function (_rowSpanInfo) {
55711
+ var startIndexs = _rowSpanInfo.map(function (arr) {
55712
+ return arr[0];
55713
+ });
55714
+ return Math.min.apply(Math, toConsumableArray_default()(startIndexs));
55715
+ });
55716
+ }, [props.data, props.columns]);
55664
55717
  var _useRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)({
55665
55718
  cachedHeight: [],
55666
55719
  shouldUpdateHeight: true,
@@ -55720,7 +55773,20 @@ var useTableVirtual = function useTableVirtual(props) {
55720
55773
  var maxIndex = Math.max(props.data.length - rowsInView, 0);
55721
55774
  for (var i = 0; i <= maxIndex; i++) {
55722
55775
  sum += context.cachedHeight[i] || props.rowHeight;
55723
- if (scrollTop < sum || i === maxIndex) {
55776
+ var rowSpanHeight = 0;
55777
+ if (rowSpanInfos) {
55778
+ var siblingsIndexs = [];
55779
+ for (var k = 0; k < rowSpanInfos.length; k++) {
55780
+ if (rowSpanInfos[k] <= i && k !== i) {
55781
+ siblingsIndexs.push(k);
55782
+ }
55783
+ }
55784
+ for (var j = 0; j < siblingsIndexs.length; j++) {
55785
+ var index = siblingsIndexs[j];
55786
+ rowSpanHeight += context.cachedHeight[index] || props.rowHeight;
55787
+ }
55788
+ }
55789
+ if (scrollTop < sum + rowSpanHeight || i === maxIndex) {
55724
55790
  currentIndex = i;
55725
55791
  var beforeHeight = i === 0 ? 0 : sum - (context.cachedHeight[i] || props.rowHeight);
55726
55792
  top = scrollTop - beforeHeight;
@@ -57212,6 +57278,7 @@ var emptyRef = {
57212
57278
  var virtualInfo = use_table_virtual({
57213
57279
  disabled: !virtual,
57214
57280
  data: treeData,
57281
+ columns: columns,
57215
57282
  rowsInView: props.rowsInView || 20,
57216
57283
  rowHeight: props.rowHeight || 40,
57217
57284
  scrollRef: scrollRef,
@@ -63587,7 +63654,7 @@ var upload_interface = __webpack_require__(8821);
63587
63654
 
63588
63655
 
63589
63656
  /* harmony default export */ var src_0 = ({
63590
- version: '3.3.3-beta.2'
63657
+ version: '3.3.3-beta.3'
63591
63658
  });
63592
63659
  }();
63593
63660
  /******/ return __webpack_exports__;