@kdcloudjs/table 1.2.2-canary.14-hotfix.5 → 1.2.2-canary.14-hotfix.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.
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +138 -90
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +5 -5
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/es/table/base/html-table.js +14 -5
- package/es/table/pipeline/features/columnDrag.js +21 -1
- package/es/table/pipeline/features/columnHover.js +16 -11
- package/es/table/pipeline/features/columnRangeHover.js +18 -17
- package/es/table/pipeline/features/mergeCellHover.js +21 -15
- package/es/table/pipeline/features/rangeSelection.js +2 -0
- package/lib/table/base/html-table.js +14 -5
- package/lib/table/pipeline/features/columnDrag.js +21 -1
- package/lib/table/pipeline/features/columnHover.js +16 -11
- package/lib/table/pipeline/features/columnRangeHover.js +18 -17
- package/lib/table/pipeline/features/mergeCellHover.js +21 -15
- package/lib/table/pipeline/features/rangeSelection.js +2 -0
- package/package.json +1 -1
package/dist/@kdcloudjs/table.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* @kdcloudjs/table v1.2.2-canary.14-hotfix.
|
|
3
|
+
* @kdcloudjs/table v1.2.2-canary.14-hotfix.6
|
|
4
4
|
*
|
|
5
5
|
* Copyright 2020-present, Kingdee, Inc.
|
|
6
6
|
* All rights reserved.
|
|
@@ -2804,12 +2804,22 @@ function HtmlTable(_ref) {
|
|
|
2804
2804
|
isPlacehoder: true
|
|
2805
2805
|
});
|
|
2806
2806
|
}
|
|
2807
|
+
|
|
2808
|
+
// detail 行跳过水平虚拟化,渲染所有列,确保 column 0 的 getSpanRect 能正确执行
|
|
2809
|
+
var isDetailRow = (rowProps === null || rowProps === void 0 ? void 0 : rowProps['data-row-detail-key']) != null;
|
|
2810
|
+
var rowDescriptors = isDetailRow ? flat.full.map(function (col, i) {
|
|
2811
|
+
return {
|
|
2812
|
+
type: 'normal',
|
|
2813
|
+
col: col,
|
|
2814
|
+
colIndex: i
|
|
2815
|
+
};
|
|
2816
|
+
}) : visibleColumnDescriptor;
|
|
2807
2817
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("tr", _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, rowProps, {
|
|
2808
2818
|
className: rowClass,
|
|
2809
2819
|
key: rowProps !== null && rowProps !== void 0 && rowProps['data-row-detail-key'] ? rowProps['data-row-detail-key'] : _internals__WEBPACK_IMPORTED_MODULE_15__["internals"].safeGetRowKey(primaryKey, record, rowIndex),
|
|
2810
2820
|
"data-rowindex": rowIndex,
|
|
2811
2821
|
"data-role": 'table-row'
|
|
2812
|
-
}),
|
|
2822
|
+
}), rowDescriptors.map(function (descriptor) {
|
|
2813
2823
|
if (descriptor.type === 'blank') {
|
|
2814
2824
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_14___default.a.createElement("td", {
|
|
2815
2825
|
key: descriptor.blankSide,
|
|
@@ -2818,10 +2828,10 @@ function HtmlTable(_ref) {
|
|
|
2818
2828
|
}
|
|
2819
2829
|
});
|
|
2820
2830
|
}
|
|
2821
|
-
return renderBodyCell(record, rowIndex, descriptor.col, descriptor.colIndex);
|
|
2831
|
+
return renderBodyCell(record, rowIndex, descriptor.col, descriptor.colIndex, isDetailRow ? fullFlatCount : undefined);
|
|
2822
2832
|
}));
|
|
2823
2833
|
}
|
|
2824
|
-
function renderBodyCell(record, rowIndex, column, colIndex) {
|
|
2834
|
+
function renderBodyCell(record, rowIndex, column, colIndex, colSpanLimit) {
|
|
2825
2835
|
var _column$getCellProps, _column$getCellProps2, _column$verticalAlign;
|
|
2826
2836
|
if (spanManager.testSkip(rowIndex, colIndex)) {
|
|
2827
2837
|
return null;
|
|
@@ -2853,7 +2863,7 @@ function HtmlTable(_ref) {
|
|
|
2853
2863
|
|
|
2854
2864
|
// rowSpan/colSpan 不能过大,避免 rowSpan/colSpan 影响因虚拟滚动而未渲染的单元格
|
|
2855
2865
|
rowSpan = Math.min(rowSpan, verInfo.limit - rowIndex);
|
|
2856
|
-
colSpan = Math.min(colSpan, hozInfo.visible.length - colIndex);
|
|
2866
|
+
colSpan = Math.min(colSpan, (colSpanLimit !== null && colSpanLimit !== void 0 ? colSpanLimit : hozInfo.visible.length) - colIndex);
|
|
2857
2867
|
|
|
2858
2868
|
// todo: 右侧有列固定的情况下colSpan计算不对,这里先限制一下
|
|
2859
2869
|
rowSpan = Math.max(rowSpan, 1);
|
|
@@ -5808,13 +5818,34 @@ function columnDrag() {
|
|
|
5808
5818
|
var style = cloumnsTranslateData ? {
|
|
5809
5819
|
transition: '.3s',
|
|
5810
5820
|
transform: "translate3d(".concat(cloumnsTranslateData[col.code], "px, 0px, 0px)")
|
|
5811
|
-
} :
|
|
5821
|
+
} : null;
|
|
5812
5822
|
var prevGetCellProps = col.getCellProps;
|
|
5813
5823
|
// !col.code: 选择列 col.lock: 固定列 不允许拖拽
|
|
5814
5824
|
if (col.lock || !col.code) return col;
|
|
5825
|
+
|
|
5826
|
+
// 没有拖拽进行时,不包装 getCellProps,避免每个 cell 多一层函数调用
|
|
5827
|
+
if (style == null) {
|
|
5828
|
+
return _objectSpread(_objectSpread({}, col), {}, {
|
|
5829
|
+
headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_10__["mergeCellProps"])(col.headerCellProps, _objectSpread({}, isLeaf && path.length === 1 ? {
|
|
5830
|
+
onMouseDown: function onMouseDown(e) {
|
|
5831
|
+
if (e.button !== 0 || !e.currentTarget.contains(e.target)) {
|
|
5832
|
+
return;
|
|
5833
|
+
}
|
|
5834
|
+
handlePointerDown(e.nativeEvent, false, e.currentTarget);
|
|
5835
|
+
},
|
|
5836
|
+
onTouchStart: function onTouchStart(e) {
|
|
5837
|
+
if (e.cancelable) {
|
|
5838
|
+
e.preventDefault();
|
|
5839
|
+
}
|
|
5840
|
+
handlePointerDown(e.nativeEvent, true, e.currentTarget);
|
|
5841
|
+
}
|
|
5842
|
+
} : {}))
|
|
5843
|
+
});
|
|
5844
|
+
}
|
|
5815
5845
|
return _objectSpread(_objectSpread({}, col), {}, {
|
|
5816
5846
|
getCellProps: function getCellProps(value, record, rowIndex) {
|
|
5817
5847
|
var prevCellProps = prevGetCellProps === null || prevGetCellProps === void 0 ? void 0 : prevGetCellProps(value, record, rowIndex);
|
|
5848
|
+
if (style == null) return prevCellProps;
|
|
5818
5849
|
return Object(_utils__WEBPACK_IMPORTED_MODULE_10__["mergeCellProps"])(prevCellProps, {
|
|
5819
5850
|
style: style
|
|
5820
5851
|
});
|
|
@@ -6378,20 +6409,26 @@ function columnHover() {
|
|
|
6378
6409
|
}
|
|
6379
6410
|
var colIndexMatched = range.start <= hoverColIndex && hoverColIndex < range.end;
|
|
6380
6411
|
var prevGetCellProps = col.getCellProps;
|
|
6412
|
+
|
|
6413
|
+
// 预构建 merge 用的 extra 对象,避免在每个 cell 里重复创建
|
|
6414
|
+
var onMouseEnter = function onMouseEnter() {
|
|
6415
|
+
onChangeHoverColIndex(range.start);
|
|
6416
|
+
};
|
|
6417
|
+
var onMouseLeave = function onMouseLeave() {
|
|
6418
|
+
onChangeHoverColIndex(-1);
|
|
6419
|
+
};
|
|
6420
|
+
var cellExtra = {
|
|
6421
|
+
style: {
|
|
6422
|
+
'--bgcolor': colIndexMatched ? hoverColor : undefined
|
|
6423
|
+
},
|
|
6424
|
+
onMouseEnter: onMouseEnter,
|
|
6425
|
+
onMouseLeave: onMouseLeave
|
|
6426
|
+
};
|
|
6381
6427
|
return _objectSpread(_objectSpread({}, col), {}, {
|
|
6382
6428
|
getCellProps: function getCellProps(value, record, rowIndex) {
|
|
6383
6429
|
var prevCellProps = prevGetCellProps === null || prevGetCellProps === void 0 ? void 0 : prevGetCellProps(value, record, rowIndex);
|
|
6384
|
-
|
|
6385
|
-
|
|
6386
|
-
'--bgcolor': colIndexMatched ? hoverColor : undefined
|
|
6387
|
-
},
|
|
6388
|
-
onMouseEnter: function onMouseEnter() {
|
|
6389
|
-
onChangeHoverColIndex(range.start);
|
|
6390
|
-
},
|
|
6391
|
-
onMouseLeave: function onMouseLeave() {
|
|
6392
|
-
onChangeHoverColIndex(-1);
|
|
6393
|
-
}
|
|
6394
|
-
});
|
|
6430
|
+
if (!prevCellProps) return cellExtra;
|
|
6431
|
+
return Object(_utils__WEBPACK_IMPORTED_MODULE_8__["mergeCellProps"])(prevCellProps, cellExtra);
|
|
6395
6432
|
}
|
|
6396
6433
|
});
|
|
6397
6434
|
}));
|
|
@@ -6482,31 +6519,33 @@ function columnRangeHover() {
|
|
|
6482
6519
|
});
|
|
6483
6520
|
}
|
|
6484
6521
|
var prevGetCellProps = col.getCellProps;
|
|
6522
|
+
|
|
6523
|
+
// 预构建 merge 用的 extra 对象,避免在每个 cell 里重复创建
|
|
6524
|
+
var onMouseEnter = function onMouseEnter() {
|
|
6525
|
+
onChangeHoverRange(colRange);
|
|
6526
|
+
};
|
|
6527
|
+
var onMouseLeave = function onMouseLeave() {
|
|
6528
|
+
onChangeHoverRange(EMPTY_RANGE);
|
|
6529
|
+
};
|
|
6530
|
+
var cellExtra = {
|
|
6531
|
+
onMouseEnter: onMouseEnter,
|
|
6532
|
+
onMouseLeave: onMouseLeave,
|
|
6533
|
+
style: {
|
|
6534
|
+
'--bgcolor': match ? hoverColor : undefined
|
|
6535
|
+
}
|
|
6536
|
+
};
|
|
6485
6537
|
return _objectSpread(_objectSpread({}, col), {}, {
|
|
6486
6538
|
headerCellProps: Object(_utils__WEBPACK_IMPORTED_MODULE_8__["mergeCellProps"])(col.headerCellProps, {
|
|
6487
|
-
onMouseEnter:
|
|
6488
|
-
|
|
6489
|
-
},
|
|
6490
|
-
onMouseLeave: function onMouseLeave() {
|
|
6491
|
-
onChangeHoverRange(EMPTY_RANGE);
|
|
6492
|
-
},
|
|
6539
|
+
onMouseEnter: onMouseEnter,
|
|
6540
|
+
onMouseLeave: onMouseLeave,
|
|
6493
6541
|
style: {
|
|
6494
6542
|
'--header-bgcolor': match ? headerHoverColor : undefined
|
|
6495
6543
|
}
|
|
6496
6544
|
}),
|
|
6497
6545
|
getCellProps: function getCellProps(value, record, rowIndex) {
|
|
6498
6546
|
var prevCellProps = prevGetCellProps === null || prevGetCellProps === void 0 ? void 0 : prevGetCellProps(value, record, rowIndex);
|
|
6499
|
-
|
|
6500
|
-
|
|
6501
|
-
onChangeHoverRange(colRange);
|
|
6502
|
-
},
|
|
6503
|
-
onMouseLeave: function onMouseLeave() {
|
|
6504
|
-
onChangeHoverRange(EMPTY_RANGE);
|
|
6505
|
-
},
|
|
6506
|
-
style: {
|
|
6507
|
-
'--bgcolor': match ? hoverColor : undefined
|
|
6508
|
-
}
|
|
6509
|
-
});
|
|
6547
|
+
if (!prevCellProps) return cellExtra;
|
|
6548
|
+
return Object(_utils__WEBPACK_IMPORTED_MODULE_8__["mergeCellProps"])(prevCellProps, cellExtra);
|
|
6510
6549
|
}
|
|
6511
6550
|
});
|
|
6512
6551
|
}));
|
|
@@ -8121,24 +8160,26 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8121
8160
|
"use strict";
|
|
8122
8161
|
__webpack_require__.r(__webpack_exports__);
|
|
8123
8162
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeCellHover", function() { return mergeCellHover; });
|
|
8124
|
-
/* harmony import */ var
|
|
8125
|
-
/* harmony import */ var
|
|
8126
|
-
/* harmony import */ var
|
|
8127
|
-
/* harmony import */ var
|
|
8128
|
-
/* harmony import */ var
|
|
8129
|
-
/* harmony import */ var
|
|
8130
|
-
/* harmony import */ var
|
|
8131
|
-
/* harmony import */ var
|
|
8132
|
-
/* harmony import */ var
|
|
8133
|
-
/* harmony import */ var
|
|
8134
|
-
/* harmony import */ var
|
|
8135
|
-
/* harmony import */ var
|
|
8136
|
-
/* harmony import */ var
|
|
8137
|
-
/* harmony import */ var
|
|
8163
|
+
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "./node_modules/@babel/runtime/helpers/defineProperty.js");
|
|
8164
|
+
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);
|
|
8165
|
+
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string.js */ "./node_modules/core-js/modules/es.object.to-string.js");
|
|
8166
|
+
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
8167
|
+
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.symbol.js */ "./node_modules/core-js/modules/es.symbol.js");
|
|
8168
|
+
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
8169
|
+
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
|
|
8170
|
+
/* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_3__);
|
|
8171
|
+
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptor.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptor.js");
|
|
8172
|
+
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptor_js__WEBPACK_IMPORTED_MODULE_4__);
|
|
8173
|
+
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.get-own-property-descriptors.js */ "./node_modules/core-js/modules/es.object.get-own-property-descriptors.js");
|
|
8174
|
+
/* harmony import */ var core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_get_own_property_descriptors_js__WEBPACK_IMPORTED_MODULE_5__);
|
|
8175
|
+
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.object.keys.js */ "./node_modules/core-js/modules/es.object.keys.js");
|
|
8176
|
+
/* harmony import */ var core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_keys_js__WEBPACK_IMPORTED_MODULE_6__);
|
|
8138
8177
|
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/web.dom-collections.for-each.js */ "./node_modules/core-js/modules/web.dom-collections.for-each.js");
|
|
8139
8178
|
/* harmony import */ var core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_7__);
|
|
8140
8179
|
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ "./components/table/utils/index.tsx");
|
|
8141
8180
|
|
|
8181
|
+
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; }
|
|
8182
|
+
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) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(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; }
|
|
8142
8183
|
|
|
8143
8184
|
|
|
8144
8185
|
|
|
@@ -8146,11 +8187,25 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8146
8187
|
|
|
8147
8188
|
|
|
8148
8189
|
|
|
8149
|
-
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; }
|
|
8150
|
-
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) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(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; }
|
|
8151
8190
|
|
|
8152
8191
|
function mergeCellHover() {
|
|
8153
8192
|
return function (pipeline) {
|
|
8193
|
+
var onMouseEnter = function onMouseEnter(e) {
|
|
8194
|
+
var InRangeRow = pipeline.ref.current.domHelper.getInRangeRowByCellEvent(e);
|
|
8195
|
+
InRangeRow.forEach(function (row) {
|
|
8196
|
+
row.classList.add('row-hover');
|
|
8197
|
+
});
|
|
8198
|
+
};
|
|
8199
|
+
var onMouseLeave = function onMouseLeave(e) {
|
|
8200
|
+
var InRangeRow = pipeline.ref.current.domHelper.getInRangeRowByCellEvent(e);
|
|
8201
|
+
InRangeRow.forEach(function (row) {
|
|
8202
|
+
row.classList.remove('row-hover');
|
|
8203
|
+
});
|
|
8204
|
+
};
|
|
8205
|
+
var hoverHandlers = {
|
|
8206
|
+
onMouseEnter: onMouseEnter,
|
|
8207
|
+
onMouseLeave: onMouseLeave
|
|
8208
|
+
};
|
|
8154
8209
|
return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_8__["makeRecursiveMapper"])(function (col) {
|
|
8155
8210
|
if (!Object(_utils__WEBPACK_IMPORTED_MODULE_8__["isLeafNode"])(col)) {
|
|
8156
8211
|
return col;
|
|
@@ -8158,21 +8213,11 @@ function mergeCellHover() {
|
|
|
8158
8213
|
var prevGetCellProps = col.getCellProps;
|
|
8159
8214
|
return _objectSpread(_objectSpread({}, col), {}, {
|
|
8160
8215
|
getCellProps: function getCellProps(value, record, rowIndex) {
|
|
8161
|
-
|
|
8162
|
-
|
|
8163
|
-
|
|
8164
|
-
|
|
8165
|
-
|
|
8166
|
-
row.classList.add('row-hover');
|
|
8167
|
-
});
|
|
8168
|
-
},
|
|
8169
|
-
onMouseLeave: function onMouseLeave(e) {
|
|
8170
|
-
var InRangeRow = pipeline.ref.current.domHelper.getInRangeRowByCellEvent(e);
|
|
8171
|
-
InRangeRow.forEach(function (row) {
|
|
8172
|
-
row.classList.remove('row-hover');
|
|
8173
|
-
});
|
|
8174
|
-
}
|
|
8175
|
-
});
|
|
8216
|
+
// 大多数列没有自定义 getCellProps,直接返回静态 handlers 避免 mergeCellProps 开销
|
|
8217
|
+
if (!prevGetCellProps) return hoverHandlers;
|
|
8218
|
+
var prevCellProps = prevGetCellProps(value, record, rowIndex);
|
|
8219
|
+
if (!prevCellProps) return hoverHandlers;
|
|
8220
|
+
return Object(_utils__WEBPACK_IMPORTED_MODULE_8__["mergeCellProps"])(prevCellProps, hoverHandlers);
|
|
8176
8221
|
}
|
|
8177
8222
|
});
|
|
8178
8223
|
}));
|
|
@@ -8714,6 +8759,9 @@ function rangeSelection(opts) {
|
|
|
8714
8759
|
|
|
8715
8760
|
return pipeline.mapColumns(Object(_utils__WEBPACK_IMPORTED_MODULE_12__["makeRecursiveMapper"])(function (col) {
|
|
8716
8761
|
var cellRanges = pipeline.getStateAtKey(rangeSelectionKey) || [];
|
|
8762
|
+
|
|
8763
|
+
// 没有选区时,不包装 getCellProps,避免每个 cell 多一层函数调用和 isCellInRange 检查
|
|
8764
|
+
if (cellRanges.length === 0) return col;
|
|
8717
8765
|
var prevGetCellProps = col.getCellProps;
|
|
8718
8766
|
return _objectSpread(_objectSpread({}, col), {}, {
|
|
8719
8767
|
getCellProps: function getCellProps(value, record, rowIndex) {
|
|
@@ -8833,11 +8881,11 @@ function getRangeSelectionRowInfo(startCell, endCell, dataSource) {
|
|
|
8833
8881
|
};
|
|
8834
8882
|
}
|
|
8835
8883
|
|
|
8836
|
-
/**
|
|
8837
|
-
* 获取框选范围的起始结束行
|
|
8838
|
-
* @param startCell 起始单元格
|
|
8839
|
-
* @param endCell 结束单元格
|
|
8840
|
-
* @returns
|
|
8884
|
+
/**
|
|
8885
|
+
* 获取框选范围的起始结束行
|
|
8886
|
+
* @param startCell 起始单元格
|
|
8887
|
+
* @param endCell 结束单元格
|
|
8888
|
+
* @returns
|
|
8841
8889
|
*/
|
|
8842
8890
|
function getCellRangeRow(startCell, endCell) {
|
|
8843
8891
|
if (isSameCell(startCell, endCell)) {
|
|
@@ -8855,10 +8903,10 @@ function getCellRangeRow(startCell, endCell) {
|
|
|
8855
8903
|
};
|
|
8856
8904
|
}
|
|
8857
8905
|
|
|
8858
|
-
/**
|
|
8859
|
-
* 框选范围是否只包含单个单元格
|
|
8860
|
-
* @param cellRanges
|
|
8861
|
-
* @returns
|
|
8906
|
+
/**
|
|
8907
|
+
* 框选范围是否只包含单个单元格
|
|
8908
|
+
* @param cellRanges
|
|
8909
|
+
* @returns
|
|
8862
8910
|
*/
|
|
8863
8911
|
function isCellRangeSingleCell(cellRanges) {
|
|
8864
8912
|
if (cellRanges.length !== 1) return false;
|
|
@@ -8897,13 +8945,13 @@ function getElementEditable(target) {
|
|
|
8897
8945
|
}
|
|
8898
8946
|
}
|
|
8899
8947
|
|
|
8900
|
-
/**
|
|
8901
|
-
* 判断单元格是否在框选范围内
|
|
8902
|
-
* @param cellRange
|
|
8903
|
-
* @param rowIndex
|
|
8904
|
-
* @param col
|
|
8905
|
-
* @param isFooterCell
|
|
8906
|
-
* @returns
|
|
8948
|
+
/**
|
|
8949
|
+
* 判断单元格是否在框选范围内
|
|
8950
|
+
* @param cellRange
|
|
8951
|
+
* @param rowIndex
|
|
8952
|
+
* @param col
|
|
8953
|
+
* @param isFooterCell
|
|
8954
|
+
* @returns
|
|
8907
8955
|
*/
|
|
8908
8956
|
function isCellInRange(cellRange, rowIndex, col, isFooterCell) {
|
|
8909
8957
|
var startRow = cellRange.startRow,
|
|
@@ -8926,10 +8974,10 @@ function isCellInRange(cellRange, rowIndex, col, isFooterCell) {
|
|
|
8926
8974
|
return isRowInRange;
|
|
8927
8975
|
}
|
|
8928
8976
|
|
|
8929
|
-
/**
|
|
8930
|
-
* 获取框选范围唯一标识
|
|
8931
|
-
* @param {*} cellRange
|
|
8932
|
-
* @returns
|
|
8977
|
+
/**
|
|
8978
|
+
* 获取框选范围唯一标识
|
|
8979
|
+
* @param {*} cellRange
|
|
8980
|
+
* @returns
|
|
8933
8981
|
*/
|
|
8934
8982
|
function getCellRangeId(cellRange) {
|
|
8935
8983
|
var startRow = cellRange.startRow,
|
|
@@ -8947,11 +8995,11 @@ function getCellRangeId(cellRange) {
|
|
|
8947
8995
|
return startRowIndex + '_' + endRowIndex + '_' + footerStartRowIndex + '_' + footerEndRowIndex + '_' + firstColId + '_' + endColId;
|
|
8948
8996
|
}
|
|
8949
8997
|
|
|
8950
|
-
/**
|
|
8951
|
-
* 获取框选范围中单元格的样式
|
|
8952
|
-
* @param cellRanges
|
|
8953
|
-
* @param param1
|
|
8954
|
-
* @returns
|
|
8998
|
+
/**
|
|
8999
|
+
* 获取框选范围中单元格的样式
|
|
9000
|
+
* @param cellRanges
|
|
9001
|
+
* @param param1
|
|
9002
|
+
* @returns
|
|
8955
9003
|
*/
|
|
8956
9004
|
function getCellRangesClassName(cellRanges, _ref2) {
|
|
8957
9005
|
var isFooterCell = _ref2.isFooterCell,
|