shineout 3.10.2-beta.4 → 3.10.2-beta.5
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 +1 -1
- package/dist/shineout.js +96 -41
- package/dist/shineout.js.map +1 -1
- package/dist/shineout.min.js +1 -1
- package/dist/shineout.min.js.map +1 -1
- package/esm/index.js +1 -1
- package/package.json +5 -5
package/cjs/index.js
CHANGED
|
@@ -545,5 +545,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
545
545
|
// 此文件由脚本自动生成,请勿直接修改。
|
|
546
546
|
// This file was generated automatically by a script. Please do not modify it directly.
|
|
547
547
|
var _default = exports.default = {
|
|
548
|
-
version: '3.10.2-beta.
|
|
548
|
+
version: '3.10.2-beta.5'
|
|
549
549
|
};
|
package/dist/shineout.js
CHANGED
|
@@ -13735,7 +13735,7 @@ var handleStyle = function handleStyle(style) {
|
|
|
13735
13735
|
};
|
|
13736
13736
|
/* harmony default export */ var jss_style_handleStyle = (handleStyle);
|
|
13737
13737
|
;// CONCATENATED MODULE: ../shineout-style/src/version.ts
|
|
13738
|
-
/* harmony default export */ var version = ('3.10.2-beta.
|
|
13738
|
+
/* harmony default export */ var version = ('3.10.2-beta.5');
|
|
13739
13739
|
;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
|
|
13740
13740
|
|
|
13741
13741
|
|
|
@@ -67541,6 +67541,18 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
67541
67541
|
scrollRef = props.scrollRef;
|
|
67542
67542
|
var preColumns = use_previous(props.columns);
|
|
67543
67543
|
var preData = use_previous(props.data);
|
|
67544
|
+
|
|
67545
|
+
// 按需启用 floatLeft/floatRight:只有存在对应方向的固定列时才跟踪状态
|
|
67546
|
+
var hasFixedLeft = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
|
|
67547
|
+
return props.columns.some(function (col) {
|
|
67548
|
+
return col.fixed === 'left';
|
|
67549
|
+
});
|
|
67550
|
+
}, [props.columns]);
|
|
67551
|
+
var hasFixedRight = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
|
|
67552
|
+
return props.columns.some(function (col) {
|
|
67553
|
+
return col.fixed === 'right';
|
|
67554
|
+
});
|
|
67555
|
+
}, [props.columns]);
|
|
67544
67556
|
var _useRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)({
|
|
67545
67557
|
checkNum: 0,
|
|
67546
67558
|
cachedWidth: null,
|
|
@@ -67560,36 +67572,33 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
67560
67572
|
_React$useState6 = slicedToArray_default()(_React$useState5, 2),
|
|
67561
67573
|
isScrollY = _React$useState6[0],
|
|
67562
67574
|
setIsScrollY = _React$useState6[1];
|
|
67563
|
-
|
|
67575
|
+
// floatLeft/floatRight 改用 ref 跟踪,通过 DOM classList 直接切换,避免 setState 触发整棵树 re-render
|
|
67576
|
+
var floatLeftRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(false);
|
|
67577
|
+
var floatRightRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(false);
|
|
67578
|
+
var floatClassRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
|
|
67579
|
+
var checkFloatRafRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(0);
|
|
67580
|
+
var _React$useState7 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(0),
|
|
67564
67581
|
_React$useState8 = slicedToArray_default()(_React$useState7, 2),
|
|
67565
|
-
|
|
67566
|
-
|
|
67567
|
-
var _React$useState9 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(
|
|
67582
|
+
resizeFlag = _React$useState8[0],
|
|
67583
|
+
setResizeFlag = _React$useState8[1];
|
|
67584
|
+
var _React$useState9 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(0),
|
|
67568
67585
|
_React$useState10 = slicedToArray_default()(_React$useState9, 2),
|
|
67569
|
-
|
|
67570
|
-
|
|
67586
|
+
scrollBarWidth = _React$useState10[0],
|
|
67587
|
+
setScrollBarWidth = _React$useState10[1];
|
|
67571
67588
|
var _React$useState11 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(0),
|
|
67572
67589
|
_React$useState12 = slicedToArray_default()(_React$useState11, 2),
|
|
67573
|
-
|
|
67574
|
-
|
|
67575
|
-
var _React$useState13 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(
|
|
67576
|
-
_React$useState14 = slicedToArray_default()(_React$useState13, 2),
|
|
67577
|
-
scrollBarWidth = _React$useState14[0],
|
|
67578
|
-
setScrollBarWidth = _React$useState14[1];
|
|
67579
|
-
var _React$useState15 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(0),
|
|
67580
|
-
_React$useState16 = slicedToArray_default()(_React$useState15, 2),
|
|
67581
|
-
scrollWidth = _React$useState16[0],
|
|
67582
|
-
setScrollWidth = _React$useState16[1];
|
|
67583
|
-
var _React$useState17 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(props.columns.map(function (v) {
|
|
67590
|
+
scrollWidth = _React$useState12[0],
|
|
67591
|
+
setScrollWidth = _React$useState12[1];
|
|
67592
|
+
var _React$useState13 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(props.columns.map(function (v) {
|
|
67584
67593
|
return v.width;
|
|
67585
67594
|
})),
|
|
67586
|
-
_React$
|
|
67587
|
-
colgroup = _React$
|
|
67588
|
-
setColgroup = _React$
|
|
67589
|
-
var _React$
|
|
67590
|
-
_React$
|
|
67591
|
-
adjust = _React$
|
|
67592
|
-
setAdjust = _React$
|
|
67595
|
+
_React$useState14 = slicedToArray_default()(_React$useState13, 2),
|
|
67596
|
+
colgroup = _React$useState14[0],
|
|
67597
|
+
setColgroup = _React$useState14[1];
|
|
67598
|
+
var _React$useState15 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(true),
|
|
67599
|
+
_React$useState16 = slicedToArray_default()(_React$useState15, 2),
|
|
67600
|
+
adjust = _React$useState16[0],
|
|
67601
|
+
setAdjust = _React$useState16[1];
|
|
67593
67602
|
|
|
67594
67603
|
// 检查滚动状态
|
|
67595
67604
|
var checkScroll = use_persist_fn(function () {
|
|
@@ -67796,6 +67805,7 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
67796
67805
|
changeColGroup(newCols, false);
|
|
67797
67806
|
});
|
|
67798
67807
|
var checkFloat = use_persist_fn(function () {
|
|
67808
|
+
var _props$tableElRef;
|
|
67799
67809
|
var scrollEl = scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current;
|
|
67800
67810
|
if (!scrollEl || !(scrollEl !== null && scrollEl !== void 0 && scrollEl.offsetParent)) return;
|
|
67801
67811
|
var max = scrollEl.scrollWidth - scrollEl.clientWidth;
|
|
@@ -67804,11 +67814,36 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
67804
67814
|
if (props.isRtl) {
|
|
67805
67815
|
left = left * -1;
|
|
67806
67816
|
}
|
|
67807
|
-
|
|
67808
|
-
//
|
|
67809
|
-
var
|
|
67810
|
-
|
|
67811
|
-
if (
|
|
67817
|
+
|
|
67818
|
+
// 直接操作 DOM classList,不触发 React re-render
|
|
67819
|
+
var classes = floatClassRef.current;
|
|
67820
|
+
var el = (_props$tableElRef = props.tableElRef) === null || _props$tableElRef === void 0 ? void 0 : _props$tableElRef.current;
|
|
67821
|
+
if (!classes || !el) return;
|
|
67822
|
+
if (hasFixedLeft) {
|
|
67823
|
+
var l = left > min;
|
|
67824
|
+
if (l !== floatLeftRef.current) {
|
|
67825
|
+
floatLeftRef.current = l;
|
|
67826
|
+
el.classList.toggle(classes.left, l);
|
|
67827
|
+
}
|
|
67828
|
+
}
|
|
67829
|
+
if (hasFixedRight) {
|
|
67830
|
+
// 缩放比例小于1时,会出现小数,导致判断错误
|
|
67831
|
+
var r = max - left > 1;
|
|
67832
|
+
if (r !== floatRightRef.current) {
|
|
67833
|
+
floatRightRef.current = r;
|
|
67834
|
+
el.classList.toggle(classes.right, r);
|
|
67835
|
+
}
|
|
67836
|
+
}
|
|
67837
|
+
});
|
|
67838
|
+
|
|
67839
|
+
// rAF 节流版:高频滚动路径使用,一帧最多执行一次 checkFloat
|
|
67840
|
+
var scheduleCheckFloat = use_persist_fn(function () {
|
|
67841
|
+
if (!hasFixedLeft && !hasFixedRight) return;
|
|
67842
|
+
if (checkFloatRafRef.current) return;
|
|
67843
|
+
checkFloatRafRef.current = requestAnimationFrame(function () {
|
|
67844
|
+
checkFloatRafRef.current = 0;
|
|
67845
|
+
checkFloat();
|
|
67846
|
+
});
|
|
67812
67847
|
});
|
|
67813
67848
|
var syncScrollWidth = use_persist_fn(function () {
|
|
67814
67849
|
if (!scrollRef.current) return;
|
|
@@ -67831,8 +67866,18 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
67831
67866
|
resetColGroup: resetColGroup,
|
|
67832
67867
|
resizeCol: resizeCol,
|
|
67833
67868
|
dragCol: dragCol,
|
|
67834
|
-
checkFloat: checkFloat
|
|
67869
|
+
checkFloat: checkFloat,
|
|
67870
|
+
scheduleCheckFloat: scheduleCheckFloat
|
|
67835
67871
|
});
|
|
67872
|
+
|
|
67873
|
+
// 组件卸载时清理 rAF
|
|
67874
|
+
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
|
|
67875
|
+
return function () {
|
|
67876
|
+
if (checkFloatRafRef.current) {
|
|
67877
|
+
cancelAnimationFrame(checkFloatRafRef.current);
|
|
67878
|
+
}
|
|
67879
|
+
};
|
|
67880
|
+
}, []);
|
|
67836
67881
|
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
|
|
67837
67882
|
if (!colgroup) return;
|
|
67838
67883
|
// columns 增加或者减少列, 或者宽度发生变化且和colgroup的宽度不一致时
|
|
@@ -67910,18 +67955,25 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
67910
67955
|
} else {
|
|
67911
67956
|
tableWidth = undefined;
|
|
67912
67957
|
}
|
|
67958
|
+
|
|
67959
|
+
// 注册 float class name,由 table.tsx 初始化时调用
|
|
67960
|
+
var registerFloatClass = use_persist_fn(function (left, right) {
|
|
67961
|
+
floatClassRef.current = {
|
|
67962
|
+
left: left,
|
|
67963
|
+
right: right
|
|
67964
|
+
};
|
|
67965
|
+
});
|
|
67913
67966
|
return {
|
|
67914
67967
|
isScrollX: !!isScrollX,
|
|
67915
67968
|
isScrollY: !!isScrollY,
|
|
67916
|
-
floatLeft: floatLeft,
|
|
67917
|
-
floatRight: floatRight,
|
|
67918
67969
|
scrollBarWidth: scrollBarWidth,
|
|
67919
67970
|
colgroup: colgroup ? colgroup : [],
|
|
67920
67971
|
func: func,
|
|
67921
67972
|
width: tableWidth,
|
|
67922
67973
|
shouldLastColAuto: props.columnResizable && !adjust,
|
|
67923
67974
|
scrollWidth: scrollWidth,
|
|
67924
|
-
resizeFlag: resizeFlag
|
|
67975
|
+
resizeFlag: resizeFlag,
|
|
67976
|
+
registerFloatClass: registerFloatClass
|
|
67925
67977
|
};
|
|
67926
67978
|
};
|
|
67927
67979
|
/* harmony default export */ var use_table_layout = (useTableLayout);
|
|
@@ -70681,6 +70733,7 @@ function Table(props) {
|
|
|
70681
70733
|
theadRef: theadRef,
|
|
70682
70734
|
tbodyRef: tbodyRef,
|
|
70683
70735
|
scrollRef: scrollRef,
|
|
70736
|
+
tableElRef: tableRef,
|
|
70684
70737
|
columns: columns,
|
|
70685
70738
|
data: props.data,
|
|
70686
70739
|
dataChangeResize: !!props.dataChangeResize,
|
|
@@ -70694,13 +70747,15 @@ function Table(props) {
|
|
|
70694
70747
|
colgroup = _useTableLayout.colgroup,
|
|
70695
70748
|
isScrollY = _useTableLayout.isScrollY,
|
|
70696
70749
|
isScrollX = _useTableLayout.isScrollX,
|
|
70697
|
-
floatLeft = _useTableLayout.floatLeft,
|
|
70698
|
-
floatRight = _useTableLayout.floatRight,
|
|
70699
70750
|
width = _useTableLayout.width,
|
|
70700
70751
|
shouldLastColAuto = _useTableLayout.shouldLastColAuto,
|
|
70701
70752
|
scrollBarWidth = _useTableLayout.scrollBarWidth,
|
|
70702
70753
|
scrollWidth = _useTableLayout.scrollWidth,
|
|
70703
|
-
resizeFlag = _useTableLayout.resizeFlag
|
|
70754
|
+
resizeFlag = _useTableLayout.resizeFlag,
|
|
70755
|
+
registerFloatClass = _useTableLayout.registerFloatClass;
|
|
70756
|
+
|
|
70757
|
+
// 注册 floatLeft/floatRight 的 CSS class 名,供 checkFloat 直接操作 DOM
|
|
70758
|
+
registerFloatClass(tableClasses.floatLeft, tableClasses.floatRight);
|
|
70704
70759
|
var _useTableFilter = use_table_filter({
|
|
70705
70760
|
keygen: props.keygen,
|
|
70706
70761
|
data: props.data,
|
|
@@ -70851,7 +70906,7 @@ function Table(props) {
|
|
|
70851
70906
|
var handleBodyScroll = usePersistFn(function (e) {
|
|
70852
70907
|
var target = e.currentTarget;
|
|
70853
70908
|
if (!target) return;
|
|
70854
|
-
layoutFunc.
|
|
70909
|
+
layoutFunc.scheduleCheckFloat();
|
|
70855
70910
|
if (isVirtualColumnEnabled) columnInfo.handleScroll({
|
|
70856
70911
|
scrollLeft: target.scrollLeft
|
|
70857
70912
|
});
|
|
@@ -70878,7 +70933,7 @@ function Table(props) {
|
|
|
70878
70933
|
var handleVirtualScroll = usePersistFn(function (info) {
|
|
70879
70934
|
virtualInfo.handleScroll(info);
|
|
70880
70935
|
if (isVirtualColumnEnabled) columnInfo.handleScroll(info);
|
|
70881
|
-
layoutFunc.
|
|
70936
|
+
layoutFunc.scheduleCheckFloat();
|
|
70882
70937
|
if (headMirrorScrollRef.current) {
|
|
70883
70938
|
headMirrorScrollRef.current.scrollLeft = info.scrollLeft;
|
|
70884
70939
|
}
|
|
@@ -71360,7 +71415,7 @@ function Table(props) {
|
|
|
71360
71415
|
});
|
|
71361
71416
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
|
|
71362
71417
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", objectSpread2_default()(objectSpread2_default()({
|
|
71363
|
-
className: classnames_default()(tableWrapperClass, defineProperty_default()(
|
|
71418
|
+
className: classnames_default()(tableWrapperClass, defineProperty_default()({}, tableClasses.sticky, props.sticky)),
|
|
71364
71419
|
style: tableWrapperStyle
|
|
71365
71420
|
}, selection.getTableProps()), {}, {
|
|
71366
71421
|
ref: tableRef,
|
|
@@ -80080,7 +80135,7 @@ var watermark_interface = __webpack_require__(6640);
|
|
|
80080
80135
|
|
|
80081
80136
|
|
|
80082
80137
|
/* harmony default export */ var src_0 = ({
|
|
80083
|
-
version: '3.10.2-beta.
|
|
80138
|
+
version: '3.10.2-beta.5'
|
|
80084
80139
|
});
|
|
80085
80140
|
}();
|
|
80086
80141
|
/******/ return __webpack_exports__;
|