@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,74 +1,58 @@
|
|
|
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.columnDrag = columnDrag;
|
|
9
|
-
|
|
10
8
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
15
|
-
|
|
16
11
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
17
|
-
|
|
18
12
|
var _utils = require("../../utils");
|
|
19
|
-
|
|
20
13
|
var _autoFill = require("./autoFill");
|
|
21
|
-
|
|
22
14
|
var stateKey = 'columnDrag';
|
|
23
15
|
var SCROLL_SIZE = 30;
|
|
24
|
-
|
|
25
16
|
function disableSelect(event) {
|
|
26
17
|
event.preventDefault();
|
|
27
18
|
}
|
|
28
|
-
|
|
29
19
|
function sortColumns(columns, sort) {
|
|
30
20
|
var res = new Array(columns.length);
|
|
31
21
|
var lastColumns = (0, _toConsumableArray2.default)(columns);
|
|
32
|
-
|
|
33
22
|
while (columns.length) {
|
|
34
23
|
var cloumn = columns.pop();
|
|
35
24
|
res[sort[cloumn.code]] = cloumn;
|
|
36
25
|
}
|
|
37
|
-
|
|
38
26
|
if ((0, _filter.default)(res).call(res, Boolean).length !== lastColumns.length) {
|
|
39
27
|
return lastColumns;
|
|
40
28
|
}
|
|
41
|
-
|
|
42
29
|
return res;
|
|
43
30
|
}
|
|
44
|
-
|
|
45
31
|
function stopClickPropagation(e) {
|
|
46
32
|
e.stopPropagation();
|
|
47
33
|
}
|
|
48
|
-
|
|
49
34
|
function columnDrag() {
|
|
50
35
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
51
36
|
return function (pipeline) {
|
|
52
37
|
var _pipeline$getStateAtK = pipeline.getStateAtKey(stateKey, {}),
|
|
53
|
-
|
|
54
|
-
|
|
38
|
+
cloumnsTranslateData = _pipeline$getStateAtK.cloumnsTranslateData;
|
|
55
39
|
var columns = pipeline.getColumns();
|
|
56
|
-
var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
|
|
40
|
+
var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
|
|
41
|
+
// if (cloumnsSortData) {
|
|
57
42
|
// columns = sortColumns(columns, cloumnsSortData)
|
|
58
43
|
// }
|
|
59
|
-
|
|
60
44
|
pipeline.columns((0, _filter.default)(columns).call(columns, function (column) {
|
|
61
45
|
return column;
|
|
62
46
|
}));
|
|
63
47
|
return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(function (col, recursiveFlatMapInfo) {
|
|
64
48
|
var path = recursiveFlatMapInfo.path,
|
|
65
|
-
|
|
49
|
+
isLeaf = recursiveFlatMapInfo.isLeaf;
|
|
66
50
|
var style = cloumnsTranslateData ? {
|
|
67
51
|
transition: '.3s',
|
|
68
52
|
transform: "translate3d(".concat(cloumnsTranslateData[col.code], "px, 0px, 0px)")
|
|
69
53
|
} : {};
|
|
70
|
-
var prevGetCellProps = col.getCellProps;
|
|
71
|
-
|
|
54
|
+
var prevGetCellProps = col.getCellProps;
|
|
55
|
+
// !col.code: 选择列 col.lock: 固定列 不允许拖拽
|
|
72
56
|
if (col.lock || !col.code) return col;
|
|
73
57
|
return (0, _extends2.default)((0, _extends2.default)({}, col), {
|
|
74
58
|
getCellProps: function getCellProps(value, record, rowIndex) {
|
|
@@ -82,8 +66,8 @@ function columnDrag() {
|
|
|
82
66
|
if (e.button !== 0 || !e.currentTarget.contains(e.target)) {
|
|
83
67
|
return;
|
|
84
68
|
}
|
|
85
|
-
|
|
86
|
-
|
|
69
|
+
window.addEventListener('selectstart', disableSelect);
|
|
70
|
+
// const cx = e.clientX
|
|
87
71
|
// const width = col.width
|
|
88
72
|
// const a = startIndex
|
|
89
73
|
// const b = endIndex
|
|
@@ -91,13 +75,10 @@ function columnDrag() {
|
|
|
91
75
|
// let newColumn = [...columns]
|
|
92
76
|
// let newStartIndex = startIndex
|
|
93
77
|
// let endIdx = endIndex
|
|
94
|
-
|
|
95
78
|
var columnMoved = false;
|
|
96
79
|
var columns = pipeline.getColumns();
|
|
97
|
-
|
|
98
80
|
var _pipeline$getStateAtK2 = pipeline.getStateAtKey(stateKey, {}),
|
|
99
|
-
|
|
100
|
-
|
|
81
|
+
cloumnsTranslateData = _pipeline$getStateAtK2.cloumnsTranslateData;
|
|
101
82
|
var cloumnsSortData = {};
|
|
102
83
|
columns.forEach(function (item, index) {
|
|
103
84
|
cloumnsSortData[item.code] = index;
|
|
@@ -111,21 +92,17 @@ function columnDrag() {
|
|
|
111
92
|
var allColumns = (0, _utils.collectNodes)(columns);
|
|
112
93
|
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
113
94
|
var startScrollLeft = pipeline.ref.current.domHelper.virtual.scrollLeft;
|
|
114
|
-
|
|
115
95
|
var updateScrollPosition = function updateScrollPosition(client) {
|
|
116
96
|
var clientX = client.clientX;
|
|
117
97
|
var left = tableBodyClientRect.left,
|
|
118
|
-
|
|
119
|
-
|
|
98
|
+
width = tableBodyClientRect.width;
|
|
120
99
|
if (clientX + SCROLL_SIZE >= left + width) {
|
|
121
100
|
pipeline.ref.current.domHelper.virtual.scrollLeft += SCROLL_SIZE;
|
|
122
101
|
}
|
|
123
|
-
|
|
124
102
|
if (clientX - SCROLL_SIZE <= left) {
|
|
125
103
|
pipeline.ref.current.domHelper.virtual.scrollLeft -= SCROLL_SIZE;
|
|
126
104
|
}
|
|
127
105
|
};
|
|
128
|
-
|
|
129
106
|
function handleMouseMove(e) {
|
|
130
107
|
var client = {
|
|
131
108
|
clientX: e.clientX,
|
|
@@ -133,17 +110,15 @@ function columnDrag() {
|
|
|
133
110
|
};
|
|
134
111
|
var scrollDistance = pipeline.ref.current.domHelper.virtual.scrollLeft - startScrollLeft;
|
|
135
112
|
var leftPosition = startX - scrollDistance; // 表头最左边起点
|
|
136
|
-
|
|
137
113
|
updateScrollPosition(client);
|
|
138
|
-
|
|
139
114
|
if (e.clientX - leftPosition < 20) {
|
|
140
115
|
return;
|
|
141
116
|
} else {
|
|
142
117
|
e.stopPropagation();
|
|
143
118
|
}
|
|
144
|
-
|
|
145
119
|
document.body.style.userSelect = 'none';
|
|
146
|
-
currentTarget.style.cursor = 'move';
|
|
120
|
+
currentTarget.style.cursor = 'move';
|
|
121
|
+
// 循环计算每一个的位置
|
|
147
122
|
// if (startIndex !== replaceIndex) {
|
|
148
123
|
// const optionColumn = columns[startIndex]
|
|
149
124
|
// const move = startIndex > replaceIndex ? 1 : -1
|
|
@@ -166,21 +141,18 @@ function columnDrag() {
|
|
|
166
141
|
// index++
|
|
167
142
|
// }
|
|
168
143
|
// 重置位置信息
|
|
169
|
-
|
|
170
144
|
cloumnsTranslateData = {};
|
|
171
145
|
allColumns.forEach(function (item) {
|
|
172
146
|
cloumnsTranslateData[item.code] = 0;
|
|
173
|
-
});
|
|
174
|
-
|
|
147
|
+
});
|
|
148
|
+
// 计算平移位置
|
|
175
149
|
var replaceIndex = 0;
|
|
176
150
|
var totalWitdth = getColumnWidth(columns[replaceIndex]);
|
|
177
|
-
|
|
178
151
|
while (totalWitdth < e.clientX - leftPosition && replaceIndex < columns.length - 1) {
|
|
179
152
|
replaceIndex++;
|
|
180
153
|
totalWitdth += getColumnWidth(columns[replaceIndex]);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
|
|
154
|
+
}
|
|
155
|
+
// 需要取最新startIndex, 不能直接用makeRecursiveMapper提供的startIndex(因为map时还没添加选择列、充满列等后面use添加的列)
|
|
184
156
|
var startIndex;
|
|
185
157
|
columns.forEach(function (column, index) {
|
|
186
158
|
if (column.code === col.code) {
|
|
@@ -189,63 +161,53 @@ function columnDrag() {
|
|
|
189
161
|
});
|
|
190
162
|
var optionColumn = columns[startIndex];
|
|
191
163
|
var index = replaceIndex;
|
|
192
|
-
|
|
193
164
|
if (startIndex > replaceIndex) {
|
|
194
165
|
// 左移
|
|
195
166
|
while (index < startIndex) {
|
|
196
167
|
var _columns$index = columns[index],
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
168
|
+
code = _columns$index.code,
|
|
169
|
+
lock = _columns$index.lock,
|
|
170
|
+
width = _columns$index.width,
|
|
171
|
+
children = _columns$index.children;
|
|
202
172
|
if (enableMove({
|
|
203
173
|
code: code,
|
|
204
174
|
lock: lock
|
|
205
175
|
})) {
|
|
206
176
|
cloumnsTranslateData[code] += optionColumn.width;
|
|
207
|
-
|
|
208
177
|
if ((0, _utils.isLeafNode)(columns[index])) {
|
|
209
178
|
cloumnsTranslateData[optionColumn.code] -= width;
|
|
210
179
|
} else {
|
|
211
180
|
cloumnsTranslateData[optionColumn.code] -= getColumnWidth(columns[index]);
|
|
212
181
|
moveAllChildren(children, cloumnsTranslateData, optionColumn.width);
|
|
213
182
|
}
|
|
214
|
-
|
|
215
183
|
columnMoved = true;
|
|
216
184
|
}
|
|
217
|
-
|
|
218
185
|
index++;
|
|
219
186
|
}
|
|
220
187
|
} else if (startIndex < replaceIndex) {
|
|
221
188
|
// 右移
|
|
222
189
|
while (startIndex < index) {
|
|
223
190
|
var _columns$index2 = columns[index],
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
191
|
+
_code = _columns$index2.code,
|
|
192
|
+
_lock = _columns$index2.lock,
|
|
193
|
+
_width = _columns$index2.width,
|
|
194
|
+
_children = _columns$index2.children;
|
|
229
195
|
if (enableMove({
|
|
230
196
|
code: _code,
|
|
231
197
|
lock: _lock
|
|
232
198
|
})) {
|
|
233
199
|
cloumnsTranslateData[_code] -= optionColumn.width;
|
|
234
|
-
|
|
235
200
|
if ((0, _utils.isLeafNode)(columns[index])) {
|
|
236
201
|
cloumnsTranslateData[optionColumn.code] += _width;
|
|
237
202
|
} else {
|
|
238
203
|
cloumnsTranslateData[optionColumn.code] += getColumnWidth(columns[index]);
|
|
239
204
|
moveAllChildren(_children, cloumnsTranslateData, optionColumn.width, true);
|
|
240
205
|
}
|
|
241
|
-
|
|
242
206
|
columnMoved = true;
|
|
243
207
|
}
|
|
244
|
-
|
|
245
208
|
index--;
|
|
246
209
|
}
|
|
247
210
|
}
|
|
248
|
-
|
|
249
211
|
window.requestAnimationFrame(function () {
|
|
250
212
|
pipeline.setStateAtKey(stateKey, {
|
|
251
213
|
cloumnsTranslateData: cloumnsTranslateData
|
|
@@ -253,29 +215,24 @@ function columnDrag() {
|
|
|
253
215
|
moveData = [startIndex, replaceIndex];
|
|
254
216
|
});
|
|
255
217
|
}
|
|
256
|
-
|
|
257
218
|
function handleMouseUp(e) {
|
|
258
219
|
document.body.removeEventListener('mousemove', handleMouseMove);
|
|
259
220
|
document.body.removeEventListener('mouseup', handleMouseUp);
|
|
260
221
|
window.removeEventListener('selectstart', disableSelect);
|
|
261
|
-
|
|
262
222
|
if (_isMoveWhenClicking(mouseDownClientX, mouseDownClientY, e.clientX, e.clientY)) {
|
|
263
223
|
e.stopPropagation(); // 存在移动就阻止冒泡
|
|
264
|
-
|
|
265
224
|
currentTarget.addEventListener('click', stopClickPropagation); // 阻止列头点击事件,防止拖动后触发列头过滤事件
|
|
266
225
|
}
|
|
267
|
-
|
|
268
226
|
window.requestAnimationFrame(function () {
|
|
269
227
|
// 取消阻止列头点击事件
|
|
270
228
|
currentTarget.removeEventListener('click', stopClickPropagation);
|
|
271
229
|
currentTarget = null;
|
|
272
|
-
|
|
273
230
|
var _moveData = moveData,
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
231
|
+
_moveData2 = (0, _slicedToArray2.default)(_moveData, 2),
|
|
232
|
+
startIndex = _moveData2[0],
|
|
233
|
+
replaceIndex = _moveData2[1];
|
|
234
|
+
var optionColumn = columns[startIndex];
|
|
235
|
+
// const move = startIndex > replaceIndex ? 1 : -1
|
|
279
236
|
// let index = Math.min(startIndex, replaceIndex)
|
|
280
237
|
// while (index < Math.max(startIndex, replaceIndex) && index > 0) {
|
|
281
238
|
// const code = columns[index].code
|
|
@@ -283,16 +240,13 @@ function columnDrag() {
|
|
|
283
240
|
// cloumnsSortData[code] += move
|
|
284
241
|
// index += move
|
|
285
242
|
// }
|
|
286
|
-
|
|
287
243
|
var index = replaceIndex;
|
|
288
|
-
|
|
289
244
|
if (startIndex > replaceIndex) {
|
|
290
245
|
// 左移
|
|
291
246
|
while (index < startIndex) {
|
|
292
247
|
var _columns$index3 = columns[index],
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
248
|
+
code = _columns$index3.code,
|
|
249
|
+
lock = _columns$index3.lock;
|
|
296
250
|
if (enableMove({
|
|
297
251
|
code: code,
|
|
298
252
|
lock: lock
|
|
@@ -301,16 +255,14 @@ function columnDrag() {
|
|
|
301
255
|
cloumnsSortData[optionColumn.code] -= 1;
|
|
302
256
|
columnMoved = true;
|
|
303
257
|
}
|
|
304
|
-
|
|
305
258
|
index++;
|
|
306
259
|
}
|
|
307
260
|
} else if (startIndex < replaceIndex) {
|
|
308
261
|
// 右移
|
|
309
262
|
while (index > startIndex) {
|
|
310
263
|
var _columns$index4 = columns[index],
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
264
|
+
_code2 = _columns$index4.code,
|
|
265
|
+
_lock2 = _columns$index4.lock;
|
|
314
266
|
if (enableMove({
|
|
315
267
|
code: _code2,
|
|
316
268
|
lock: _lock2
|
|
@@ -319,28 +271,23 @@ function columnDrag() {
|
|
|
319
271
|
cloumnsSortData[optionColumn.code] += 1;
|
|
320
272
|
columnMoved = true;
|
|
321
273
|
}
|
|
322
|
-
|
|
323
274
|
index--;
|
|
324
275
|
}
|
|
325
276
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
277
|
+
var onColumnDragStopped = opts.onColumnDragStopped;
|
|
278
|
+
// 拖拽结束返回列顺序
|
|
329
279
|
if (onColumnDragStopped) {
|
|
330
280
|
var _context;
|
|
331
|
-
|
|
332
281
|
var isRowDragColumn = function isRowDragColumn(code) {
|
|
333
282
|
var rowDragColumnKey = pipeline.getFeatureOptions('rowDragColumnKey');
|
|
334
283
|
return code === rowDragColumnKey;
|
|
335
284
|
};
|
|
336
|
-
|
|
337
285
|
var newColumns = (0, _filter.default)(_context = sortColumns(columns, cloumnsSortData)).call(_context, function (column) {
|
|
338
286
|
return column.code !== _autoFill.FILL_COLUMN_CODE && !isRowDragColumn(column.code) && !(0, _utils.isSelectColumn)(column);
|
|
339
|
-
});
|
|
340
|
-
|
|
287
|
+
});
|
|
288
|
+
// TODO drag需要在resize之后use,否则这里返回的列对应的宽度不是拖拽后的
|
|
341
289
|
onColumnDragStopped(columnMoved, newColumns);
|
|
342
290
|
}
|
|
343
|
-
|
|
344
291
|
pipeline.setStateAtKey(stateKey, {
|
|
345
292
|
cloumnsTranslateData: null
|
|
346
293
|
});
|
|
@@ -349,7 +296,6 @@ function columnDrag() {
|
|
|
349
296
|
currentTarget.style.opacity = '';
|
|
350
297
|
currentTarget.style.cursor = '';
|
|
351
298
|
}
|
|
352
|
-
|
|
353
299
|
var onColumnDragStart = opts.onColumnDragStart;
|
|
354
300
|
onColumnDragStart && onColumnDragStart(col);
|
|
355
301
|
document.body.addEventListener('mousemove', handleMouseMove);
|
|
@@ -361,45 +307,37 @@ function columnDrag() {
|
|
|
361
307
|
}));
|
|
362
308
|
};
|
|
363
309
|
}
|
|
364
|
-
|
|
365
310
|
function enableMove(_ref) {
|
|
366
311
|
var lock = _ref.lock,
|
|
367
|
-
|
|
312
|
+
code = _ref.code;
|
|
368
313
|
return code && code !== _autoFill.FILL_COLUMN_CODE && !lock;
|
|
369
314
|
}
|
|
370
|
-
|
|
371
315
|
function getColumnWidth(col) {
|
|
372
316
|
if (col.children) {
|
|
373
317
|
return col.children.reduce(function (acc, col) {
|
|
374
318
|
return acc + getColumnWidth(col);
|
|
375
319
|
}, 0);
|
|
376
320
|
}
|
|
377
|
-
|
|
378
321
|
return col.width;
|
|
379
322
|
}
|
|
380
|
-
|
|
381
323
|
function moveAllChildren(cols, cloumnsTranslateData, width, isMinus) {
|
|
382
324
|
cols.forEach(function (col) {
|
|
383
325
|
var _a;
|
|
384
|
-
|
|
385
326
|
var code = col.code,
|
|
386
|
-
|
|
327
|
+
children = col.children;
|
|
387
328
|
var movedWidth = (_a = cloumnsTranslateData[code]) !== null && _a !== void 0 ? _a : 0;
|
|
388
329
|
cloumnsTranslateData[code] = movedWidth + (isMinus ? -width : width);
|
|
389
|
-
|
|
390
330
|
if (!(0, _utils.isLeafNode)(col)) {
|
|
391
331
|
moveAllChildren(children, cloumnsTranslateData, width);
|
|
392
332
|
}
|
|
393
333
|
});
|
|
394
334
|
}
|
|
395
|
-
|
|
396
335
|
function _isMoveWhenClicking(mouseDownClientX, mouseDownClientY, mouseUpClientX, mouseUpClientY) {
|
|
397
336
|
var xDiff = mouseUpClientX - mouseDownClientX;
|
|
398
|
-
var yDiff = mouseUpClientY - mouseDownClientY;
|
|
399
|
-
|
|
337
|
+
var yDiff = mouseUpClientY - mouseDownClientY;
|
|
338
|
+
// 鼠标点按和松开的偏移量大于5px,认为存在移动
|
|
400
339
|
if (Math.sqrt(xDiff * xDiff + yDiff * yDiff) > 5) {
|
|
401
340
|
return true;
|
|
402
341
|
}
|
|
403
|
-
|
|
404
342
|
return false;
|
|
405
343
|
}
|
|
@@ -1,104 +1,74 @@
|
|
|
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.filter = filter;
|
|
9
|
-
|
|
10
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
15
|
-
|
|
16
11
|
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
17
|
-
|
|
18
12
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
|
|
19
|
-
|
|
20
13
|
var _map2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
21
|
-
|
|
22
14
|
var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
|
|
23
|
-
|
|
24
15
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
|
|
25
|
-
|
|
26
16
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
27
|
-
|
|
28
17
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
29
|
-
|
|
30
18
|
var _react = _interopRequireDefault(require("react"));
|
|
31
|
-
|
|
32
19
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
33
|
-
|
|
34
20
|
var _internals = require("../../internals");
|
|
35
|
-
|
|
36
21
|
var _utils = require("../../utils");
|
|
37
|
-
|
|
38
22
|
var _filter2 = require("./filter");
|
|
39
|
-
|
|
40
23
|
var _styles = require("../../base/styles");
|
|
41
|
-
|
|
42
24
|
var stateKey = 'filter';
|
|
43
|
-
|
|
44
25
|
function filter() {
|
|
45
26
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
46
27
|
return function step(pipeline) {
|
|
47
28
|
var _a, _b;
|
|
48
|
-
|
|
49
29
|
var dataSource = pipeline.getDataSource();
|
|
50
30
|
var columns = pipeline.getColumns();
|
|
51
31
|
var filters = opts.filters,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
32
|
+
defaultFilters = opts.defaultFilters,
|
|
33
|
+
onChangeFilters = opts.onChangeFilters,
|
|
34
|
+
keepDataSource = opts.keepDataSource,
|
|
35
|
+
mode = opts.mode,
|
|
36
|
+
filterIcon = opts.filterIcon,
|
|
37
|
+
stopClickEventPropagation = opts.stopClickEventPropagation,
|
|
38
|
+
stopESCKeyDownEventPropagation = opts.stopESCKeyDownEventPropagation,
|
|
39
|
+
hideFilterPopupHeader = opts.hideFilterPopupHeader,
|
|
40
|
+
getPopupParent = opts.getPopupParent;
|
|
61
41
|
var inputFilters = (_b = (_a = filters !== null && filters !== void 0 ? filters : pipeline.getStateAtKey(stateKey)) !== null && _a !== void 0 ? _a : defaultFilters) !== null && _b !== void 0 ? _b : [];
|
|
62
42
|
inputFilters = mode === 'single' ? (0, _slice.default)(inputFilters).call(inputFilters, 0, 1) : inputFilters;
|
|
63
43
|
var inputFiltersMap = new _map.default((0, _map2.default)(inputFilters).call(inputFilters, function (filterItem) {
|
|
64
44
|
return [filterItem.code, (0, _extends2.default)({}, filterItem)];
|
|
65
45
|
}));
|
|
66
46
|
var localeText = pipeline.ctx.localeText;
|
|
67
|
-
|
|
68
47
|
function processColumns(columns) {
|
|
69
48
|
return (0, _map2.default)(columns).call(columns, dfs);
|
|
70
|
-
|
|
71
49
|
function dfs(col) {
|
|
72
50
|
var _a, _b, _c, _d, _e;
|
|
73
|
-
|
|
74
51
|
var result = (0, _extends2.default)({}, col);
|
|
75
52
|
var filterable = col.code && ((_a = col.features) === null || _a === void 0 ? void 0 : _a.filterable);
|
|
76
53
|
var filterActive = !!(filterable && (inputFiltersMap === null || inputFiltersMap === void 0 ? void 0 : inputFiltersMap.get(col.code)));
|
|
77
|
-
|
|
78
54
|
if (filterable) {
|
|
79
|
-
var _cx;
|
|
80
|
-
|
|
81
55
|
var handleFilterChanged = function handleFilterChanged(filterItem) {
|
|
82
56
|
var nextFiltersMap = new _map.default(inputFiltersMap);
|
|
83
57
|
var currentFilter = (0, _extends2.default)({
|
|
84
58
|
code: col.code
|
|
85
59
|
}, filterItem);
|
|
86
|
-
|
|
87
60
|
if (filterItem == null) {
|
|
88
61
|
nextFiltersMap.delete(col.code);
|
|
89
62
|
} else {
|
|
90
63
|
if (mode === 'single') {
|
|
91
64
|
nextFiltersMap.clear();
|
|
92
65
|
}
|
|
93
|
-
|
|
94
66
|
nextFiltersMap.set(col.code, currentFilter);
|
|
95
67
|
}
|
|
96
|
-
|
|
97
68
|
var nextFilters = (0, _from.default)((0, _values.default)(nextFiltersMap).call(nextFiltersMap));
|
|
98
69
|
onChangeFilters === null || onChangeFilters === void 0 ? void 0 : onChangeFilters(nextFilters, currentFilter);
|
|
99
70
|
pipeline.setStateAtKey(stateKey, nextFilters);
|
|
100
71
|
};
|
|
101
|
-
|
|
102
72
|
var setFilter = function setFilter(filter, filterCondition) {
|
|
103
73
|
handleFilterChanged(!filter ? undefined : {
|
|
104
74
|
code: col.code,
|
|
@@ -106,10 +76,8 @@ function filter() {
|
|
|
106
76
|
filterCondition: filterCondition
|
|
107
77
|
});
|
|
108
78
|
};
|
|
109
|
-
|
|
110
79
|
var filterPanel = (_b = col.features) === null || _b === void 0 ? void 0 : _b.filterPanel;
|
|
111
80
|
var colFilterIcon = (_d = (_c = col.features) === null || _c === void 0 ? void 0 : _c.filterIcon) !== null && _d !== void 0 ? _d : filterIcon;
|
|
112
|
-
|
|
113
81
|
var _Filter = /*#__PURE__*/_react.default.createElement(_filter2.Filter, {
|
|
114
82
|
key: "".concat(col.code, "_filter"),
|
|
115
83
|
FilterPanelContent: filterPanel,
|
|
@@ -118,54 +86,44 @@ function filter() {
|
|
|
118
86
|
setFilterModel: handleFilterChanged,
|
|
119
87
|
setFilter: setFilter,
|
|
120
88
|
isFilterActive: filterActive,
|
|
121
|
-
className: (0, _classnames.default)((
|
|
89
|
+
className: (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.tableFilterTrigger, true), "active", filterActive)),
|
|
122
90
|
stopClickEventPropagation: stopClickEventPropagation,
|
|
123
91
|
stopESCKeyDownEventPropagation: stopESCKeyDownEventPropagation,
|
|
124
92
|
hideFilterPopupHeader: hideFilterPopupHeader,
|
|
125
93
|
getPopupParent: getPopupParent,
|
|
126
94
|
localeText: localeText
|
|
127
95
|
});
|
|
128
|
-
|
|
129
96
|
if (col.renderHeader) {
|
|
130
97
|
result.title = col.renderHeader(result.title, _Filter);
|
|
131
98
|
} else {
|
|
132
99
|
var _context, _context2;
|
|
133
|
-
|
|
134
100
|
result.title = (0, _concat.default)(_context = []).call(_context, (0, _toConsumableArray2.default)((0, _concat.default)(_context2 = []).call(_context2, (_e = result.title) !== null && _e !== void 0 ? _e : [_internals.internals.safeRenderHeader((0, _extends2.default)({}, col))])), [_Filter]);
|
|
135
|
-
}
|
|
101
|
+
}
|
|
102
|
+
// result.headerCellProps = mergeCellProps(col.headerCellProps, {
|
|
136
103
|
// style: {
|
|
137
104
|
// paddingRight: '18px'
|
|
138
105
|
// }
|
|
139
106
|
// })
|
|
140
|
-
|
|
141
107
|
}
|
|
142
|
-
|
|
143
108
|
if (!(0, _utils.isLeafNode)(col)) {
|
|
144
109
|
var _context3;
|
|
145
|
-
|
|
146
110
|
result.children = (0, _map2.default)(_context3 = col.children).call(_context3, dfs);
|
|
147
111
|
}
|
|
148
|
-
|
|
149
112
|
return result;
|
|
150
113
|
}
|
|
151
114
|
}
|
|
152
|
-
|
|
153
115
|
function processDataSource(dataSource) {
|
|
154
116
|
var _context4, _context5;
|
|
155
|
-
|
|
156
117
|
var filtersKeys = [];
|
|
157
118
|
inputFiltersMap.forEach(function (value, key) {
|
|
158
119
|
filtersKeys.push(key);
|
|
159
120
|
});
|
|
160
|
-
|
|
161
121
|
if (keepDataSource || filtersKeys.length <= 0) {
|
|
162
122
|
return dataSource;
|
|
163
123
|
}
|
|
164
|
-
|
|
165
124
|
var columns = pipeline.getColumns();
|
|
166
125
|
var columnsMap = new _map.default((0, _map2.default)(_context4 = (0, _filter.default)(_context5 = (0, _utils.collectNodes)(columns, 'leaf-only')).call(_context5, function (col) {
|
|
167
126
|
var _a, _b;
|
|
168
|
-
|
|
169
127
|
return ((_a = col.features) === null || _a === void 0 ? void 0 : _a.filterable) !== false && ((_b = col.features) === null || _b === void 0 ? void 0 : _b.filterable) != null;
|
|
170
128
|
})).call(_context4, function (col) {
|
|
171
129
|
return [col.code, col];
|
|
@@ -173,15 +131,12 @@ function filter() {
|
|
|
173
131
|
var defaultFilterOptionsMap = new _map.default((0, _map2.default)(_filter2.DEFAULT_FILTER_OPTIONS).call(_filter2.DEFAULT_FILTER_OPTIONS, function (item) {
|
|
174
132
|
return [item.key, (0, _extends2.default)({}, item)];
|
|
175
133
|
}));
|
|
176
|
-
|
|
177
134
|
function isMatchedFilterCondition(record) {
|
|
178
135
|
return filtersKeys.every(function (key) {
|
|
179
136
|
var _a, _b;
|
|
180
|
-
|
|
181
137
|
var filterItem = inputFiltersMap.get(key);
|
|
182
138
|
var filterable = (_b = (_a = columnsMap.get(key)) === null || _a === void 0 ? void 0 : _a.features) === null || _b === void 0 ? void 0 : _b.filterable;
|
|
183
139
|
var comparisonFn;
|
|
184
|
-
|
|
185
140
|
if (typeof filterable === 'function') {
|
|
186
141
|
comparisonFn = filterable;
|
|
187
142
|
} else if (defaultFilterOptionsMap.get(filterItem.filterCondition)) {
|
|
@@ -190,34 +145,26 @@ function filter() {
|
|
|
190
145
|
console.warn("\u5217[".concat(key, "]\u672A\u914D\u7F6E\u7B5B\u9009\u51FD\u6570\uFF0C\u8BF7\u8BBE\u7F6E column.features.filterable \u6765\u4F5C\u4E3A\u8BE5\u5217\u7684\u7B5B\u9009\u51FD\u6570, \u76EE\u524D\u4F7F\u7528\u9ED8\u8BA4\u5305\u542B\u7B5B\u9009\u51FD\u6570"));
|
|
191
146
|
comparisonFn = (0, _filter.default)(defaultFilterOptionsMap.get('contain'));
|
|
192
147
|
}
|
|
193
|
-
|
|
194
148
|
return comparisonFn((0, _filter.default)(filterItem), filterItem)(_internals.internals.safeGetValue(columnsMap.get(key), record, -1), record);
|
|
195
149
|
});
|
|
196
150
|
}
|
|
197
|
-
|
|
198
151
|
return layeredFilter(dataSource, isMatchedFilterCondition);
|
|
199
152
|
}
|
|
200
|
-
|
|
201
153
|
pipeline.dataSource(processDataSource(dataSource));
|
|
202
154
|
pipeline.columns(processColumns(columns));
|
|
203
155
|
return pipeline;
|
|
204
156
|
};
|
|
205
157
|
}
|
|
206
|
-
|
|
207
158
|
function layeredFilter(array, matchFn) {
|
|
208
159
|
return dfs(array);
|
|
209
|
-
|
|
210
160
|
function dfs(rows) {
|
|
211
161
|
var _context6;
|
|
212
|
-
|
|
213
162
|
var parentMatched = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
214
163
|
return (0, _filter.default)(_context6 = (0, _map2.default)(rows).call(rows, function (row) {
|
|
215
164
|
var currentMatched = matchFn(row);
|
|
216
|
-
|
|
217
165
|
if ((0, _utils.isLeafNode)(row)) {
|
|
218
166
|
return (parentMatched || currentMatched) && (0, _extends2.default)({}, row);
|
|
219
167
|
}
|
|
220
|
-
|
|
221
168
|
var children = row.children;
|
|
222
169
|
var rowAfterFilterChildren = (0, _extends2.default)((0, _extends2.default)({}, row), {
|
|
223
170
|
children: dfs(children, parentMatched || currentMatched)
|