@kdcloudjs/table 1.2.0-canary.16 → 1.2.0-canary.17-hotfix
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 +4596 -5714
- 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 +74 -137
- 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 +9 -48
- 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/header.js +19 -74
- package/es/table/base/helpers/SpanManager.js +4 -11
- package/es/table/base/helpers/TableDOMUtils.js +7 -30
- 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 +11 -44
- 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 +41 -59
- package/es/table/base/styles.js +0 -9
- package/es/table/base/table.js +110 -199
- package/es/table/base/utils.js +17 -57
- package/es/table/common-views.js +0 -7
- package/es/table/internals.js +0 -13
- 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 +18 -91
- 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 +26 -50
- 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 +74 -154
- package/es/table/pipeline/features/rowDetail.js +4 -43
- package/es/table/pipeline/features/rowDrag.js +64 -80
- 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 +37 -90
- package/es/table/pipeline/features/tips.js +4 -10
- package/es/table/pipeline/features/treeMode.js +14 -49
- package/es/table/pipeline/features/treeSelect.js +2 -28
- package/es/table/pipeline/pipeline.js +12 -53
- 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 +35 -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 -96
- 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/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 +5 -27
- package/es/table/utils/tree-data-helpers/TreeDataHelper.js +19 -74
- 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 +79 -166
- 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 +13 -69
- 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/header.js +19 -84
- package/lib/table/base/helpers/SpanManager.js +6 -16
- package/lib/table/base/helpers/TableDOMUtils.js +7 -33
- 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 +13 -64
- 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 +44 -75
- package/lib/table/base/styles.js +9 -37
- package/lib/table/base/table.js +122 -243
- 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/internals.js +2 -17
- 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 +20 -117
- 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 +29 -76
- 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 +76 -175
- package/lib/table/pipeline/features/rowDetail.js +4 -67
- package/lib/table/pipeline/features/rowDrag.js +66 -94
- 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 -110
- package/lib/table/pipeline/features/tips.js +4 -19
- package/lib/table/pipeline/features/treeMode.js +15 -72
- package/lib/table/pipeline/features/treeSelect.js +2 -36
- package/lib/table/pipeline/index.js +2 -10
- package/lib/table/pipeline/pipeline.js +13 -64
- 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 +36 -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 -122
- 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 +2 -3
- 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 -21
- 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 +7 -38
- package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +21 -90
- package/package.json +219 -218
|
@@ -1,56 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _flatMapInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/flat-map");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.rowDetail = rowDetail;
|
|
11
|
-
|
|
12
9
|
var _toArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toArray"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _extends4 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
|
|
17
|
-
|
|
18
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/toConsumableArray"));
|
|
19
|
-
|
|
20
13
|
var _symbol = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/symbol"));
|
|
21
|
-
|
|
22
14
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
23
|
-
|
|
24
15
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
25
|
-
|
|
26
16
|
var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
|
|
27
|
-
|
|
28
17
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
29
|
-
|
|
30
18
|
var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
|
|
31
|
-
|
|
32
19
|
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
33
|
-
|
|
34
20
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
|
-
|
|
36
21
|
var _react = _interopRequireDefault(require("react"));
|
|
37
|
-
|
|
38
22
|
var _commonViews = require("../../common-views");
|
|
39
|
-
|
|
40
23
|
var _internals = require("../../internals");
|
|
41
|
-
|
|
42
24
|
var _utils = require("../../utils");
|
|
43
|
-
|
|
44
25
|
var _others = require("../../utils/others");
|
|
45
|
-
|
|
46
26
|
var _console = _interopRequireDefault(require("../../utils/console"));
|
|
47
|
-
|
|
48
27
|
var _renderTemplates = _interopRequireDefault(require("../../base/renderTemplates"));
|
|
49
|
-
|
|
50
28
|
var _base = require("../../base");
|
|
51
|
-
|
|
52
29
|
var rowDetailSymbol = (0, _symbol.default)('row-detail');
|
|
53
|
-
|
|
54
30
|
var fallbackRenderDetail = function fallbackRenderDetail() {
|
|
55
31
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
56
32
|
style: {
|
|
@@ -62,14 +38,11 @@ var fallbackRenderDetail = function fallbackRenderDetail() {
|
|
|
62
38
|
}
|
|
63
39
|
}, "\u8BBE\u7F6E ", /*#__PURE__*/_react.default.createElement("code", null, "rowDetail.renderDetail"), " \u6765\u81EA\u5B9A\u4E49\u8BE6\u60C5\u5185\u5BB9"));
|
|
64
40
|
};
|
|
65
|
-
|
|
66
41
|
function rowDetail() {
|
|
67
42
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
68
43
|
return function rowDetailStep(pipeline) {
|
|
69
44
|
var _context, _context2;
|
|
70
|
-
|
|
71
45
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
72
|
-
|
|
73
46
|
var stateKey = 'rowDetail';
|
|
74
47
|
var rowDetailMetaKey = (_a = opts.rowDetailMetaKey) !== null && _a !== void 0 ? _a : rowDetailSymbol;
|
|
75
48
|
var primaryKey = pipeline.ensurePrimaryKey('rowDetail');
|
|
@@ -84,33 +57,26 @@ function rowDetail() {
|
|
|
84
57
|
var openKeys = (_h = (_g = (_f = opts.openKeys) !== null && _f !== void 0 ? _f : pipeline.getStateAtKey(stateKey)) !== null && _g !== void 0 ? _g : opts.defaultOpenAll ? (0, _map.default)(_context = (0, _filter.default)(_context2 = pipeline.getDataSource()).call(_context2, hasDetail)).call(_context, function (row, rowIndex) {
|
|
85
58
|
return _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
86
59
|
}) : opts.defaultOpenKeys) !== null && _h !== void 0 ? _h : [];
|
|
87
|
-
|
|
88
60
|
var onChangeOpenKeys = function onChangeOpenKeys(nextKeys, key, action) {
|
|
89
61
|
var _a;
|
|
90
|
-
|
|
91
62
|
(_a = opts.onChangeOpenKeys) === null || _a === void 0 ? void 0 : _a.call(opts, nextKeys, key, action);
|
|
92
63
|
pipeline.setStateAtKey(stateKey, nextKeys, {
|
|
93
64
|
key: key,
|
|
94
65
|
action: action
|
|
95
66
|
});
|
|
96
67
|
};
|
|
97
|
-
|
|
98
68
|
var openKeySet = new _set.default(openKeys);
|
|
99
|
-
|
|
100
69
|
var toggle = function toggle(rowKey) {
|
|
101
70
|
var expanded = openKeySet.has(rowKey);
|
|
102
|
-
|
|
103
71
|
if (expanded) {
|
|
104
72
|
onChangeOpenKeys((0, _filter.default)(openKeys).call(openKeys, function (key) {
|
|
105
73
|
return key !== rowKey;
|
|
106
74
|
}), rowKey, 'collapse');
|
|
107
75
|
} else {
|
|
108
76
|
var _context3;
|
|
109
|
-
|
|
110
77
|
onChangeOpenKeys((0, _concat.default)(_context3 = []).call(_context3, (0, _toConsumableArray2.default)(openKeys), [rowKey]), rowKey, 'expand');
|
|
111
78
|
}
|
|
112
79
|
};
|
|
113
|
-
|
|
114
80
|
var detailPrimaryKey = typeof primaryKey === 'string' ? primaryKey : rowDetailMetaKey.toString() + 'PrimaryKey';
|
|
115
81
|
return pipeline.dataSource((0, _flatMapInstanceProperty(_others))(pipeline.getDataSource(), function (row, rowIndex) {
|
|
116
82
|
if (openKeySet.has(_internals.internals.safeGetRowKey(primaryKey, row, rowIndex))) {
|
|
@@ -126,35 +92,27 @@ function rowDetail() {
|
|
|
126
92
|
};
|
|
127
93
|
}
|
|
128
94
|
});
|
|
129
|
-
|
|
130
95
|
function processColumns(columns) {
|
|
131
96
|
if (columns.length === 0) {
|
|
132
97
|
return columns;
|
|
133
98
|
}
|
|
134
|
-
|
|
135
99
|
var expandColumnIndex = 0;
|
|
136
|
-
|
|
137
100
|
if (opts.expandColumnCode) {
|
|
138
101
|
expandColumnIndex = (0, _findIndex.default)(columns).call(columns, function (col) {
|
|
139
102
|
return col.code === opts.expandColumnCode;
|
|
140
103
|
});
|
|
141
|
-
|
|
142
104
|
if (expandColumnIndex < 0) {
|
|
143
105
|
_console.default.warn('没找到可展开的列,请检查设置的展开列code');
|
|
144
|
-
|
|
145
106
|
return columns;
|
|
146
107
|
}
|
|
147
108
|
}
|
|
148
|
-
|
|
149
109
|
var expandCol = columns[expandColumnIndex];
|
|
150
110
|
var tableColumns = (0, _toConsumableArray2.default)(columns);
|
|
151
|
-
|
|
152
111
|
var render = function render(value, row, rowIndex) {
|
|
153
112
|
if (row[rowDetailMetaKey]) {
|
|
154
113
|
// 第一列内容已经渲染
|
|
155
114
|
if (expandColumnIndex !== 0) return;
|
|
156
115
|
var renderRowDetail = (0, _renderTemplates.default)('rowDetail');
|
|
157
|
-
|
|
158
116
|
if (typeof renderRowDetail === 'function') {
|
|
159
117
|
return renderRowDetail({
|
|
160
118
|
row: row,
|
|
@@ -163,12 +121,9 @@ function rowDetail() {
|
|
|
163
121
|
renderDetail: renderDetail
|
|
164
122
|
});
|
|
165
123
|
}
|
|
166
|
-
|
|
167
124
|
return renderDetail(row, rowIndex);
|
|
168
125
|
}
|
|
169
|
-
|
|
170
126
|
var content = _internals.internals.safeRender(expandCol, row, rowIndex);
|
|
171
|
-
|
|
172
127
|
if (!hasDetail(row, rowIndex)) {
|
|
173
128
|
return /*#__PURE__*/_react.default.createElement(_commonViews.InlineFlexCell, {
|
|
174
129
|
style: {
|
|
@@ -176,19 +131,14 @@ function rowDetail() {
|
|
|
176
131
|
}
|
|
177
132
|
}, content);
|
|
178
133
|
}
|
|
179
|
-
|
|
180
134
|
var rowKey = _internals.internals.safeGetRowKey(primaryKey, row, rowIndex);
|
|
181
|
-
|
|
182
135
|
var expanded = openKeySet.has(rowKey);
|
|
183
|
-
|
|
184
136
|
var onClick = function onClick(e) {
|
|
185
137
|
if (opts.stopClickEventPropagation) {
|
|
186
138
|
e.stopPropagation();
|
|
187
139
|
}
|
|
188
|
-
|
|
189
140
|
toggle(rowKey);
|
|
190
141
|
};
|
|
191
|
-
|
|
192
142
|
var expandCls = expanded ? _base.Classes.expanded : _base.Classes.collapsed;
|
|
193
143
|
var ExpandIcon = opts.expandIcon;
|
|
194
144
|
return /*#__PURE__*/_react.default.createElement(_commonViews.ExpansionCell, {
|
|
@@ -210,10 +160,8 @@ function rowDetail() {
|
|
|
210
160
|
onClick: clickArea === 'icon' ? onClick : undefined
|
|
211
161
|
}), content);
|
|
212
162
|
};
|
|
213
|
-
|
|
214
163
|
var getCellProps = function getCellProps(value, row, rowIndex) {
|
|
215
164
|
var _a;
|
|
216
|
-
|
|
217
165
|
if (row[rowDetailMetaKey]) {
|
|
218
166
|
return {
|
|
219
167
|
style: (0, _extends4.default)({
|
|
@@ -222,19 +170,15 @@ function rowDetail() {
|
|
|
222
170
|
}, opts.detailCellStyle)
|
|
223
171
|
};
|
|
224
172
|
}
|
|
225
|
-
|
|
226
173
|
var prevProps = (_a = expandCol.getCellProps) === null || _a === void 0 ? void 0 : _a.call(expandCol, value, row, rowIndex);
|
|
227
|
-
|
|
228
174
|
if (!hasDetail(row, rowIndex)) {
|
|
229
175
|
return prevProps;
|
|
230
176
|
}
|
|
231
|
-
|
|
232
177
|
return (0, _utils.mergeCellProps)(prevProps, {
|
|
233
178
|
onClick: function onClick(e) {
|
|
234
179
|
if (opts.stopClickEventPropagation) {
|
|
235
180
|
e.stopPropagation();
|
|
236
181
|
}
|
|
237
|
-
|
|
238
182
|
toggle(_internals.internals.safeGetRowKey(primaryKey, row, rowIndex));
|
|
239
183
|
},
|
|
240
184
|
style: {
|
|
@@ -242,15 +186,12 @@ function rowDetail() {
|
|
|
242
186
|
}
|
|
243
187
|
});
|
|
244
188
|
};
|
|
245
|
-
|
|
246
189
|
var _tableColumns = (0, _toArray2.default)(tableColumns),
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
190
|
+
firstCol = _tableColumns[0],
|
|
191
|
+
others = (0, _slice.default)(_tableColumns).call(_tableColumns, 1);
|
|
250
192
|
var firstColRender = function firstColRender(value, row, rowIndex) {
|
|
251
193
|
if (row[rowDetailMetaKey]) {
|
|
252
194
|
var renderRowDetail = (0, _renderTemplates.default)('rowDetail');
|
|
253
|
-
|
|
254
195
|
if (typeof renderRowDetail === 'function') {
|
|
255
196
|
return renderRowDetail({
|
|
256
197
|
row: row,
|
|
@@ -259,15 +200,11 @@ function rowDetail() {
|
|
|
259
200
|
renderDetail: renderDetail
|
|
260
201
|
});
|
|
261
202
|
}
|
|
262
|
-
|
|
263
203
|
return renderDetail(row, rowIndex);
|
|
264
204
|
}
|
|
265
|
-
|
|
266
205
|
var content = _internals.internals.safeRender(firstCol, row, rowIndex);
|
|
267
|
-
|
|
268
206
|
return content;
|
|
269
207
|
};
|
|
270
|
-
|
|
271
208
|
tableColumns[0] = (0, _extends4.default)((0, _extends4.default)({}, firstCol), {
|
|
272
209
|
render: firstColRender,
|
|
273
210
|
getSpanRect: function getSpanRect(value, row, rowIndex) {
|
|
@@ -283,12 +220,12 @@ function rowDetail() {
|
|
|
283
220
|
}
|
|
284
221
|
});
|
|
285
222
|
tableColumns[expandColumnIndex] = (0, _extends4.default)((0, _extends4.default)({}, expandCol), {
|
|
286
|
-
title: /*#__PURE__*/_react.default.createElement("div", {
|
|
223
|
+
title: ( /*#__PURE__*/_react.default.createElement("div", {
|
|
287
224
|
style: {
|
|
288
225
|
display: 'inline-block',
|
|
289
226
|
marginLeft: textOffset
|
|
290
227
|
}
|
|
291
|
-
}, _internals.internals.safeRenderHeader(expandCol)),
|
|
228
|
+
}, _internals.internals.safeRenderHeader(expandCol))),
|
|
292
229
|
render: render,
|
|
293
230
|
getCellProps: clickArea === 'cell' ? getCellProps : expandCol.getCellProps,
|
|
294
231
|
getSpanRect: function getSpanRect(value, row, rowIndex) {
|
|
@@ -1,36 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _mapInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/map");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.ROW_DRAG_COLUMN_CODE = void 0;
|
|
11
9
|
exports.rowDrag = rowDrag;
|
|
12
10
|
exports.rowDragKey = void 0;
|
|
13
|
-
|
|
14
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
15
|
-
|
|
16
12
|
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
17
|
-
|
|
18
13
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
19
|
-
|
|
20
14
|
var _react = _interopRequireDefault(require("react"));
|
|
21
|
-
|
|
22
15
|
var _rxjs = require("rxjs");
|
|
23
|
-
|
|
24
16
|
var _operators = require("rxjs/operators");
|
|
25
|
-
|
|
26
17
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
27
|
-
|
|
28
18
|
var _styles = require("../../base/styles");
|
|
29
|
-
|
|
30
|
-
var
|
|
31
|
-
exports.ROW_DRAG_COLUMN_CODE = ROW_DRAG_COLUMN_CODE;
|
|
32
|
-
var rowDragKey = 'rowDragKey';
|
|
33
|
-
exports.rowDragKey = rowDragKey;
|
|
19
|
+
var ROW_DRAG_COLUMN_CODE = exports.ROW_DRAG_COLUMN_CODE = '$_row_drag_column_&';
|
|
20
|
+
var rowDragKey = exports.rowDragKey = 'rowDragKey';
|
|
34
21
|
var SCROLL_OFFSET = 30;
|
|
35
22
|
var defaultRowDragColumn = {
|
|
36
23
|
name: '拖拽列',
|
|
@@ -58,47 +45,38 @@ var defaultRowDragColumn = {
|
|
|
58
45
|
}));
|
|
59
46
|
}
|
|
60
47
|
};
|
|
61
|
-
|
|
62
48
|
function rowDrag(opt) {
|
|
63
49
|
return function rowDragStep(pipeline) {
|
|
64
50
|
var _context;
|
|
65
|
-
|
|
66
51
|
var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
|
|
67
52
|
var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
|
|
68
53
|
if (!tableBody) return pipeline;
|
|
69
54
|
var dataSource = pipeline.getDataSource();
|
|
70
55
|
var rowHeight = (opt === null || opt === void 0 ? void 0 : opt.rowHeight) || 48;
|
|
71
|
-
|
|
72
56
|
var handleDragStrat = function handleDragStrat(event) {
|
|
73
|
-
var _a;
|
|
74
|
-
|
|
75
|
-
|
|
57
|
+
var _a;
|
|
58
|
+
// 开始拖拽
|
|
76
59
|
artTable.classList.add((0, _classnames.default)(_styles.Classes.rowDragging));
|
|
77
60
|
(_a = opt === null || opt === void 0 ? void 0 : opt.onDragStart) === null || _a === void 0 ? void 0 : _a.call(opt, event);
|
|
78
61
|
};
|
|
79
|
-
|
|
80
62
|
var handleDragMove = function handleDragMove(event) {
|
|
81
63
|
var _a;
|
|
82
|
-
|
|
83
64
|
(_a = opt === null || opt === void 0 ? void 0 : opt.onDragMove) === null || _a === void 0 ? void 0 : _a.call(opt, event);
|
|
84
65
|
pipeline.setStateAtKey(rowDragKey, event);
|
|
85
66
|
};
|
|
86
|
-
|
|
87
67
|
var handleDragEnd = function handleDragEnd(event, isOutOfRange) {
|
|
88
68
|
var _a;
|
|
89
|
-
|
|
90
69
|
artTable.classList.remove((0, _classnames.default)(_styles.Classes.rowDragging));
|
|
91
|
-
pipeline.setStateAtKey(rowDragKey, event);
|
|
92
|
-
|
|
70
|
+
pipeline.setStateAtKey(rowDragKey, event);
|
|
71
|
+
// 超出拖拽范围不触发dragend事件
|
|
93
72
|
if (!isOutOfRange) {
|
|
94
73
|
(_a = opt === null || opt === void 0 ? void 0 : opt.onDragEnd) === null || _a === void 0 ? void 0 : _a.call(opt, event);
|
|
95
74
|
}
|
|
96
75
|
};
|
|
97
|
-
|
|
98
76
|
var getDragEvent = function getDragEvent(startRowInfo, endRowInfo, _ref) {
|
|
99
77
|
var isFinished = _ref.isFinished,
|
|
100
|
-
|
|
101
|
-
|
|
78
|
+
_ref$dragPosition = _ref.dragPosition,
|
|
79
|
+
dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
|
|
102
80
|
return {
|
|
103
81
|
startRowIndex: startRowInfo.rowIndex,
|
|
104
82
|
startRow: startRowInfo.row,
|
|
@@ -108,31 +86,26 @@ function rowDrag(opt) {
|
|
|
108
86
|
isFinished: isFinished
|
|
109
87
|
};
|
|
110
88
|
};
|
|
111
|
-
|
|
112
89
|
var updateScrollPosition = function updateScrollPosition(mouseMoveEvent) {
|
|
113
90
|
if (opt === null || opt === void 0 ? void 0 : opt.suppressScrollMove) return;
|
|
114
91
|
var clientY = mouseMoveEvent.clientY;
|
|
115
92
|
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
116
93
|
var top = tableBodyClientRect.top,
|
|
117
|
-
|
|
118
|
-
|
|
94
|
+
height = tableBodyClientRect.height;
|
|
119
95
|
if (clientY + SCROLL_OFFSET >= top + height) {
|
|
120
96
|
pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
|
|
121
97
|
}
|
|
122
|
-
|
|
123
98
|
if (clientY + SCROLL_OFFSET <= top) {
|
|
124
99
|
pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
|
|
125
100
|
}
|
|
126
101
|
};
|
|
127
|
-
|
|
128
102
|
var onMouseDown = function onMouseDown(mouseDownEvent) {
|
|
129
103
|
var _a;
|
|
130
|
-
|
|
131
104
|
var startRowInfo = getTargetRowInfo(mouseDownEvent.target, tableBody, dataSource);
|
|
132
105
|
var endRowInfo = startRowInfo;
|
|
133
106
|
if (!startRowInfo || startRowInfo.code !== rowDragColumn.code) return;
|
|
134
|
-
if ((_a = opt === null || opt === void 0 ? void 0 : opt.isDisabled) === null || _a === void 0 ? void 0 : _a.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return;
|
|
135
|
-
|
|
107
|
+
if ((_a = opt === null || opt === void 0 ? void 0 : opt.isDisabled) === null || _a === void 0 ? void 0 : _a.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return;
|
|
108
|
+
// 默认拖拽插入的位置是向下
|
|
136
109
|
var dragPosition = 'bottom';
|
|
137
110
|
var isOutOfRange = false;
|
|
138
111
|
var dragStartEvent = getDragEvent(startRowInfo, endRowInfo, {
|
|
@@ -141,36 +114,52 @@ function rowDrag(opt) {
|
|
|
141
114
|
});
|
|
142
115
|
handleDragStrat(dragStartEvent);
|
|
143
116
|
var tableWidth = tableBody.clientWidth;
|
|
144
|
-
var startRowRects = startRowInfo.cell.getBoundingClientRect();
|
|
145
|
-
|
|
146
|
-
var startOffset = mouseDownEvent.clientY - startRowRects.
|
|
147
|
-
var dragElement = createDragElement(startRowRects, tableWidth, rowHeight);
|
|
148
|
-
|
|
117
|
+
var startRowRects = startRowInfo.cell.getBoundingClientRect();
|
|
118
|
+
// 光标位置距离初始拖拽行的偏移量
|
|
119
|
+
var startOffset = mouseDownEvent.clientY - startRowRects.top;
|
|
120
|
+
var dragElement = createDragElement(startRowRects, tableWidth, rowHeight);
|
|
121
|
+
// 可拖拽的范围
|
|
149
122
|
var dragRange = getDragRange(tableBody, {
|
|
150
123
|
startOffset: startOffset,
|
|
151
|
-
rowHeight:
|
|
124
|
+
rowHeight: rowHeight
|
|
152
125
|
});
|
|
126
|
+
var mousePosition = {
|
|
127
|
+
x: mouseDownEvent.clientX,
|
|
128
|
+
y: mouseDownEvent.clientY
|
|
129
|
+
};
|
|
153
130
|
var mousemove$ = (0, _rxjs.fromEvent)(window, 'mousemove');
|
|
154
131
|
var mouseup$ = (0, _rxjs.fromEvent)(window, 'mouseup');
|
|
132
|
+
var scrollCallback = function scrollCallback(event) {
|
|
133
|
+
// 在当前表格内滚动不处理
|
|
134
|
+
if (event.target === tableBody) return;
|
|
135
|
+
dragRange = getDragRange(tableBody, {
|
|
136
|
+
startOffset: startOffset,
|
|
137
|
+
rowHeight: rowHeight
|
|
138
|
+
});
|
|
139
|
+
var isOutOfRange = isOutOfDragRange(mousePosition, dragRange);
|
|
140
|
+
updateCurSorStyle(isOutOfRange);
|
|
141
|
+
};
|
|
142
|
+
document.addEventListener('scroll', scrollCallback, true);
|
|
155
143
|
var rowDrag$ = mousemove$.pipe((0, _mapInstanceProperty(_operators))(function (mouseMoveEvent) {
|
|
156
144
|
var clientX = mouseMoveEvent.clientX,
|
|
157
|
-
|
|
145
|
+
clientY = mouseMoveEvent.clientY;
|
|
158
146
|
var tagretRow = getTargetRowInfo(mouseMoveEvent.target, tableBody, dataSource);
|
|
159
|
-
|
|
160
147
|
if (tagretRow) {
|
|
161
148
|
endRowInfo = tagretRow;
|
|
162
149
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
var isMoveToTop = clientY - startOffset < targetRowRects.y;
|
|
150
|
+
var targetRowRects = endRowInfo.cell.getBoundingClientRect();
|
|
151
|
+
// 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
|
|
152
|
+
var isMoveToTop = clientY - startOffset < targetRowRects.top;
|
|
167
153
|
dragPosition = isMoveToTop ? 'top' : 'bottom';
|
|
168
154
|
isOutOfRange = isOutOfDragRange({
|
|
169
155
|
x: clientX,
|
|
170
156
|
y: clientY
|
|
171
157
|
}, dragRange);
|
|
158
|
+
mousePosition = {
|
|
159
|
+
x: clientX,
|
|
160
|
+
y: clientY
|
|
161
|
+
};
|
|
172
162
|
updateScrollPosition(mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
|
|
173
|
-
|
|
174
163
|
updateDragElementPosition(dragElement, dragRange, {
|
|
175
164
|
x: clientX,
|
|
176
165
|
y: clientY,
|
|
@@ -186,8 +175,8 @@ function rowDrag(opt) {
|
|
|
186
175
|
rowDrag$.subscribe({
|
|
187
176
|
next: function next(_ref2) {
|
|
188
177
|
var startRowInfo = _ref2.startRowInfo,
|
|
189
|
-
|
|
190
|
-
|
|
178
|
+
endRowInfo = _ref2.endRowInfo,
|
|
179
|
+
dragPosition = _ref2.dragPosition;
|
|
191
180
|
var dragMoveEvent = getDragEvent(startRowInfo, endRowInfo, {
|
|
192
181
|
isFinished: false,
|
|
193
182
|
dragPosition: dragPosition
|
|
@@ -202,10 +191,10 @@ function rowDrag(opt) {
|
|
|
202
191
|
handleDragEnd(dragEndEvent, isOutOfRange);
|
|
203
192
|
removeDragElement(dragElement);
|
|
204
193
|
removeCurSorStyle();
|
|
194
|
+
document.removeEventListener('scroll', scrollCallback, true);
|
|
205
195
|
}
|
|
206
196
|
});
|
|
207
197
|
};
|
|
208
|
-
|
|
209
198
|
var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
|
|
210
199
|
pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code);
|
|
211
200
|
var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
|
|
@@ -215,16 +204,14 @@ function rowDrag(opt) {
|
|
|
215
204
|
onMouseDown: onMouseDown
|
|
216
205
|
});
|
|
217
206
|
pipeline.appendRowPropsGetter(function (row, rowIndex) {
|
|
218
|
-
var _cx;
|
|
219
|
-
|
|
220
207
|
var rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {};
|
|
221
208
|
var startRowIndex = rowDragEvent.startRowIndex,
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
209
|
+
endRowIndex = rowDragEvent.endRowIndex,
|
|
210
|
+
isFinished = rowDragEvent.isFinished,
|
|
211
|
+
dragPosition = rowDragEvent.dragPosition;
|
|
225
212
|
var isFooterCell = row[pipeline.getFeatureOptions('footerRowMetaKey')];
|
|
226
213
|
if (isFooterCell || isFinished || rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
|
|
227
|
-
var className = (0, _classnames.default)((
|
|
214
|
+
var className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.rowDragStart, rowIndex === startRowIndex), _styles.Classes.rowDragEnd, rowIndex === endRowIndex), _styles.Classes.rowDragEndToTop, rowIndex === endRowIndex && dragPosition === 'top'), _styles.Classes.rowDragEndToBottom, rowIndex === endRowIndex && dragPosition === 'bottom'));
|
|
228
215
|
return {
|
|
229
216
|
className: className
|
|
230
217
|
};
|
|
@@ -232,7 +219,6 @@ function rowDrag(opt) {
|
|
|
232
219
|
return pipeline;
|
|
233
220
|
};
|
|
234
221
|
}
|
|
235
|
-
|
|
236
222
|
function getTargetRowInfo(target, tableBody, record) {
|
|
237
223
|
while (target && tableBody.contains(target)) {
|
|
238
224
|
if (target.getAttribute('data-role') === 'table-cell') {
|
|
@@ -248,41 +234,33 @@ function getTargetRowInfo(target, tableBody, record) {
|
|
|
248
234
|
cell: target
|
|
249
235
|
};
|
|
250
236
|
}
|
|
251
|
-
|
|
252
237
|
target = target.parentElement;
|
|
253
238
|
}
|
|
254
|
-
|
|
255
239
|
return null;
|
|
256
240
|
}
|
|
257
|
-
|
|
258
241
|
function isEleInFooter(target) {
|
|
259
242
|
while (target && !target.classList.contains(_styles.Classes.artTable)) {
|
|
260
243
|
if (target.classList.contains(_styles.Classes.tableFooter)) {
|
|
261
244
|
return true;
|
|
262
245
|
}
|
|
263
|
-
|
|
264
246
|
target = target.parentElement;
|
|
265
247
|
}
|
|
266
|
-
|
|
267
248
|
return false;
|
|
268
249
|
}
|
|
269
|
-
|
|
270
250
|
function createDragElement(rects, tableWidth, rowHeight) {
|
|
271
251
|
var _context2, _context3, _context4;
|
|
272
|
-
|
|
273
252
|
var x = rects.x,
|
|
274
|
-
|
|
253
|
+
y = rects.y;
|
|
275
254
|
var dragMoveElement = document.createElement('div');
|
|
276
255
|
dragMoveElement.className = (0, _classnames.default)(_styles.Classes.rowDragElement);
|
|
277
256
|
dragMoveElement.style.cssText = (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = "position:fixed;z-index:9999;left:".concat(x, "px;top:")).call(_context4, y, "px;pointer-events:none;width:")).call(_context3, tableWidth, "px;height:")).call(_context2, rowHeight, "px;background:var(--primary-color);opacity: 0.1;");
|
|
278
257
|
document.body.appendChild(dragMoveElement);
|
|
279
258
|
return dragMoveElement;
|
|
280
259
|
}
|
|
281
|
-
|
|
282
260
|
function updateDragElementPosition(element, dragRange, _ref3) {
|
|
283
261
|
var x = _ref3.x,
|
|
284
|
-
|
|
285
|
-
|
|
262
|
+
y = _ref3.y,
|
|
263
|
+
startOffset = _ref3.startOffset;
|
|
286
264
|
var validPosition = getValidPosition({
|
|
287
265
|
x: x,
|
|
288
266
|
y: y
|
|
@@ -290,11 +268,9 @@ function updateDragElementPosition(element, dragRange, _ref3) {
|
|
|
290
268
|
element.style.top = validPosition.y - startOffset + 'px';
|
|
291
269
|
return element;
|
|
292
270
|
}
|
|
293
|
-
|
|
294
271
|
function removeDragElement(element) {
|
|
295
272
|
document.body.removeChild(element);
|
|
296
273
|
}
|
|
297
|
-
|
|
298
274
|
function updateCurSorStyle(isOutOfRange) {
|
|
299
275
|
if (isOutOfRange) {
|
|
300
276
|
document.body.style.cursor = 'no-drop';
|
|
@@ -302,34 +278,31 @@ function updateCurSorStyle(isOutOfRange) {
|
|
|
302
278
|
document.body.style.cursor = 'move';
|
|
303
279
|
}
|
|
304
280
|
}
|
|
305
|
-
|
|
306
281
|
function removeCurSorStyle() {
|
|
307
282
|
document.body.style.cursor = 'default';
|
|
308
283
|
}
|
|
309
|
-
|
|
310
284
|
function getDragRange(tableBody, _ref4) {
|
|
311
285
|
var startOffset = _ref4.startOffset,
|
|
312
|
-
|
|
286
|
+
rowHeight = _ref4.rowHeight;
|
|
313
287
|
var tableBodyClientRect = tableBody.getBoundingClientRect();
|
|
314
288
|
var height = tableBodyClientRect.height,
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
289
|
+
width = tableBodyClientRect.width,
|
|
290
|
+
top = tableBodyClientRect.top,
|
|
291
|
+
left = tableBodyClientRect.left;
|
|
318
292
|
return {
|
|
319
|
-
minX:
|
|
320
|
-
maxX:
|
|
321
|
-
minY:
|
|
322
|
-
maxY:
|
|
293
|
+
minX: left,
|
|
294
|
+
maxX: left + width,
|
|
295
|
+
minY: top - rowHeight + startOffset,
|
|
296
|
+
maxY: top + height + startOffset
|
|
323
297
|
};
|
|
324
298
|
}
|
|
325
|
-
|
|
326
299
|
function getValidPosition(position, dragRange) {
|
|
327
300
|
var x = position.x,
|
|
328
|
-
|
|
301
|
+
y = position.y;
|
|
329
302
|
var minX = dragRange.minX,
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
303
|
+
maxX = dragRange.maxX,
|
|
304
|
+
minY = dragRange.minY,
|
|
305
|
+
maxY = dragRange.maxY;
|
|
333
306
|
var newX = x < minX ? minX : x > maxX ? maxX : x;
|
|
334
307
|
var newY = y < minY ? minY : y > maxY ? maxY : y;
|
|
335
308
|
return {
|
|
@@ -337,13 +310,12 @@ function getValidPosition(position, dragRange) {
|
|
|
337
310
|
y: newY
|
|
338
311
|
};
|
|
339
312
|
}
|
|
340
|
-
|
|
341
313
|
function isOutOfDragRange(position, dragRange) {
|
|
342
314
|
var x = position.x,
|
|
343
|
-
|
|
315
|
+
y = position.y;
|
|
344
316
|
var minX = dragRange.minX,
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
317
|
+
maxX = dragRange.maxX,
|
|
318
|
+
minY = dragRange.minY,
|
|
319
|
+
maxY = dragRange.maxY;
|
|
348
320
|
return x > maxX || x < minX || y > maxY || y < minY;
|
|
349
321
|
}
|