@kdcloudjs/table 1.2.1-canary.6 → 1.2.2-canary.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/LICENSE +568 -568
- package/README.md +111 -111
- package/dist/@kdcloudjs/table.css +1 -1
- package/dist/@kdcloudjs/table.js +5480 -6087
- package/dist/@kdcloudjs/table.js.map +1 -1
- package/dist/@kdcloudjs/table.min.css +1 -1
- package/dist/@kdcloudjs/table.min.js +18 -16
- package/dist/@kdcloudjs/table.min.js.map +1 -1
- package/dist/kd-ui-complete.less +777 -777
- package/es/_utils/arrayUtil.js +0 -3
- package/es/_utils/devwarning.js +0 -1
- package/es/_utils/formatUtil.js +36 -101
- package/es/_utils/hooks.js +21 -45
- package/es/_utils/index.js +0 -2
- package/es/_utils/numberUtil.js +32 -55
- package/es/_utils/omit.js +0 -2
- package/es/_utils/type.js +0 -2
- package/es/_utils/usePopper.js +81 -144
- package/es/config-provider/compDefaultProps.js +0 -1
- package/es/config-provider/configProvider.js +2 -7
- package/es/config-provider/defaultConfig.js +0 -1
- package/es/index.js +0 -2
- package/es/locale/locale.js +11 -50
- package/es/style/color/colors.less +1 -1
- package/es/style/core/index.less +1 -1
- package/es/style/core/motion/other.less +27 -27
- package/es/style/core/motion/slide.less +53 -53
- package/es/style/core/motion.less +1 -1
- package/es/style/core/reset.less +185 -185
- package/es/style/index.less +1 -1
- package/es/style/mixins/index.less +18 -18
- package/es/style/mixins/overlay.less +21 -21
- package/es/style/mixins/reset.less +12 -12
- package/es/style/themes/default.less +445 -445
- package/es/table/base/calculations.js +25 -75
- package/es/table/base/colgroup.js +0 -1
- package/es/table/base/empty.js +6 -6
- package/es/table/base/globalStyleComponent.d.ts +4 -0
- package/es/table/base/globalStyleComponent.js +24 -0
- package/es/table/base/header.js +21 -76
- package/es/table/base/helpers/SpanManager.js +4 -11
- package/es/table/base/helpers/TableDOMUtils.js +9 -34
- package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
- package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
- package/es/table/base/helpers/getRichVisibleRectsStream.js +13 -45
- package/es/table/base/helpers/rowHeightManager.js +0 -28
- package/es/table/base/html-table.js +17 -39
- package/es/table/base/loading.js +8 -10
- package/es/table/base/renderTemplates.js +42 -60
- package/es/table/base/styles.d.ts +10 -0
- package/es/table/base/styles.js +17 -16
- package/es/table/base/table.js +113 -201
- package/es/table/base/utils.js +17 -57
- package/es/table/common-views.js +0 -7
- package/es/table/interfaces.d.ts +38 -0
- package/es/table/internals.js +0 -13
- package/es/table/pipeline/const.d.ts +3 -0
- package/es/table/pipeline/const.js +3 -0
- package/es/table/pipeline/features/autoFill.js +11 -40
- package/es/table/pipeline/features/autoRowSpan.js +1 -14
- package/es/table/pipeline/features/colGroupExtendable.js +4 -19
- package/es/table/pipeline/features/columnDrag.js +41 -97
- package/es/table/pipeline/features/columnFilter.js +12 -51
- package/es/table/pipeline/features/columnHover.js +1 -7
- package/es/table/pipeline/features/columnRangeHover.js +1 -8
- package/es/table/pipeline/features/columnResizeWidth.js +13 -39
- package/es/table/pipeline/features/contextMenu.js +22 -95
- package/es/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
- package/es/table/pipeline/features/featureApi/RowDragApi.js +66 -0
- package/es/table/pipeline/features/featureApi/utils.d.ts +2 -0
- package/es/table/pipeline/features/featureApi/utils.js +10 -0
- package/es/table/pipeline/features/filter/DefaultFilterContent.js +14 -30
- package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
- package/es/table/pipeline/features/filter/Filter.js +27 -51
- package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
- package/es/table/pipeline/features/filter/util.js +0 -4
- package/es/table/pipeline/features/footerDataSource.js +0 -3
- package/es/table/pipeline/features/mergeCellHover.js +0 -1
- package/es/table/pipeline/features/multiSelect.js +15 -57
- package/es/table/pipeline/features/rangeSelection.js +73 -152
- package/es/table/pipeline/features/rowDetail.js +4 -43
- package/es/table/pipeline/features/rowDrag.d.ts +10 -12
- package/es/table/pipeline/features/rowDrag.js +491 -236
- package/es/table/pipeline/features/rowGrouping.js +4 -37
- package/es/table/pipeline/features/singleSelect.js +0 -24
- package/es/table/pipeline/features/sort.js +38 -96
- package/es/table/pipeline/features/tips.js +4 -10
- package/es/table/pipeline/features/treeMode.d.ts +1 -0
- package/es/table/pipeline/features/treeMode.js +38 -57
- package/es/table/pipeline/features/treeSelect.js +2 -28
- package/es/table/pipeline/pipeline.d.ts +3 -0
- package/es/table/pipeline/pipeline.js +35 -54
- package/es/table/pivot/cross-table/buildCrossTable.js +21 -72
- package/es/table/pivot/cross-table/cross-table.js +23 -31
- package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -57
- package/es/table/pivot/cross-tree-table/cross-tree-table.js +36 -61
- package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
- package/es/table/pivot/pivot-utils/builders.js +34 -74
- package/es/table/pivot/pivot-utils/convert-utils.js +16 -42
- package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
- package/es/table/style/index.less +1 -1
- package/es/table/transforms/autoRowSpan.js +1 -15
- package/es/table/transforms/autoWidth.js +13 -35
- package/es/table/transforms/buildTree.js +1 -2
- package/es/table/transforms/columnHover.js +9 -15
- package/es/table/transforms/columnRangeHover.js +12 -19
- package/es/table/transforms/columnResize.js +18 -42
- package/es/table/transforms/flatten.js +0 -3
- package/es/table/transforms/orderField.js +0 -3
- package/es/table/transforms/sort.js +42 -101
- package/es/table/transforms/tips.js +5 -10
- package/es/table/transforms/treeMode.js +36 -77
- package/es/table/transforms/visible.js +0 -2
- package/es/table/use/useResizeObserver.js +1 -4
- package/es/table/utils/applyTransforms.js +0 -1
- package/es/table/utils/browserType.js +12 -19
- package/es/table/utils/buildTree.js +7 -22
- package/es/table/utils/collectNodes.js +4 -13
- package/es/table/utils/console.js +0 -14
- package/es/table/utils/copyToClipboard.js +0 -4
- package/es/table/utils/element.js +14 -41
- package/es/table/utils/exportTableAsExcel.js +7 -43
- package/es/table/utils/getTreeDepth.js +4 -12
- package/es/table/utils/groupBy.js +4 -13
- package/es/table/utils/layeredFilter.js +0 -4
- package/es/table/utils/layeredSort.js +0 -5
- package/es/table/utils/makeRecursiveMapper.js +4 -15
- package/es/table/utils/mergeCellProps.js +6 -14
- package/es/table/utils/others.js +6 -19
- package/es/table/utils/proto.js +2 -30
- package/es/table/utils/smartCompare.js +4 -12
- package/es/table/utils/traverseColumn.js +5 -18
- package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +8 -30
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
- package/es/table/utils/uiDegrade.js +0 -5
- package/lib/_utils/arrayUtil.js +2 -8
- package/lib/_utils/devwarning.js +0 -5
- package/lib/_utils/formatUtil.js +36 -105
- package/lib/_utils/hooks.js +21 -56
- package/lib/_utils/index.js +2 -9
- package/lib/_utils/numberUtil.js +32 -63
- package/lib/_utils/omit.js +0 -5
- package/lib/_utils/react-children.js +0 -5
- package/lib/_utils/type.js +3 -11
- package/lib/_utils/usePopper.js +86 -173
- package/lib/config-provider/ConfigContext.js +2 -6
- package/lib/config-provider/compDefaultProps.js +1 -3
- package/lib/config-provider/configProvider.js +6 -22
- package/lib/config-provider/defaultConfig.js +1 -7
- package/lib/config-provider/index.js +1 -8
- package/lib/index.js +2 -8
- package/lib/locale/index.js +3 -11
- package/lib/locale/locale.js +15 -71
- package/lib/locale/zh-CN.js +1 -2
- package/lib/style/color/colors.less +1 -1
- package/lib/style/components.less +1 -1
- package/lib/style/core/index.less +1 -1
- package/lib/style/core/motion/other.less +27 -27
- package/lib/style/core/motion/slide.less +53 -53
- package/lib/style/core/motion.less +1 -1
- package/lib/style/core/reset.less +185 -185
- package/lib/style/index.less +1 -1
- package/lib/style/mixins/index.less +18 -18
- package/lib/style/mixins/overlay.less +21 -21
- package/lib/style/mixins/reset.less +12 -12
- package/lib/style/themes/default.less +445 -445
- package/lib/table/base/calculations.js +25 -86
- package/lib/table/base/colgroup.js +0 -5
- package/lib/table/base/empty.js +8 -20
- package/lib/table/base/globalStyleComponent.d.ts +4 -0
- package/lib/table/base/globalStyleComponent.js +35 -0
- package/lib/table/base/header.js +21 -86
- package/lib/table/base/helpers/SpanManager.js +6 -16
- package/lib/table/base/helpers/TableDOMUtils.js +9 -37
- package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
- package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
- package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
- package/lib/table/base/helpers/getRichVisibleRectsStream.js +15 -65
- package/lib/table/base/helpers/rowHeightManager.js +0 -33
- package/lib/table/base/html-table.js +17 -49
- package/lib/table/base/index.js +0 -2
- package/lib/table/base/loading.js +8 -14
- package/lib/table/base/renderTemplates.js +45 -76
- package/lib/table/base/styles.d.ts +10 -0
- package/lib/table/base/styles.js +24 -42
- package/lib/table/base/table.js +125 -245
- package/lib/table/base/utils.js +27 -109
- package/lib/table/common-views.js +4 -24
- package/lib/table/index.js +0 -13
- package/lib/table/interfaces.d.ts +38 -0
- package/lib/table/internals.js +2 -17
- package/lib/table/pipeline/const.d.ts +3 -0
- package/lib/table/pipeline/const.js +9 -0
- package/lib/table/pipeline/features/autoFill.js +14 -53
- package/lib/table/pipeline/features/autoRowSpan.js +1 -19
- package/lib/table/pipeline/features/buildTree.js +0 -2
- package/lib/table/pipeline/features/colGroupExtendable.js +6 -35
- package/lib/table/pipeline/features/columnDrag.js +41 -103
- package/lib/table/pipeline/features/columnFilter.js +12 -65
- package/lib/table/pipeline/features/columnHover.js +1 -11
- package/lib/table/pipeline/features/columnRangeHover.js +1 -13
- package/lib/table/pipeline/features/columnResizeWidth.js +18 -63
- package/lib/table/pipeline/features/contextMenu.js +24 -121
- package/lib/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
- package/lib/table/pipeline/features/featureApi/RowDragApi.js +72 -0
- package/lib/table/pipeline/features/featureApi/utils.d.ts +2 -0
- package/lib/table/pipeline/features/featureApi/utils.js +17 -0
- package/lib/table/pipeline/features/filter/DefaultFilterContent.js +17 -52
- package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
- package/lib/table/pipeline/features/filter/Filter.js +30 -77
- package/lib/table/pipeline/features/filter/FilterPanel.js +14 -44
- package/lib/table/pipeline/features/filter/index.js +0 -5
- package/lib/table/pipeline/features/filter/util.js +2 -10
- package/lib/table/pipeline/features/footerDataSource.js +1 -12
- package/lib/table/pipeline/features/index.js +0 -23
- package/lib/table/pipeline/features/mergeCellHover.js +0 -5
- package/lib/table/pipeline/features/multiSelect.js +15 -71
- package/lib/table/pipeline/features/rangeSelection.js +75 -173
- package/lib/table/pipeline/features/rowDetail.js +4 -67
- package/lib/table/pipeline/features/rowDrag.d.ts +10 -12
- package/lib/table/pipeline/features/rowDrag.js +494 -252
- package/lib/table/pipeline/features/rowGrouping.js +4 -57
- package/lib/table/pipeline/features/singleSelect.js +0 -34
- package/lib/table/pipeline/features/sort.js +37 -115
- package/lib/table/pipeline/features/tips.js +4 -19
- package/lib/table/pipeline/features/treeMode.d.ts +1 -0
- package/lib/table/pipeline/features/treeMode.js +40 -80
- package/lib/table/pipeline/features/treeSelect.js +2 -36
- package/lib/table/pipeline/index.js +2 -10
- package/lib/table/pipeline/pipeline.d.ts +3 -0
- package/lib/table/pipeline/pipeline.js +36 -65
- package/lib/table/pivot/cross-table/buildCrossTable.js +21 -83
- package/lib/table/pivot/cross-table/constants.js +1 -2
- package/lib/table/pivot/cross-table/cross-table.js +25 -42
- package/lib/table/pivot/cross-table/index.js +0 -4
- package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +22 -70
- package/lib/table/pivot/cross-tree-table/cross-tree-table.js +37 -73
- package/lib/table/pivot/cross-tree-table/index.js +0 -3
- package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
- package/lib/table/pivot/pivot-utils/builders.js +34 -85
- package/lib/table/pivot/pivot-utils/convert-utils.js +16 -60
- package/lib/table/pivot/pivot-utils/index.js +0 -7
- package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
- package/lib/table/style/css.js +0 -1
- package/lib/table/style/index.js +0 -1
- package/lib/table/style/index.less +1 -1
- package/lib/table/transforms/autoRowSpan.js +1 -21
- package/lib/table/transforms/autoWidth.js +15 -58
- package/lib/table/transforms/buildTree.js +1 -4
- package/lib/table/transforms/columnHover.js +9 -22
- package/lib/table/transforms/columnRangeHover.js +12 -27
- package/lib/table/transforms/columnResize.js +20 -63
- package/lib/table/transforms/flatten.js +0 -5
- package/lib/table/transforms/index.js +0 -12
- package/lib/table/transforms/orderField.js +0 -7
- package/lib/table/transforms/sort.js +44 -127
- package/lib/table/transforms/tips.js +5 -20
- package/lib/table/transforms/treeMode.js +38 -106
- package/lib/table/transforms/visible.js +0 -7
- package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
- package/lib/table/use/useResizeObserver.js +2 -10
- package/lib/table/utils/applyTransforms.js +0 -2
- package/lib/table/utils/browserType.js +14 -23
- package/lib/table/utils/buildTree.js +7 -33
- package/lib/table/utils/collectNodes.js +4 -18
- package/lib/table/utils/console.js +2 -19
- package/lib/table/utils/copyToClipboard.js +1 -8
- package/lib/table/utils/element.js +14 -46
- package/lib/table/utils/exportTableAsExcel.js +7 -52
- package/lib/table/utils/getTreeDepth.js +4 -17
- package/lib/table/utils/groupBy.js +4 -17
- package/lib/table/utils/index.js +0 -22
- package/lib/table/utils/isGroupColumn.js +0 -3
- package/lib/table/utils/isLeafNode.js +0 -1
- package/lib/table/utils/keyCode.js +1 -2
- package/lib/table/utils/layeredFilter.js +0 -10
- package/lib/table/utils/layeredSort.js +0 -10
- package/lib/table/utils/makeRecursiveMapper.js +4 -24
- package/lib/table/utils/mergeCellProps.js +6 -18
- package/lib/table/utils/others.js +7 -36
- package/lib/table/utils/proto.js +3 -35
- package/lib/table/utils/selectColumn.js +2 -5
- package/lib/table/utils/smartCompare.js +4 -13
- package/lib/table/utils/traverseColumn.js +5 -25
- package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +10 -41
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
- package/lib/table/utils/uiDegrade.js +1 -8
- package/package.json +218 -218
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
|
4
|
-
|
|
5
4
|
var _sortInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/sort");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -145,45 +143,24 @@ Object.defineProperty(exports, "treeSelect", {
|
|
|
145
143
|
return _treeSelect.treeSelect;
|
|
146
144
|
}
|
|
147
145
|
});
|
|
148
|
-
|
|
149
146
|
var _autoRowSpan = require("./autoRowSpan");
|
|
150
|
-
|
|
151
147
|
var _buildTree = require("./buildTree");
|
|
152
|
-
|
|
153
148
|
var _columnHover = require("./columnHover");
|
|
154
|
-
|
|
155
149
|
var _columnRangeHover = require("./columnRangeHover");
|
|
156
|
-
|
|
157
150
|
var _multiSelect = require("./multiSelect");
|
|
158
|
-
|
|
159
151
|
var _rowDetail = require("./rowDetail");
|
|
160
|
-
|
|
161
152
|
var _rowGrouping = require("./rowGrouping");
|
|
162
|
-
|
|
163
153
|
var _singleSelect = require("./singleSelect");
|
|
164
|
-
|
|
165
154
|
var _sort = require("./sort");
|
|
166
|
-
|
|
167
155
|
var _tips = require("./tips");
|
|
168
|
-
|
|
169
156
|
var _treeMode = require("./treeMode");
|
|
170
|
-
|
|
171
157
|
var _treeSelect = require("./treeSelect");
|
|
172
|
-
|
|
173
158
|
var _columnDrag = require("./columnDrag");
|
|
174
|
-
|
|
175
159
|
var _columnResizeWidth = require("./columnResizeWidth");
|
|
176
|
-
|
|
177
160
|
var _contextMenu = require("./contextMenu");
|
|
178
|
-
|
|
179
161
|
var _columnFilter = require("./columnFilter");
|
|
180
|
-
|
|
181
162
|
var _rangeSelection = require("./rangeSelection");
|
|
182
|
-
|
|
183
163
|
var _mergeCellHover = require("./mergeCellHover");
|
|
184
|
-
|
|
185
164
|
var _footerDataSource = require("./footerDataSource");
|
|
186
|
-
|
|
187
165
|
var _colGroupExtendable = require("./colGroupExtendable");
|
|
188
|
-
|
|
189
166
|
var _rowDrag = require("./rowDrag");
|
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.mergeCellHover = mergeCellHover;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _utils = require("../../utils");
|
|
13
|
-
|
|
14
10
|
function mergeCellHover() {
|
|
15
11
|
return function (pipeline) {
|
|
16
12
|
return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col) {
|
|
17
13
|
if (!(0, _utils.isLeafNode)(col)) {
|
|
18
14
|
return col;
|
|
19
15
|
}
|
|
20
|
-
|
|
21
16
|
var prevGetCellProps = col.getCellProps;
|
|
22
17
|
return (0, _extends2.default)((0, _extends2.default)({}, col), {
|
|
23
18
|
getCellProps: function getCellProps(value, record, rowIndex) {
|
|
@@ -1,55 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.multiSelect = multiSelect;
|
|
9
|
-
|
|
10
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _extends3 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
15
|
-
|
|
16
11
|
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
|
17
|
-
|
|
18
12
|
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
19
|
-
|
|
20
13
|
var _react = _interopRequireDefault(require("react"));
|
|
21
|
-
|
|
22
14
|
var _internals = require("../../internals");
|
|
23
|
-
|
|
24
15
|
var _others = require("../../utils/others");
|
|
25
|
-
|
|
26
16
|
var _utils = require("../../utils");
|
|
27
|
-
|
|
28
17
|
var fullRowsSetKey = 'fullRowsSetKey';
|
|
29
18
|
var allEnableKeys = 'allEnableKeys';
|
|
30
19
|
var selectValueSetKey = 'selectValueSetKey';
|
|
31
|
-
|
|
32
20
|
function multiSelect() {
|
|
33
21
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
34
22
|
return function multiSelectStep(pipeline) {
|
|
35
23
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
36
|
-
|
|
37
24
|
var stateKey = 'multiSelect';
|
|
38
25
|
var Checkbox = pipeline.ctx.components.Checkbox;
|
|
39
|
-
|
|
40
26
|
if (Checkbox == null) {
|
|
41
27
|
throw new Error('使用 multiSelect 之前需要设置 pipeline.ctx.components.Checkbox');
|
|
42
28
|
}
|
|
43
|
-
|
|
44
29
|
var primaryKey = pipeline.ensurePrimaryKey('multiSelect');
|
|
45
30
|
var isDisabled = (_a = opts.isDisabled) !== null && _a !== void 0 ? _a : (0, _others.always)(false);
|
|
46
31
|
var clickArea = (_b = opts.clickArea) !== null && _b !== void 0 ? _b : 'checkbox';
|
|
47
32
|
var value = (_f = (_e = (_c = opts.value) !== null && _c !== void 0 ? _c : (_d = pipeline.getStateAtKey(stateKey)) === null || _d === void 0 ? void 0 : _d.value) !== null && _e !== void 0 ? _e : opts.defaultValue) !== null && _f !== void 0 ? _f : [];
|
|
48
33
|
var lastKey = (_k = (_j = (_g = opts.lastKey) !== null && _g !== void 0 ? _g : (_h = pipeline.getStateAtKey(stateKey)) === null || _h === void 0 ? void 0 : _h.lastKey) !== null && _j !== void 0 ? _j : opts.defaultLastKey) !== null && _k !== void 0 ? _k : '';
|
|
49
|
-
|
|
50
34
|
var _onChange = function onChange(nextValue, key, keys, action) {
|
|
51
35
|
var _a;
|
|
52
|
-
|
|
53
36
|
(_a = opts.onChange) === null || _a === void 0 ? void 0 : _a.call(opts, nextValue, key, keys, action);
|
|
54
37
|
pipeline.setStateAtKey(stateKey, {
|
|
55
38
|
value: nextValue,
|
|
@@ -60,47 +43,38 @@ function multiSelect() {
|
|
|
60
43
|
});
|
|
61
44
|
};
|
|
62
45
|
/** dataSource 中包含的所有 keys */
|
|
63
|
-
|
|
64
|
-
|
|
65
46
|
var fullKeySet = new _set.default();
|
|
66
47
|
/** 所有有效的 keys(disable 状态为 false) */
|
|
67
|
-
|
|
68
48
|
var allKeys = [];
|
|
69
49
|
var set = new _set.default(value);
|
|
70
50
|
var isAllChecked = set.size !== 0; // 当前不存在选中则默认为false
|
|
71
|
-
|
|
72
51
|
var isAnyChecked = false;
|
|
73
52
|
var flatDataSource = (0, _utils.collectNodes)(pipeline.getDataSource());
|
|
74
53
|
flatDataSource.forEach(function (row, rowIndex) {
|
|
75
54
|
var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
55
|
+
fullKeySet.add(rowKey);
|
|
56
|
+
// 在 allKeys 中排除被禁用的 key
|
|
79
57
|
if (!isDisabled(row, rowIndex)) {
|
|
80
|
-
allKeys.push(rowKey);
|
|
81
|
-
|
|
58
|
+
allKeys.push(rowKey);
|
|
59
|
+
// 存在一个非选中,则不再进行判断
|
|
82
60
|
if (isAllChecked) {
|
|
83
61
|
isAllChecked = set.has(rowKey);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
|
|
62
|
+
}
|
|
63
|
+
// 存在一个选中,则不再进行判断
|
|
87
64
|
if (!isAnyChecked) {
|
|
88
65
|
isAnyChecked = set.has(rowKey);
|
|
89
66
|
}
|
|
90
67
|
}
|
|
91
|
-
});
|
|
92
|
-
|
|
68
|
+
});
|
|
69
|
+
// todo: 暂使用hidden隐藏选择列 后续增加配置
|
|
93
70
|
var hiddenSelectColumn = opts.checkboxColumn && opts.checkboxColumn.hidden === true;
|
|
94
|
-
|
|
95
71
|
if (!hiddenSelectColumn) {
|
|
96
72
|
var _context;
|
|
97
|
-
|
|
98
73
|
var defaultCheckboxColumnTitle = /*#__PURE__*/_react.default.createElement(Checkbox, {
|
|
99
74
|
checked: isAllChecked,
|
|
100
75
|
indeterminate: !isAllChecked && isAnyChecked,
|
|
101
76
|
onChange: function onChange(_) {
|
|
102
77
|
var allKeys = pipeline.getFeatureOptions(allEnableKeys);
|
|
103
|
-
|
|
104
78
|
if (isAllChecked) {
|
|
105
79
|
_onChange(_others.arrayUtils.diff(value, allKeys), '', allKeys, 'uncheck-all');
|
|
106
80
|
} else {
|
|
@@ -108,7 +82,6 @@ function multiSelect() {
|
|
|
108
82
|
}
|
|
109
83
|
}
|
|
110
84
|
});
|
|
111
|
-
|
|
112
85
|
var checkboxColumn = (0, _extends3.default)((0, _extends3.default)({
|
|
113
86
|
name: '是否选中',
|
|
114
87
|
title: defaultCheckboxColumnTitle,
|
|
@@ -117,14 +90,11 @@ function multiSelect() {
|
|
|
117
90
|
}, opts.checkboxColumn), {
|
|
118
91
|
getCellProps: function getCellProps(value, row, rowIndex) {
|
|
119
92
|
var _a, _b;
|
|
120
|
-
|
|
121
93
|
var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
122
|
-
|
|
123
94
|
var checkboxCellProps = {};
|
|
124
95
|
var preCellProps = (_b = (_a = opts.checkboxColumn) === null || _a === void 0 ? void 0 : _a.getCellProps) === null || _b === void 0 ? void 0 : _b.call(_a, value, row, rowIndex);
|
|
125
96
|
var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new _set.default();
|
|
126
97
|
var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new _set.default();
|
|
127
|
-
|
|
128
98
|
if (fullRowsSet.has(rowKey) && clickArea === 'cell') {
|
|
129
99
|
var prevChecked = selectValueSet.has(rowKey);
|
|
130
100
|
var disabled = isDisabled(row, rowIndex);
|
|
@@ -136,39 +106,32 @@ function multiSelect() {
|
|
|
136
106
|
if (opts.stopClickEventPropagation) {
|
|
137
107
|
e.stopPropagation();
|
|
138
108
|
}
|
|
139
|
-
|
|
140
109
|
onCheckboxChange(prevChecked, rowKey, e.shiftKey);
|
|
141
110
|
}
|
|
142
111
|
};
|
|
143
112
|
}
|
|
144
|
-
|
|
145
113
|
return (0, _utils.mergeCellProps)(preCellProps, checkboxCellProps);
|
|
146
114
|
},
|
|
147
115
|
render: function render(_, row, rowIndex) {
|
|
148
116
|
if (row[pipeline.getFeatureOptions('footerRowMetaKey')]) {
|
|
149
117
|
return null;
|
|
150
118
|
}
|
|
151
|
-
|
|
152
119
|
var key = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
153
|
-
|
|
154
120
|
var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new _set.default();
|
|
155
121
|
var checked = selectValueSet.has(key);
|
|
156
122
|
return /*#__PURE__*/_react.default.createElement(Checkbox, {
|
|
157
123
|
checked: checked,
|
|
158
124
|
disabled: isDisabled(row, rowIndex),
|
|
159
125
|
onChange: clickArea === 'checkbox' ? function (arg1, arg2) {
|
|
160
|
-
var _a;
|
|
126
|
+
var _a;
|
|
127
|
+
// 这里要同时兼容 antd 和 fusion 的用法
|
|
161
128
|
// fusion: arg2?.nativeEvent
|
|
162
129
|
// antd: arg1.nativeEvent
|
|
163
|
-
|
|
164
|
-
|
|
165
130
|
var nativeEvent = (_a = arg2 === null || arg2 === void 0 ? void 0 : arg2.nativeEvent) !== null && _a !== void 0 ? _a : arg1.nativeEvent;
|
|
166
|
-
|
|
167
131
|
if (nativeEvent) {
|
|
168
132
|
if (opts.stopClickEventPropagation) {
|
|
169
133
|
nativeEvent.stopPropagation();
|
|
170
134
|
}
|
|
171
|
-
|
|
172
135
|
onCheckboxChange(checked, key, nativeEvent.shiftKey);
|
|
173
136
|
}
|
|
174
137
|
} : undefined
|
|
@@ -178,59 +141,47 @@ function multiSelect() {
|
|
|
178
141
|
});
|
|
179
142
|
var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
|
|
180
143
|
var checkboxPlacement = (_m = opts.checkboxPlacement) !== null && _m !== void 0 ? _m : 'start';
|
|
181
|
-
|
|
182
144
|
if (checkboxPlacement === 'start') {
|
|
183
145
|
nextColumns.unshift(checkboxColumn);
|
|
184
146
|
} else {
|
|
185
147
|
nextColumns.push(checkboxColumn);
|
|
186
148
|
}
|
|
187
|
-
|
|
188
149
|
pipeline.columns(nextColumns);
|
|
189
150
|
}
|
|
190
|
-
|
|
191
151
|
pipeline.appendRowPropsGetter(function (row, rowIndex) {
|
|
192
152
|
var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
193
|
-
|
|
194
153
|
var fullRowsSet = pipeline.getFeatureOptions(fullRowsSetKey) || new _set.default();
|
|
195
|
-
|
|
196
154
|
if (!fullRowsSet.has(rowKey)) {
|
|
197
155
|
// rowKey 不在 fullKeySet 中说明这一行是在 multiSelect 之后才生成的,multiSelect 不对之后生成的行进行处理
|
|
198
156
|
return;
|
|
199
157
|
}
|
|
200
|
-
|
|
201
158
|
var style = {};
|
|
202
159
|
var className;
|
|
203
160
|
var onClick;
|
|
204
161
|
var selectValueSet = pipeline.getFeatureOptions(selectValueSetKey) || new _set.default();
|
|
205
162
|
var checked = selectValueSet.has(rowKey);
|
|
206
|
-
|
|
207
163
|
if (opts.highlightRowWhenSelected && checked) {
|
|
208
164
|
className = 'highlight';
|
|
209
165
|
}
|
|
210
|
-
|
|
211
166
|
if (clickArea === 'row') {
|
|
212
167
|
var disabled = isDisabled(row, rowIndex);
|
|
213
|
-
|
|
214
168
|
if (!disabled) {
|
|
215
169
|
style.cursor = 'pointer';
|
|
216
|
-
|
|
217
170
|
onClick = function onClick(e) {
|
|
218
171
|
if (opts.stopClickEventPropagation) {
|
|
219
172
|
e.stopPropagation();
|
|
220
173
|
}
|
|
221
|
-
|
|
222
174
|
onCheckboxChange(checked, rowKey, e.shiftKey);
|
|
223
175
|
};
|
|
224
176
|
}
|
|
225
177
|
}
|
|
226
|
-
|
|
227
178
|
return {
|
|
228
179
|
className: className,
|
|
229
180
|
style: style,
|
|
230
181
|
onClick: onClick
|
|
231
182
|
};
|
|
232
|
-
});
|
|
233
|
-
|
|
183
|
+
});
|
|
184
|
+
// 只保留一份到pipeline, 避免行数据过多时内容被握住
|
|
234
185
|
pipeline.setFeatureOptions(fullRowsSetKey, fullKeySet);
|
|
235
186
|
pipeline.setFeatureOptions(allEnableKeys, allKeys);
|
|
236
187
|
pipeline.setFeatureOptions(selectValueSetKey, set);
|
|
@@ -238,25 +189,18 @@ function multiSelect() {
|
|
|
238
189
|
allKeys = null;
|
|
239
190
|
set = null;
|
|
240
191
|
return pipeline;
|
|
241
|
-
|
|
242
192
|
function onCheckboxChange(prevChecked, key, batch) {
|
|
243
193
|
var batchKeys = [key];
|
|
244
|
-
|
|
245
194
|
if (batch && lastKey) {
|
|
246
195
|
var _allKeys = pipeline.getFeatureOptions(allEnableKeys);
|
|
247
|
-
|
|
248
196
|
var lastIdx = _allKeys.indexOf(lastKey);
|
|
249
|
-
|
|
250
197
|
var cntIdx = _allKeys.indexOf(key);
|
|
251
|
-
|
|
252
198
|
var _ref = lastIdx < cntIdx ? [lastIdx, cntIdx] : [cntIdx, lastIdx],
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
199
|
+
_ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
200
|
+
start = _ref2[0],
|
|
201
|
+
end = _ref2[1];
|
|
257
202
|
batchKeys = (0, _slice.default)(_allKeys).call(_allKeys, start, end + 1);
|
|
258
203
|
}
|
|
259
|
-
|
|
260
204
|
if (prevChecked) {
|
|
261
205
|
_onChange(_others.arrayUtils.diff(value, batchKeys), key, batchKeys, 'uncheck');
|
|
262
206
|
} else {
|