shineout 3.10.3-beta.1 → 3.10.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 +1 -1
- package/dist/shineout.js +152 -27
- 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.3-beta.
|
|
548
|
+
version: '3.10.3-beta.3'
|
|
549
549
|
};
|
package/dist/shineout.js
CHANGED
|
@@ -13736,7 +13736,7 @@ var handleStyle = function handleStyle(style) {
|
|
|
13736
13736
|
};
|
|
13737
13737
|
/* harmony default export */ var jss_style_handleStyle = (handleStyle);
|
|
13738
13738
|
;// CONCATENATED MODULE: ../shineout-style/src/version.ts
|
|
13739
|
-
/* harmony default export */ var version = ('3.10.3-beta.
|
|
13739
|
+
/* harmony default export */ var version = ('3.10.3-beta.3');
|
|
13740
13740
|
;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
|
|
13741
13741
|
|
|
13742
13742
|
|
|
@@ -54454,6 +54454,47 @@ var SchemaBuilder = /*#__PURE__*/function () {
|
|
|
54454
54454
|
}]);
|
|
54455
54455
|
return SchemaBuilder;
|
|
54456
54456
|
}();
|
|
54457
|
+
;// CONCATENATED MODULE: ../hooks/src/components/use-form/flow-guard.ts
|
|
54458
|
+
|
|
54459
|
+
|
|
54460
|
+
/**
|
|
54461
|
+
* 为 Form.Flow 的更新函数加一层守卫:只有 Flow 关心的值发生变化时才触发更新。
|
|
54462
|
+
*
|
|
54463
|
+
* 依赖数据按 immutable 方式更新(结构共享):值没变引用就不变,因此可以用引用比较判断。
|
|
54464
|
+
* - 不带 names(globalKey):对表单根对象做浅比较
|
|
54465
|
+
* - 带 names:逐个比较对应路径的值
|
|
54466
|
+
*
|
|
54467
|
+
* 守卫以 updateFn 为 key 缓存,Flow 因 names 引用变化而重复 watch 时快照不丢失。
|
|
54468
|
+
* 首次通知没有快照,一律放行(Flow 渲染到挂载 watch 之间值可能已变化)。
|
|
54469
|
+
*/
|
|
54470
|
+
var createFlowGuard = function createFlowGuard(getFormValue, globalKey) {
|
|
54471
|
+
var guards = new WeakMap();
|
|
54472
|
+
return function (names, updateFn) {
|
|
54473
|
+
var guard = guards.get(updateFn);
|
|
54474
|
+
if (!guard) {
|
|
54475
|
+
var g = {
|
|
54476
|
+
names: names,
|
|
54477
|
+
snapshot: undefined,
|
|
54478
|
+
fn: function fn() {
|
|
54479
|
+
var formValue = getFormValue();
|
|
54480
|
+
var next = g.names.map(function (n) {
|
|
54481
|
+
return n === globalKey ? formValue : deepGet(formValue, n);
|
|
54482
|
+
});
|
|
54483
|
+
var prev = g.snapshot;
|
|
54484
|
+
var same = !!prev && prev.length === next.length && next.every(function (v, i) {
|
|
54485
|
+
return g.names[i] === globalKey ? shallow_equal_shallowEqual(prev[i], v) : prev[i] === v;
|
|
54486
|
+
});
|
|
54487
|
+
g.snapshot = next;
|
|
54488
|
+
if (!same) updateFn();
|
|
54489
|
+
}
|
|
54490
|
+
};
|
|
54491
|
+
guard = g;
|
|
54492
|
+
guards.set(updateFn, g);
|
|
54493
|
+
}
|
|
54494
|
+
guard.names = names;
|
|
54495
|
+
return guard.fn;
|
|
54496
|
+
};
|
|
54497
|
+
};
|
|
54457
54498
|
;// CONCATENATED MODULE: ../hooks/src/components/use-form/use-form.ts
|
|
54458
54499
|
|
|
54459
54500
|
|
|
@@ -54468,6 +54509,7 @@ var SchemaBuilder = /*#__PURE__*/function () {
|
|
|
54468
54509
|
|
|
54469
54510
|
|
|
54470
54511
|
|
|
54512
|
+
|
|
54471
54513
|
var globalKey = '__global__&&@@';
|
|
54472
54514
|
var SUBMIT_TIMEOUT = 10;
|
|
54473
54515
|
var RESET_TIMEOUT = 500;
|
|
@@ -54498,7 +54540,9 @@ var useForm = function useForm(props) {
|
|
|
54498
54540
|
scrollParent = props.scrollParent,
|
|
54499
54541
|
isControl = props.isControl,
|
|
54500
54542
|
_props$validateTrigge = props.validateTrigger,
|
|
54501
|
-
validateTrigger = _props$validateTrigge === void 0 ? 'change' : _props$validateTrigge
|
|
54543
|
+
validateTrigger = _props$validateTrigge === void 0 ? 'change' : _props$validateTrigge,
|
|
54544
|
+
_props$deepClone = props.deepClone,
|
|
54545
|
+
shouldDeepClone = _props$deepClone === void 0 ? true : _props$deepClone;
|
|
54502
54546
|
var deepSetOptions = {
|
|
54503
54547
|
removeUndefined: removeUndefined,
|
|
54504
54548
|
forceSet: true
|
|
@@ -54514,7 +54558,8 @@ var useForm = function useForm(props) {
|
|
|
54514
54558
|
removeArr: new Set(),
|
|
54515
54559
|
names: new Set(),
|
|
54516
54560
|
submitLock: false,
|
|
54517
|
-
|
|
54561
|
+
// deepClone 为 false 时跳过全量深拷贝,与外部 value 共享引用(依赖 immer 不可变更新)
|
|
54562
|
+
value: (shouldDeepClone ? deepClone(props.value) : props.value) || emptyObj,
|
|
54518
54563
|
errors: {},
|
|
54519
54564
|
serverErrors: {},
|
|
54520
54565
|
lastValue: props.value || emptyObj,
|
|
@@ -54649,6 +54694,13 @@ var useForm = function useForm(props) {
|
|
|
54649
54694
|
}
|
|
54650
54695
|
});
|
|
54651
54696
|
});
|
|
54697
|
+
|
|
54698
|
+
// deepClone 为 false 时,Flow 仅在其关心的值变化时才更新(见 flow-guard.ts)
|
|
54699
|
+
var getFlowGuard = external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo(function () {
|
|
54700
|
+
return createFlowGuard(function () {
|
|
54701
|
+
return context.value;
|
|
54702
|
+
}, globalKey);
|
|
54703
|
+
}, []);
|
|
54652
54704
|
var update = function update(name) {
|
|
54653
54705
|
var _context$flowMap$glob;
|
|
54654
54706
|
if (!name) {
|
|
@@ -55055,9 +55107,10 @@ var useForm = function useForm(props) {
|
|
|
55055
55107
|
watch: function watch() {
|
|
55056
55108
|
var names = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [globalKey];
|
|
55057
55109
|
var updateFn = arguments.length > 1 ? arguments[1] : undefined;
|
|
55110
|
+
var fn = shouldDeepClone ? updateFn : getFlowGuard(names, updateFn);
|
|
55058
55111
|
names.forEach(function (name) {
|
|
55059
55112
|
context.flowMap[name] = context.flowMap[name] || new Set();
|
|
55060
|
-
context.flowMap[name].add(
|
|
55113
|
+
context.flowMap[name].add(fn);
|
|
55061
55114
|
});
|
|
55062
55115
|
},
|
|
55063
55116
|
unWatch: function unWatch() {
|
|
@@ -55065,7 +55118,7 @@ var useForm = function useForm(props) {
|
|
|
55065
55118
|
var updateFn = arguments.length > 1 ? arguments[1] : undefined;
|
|
55066
55119
|
names.forEach(function (name) {
|
|
55067
55120
|
if (updateFn) {
|
|
55068
|
-
context.flowMap[name].delete(updateFn);
|
|
55121
|
+
context.flowMap[name].delete(shouldDeepClone ? updateFn : getFlowGuard(names, updateFn));
|
|
55069
55122
|
} else {
|
|
55070
55123
|
delete context.flowMap[name];
|
|
55071
55124
|
}
|
|
@@ -55112,7 +55165,7 @@ var useForm = function useForm(props) {
|
|
|
55112
55165
|
}, [labelWidth, labelAlign, labelVerticalAlign, keepErrorHeight, inline, disabled, size, formName, colon, validateTrigger]);
|
|
55113
55166
|
var updateValue = function updateValue() {
|
|
55114
55167
|
if (props.value !== context.lastValue && props.value !== context.value) {
|
|
55115
|
-
context.value = deepClone(props.value) || emptyObj;
|
|
55168
|
+
context.value = (shouldDeepClone ? deepClone(props.value) : props.value) || emptyObj;
|
|
55116
55169
|
}
|
|
55117
55170
|
context.lastValue = props.value;
|
|
55118
55171
|
};
|
|
@@ -67292,6 +67345,13 @@ function useScrollbarWidth() {
|
|
|
67292
67345
|
|
|
67293
67346
|
|
|
67294
67347
|
|
|
67348
|
+
|
|
67349
|
+
// 逐列浅比较:业务常见写法 columns.map(c => ({ ...c })) 每次都会产生新对象,但内容(含 render 引用)不变
|
|
67350
|
+
var isColumnsShallowEqual = function isColumnsShallowEqual(a, b) {
|
|
67351
|
+
return a.length === b.length && a.every(function (c, i) {
|
|
67352
|
+
return shallow_equal(c, b[i]);
|
|
67353
|
+
});
|
|
67354
|
+
};
|
|
67295
67355
|
var getHideExpandCol = function getHideExpandCol() {
|
|
67296
67356
|
var cols = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
67297
67357
|
var expandCol = cols.find(function (col) {
|
|
@@ -67327,6 +67387,8 @@ var useColumns = function useColumns(props) {
|
|
|
67327
67387
|
var _useRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)({
|
|
67328
67388
|
cachedColumns: null,
|
|
67329
67389
|
oldColumns: null,
|
|
67390
|
+
oldShowCheckbox: undefined,
|
|
67391
|
+
columnsSnapshot: null,
|
|
67330
67392
|
groupLevel: 0,
|
|
67331
67393
|
expandHideCol: null
|
|
67332
67394
|
}),
|
|
@@ -67338,6 +67400,11 @@ var useColumns = function useColumns(props) {
|
|
|
67338
67400
|
if (columnsA === context.oldColumns) {
|
|
67339
67401
|
return context.cachedColumns;
|
|
67340
67402
|
}
|
|
67403
|
+
if (props.reuseEqualColumns && context.columnsSnapshot && context.cachedColumns && context.oldShowCheckbox === props.showCheckbox && isColumnsShallowEqual(columnsA, context.columnsSnapshot)) {
|
|
67404
|
+
context.oldColumns = columnsA;
|
|
67405
|
+
return context.cachedColumns;
|
|
67406
|
+
}
|
|
67407
|
+
context.oldShowCheckbox = props.showCheckbox;
|
|
67341
67408
|
context.expandHideCol = getHideExpandCol(columnsA);
|
|
67342
67409
|
var columns = columnsA.filter(function (c) {
|
|
67343
67410
|
return typeof_default()(c) === 'object';
|
|
@@ -67373,6 +67440,10 @@ var useColumns = function useColumns(props) {
|
|
|
67373
67440
|
});
|
|
67374
67441
|
});
|
|
67375
67442
|
context.oldColumns = columnsA;
|
|
67443
|
+
// 与快照比较而非与旧数组比较:列对象被原地修改时旧数组里也是同一个对象,比较不出差异
|
|
67444
|
+
context.columnsSnapshot = props.reuseEqualColumns ? columnsA.map(function (c) {
|
|
67445
|
+
return c && typeof_default()(c) === 'object' ? objectSpread2_default()({}, c) : c;
|
|
67446
|
+
}) : null;
|
|
67376
67447
|
return context.cachedColumns;
|
|
67377
67448
|
});
|
|
67378
67449
|
var columns = getColumns(propsColumns) || [];
|
|
@@ -69991,10 +70062,10 @@ function Td(props) {
|
|
|
69991
70062
|
|
|
69992
70063
|
var tr_toNum = toNum;
|
|
69993
70064
|
var Tr = function Tr(props) {
|
|
69994
|
-
var _props$
|
|
70065
|
+
var _props$rowClassName;
|
|
69995
70066
|
var treeFunc = props.treeFunc,
|
|
69996
|
-
|
|
69997
|
-
|
|
70067
|
+
tableClasses = props.tableClasses,
|
|
70068
|
+
preventClasses = props.preventClasses;
|
|
69998
70069
|
var trRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
|
|
69999
70070
|
var expandRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null);
|
|
70000
70071
|
var config = useConfig();
|
|
@@ -70041,9 +70112,14 @@ var Tr = function Tr(props) {
|
|
|
70041
70112
|
}
|
|
70042
70113
|
});
|
|
70043
70114
|
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(setVirtualRowHeight, [props.expanded, props.rowIndex, props.bodyScrollWidth, props.resizeFlag]);
|
|
70115
|
+
|
|
70116
|
+
// 行高只在虚拟列表下需要上报(setRowHeight 仅由虚拟列表传入),
|
|
70117
|
+
// 非虚拟场景(sticky-only / 普通表格)不再为每一行创建 ResizeObserver,
|
|
70118
|
+
// 避免数据切换时批量 observe/disconnect 以及 RO 首次回调带来的布局读取(计入 INP presentation delay)
|
|
70119
|
+
var shouldObserveRowHeight = !!props.setRowHeight && !props.strictRowHeight;
|
|
70044
70120
|
(0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
|
|
70045
70121
|
// 祖先元素不可见时(display: none)
|
|
70046
|
-
if (
|
|
70122
|
+
if (!shouldObserveRowHeight || !trRef.current || !trRef.current.offsetParent) return;
|
|
70047
70123
|
var cancelObserver = addResizeObserver(trRef.current, setVirtualRowHeight, {
|
|
70048
70124
|
direction: 'y',
|
|
70049
70125
|
lazy: true
|
|
@@ -70051,7 +70127,7 @@ var Tr = function Tr(props) {
|
|
|
70051
70127
|
return function () {
|
|
70052
70128
|
cancelObserver();
|
|
70053
70129
|
};
|
|
70054
|
-
}, []);
|
|
70130
|
+
}, [shouldObserveRowHeight]);
|
|
70055
70131
|
var _useState = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(false),
|
|
70056
70132
|
_useState2 = slicedToArray_default()(_useState, 2),
|
|
70057
70133
|
isExpandLoading = _useState2[0],
|
|
@@ -70299,7 +70375,6 @@ var Tr = function Tr(props) {
|
|
|
70299
70375
|
}
|
|
70300
70376
|
}
|
|
70301
70377
|
};
|
|
70302
|
-
var preventClasses = [jssStyle === null || jssStyle === void 0 || (_jssStyle$input = jssStyle.input) === null || _jssStyle$input === void 0 ? void 0 : _jssStyle$input.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$select = jssStyle.select) === null || _jssStyle$select === void 0 ? void 0 : _jssStyle$select.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$treeSelect = jssStyle.treeSelect) === null || _jssStyle$treeSelect === void 0 ? void 0 : _jssStyle$treeSelect.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$switch = jssStyle.switch) === null || _jssStyle$switch === void 0 ? void 0 : _jssStyle$switch.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$checkbox = jssStyle.checkbox) === null || _jssStyle$checkbox === void 0 ? void 0 : _jssStyle$checkbox.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$radio = jssStyle.radio) === null || _jssStyle$radio === void 0 ? void 0 : _jssStyle$radio.call(jssStyle).wrapper, jssStyle === null || jssStyle === void 0 || (_jssStyle$cascader = jssStyle.cascader) === null || _jssStyle$cascader === void 0 ? void 0 : _jssStyle$cascader.call(jssStyle).wrapper];
|
|
70303
70378
|
var isNotExpandableElement = function isNotExpandableElement(el) {
|
|
70304
70379
|
var tagName = el.tagName;
|
|
70305
70380
|
if (tagName === 'TD' || tagName === 'TR') return false;
|
|
@@ -70392,13 +70467,48 @@ var Tr = function Tr(props) {
|
|
|
70392
70467
|
})), renderExpand()]
|
|
70393
70468
|
});
|
|
70394
70469
|
};
|
|
70395
|
-
|
|
70470
|
+
|
|
70471
|
+
// 行级 memo(rowMemo)比较时跳过的 props:
|
|
70472
|
+
// - datum / treeFunc / handleCellHover / handleExpandClick:内部方法均为 usePersistFn,引用变化不影响渲染结果
|
|
70473
|
+
// (选中、禁用、展开状态已经以 isSelect / disabled / expanded / treeExpandLevel 的形式单独下发)
|
|
70474
|
+
// - row / hoverIndex / 语义化样式:引用每次都可能变化,下面按内容单独比较
|
|
70475
|
+
// - treeExpandLevel:随 data 每次重建,非树形表格不会读取;树形表格下单独按引用比较
|
|
70476
|
+
var MEMO_SKIP_KEYS = ['datum', 'treeFunc', 'handleCellHover', 'handleExpandClick', 'row', 'hoverIndex', 'bodyRowSemStyle', 'bodyCellSemStyle', 'treeExpandLevel'];
|
|
70477
|
+
|
|
70478
|
+
// rowData 在 data 变化时会整体重算(如懒加载追加数据),按单元格内容比较,避免未变化的行被连带重渲染
|
|
70479
|
+
var isSameRowCells = function isSameRowCells(prev, next) {
|
|
70480
|
+
if (prev === next) return true;
|
|
70481
|
+
if (prev.length !== next.length) return false;
|
|
70482
|
+
return prev.every(function (cell, i) {
|
|
70483
|
+
var nextCell = next[i];
|
|
70484
|
+
if (!cell || !nextCell) return cell === nextCell;
|
|
70485
|
+
return cell.data === nextCell.data && cell.colSpan === nextCell.colSpan && cell.rowSpan === nextCell.rowSpan;
|
|
70486
|
+
});
|
|
70487
|
+
};
|
|
70488
|
+
var isSameHover = function isSameHover(prev, next) {
|
|
70489
|
+
if (prev.hoverIndex === next.hoverIndex || !next.hover) return true;
|
|
70490
|
+
// 存在跨行单元格时 hover 态取决于后续行,保守处理为需要更新
|
|
70491
|
+
if (next.row.some(function (cell) {
|
|
70492
|
+
return cell && cell.rowSpan > 1;
|
|
70493
|
+
})) return false;
|
|
70494
|
+
return prev.hoverIndex.has(prev.rowIndex) === next.hoverIndex.has(next.rowIndex);
|
|
70495
|
+
};
|
|
70496
|
+
|
|
70497
|
+
// 未开启 rowMemo 时始终返回 false,行为与不做 memo 完全一致
|
|
70498
|
+
var isTrPropsEqual = function isTrPropsEqual(prev, next) {
|
|
70499
|
+
if (!prev.rowMemo || !next.rowMemo) return false;
|
|
70500
|
+
return shallow_equal_shallowEqual(prev, next, {
|
|
70501
|
+
skip: MEMO_SKIP_KEYS
|
|
70502
|
+
}) && (!next.treeColumnsName || prev.treeExpandLevel === next.treeExpandLevel) && isSameRowCells(prev.row, next.row) && isSameHover(prev, next) && shallow_equal_shallowEqual(prev.bodyRowSemStyle, next.bodyRowSemStyle) && shallow_equal_shallowEqual(prev.bodyCellSemStyle, next.bodyCellSemStyle);
|
|
70503
|
+
};
|
|
70504
|
+
/* harmony default export */ var tr = (/*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().memo(Tr, isTrPropsEqual));
|
|
70396
70505
|
;// CONCATENATED MODULE: ../base/src/table/tbody.tsx
|
|
70397
70506
|
|
|
70398
70507
|
|
|
70399
70508
|
|
|
70400
70509
|
|
|
70401
70510
|
/* harmony default export */ var tbody = (function (props) {
|
|
70511
|
+
var _jssStyle$table, _jssStyle$input, _jssStyle$select, _jssStyle$datePicker, _jssStyle$treeSelect, _jssStyle$switch, _jssStyle$checkbox, _jssStyle$radio, _jssStyle$cascader;
|
|
70402
70512
|
var _props$columns = props.columns,
|
|
70403
70513
|
columns = _props$columns === void 0 ? [] : _props$columns,
|
|
70404
70514
|
_props$currentRowInde = props.currentRowIndex,
|
|
@@ -70428,6 +70538,23 @@ var Tr = function Tr(props) {
|
|
|
70428
70538
|
var expandCol = props.expandHideCol || columns.find(function (col) {
|
|
70429
70539
|
return col.type === 'expand' || col.type === 'row-expand';
|
|
70430
70540
|
});
|
|
70541
|
+
|
|
70542
|
+
// 样式 hook 在 Tbody 统一调用一次再下发给 Tr,
|
|
70543
|
+
// 避免每一行都执行 9 次 react-jss useStyles(每次都带 useLayoutEffect/useEffect),行数多时开销明显
|
|
70544
|
+
var jssStyle = props.jssStyle;
|
|
70545
|
+
var tableClasses = jssStyle === null || jssStyle === void 0 || (_jssStyle$table = jssStyle.table) === null || _jssStyle$table === void 0 ? void 0 : _jssStyle$table.call(jssStyle);
|
|
70546
|
+
var inputWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$input = jssStyle.input) === null || _jssStyle$input === void 0 ? void 0 : _jssStyle$input.call(jssStyle).wrapper;
|
|
70547
|
+
var selectWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$select = jssStyle.select) === null || _jssStyle$select === void 0 ? void 0 : _jssStyle$select.call(jssStyle).wrapper;
|
|
70548
|
+
var datePickerWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$datePicker = jssStyle.datePicker) === null || _jssStyle$datePicker === void 0 ? void 0 : _jssStyle$datePicker.call(jssStyle).wrapper;
|
|
70549
|
+
var treeSelectWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$treeSelect = jssStyle.treeSelect) === null || _jssStyle$treeSelect === void 0 ? void 0 : _jssStyle$treeSelect.call(jssStyle).wrapper;
|
|
70550
|
+
var switchWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$switch = jssStyle.switch) === null || _jssStyle$switch === void 0 ? void 0 : _jssStyle$switch.call(jssStyle).wrapper;
|
|
70551
|
+
var checkboxWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$checkbox = jssStyle.checkbox) === null || _jssStyle$checkbox === void 0 ? void 0 : _jssStyle$checkbox.call(jssStyle).wrapper;
|
|
70552
|
+
var radioWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$radio = jssStyle.radio) === null || _jssStyle$radio === void 0 ? void 0 : _jssStyle$radio.call(jssStyle).wrapper;
|
|
70553
|
+
var cascaderWrapper = jssStyle === null || jssStyle === void 0 || (_jssStyle$cascader = jssStyle.cascader) === null || _jssStyle$cascader === void 0 ? void 0 : _jssStyle$cascader.call(jssStyle).wrapper;
|
|
70554
|
+
// 行点击时用于判断点击目标是否为表单控件(不触发 onRowClick / 行展开)
|
|
70555
|
+
var preventClasses = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(function () {
|
|
70556
|
+
return [inputWrapper, selectWrapper, datePickerWrapper, treeSelectWrapper, switchWrapper, checkboxWrapper, radioWrapper, cascaderWrapper];
|
|
70557
|
+
}, [inputWrapper, selectWrapper, datePickerWrapper, treeSelectWrapper, switchWrapper, checkboxWrapper, radioWrapper, cascaderWrapper]);
|
|
70431
70558
|
var renderRow = function renderRow(item, index) {
|
|
70432
70559
|
var _props$rowEvents;
|
|
70433
70560
|
var rowIndex = index + currentRowIndex;
|
|
@@ -70439,6 +70566,8 @@ var Tr = function Tr(props) {
|
|
|
70439
70566
|
columns: columns,
|
|
70440
70567
|
isScrollX: props.isScrollX,
|
|
70441
70568
|
jssStyle: props.jssStyle,
|
|
70569
|
+
tableClasses: tableClasses,
|
|
70570
|
+
preventClasses: preventClasses,
|
|
70442
70571
|
colgroup: props.colgroup,
|
|
70443
70572
|
rowClassName: props.rowClassName,
|
|
70444
70573
|
rawData: item,
|
|
@@ -70476,6 +70605,7 @@ var Tr = function Tr(props) {
|
|
|
70476
70605
|
virtual: props.virtual,
|
|
70477
70606
|
scrolling: props.scrolling,
|
|
70478
70607
|
strictRowHeight: props.strictRowHeight,
|
|
70608
|
+
rowMemo: props.rowMemo,
|
|
70479
70609
|
bodyRowSemClass: props.bodyRowSemClass,
|
|
70480
70610
|
bodyRowSemStyle: props.bodyRowSemStyle,
|
|
70481
70611
|
bodyCellSemClass: props.bodyCellSemClass,
|
|
@@ -70641,9 +70771,6 @@ var table_excluded = ["data"];
|
|
|
70641
70771
|
|
|
70642
70772
|
var table_devUseWarning = devUseWarning;
|
|
70643
70773
|
var table_emptyArr = [];
|
|
70644
|
-
var emptyRef = {
|
|
70645
|
-
current: null
|
|
70646
|
-
};
|
|
70647
70774
|
function Table(props) {
|
|
70648
70775
|
var _props$jssStyle, _props$jssStyle$table, _columns$find;
|
|
70649
70776
|
var _props$verticalAlign = props.verticalAlign,
|
|
@@ -70720,13 +70847,6 @@ function Table(props) {
|
|
|
70720
70847
|
setScrollAble(isScrollAble);
|
|
70721
70848
|
}, [virtual]);
|
|
70722
70849
|
|
|
70723
|
-
// TODO: 没用的tbodyHeight,有空移除了
|
|
70724
|
-
// 虚拟列表高度另外计算
|
|
70725
|
-
var _useResize = useResize({
|
|
70726
|
-
targetRef: virtual ? emptyRef : tbodyRef
|
|
70727
|
-
}),
|
|
70728
|
-
tbodyHeight = _useResize.height;
|
|
70729
|
-
|
|
70730
70850
|
// default height
|
|
70731
70851
|
var defaultHeight = virtual && !props.height && !props.virtualScrollContainer ? '100%' : props.height;
|
|
70732
70852
|
var selection = use_table_select({
|
|
@@ -70744,7 +70864,8 @@ function Table(props) {
|
|
|
70744
70864
|
data: props.data,
|
|
70745
70865
|
virtualColumn: props.virtualColumn,
|
|
70746
70866
|
scrollRef: scrollRef,
|
|
70747
|
-
showCheckbox: typeof props.onRowSelect === 'function'
|
|
70867
|
+
showCheckbox: typeof props.onRowSelect === 'function',
|
|
70868
|
+
reuseEqualColumns: !!props.rowMemo
|
|
70748
70869
|
}),
|
|
70749
70870
|
columns = _useTableColumns.columns,
|
|
70750
70871
|
expandHideCol = _useTableColumns.expandHideCol,
|
|
@@ -71042,6 +71163,7 @@ function Table(props) {
|
|
|
71042
71163
|
treeCheckAll: props.treeCheckAll,
|
|
71043
71164
|
onCellClick: props.onCellClick,
|
|
71044
71165
|
strictRowHeight: props.strictRowHeight,
|
|
71166
|
+
rowMemo: props.rowMemo,
|
|
71045
71167
|
scrollRef: scrollRef,
|
|
71046
71168
|
bodyRowSemClass: semClass('bodyRow'),
|
|
71047
71169
|
bodyRowSemStyle: semStyle('bodyRow'),
|
|
@@ -71276,8 +71398,11 @@ function Table(props) {
|
|
|
71276
71398
|
flex: 1
|
|
71277
71399
|
},
|
|
71278
71400
|
wrapperRef: scrollRef,
|
|
71279
|
-
scrollWidth: width || 1
|
|
71280
|
-
|
|
71401
|
+
scrollWidth: width || 1
|
|
71402
|
+
// 非虚拟时只有空数据会走到 Scroll,此时 isEmpty 会把 paddingTop 置 0,scrollHeight 不生效;
|
|
71403
|
+
// 原先这里对 tbody 做 useResize 监听,tbody 尺寸变化后会额外触发整表重渲染,已移除
|
|
71404
|
+
,
|
|
71405
|
+
scrollHeight: virtual ? virtualInfo.scrollHeight : 0,
|
|
71281
71406
|
onScroll: handleVirtualScroll,
|
|
71282
71407
|
defaultHeight: context.emptyHeight,
|
|
71283
71408
|
isScrollY: isScrollY,
|
|
@@ -80159,7 +80284,7 @@ var watermark_interface = __webpack_require__(6640);
|
|
|
80159
80284
|
|
|
80160
80285
|
|
|
80161
80286
|
/* harmony default export */ var src_0 = ({
|
|
80162
|
-
version: '3.10.3-beta.
|
|
80287
|
+
version: '3.10.3-beta.3'
|
|
80163
80288
|
});
|
|
80164
80289
|
}();
|
|
80165
80290
|
/******/ return __webpack_exports__;
|