vxe-table 3.6.6 → 3.6.8
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/lib/all.js +11 -82
- package/lib/all.min.js +1 -1
- package/lib/button/index.js +0 -3
- package/lib/button/src/button.js +39 -82
- package/lib/button/src/button.min.js +1 -1
- package/lib/button/style/style.css +475 -349
- package/lib/button/style/style.min.css +1 -1
- package/lib/checkbox/index.js +0 -3
- package/lib/checkbox/src/checkbox.js +15 -29
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/src/group.js +4 -12
- package/lib/checkbox/style/style.css +158 -128
- package/lib/checkbox/style/style.min.css +1 -1
- package/lib/checkbox-group/index.js +0 -3
- package/lib/checkbox-group/style/style.css +1 -1
- package/lib/colgroup/index.js +2 -5
- package/lib/colgroup/style/style.css +1 -1
- package/lib/column/index.js +2 -5
- package/lib/column/style/style.css +1 -1
- package/lib/edit/index.js +0 -6
- package/lib/edit/src/mixin.js +91 -252
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/edit/style/style.css +1 -1
- package/lib/export/index.js +1 -16
- package/lib/export/index.min.js +1 -1
- package/lib/export/src/export-panel.js +16 -41
- package/lib/export/src/export-panel.min.js +1 -1
- package/lib/export/src/import-panel.js +5 -19
- package/lib/export/src/import-panel.min.js +1 -1
- package/lib/export/src/mixin.js +105 -387
- package/lib/export/src/mixin.min.js +1 -1
- package/lib/export/style/style.css +138 -105
- package/lib/filter/index.js +0 -8
- package/lib/filter/src/mixin.js +18 -66
- package/lib/filter/src/mixin.min.js +1 -1
- package/lib/filter/src/panel.js +10 -22
- package/lib/filter/src/panel.min.js +1 -1
- package/lib/filter/style/style.css +105 -81
- package/lib/footer/index.js +0 -3
- package/lib/footer/src/footer.js +52 -84
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/footer/style/style.css +1 -1
- package/lib/form/index.js +0 -3
- package/lib/form/src/form-config-item.js +23 -40
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-gather.js +0 -5
- package/lib/form/src/form-item.js +18 -35
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +45 -137
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +7 -22
- package/lib/form/src/render.min.js +1 -1
- package/lib/form/src/util.js +9 -42
- package/lib/form/src/util.min.js +1 -1
- package/lib/form/style/style.css +227 -185
- package/lib/form-gather/index.js +0 -3
- package/lib/form-gather/style/style.css +1 -1
- package/lib/form-item/index.js +0 -3
- package/lib/form-item/style/style.css +1 -1
- package/lib/grid/index.js +0 -4
- package/lib/grid/src/grid.js +87 -261
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/grid/style/style.css +62 -50
- package/lib/header/index.js +0 -3
- package/lib/header/src/header.js +54 -87
- package/lib/header/src/header.min.js +1 -1
- package/lib/header/src/util.js +0 -17
- package/lib/header/src/util.min.js +1 -1
- package/lib/header/style/style.css +1 -1
- package/lib/icon/index.js +0 -3
- package/lib/icon/style/iconfont.1669391208345.ttf +0 -0
- package/lib/icon/style/iconfont.1669391208345.woff +0 -0
- package/lib/icon/style/iconfont.1669391208345.woff2 +0 -0
- package/lib/icon/style/style.css +384 -197
- package/lib/icon/style/style.min.css +738 -1
- package/lib/iconfont.1669391208345.ttf +0 -0
- package/lib/iconfont.1669391208345.woff +0 -0
- package/lib/iconfont.1669391208345.woff2 +0 -0
- package/lib/index.common.js +1 -7
- package/lib/index.common.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.umd.js +11884 -13141
- package/lib/index.umd.min.js +1 -1
- package/lib/input/index.js +0 -3
- package/lib/input/src/date.js +0 -10
- package/lib/input/src/date.min.js +1 -1
- package/lib/input/src/input.js +208 -473
- package/lib/input/src/input.min.js +1 -1
- package/lib/input/src/number.js +0 -5
- package/lib/input/style/style.css +820 -611
- package/lib/keyboard/index.js +0 -6
- package/lib/keyboard/src/mixin.js +35 -111
- package/lib/keyboard/src/mixin.min.js +1 -1
- package/lib/keyboard/style/style.css +1 -1
- package/lib/list/index.js +0 -3
- package/lib/list/src/list.js +23 -64
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/style/style.css +19 -14
- package/lib/loading/index.js +0 -3
- package/lib/loading/index.min.js +1 -1
- package/lib/loading/src/loading.js +1 -4
- package/lib/loading/style/style.css +60 -45
- package/lib/locale/lang/zh-HK.js +0 -3
- package/lib/locale/lang/zh-MO.js +0 -3
- package/lib/locale/lang/zh-TW.js +0 -3
- package/lib/menu/index.js +0 -8
- package/lib/menu/src/mixin.js +38 -100
- package/lib/menu/src/mixin.min.js +1 -1
- package/lib/menu/src/panel.js +2 -5
- package/lib/menu/style/style.css +74 -55
- package/lib/mixins/size.js +1 -1
- package/lib/modal/index.js +3 -21
- package/lib/modal/index.min.js +1 -1
- package/lib/modal/src/modal.js +97 -254
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/modal/style/style.css +346 -280
- package/lib/modal/style/style.min.css +1 -1
- package/lib/optgroup/index.js +0 -3
- package/lib/optgroup/style/style.css +1 -1
- package/lib/option/index.js +0 -3
- package/lib/option/style/style.css +1 -1
- package/lib/pager/index.js +0 -3
- package/lib/pager/src/pager.js +13 -41
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/pager/style/style.css +314 -262
- package/lib/pulldown/index.js +0 -3
- package/lib/pulldown/src/pulldown.js +29 -72
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/pulldown/style/style.css +51 -39
- package/lib/radio/index.js +0 -3
- package/lib/radio/src/button.js +11 -22
- package/lib/radio/src/group.js +2 -6
- package/lib/radio/src/radio.js +11 -23
- package/lib/radio/style/style.css +186 -152
- package/lib/radio/style/style.min.css +1 -1
- package/lib/radio-button/index.js +0 -3
- package/lib/radio-button/style/style.css +1 -1
- package/lib/radio-group/index.js +0 -3
- package/lib/radio-group/style/style.css +1 -1
- package/lib/select/index.js +0 -5
- package/lib/select/src/optgroup.js +0 -2
- package/lib/select/src/optgroup.min.js +1 -1
- package/lib/select/src/option.js +0 -2
- package/lib/select/src/option.min.js +1 -1
- package/lib/select/src/select.js +79 -211
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/src/util.js +5 -24
- package/lib/select/src/util.min.js +1 -1
- package/lib/select/style/style.css +120 -89
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/switch/index.js +0 -3
- package/lib/switch/src/switch.js +7 -20
- package/lib/switch/src/switch.min.js +1 -1
- package/lib/switch/style/style.css +92 -71
- package/lib/table/index.js +0 -9
- package/lib/table/src/body.js +167 -261
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +107 -222
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +2 -4
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +6 -35
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/group.js +0 -3
- package/lib/table/src/methods.js +570 -1461
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +123 -231
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +28 -105
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +1080 -863
- package/lib/table/style/style.min.css +1 -1
- package/lib/textarea/index.js +0 -3
- package/lib/textarea/src/textarea.js +23 -55
- package/lib/textarea/src/textarea.min.js +1 -1
- package/lib/textarea/style/style.css +66 -45
- package/lib/toolbar/index.js +0 -3
- package/lib/toolbar/src/toolbar.js +43 -117
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/toolbar/style/style.css +232 -187
- package/lib/tools/dom.js +7 -42
- package/lib/tools/dom.min.js +1 -1
- package/lib/tools/event.js +4 -14
- package/lib/tools/event.min.js +1 -1
- package/lib/tools/log.js +1 -6
- package/lib/tools/log.min.js +1 -1
- package/lib/tools/resize.js +3 -24
- package/lib/tools/resize.min.js +1 -1
- package/lib/tools/utils.js +7 -29
- package/lib/tools/utils.min.js +1 -1
- package/lib/tools/vn.js +0 -4
- package/lib/tooltip/index.js +0 -4
- package/lib/tooltip/src/tooltip.js +29 -76
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tooltip/style/style.css +88 -64
- package/lib/v-x-e-table/index.js +6 -41
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/commands.js +0 -4
- package/lib/v-x-e-table/src/conf.js +30 -18
- package/lib/v-x-e-table/src/formats.js +0 -4
- package/lib/v-x-e-table/src/interceptor.js +4 -15
- package/lib/v-x-e-table/src/menus.js +0 -4
- package/lib/v-x-e-table/src/renderer.js +62 -169
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/lib/v-x-e-table/src/setup.js +0 -4
- package/lib/v-x-e-table/src/store.js +3 -16
- package/lib/v-x-e-table/src/store.min.js +1 -1
- package/lib/v-x-e-table/style/style.css +444 -242
- package/lib/v-x-e-table/style/style.min.css +1 -1
- package/lib/validator/index.js +0 -6
- package/lib/validator/src/mixin.js +31 -100
- package/lib/validator/src/mixin.min.js +1 -1
- package/lib/validator/style/style.css +1 -1
- package/lib/vxe-table/style/style.css +1 -1
- package/package.json +28 -29
- package/packages/export/src/mixin.js +2 -1
- package/packages/filter/src/mixin.js +1 -1
- package/packages/form/src/form.js +5 -4
- package/packages/grid/src/grid.js +14 -14
- package/packages/table/src/column.js +2 -0
- package/packages/table/src/columnInfo.js +1 -0
- package/packages/table/src/methods.js +18 -18
- package/styles/icon/iconfont.ttf +0 -0
- package/styles/icon/iconfont.woff +0 -0
- package/styles/icon/iconfont.woff2 +0 -0
- package/styles/icon.scss +9 -1
- package/styles/table.scss +1 -1
- package/styles/variable.scss +2 -2
- package/types/column.d.ts +3 -0
package/lib/table/src/body.js
CHANGED
|
@@ -1,76 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof";
|
|
4
|
-
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
11
|
-
|
|
12
9
|
var _conf = _interopRequireDefault(require("../../v-x-e-table/src/conf"));
|
|
13
|
-
|
|
14
10
|
var _vXETable = _interopRequireDefault(require("../../v-x-e-table"));
|
|
15
|
-
|
|
16
11
|
var _utils = _interopRequireWildcard(require("../../tools/utils"));
|
|
17
|
-
|
|
18
12
|
var _util = require("./util");
|
|
19
|
-
|
|
20
13
|
var _dom = _interopRequireDefault(require("../../tools/dom"));
|
|
21
|
-
|
|
22
14
|
var _vn = require("../../tools/vn");
|
|
23
|
-
|
|
24
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
-
|
|
26
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
-
|
|
28
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
-
|
|
30
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
31
|
-
|
|
32
19
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
33
|
-
|
|
34
20
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
35
|
-
|
|
36
21
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
37
|
-
|
|
38
22
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
39
|
-
|
|
40
23
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
41
|
-
|
|
42
24
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
25
|
+
var renderType = 'body';
|
|
43
26
|
|
|
44
|
-
|
|
45
|
-
|
|
27
|
+
// 滚动、拖动过程中不需要触发
|
|
46
28
|
function isOperateMouse($xetable) {
|
|
47
29
|
return $xetable._isResize || $xetable.lastScrollTime && Date.now() < $xetable.lastScrollTime + $xetable.delayHover;
|
|
48
30
|
}
|
|
49
|
-
|
|
50
31
|
function renderLine(h, _vm, $xetable, params) {
|
|
51
32
|
var row = params.row,
|
|
52
|
-
|
|
33
|
+
column = params.column;
|
|
53
34
|
var treeOpts = $xetable.treeOpts,
|
|
54
|
-
|
|
55
|
-
|
|
35
|
+
treeConfig = $xetable.treeConfig,
|
|
36
|
+
fullAllDataRowIdData = $xetable.fullAllDataRowIdData;
|
|
56
37
|
var slots = column.slots,
|
|
57
|
-
|
|
38
|
+
treeNode = column.treeNode;
|
|
58
39
|
var rowid = (0, _util.getRowid)($xetable, row);
|
|
59
40
|
var rest = fullAllDataRowIdData[rowid];
|
|
60
41
|
var rLevel = 0;
|
|
61
42
|
var rIndex = 0;
|
|
62
43
|
var items = [];
|
|
63
|
-
|
|
64
44
|
if (rest) {
|
|
65
45
|
rLevel = rest.level;
|
|
66
46
|
rIndex = rest._index;
|
|
67
47
|
items = rest.items;
|
|
68
48
|
}
|
|
69
|
-
|
|
70
49
|
if (slots && slots.line) {
|
|
71
50
|
return $xetable.callSlot(slots.line, params, h);
|
|
72
51
|
}
|
|
73
|
-
|
|
74
52
|
if (treeConfig && treeNode && treeOpts.line) {
|
|
75
53
|
return [h('div', {
|
|
76
54
|
class: 'vxe-tree--line-wrapper'
|
|
@@ -82,57 +60,54 @@ function renderLine(h, _vm, $xetable, params) {
|
|
|
82
60
|
}
|
|
83
61
|
})])];
|
|
84
62
|
}
|
|
85
|
-
|
|
86
63
|
return [];
|
|
87
64
|
}
|
|
65
|
+
|
|
88
66
|
/**
|
|
89
67
|
* 渲染列
|
|
90
68
|
*/
|
|
91
|
-
|
|
92
|
-
|
|
93
69
|
function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
|
|
94
70
|
var _ref2;
|
|
95
|
-
|
|
96
71
|
var tableListeners = $xetable.$listeners,
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
72
|
+
afterFullData = $xetable.afterFullData,
|
|
73
|
+
tableData = $xetable.tableData,
|
|
74
|
+
height = $xetable.height,
|
|
75
|
+
columnKey = $xetable.columnKey,
|
|
76
|
+
overflowX = $xetable.overflowX,
|
|
77
|
+
sYOpts = $xetable.sYOpts,
|
|
78
|
+
scrollXLoad = $xetable.scrollXLoad,
|
|
79
|
+
scrollYLoad = $xetable.scrollYLoad,
|
|
80
|
+
highlightCurrentRow = $xetable.highlightCurrentRow,
|
|
81
|
+
allColumnOverflow = $xetable.showOverflow,
|
|
82
|
+
isAllOverflow = $xetable.isAllOverflow,
|
|
83
|
+
allAlign = $xetable.align,
|
|
84
|
+
currentColumn = $xetable.currentColumn,
|
|
85
|
+
allCellClassName = $xetable.cellClassName,
|
|
86
|
+
cellStyle = $xetable.cellStyle,
|
|
87
|
+
mergeList = $xetable.mergeList,
|
|
88
|
+
spanMethod = $xetable.spanMethod,
|
|
89
|
+
radioOpts = $xetable.radioOpts,
|
|
90
|
+
checkboxOpts = $xetable.checkboxOpts,
|
|
91
|
+
expandOpts = $xetable.expandOpts,
|
|
92
|
+
treeOpts = $xetable.treeOpts,
|
|
93
|
+
tooltipOpts = $xetable.tooltipOpts,
|
|
94
|
+
mouseConfig = $xetable.mouseConfig,
|
|
95
|
+
editConfig = $xetable.editConfig,
|
|
96
|
+
editOpts = $xetable.editOpts,
|
|
97
|
+
editRules = $xetable.editRules,
|
|
98
|
+
validOpts = $xetable.validOpts,
|
|
99
|
+
editStore = $xetable.editStore,
|
|
100
|
+
validStore = $xetable.validStore,
|
|
101
|
+
tooltipConfig = $xetable.tooltipConfig,
|
|
102
|
+
rowOpts = $xetable.rowOpts,
|
|
103
|
+
columnOpts = $xetable.columnOpts;
|
|
129
104
|
var type = column.type,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
105
|
+
cellRender = column.cellRender,
|
|
106
|
+
editRender = column.editRender,
|
|
107
|
+
align = column.align,
|
|
108
|
+
showOverflow = column.showOverflow,
|
|
109
|
+
className = column.className,
|
|
110
|
+
treeNode = column.treeNode;
|
|
136
111
|
var actived = editStore.actived;
|
|
137
112
|
var scrollYRHeight = sYOpts.rHeight;
|
|
138
113
|
var rowHeight = rowOpts.height;
|
|
@@ -141,9 +116,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
141
116
|
var cellClassName = compConf ? compConf.cellClassName : '';
|
|
142
117
|
var showAllTip = tooltipOpts.showAll || tooltipOpts.enabled;
|
|
143
118
|
var columnIndex = $xetable.getColumnIndex(column);
|
|
144
|
-
|
|
145
119
|
var _columnIndex = $xetable.getVTColumnIndex(column);
|
|
146
|
-
|
|
147
120
|
var isEdit = (0, _utils.isEnableConf)(editRender);
|
|
148
121
|
var fixedHiddenColumn = fixedType ? column.fixed !== fixedType : column.fixed && overflowX;
|
|
149
122
|
var cellOverflow = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;
|
|
@@ -181,90 +154,76 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
181
154
|
visibleData: afterFullData,
|
|
182
155
|
data: tableData,
|
|
183
156
|
items: items
|
|
184
|
-
};
|
|
185
|
-
|
|
157
|
+
};
|
|
158
|
+
// 虚拟滚动不支持动态高度
|
|
186
159
|
if ((scrollXLoad || scrollYLoad) && !hasEllipsis) {
|
|
187
160
|
showEllipsis = hasEllipsis = true;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
|
|
161
|
+
}
|
|
162
|
+
// hover 进入事件
|
|
191
163
|
if (showTitle || showTooltip || showAllTip || bindMouseenter || tooltipConfig) {
|
|
192
164
|
tdOns.mouseenter = function (evnt) {
|
|
193
165
|
if (isOperateMouse($xetable)) {
|
|
194
166
|
return;
|
|
195
167
|
}
|
|
196
|
-
|
|
197
168
|
if (showTitle) {
|
|
198
169
|
_dom.default.updateCellTitle(evnt.currentTarget, column);
|
|
199
170
|
} else if (showTooltip || showAllTip) {
|
|
200
171
|
// 如果配置了显示 tooltip
|
|
201
172
|
$xetable.triggerBodyTooltipEvent(evnt, params);
|
|
202
173
|
}
|
|
203
|
-
|
|
204
174
|
if (bindMouseenter) {
|
|
205
175
|
$xetable.emitEvent('cell-mouseenter', Object.assign({
|
|
206
176
|
cell: evnt.currentTarget
|
|
207
177
|
}, params), evnt);
|
|
208
178
|
}
|
|
209
179
|
};
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
|
|
180
|
+
}
|
|
181
|
+
// hover 退出事件
|
|
213
182
|
if (showTooltip || showAllTip || bindMouseleave || tooltipConfig) {
|
|
214
183
|
tdOns.mouseleave = function (evnt) {
|
|
215
184
|
if (isOperateMouse($xetable)) {
|
|
216
185
|
return;
|
|
217
186
|
}
|
|
218
|
-
|
|
219
187
|
if (showTooltip || showAllTip) {
|
|
220
188
|
$xetable.handleTargetLeaveEvent(evnt);
|
|
221
189
|
}
|
|
222
|
-
|
|
223
190
|
if (bindMouseleave) {
|
|
224
191
|
$xetable.emitEvent('cell-mouseleave', Object.assign({
|
|
225
192
|
cell: evnt.currentTarget
|
|
226
193
|
}, params), evnt);
|
|
227
194
|
}
|
|
228
195
|
};
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
|
|
196
|
+
}
|
|
197
|
+
// 按下事件处理
|
|
232
198
|
if (checkboxOpts.range || mouseConfig) {
|
|
233
199
|
tdOns.mousedown = function (evnt) {
|
|
234
200
|
$xetable.triggerCellMousedownEvent(evnt, params);
|
|
235
201
|
};
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
|
|
202
|
+
}
|
|
203
|
+
// 点击事件处理
|
|
239
204
|
if (rowOpts.isCurrent || highlightCurrentRow || tableListeners['cell-click'] || editRender && editConfig || expandOpts.trigger === 'row' || expandOpts.trigger === 'cell' || radioOpts.trigger === 'row' || column.type === 'radio' && radioOpts.trigger === 'cell' || checkboxOpts.trigger === 'row' || column.type === 'checkbox' && checkboxOpts.trigger === 'cell' || treeOpts.trigger === 'row' || column.treeNode && treeOpts.trigger === 'cell') {
|
|
240
205
|
tdOns.click = function (evnt) {
|
|
241
206
|
$xetable.triggerCellClickEvent(evnt, params);
|
|
242
207
|
};
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
|
|
208
|
+
}
|
|
209
|
+
// 双击事件处理
|
|
246
210
|
if (triggerDblclick || tableListeners['cell-dblclick']) {
|
|
247
211
|
tdOns.dblclick = function (evnt) {
|
|
248
212
|
$xetable.triggerCellDblclickEvent(evnt, params);
|
|
249
213
|
};
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
|
|
214
|
+
}
|
|
215
|
+
// 合并行或列
|
|
253
216
|
if (mergeList.length) {
|
|
254
217
|
var spanRest = (0, _util.mergeBodyMethod)(mergeList, _rowIndex, _columnIndex);
|
|
255
|
-
|
|
256
218
|
if (spanRest) {
|
|
257
219
|
var rowspan = spanRest.rowspan,
|
|
258
|
-
|
|
259
|
-
|
|
220
|
+
colspan = spanRest.colspan;
|
|
260
221
|
if (!rowspan || !colspan) {
|
|
261
222
|
return null;
|
|
262
223
|
}
|
|
263
|
-
|
|
264
224
|
if (rowspan > 1) {
|
|
265
225
|
attrs.rowspan = rowspan;
|
|
266
226
|
}
|
|
267
|
-
|
|
268
227
|
if (colspan > 1) {
|
|
269
228
|
attrs.colspan = colspan;
|
|
270
229
|
}
|
|
@@ -272,38 +231,31 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
272
231
|
} else if (spanMethod) {
|
|
273
232
|
// 自定义合并行或列的方法
|
|
274
233
|
var _ref = spanMethod(params) || {},
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
234
|
+
_ref$rowspan = _ref.rowspan,
|
|
235
|
+
_rowspan = _ref$rowspan === void 0 ? 1 : _ref$rowspan,
|
|
236
|
+
_ref$colspan = _ref.colspan,
|
|
237
|
+
_colspan = _ref$colspan === void 0 ? 1 : _ref$colspan;
|
|
280
238
|
if (!_rowspan || !_colspan) {
|
|
281
239
|
return null;
|
|
282
240
|
}
|
|
283
|
-
|
|
284
241
|
if (_rowspan > 1) {
|
|
285
242
|
attrs.rowspan = _rowspan;
|
|
286
243
|
}
|
|
287
|
-
|
|
288
244
|
if (_colspan > 1) {
|
|
289
245
|
attrs.colspan = _colspan;
|
|
290
246
|
}
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
|
|
247
|
+
}
|
|
248
|
+
// 如果被合并不可隐藏
|
|
294
249
|
if (fixedHiddenColumn && mergeList) {
|
|
295
250
|
if (attrs.colspan > 1 || attrs.rowspan > 1) {
|
|
296
251
|
fixedHiddenColumn = false;
|
|
297
252
|
}
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
|
|
253
|
+
}
|
|
254
|
+
// 如果编辑列开启显示状态
|
|
301
255
|
if (!fixedHiddenColumn && editConfig && (editRender || cellRender) && (editOpts.showStatus || editOpts.showUpdateStatus)) {
|
|
302
256
|
isDirty = $xetable.isUpdateByRow(row, column.field);
|
|
303
257
|
}
|
|
304
|
-
|
|
305
258
|
var tdVNs = [];
|
|
306
|
-
|
|
307
259
|
if (fixedHiddenColumn && (allColumnOverflow ? isAllOverflow : allColumnOverflow)) {
|
|
308
260
|
tdVNs.push(h('div', {
|
|
309
261
|
class: ['vxe-cell', {
|
|
@@ -330,7 +282,6 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
330
282
|
title: showTitle ? $xetable.getCellLabel(row, column) : null
|
|
331
283
|
}
|
|
332
284
|
}, column.renderCell(h, params))]));
|
|
333
|
-
|
|
334
285
|
if (showValidTip && hasValidError) {
|
|
335
286
|
tdVNs.push(h('div', {
|
|
336
287
|
class: 'vxe-cell--valid',
|
|
@@ -342,7 +293,6 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
342
293
|
}, validStore.content)]));
|
|
343
294
|
}
|
|
344
295
|
}
|
|
345
|
-
|
|
346
296
|
return h('td', {
|
|
347
297
|
class: ['vxe-body--column', column.id, (_ref2 = {}, _defineProperty(_ref2, "col--".concat(cellAlign), cellAlign), _defineProperty(_ref2, "col--".concat(type), type), _defineProperty(_ref2, 'col--last', $columnIndex === columns.length - 1), _defineProperty(_ref2, 'col--tree-node', treeNode), _defineProperty(_ref2, 'col--edit', isEdit), _defineProperty(_ref2, 'col--ellipsis', hasEllipsis), _defineProperty(_ref2, 'fixed--hidden', fixedHiddenColumn), _defineProperty(_ref2, 'col--dirty', isDirty), _defineProperty(_ref2, 'col--actived', editConfig && isEdit && actived.row === row && (actived.column === column || editOpts.mode === 'row')), _defineProperty(_ref2, 'col--valid-error', hasValidError), _defineProperty(_ref2, 'col--current', currentColumn === column), _ref2), _utils.default.getClass(cellClassName, params), _utils.default.getClass(className, params), _utils.default.getClass(allCellClassName, params)],
|
|
348
298
|
key: columnKey || columnOpts.useKey ? column.id : $columnIndex,
|
|
@@ -353,60 +303,53 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
353
303
|
on: tdOns
|
|
354
304
|
}, tdVNs);
|
|
355
305
|
}
|
|
356
|
-
|
|
357
306
|
function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
|
|
358
307
|
var stripe = $xetable.stripe,
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
308
|
+
rowKey = $xetable.rowKey,
|
|
309
|
+
highlightHoverRow = $xetable.highlightHoverRow,
|
|
310
|
+
rowClassName = $xetable.rowClassName,
|
|
311
|
+
rowStyle = $xetable.rowStyle,
|
|
312
|
+
editConfig = $xetable.editConfig,
|
|
313
|
+
allColumnOverflow = $xetable.showOverflow,
|
|
314
|
+
treeConfig = $xetable.treeConfig,
|
|
315
|
+
treeOpts = $xetable.treeOpts,
|
|
316
|
+
expandOpts = $xetable.expandOpts,
|
|
317
|
+
editOpts = $xetable.editOpts,
|
|
318
|
+
treeExpandeds = $xetable.treeExpandeds,
|
|
319
|
+
scrollYLoad = $xetable.scrollYLoad,
|
|
320
|
+
editStore = $xetable.editStore,
|
|
321
|
+
rowExpandeds = $xetable.rowExpandeds,
|
|
322
|
+
radioOpts = $xetable.radioOpts,
|
|
323
|
+
checkboxOpts = $xetable.checkboxOpts,
|
|
324
|
+
expandColumn = $xetable.expandColumn,
|
|
325
|
+
hasFixedColumn = $xetable.hasFixedColumn,
|
|
326
|
+
fullAllDataRowIdData = $xetable.fullAllDataRowIdData,
|
|
327
|
+
rowOpts = $xetable.rowOpts;
|
|
379
328
|
var rows = [];
|
|
380
329
|
tableData.forEach(function (row, $rowIndex) {
|
|
381
330
|
var trOn = {};
|
|
382
331
|
var rowIndex = $rowIndex;
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
rowIndex = $xetable.getRowIndex(row); // 事件绑定
|
|
388
|
-
|
|
332
|
+
var _rowIndex = $xetable.getVTRowIndex(row);
|
|
333
|
+
// 确保任何情况下 rowIndex 都精准指向真实 data 索引
|
|
334
|
+
rowIndex = $xetable.getRowIndex(row);
|
|
335
|
+
// 事件绑定
|
|
389
336
|
if (rowOpts.isHover || highlightHoverRow) {
|
|
390
337
|
trOn.mouseenter = function (evnt) {
|
|
391
338
|
if (isOperateMouse($xetable)) {
|
|
392
339
|
return;
|
|
393
340
|
}
|
|
394
|
-
|
|
395
341
|
$xetable.triggerHoverEvent(evnt, {
|
|
396
342
|
row: row,
|
|
397
343
|
rowIndex: rowIndex
|
|
398
344
|
});
|
|
399
345
|
};
|
|
400
|
-
|
|
401
346
|
trOn.mouseleave = function () {
|
|
402
347
|
if (isOperateMouse($xetable)) {
|
|
403
348
|
return;
|
|
404
349
|
}
|
|
405
|
-
|
|
406
350
|
$xetable.clearHoverRow();
|
|
407
351
|
};
|
|
408
352
|
}
|
|
409
|
-
|
|
410
353
|
var rowid = (0, _util.getRowid)($xetable, row);
|
|
411
354
|
var rest = fullAllDataRowIdData[rowid];
|
|
412
355
|
var rowLevel = rest ? rest.level : 0;
|
|
@@ -421,24 +364,21 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
|
|
|
421
364
|
row: row,
|
|
422
365
|
rowIndex: rowIndex,
|
|
423
366
|
$rowIndex: $rowIndex
|
|
424
|
-
};
|
|
425
|
-
|
|
426
|
-
var isExpandRow = expandColumn && rowExpandeds.length && rowExpandeds.indexOf(row) > -1;
|
|
427
|
-
|
|
367
|
+
};
|
|
368
|
+
// 行是否被展开
|
|
369
|
+
var isExpandRow = expandColumn && rowExpandeds.length && rowExpandeds.indexOf(row) > -1;
|
|
370
|
+
// 树节点是否被展开
|
|
428
371
|
var isExpandTree = false;
|
|
429
|
-
var rowChildren = [];
|
|
430
|
-
|
|
372
|
+
var rowChildren = [];
|
|
373
|
+
// 是否新增行
|
|
431
374
|
var isNewRow = false;
|
|
432
|
-
|
|
433
375
|
if (editConfig) {
|
|
434
376
|
isNewRow = editStore.insertList.indexOf(row) > -1;
|
|
435
377
|
}
|
|
436
|
-
|
|
437
378
|
if (treeConfig && !scrollYLoad && !treeOpts.transform && treeExpandeds.length) {
|
|
438
379
|
rowChildren = row[treeOpts.children];
|
|
439
380
|
isExpandTree = rowChildren && rowChildren.length && treeExpandeds.indexOf(row) > -1;
|
|
440
381
|
}
|
|
441
|
-
|
|
442
382
|
rows.push(h('tr', {
|
|
443
383
|
class: ['vxe-body--row', treeConfig ? "row--level-".concat(rowLevel) : '', {
|
|
444
384
|
'row--stripe': stripe && ($xetable.getVTRowIndex(row) + 1) % 2 === 0,
|
|
@@ -457,20 +397,17 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
|
|
|
457
397
|
on: trOn
|
|
458
398
|
}, tableColumn.map(function (column, $columnIndex) {
|
|
459
399
|
return renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
|
|
460
|
-
})));
|
|
461
|
-
|
|
400
|
+
})));
|
|
401
|
+
// 如果行被展开了
|
|
462
402
|
if (isExpandRow) {
|
|
463
403
|
var expandHeight = expandOpts.height;
|
|
464
404
|
var cellStyle = {};
|
|
465
|
-
|
|
466
405
|
if (expandHeight) {
|
|
467
406
|
cellStyle.height = "".concat(expandHeight, "px");
|
|
468
407
|
}
|
|
469
|
-
|
|
470
408
|
if (treeConfig) {
|
|
471
409
|
cellStyle.paddingLeft = "".concat(rowLevel * treeOpts.indent + 30, "px");
|
|
472
410
|
}
|
|
473
|
-
|
|
474
411
|
var showOverflow = expandColumn.showOverflow;
|
|
475
412
|
var hasEllipsis = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;
|
|
476
413
|
var expandParams = {
|
|
@@ -505,34 +442,29 @@ function renderRows(h, _vm, $xetable, fixedType, tableData, tableColumn) {
|
|
|
505
442
|
},
|
|
506
443
|
style: cellStyle
|
|
507
444
|
}, [expandColumn.renderData(h, expandParams)])])]));
|
|
508
|
-
}
|
|
509
|
-
|
|
510
|
-
|
|
445
|
+
}
|
|
446
|
+
// 如果是树形表格
|
|
511
447
|
if (isExpandTree) {
|
|
512
448
|
rows.push.apply(rows, _toConsumableArray(renderRows(h, _vm, $xetable, fixedType, rowChildren, tableColumn)));
|
|
513
449
|
}
|
|
514
450
|
});
|
|
515
451
|
return rows;
|
|
516
452
|
}
|
|
453
|
+
|
|
517
454
|
/**
|
|
518
455
|
* 同步滚动条
|
|
519
456
|
*/
|
|
520
|
-
|
|
521
|
-
|
|
522
457
|
var scrollProcessTimeout;
|
|
523
|
-
|
|
524
458
|
function syncBodyScroll(_vm, fixedType, scrollTop, elem1, elem2) {
|
|
525
459
|
if (elem1 || elem2) {
|
|
526
460
|
if (elem1) {
|
|
527
461
|
(0, _util.removeScrollListener)(elem1);
|
|
528
462
|
elem1.scrollTop = scrollTop;
|
|
529
463
|
}
|
|
530
|
-
|
|
531
464
|
if (elem2) {
|
|
532
465
|
(0, _util.removeScrollListener)(elem2);
|
|
533
466
|
elem2.scrollTop = scrollTop;
|
|
534
467
|
}
|
|
535
|
-
|
|
536
468
|
clearTimeout(scrollProcessTimeout);
|
|
537
469
|
scrollProcessTimeout = setTimeout(function () {
|
|
538
470
|
// const { tableBody, leftBody, rightBody } = _vm.$refs
|
|
@@ -540,7 +472,8 @@ function syncBodyScroll(_vm, fixedType, scrollTop, elem1, elem2) {
|
|
|
540
472
|
// const leftElem = leftBody ? leftBody.$el : null
|
|
541
473
|
// const rightElem = rightBody ? rightBody.$el : null
|
|
542
474
|
(0, _util.restoreScrollListener)(elem1);
|
|
543
|
-
(0, _util.restoreScrollListener)(elem2);
|
|
475
|
+
(0, _util.restoreScrollListener)(elem2);
|
|
476
|
+
// 检查滚动条是的同步
|
|
544
477
|
// let targetTop = bodyElem.scrollTop
|
|
545
478
|
// if (fixedType === 'left') {
|
|
546
479
|
// if (leftElem) {
|
|
@@ -557,7 +490,6 @@ function syncBodyScroll(_vm, fixedType, scrollTop, elem1, elem2) {
|
|
|
557
490
|
}, 300);
|
|
558
491
|
}
|
|
559
492
|
}
|
|
560
|
-
|
|
561
493
|
var _default = {
|
|
562
494
|
name: 'VxeTableBody',
|
|
563
495
|
props: {
|
|
@@ -577,9 +509,9 @@ var _default = {
|
|
|
577
509
|
},
|
|
578
510
|
mounted: function mounted() {
|
|
579
511
|
var $xetable = this.$parent,
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
512
|
+
$el = this.$el,
|
|
513
|
+
$refs = this.$refs,
|
|
514
|
+
fixedType = this.fixedType;
|
|
583
515
|
var elemStore = $xetable.elemStore;
|
|
584
516
|
var prefix = "".concat(fixedType || 'main', "-body-");
|
|
585
517
|
elemStore["".concat(prefix, "wrapper")] = $el;
|
|
@@ -599,7 +531,7 @@ var _default = {
|
|
|
599
531
|
},
|
|
600
532
|
destroyed: function destroyed() {
|
|
601
533
|
var $xetable = this.$parent,
|
|
602
|
-
|
|
534
|
+
fixedType = this.fixedType;
|
|
603
535
|
var elemStore = $xetable.elemStore;
|
|
604
536
|
var prefix = "".concat(fixedType || 'main', "-body-");
|
|
605
537
|
elemStore["".concat(prefix, "wrapper")] = null;
|
|
@@ -612,33 +544,34 @@ var _default = {
|
|
|
612
544
|
},
|
|
613
545
|
render: function render(h) {
|
|
614
546
|
var _e = this._e,
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
547
|
+
$xetable = this.$parent,
|
|
548
|
+
fixedColumn = this.fixedColumn,
|
|
549
|
+
fixedType = this.fixedType;
|
|
618
550
|
var $scopedSlots = $xetable.$scopedSlots,
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
551
|
+
tId = $xetable.tId,
|
|
552
|
+
tableData = $xetable.tableData,
|
|
553
|
+
tableColumn = $xetable.tableColumn,
|
|
554
|
+
visibleColumn = $xetable.visibleColumn,
|
|
555
|
+
allColumnOverflow = $xetable.showOverflow,
|
|
556
|
+
keyboardConfig = $xetable.keyboardConfig,
|
|
557
|
+
keyboardOpts = $xetable.keyboardOpts,
|
|
558
|
+
mergeList = $xetable.mergeList,
|
|
559
|
+
spanMethod = $xetable.spanMethod,
|
|
560
|
+
scrollXLoad = $xetable.scrollXLoad,
|
|
561
|
+
scrollYLoad = $xetable.scrollYLoad,
|
|
562
|
+
isAllOverflow = $xetable.isAllOverflow,
|
|
563
|
+
emptyOpts = $xetable.emptyOpts,
|
|
564
|
+
mouseConfig = $xetable.mouseConfig,
|
|
565
|
+
mouseOpts = $xetable.mouseOpts,
|
|
566
|
+
sYOpts = $xetable.sYOpts;
|
|
567
|
+
// 如果是使用优化模式
|
|
636
568
|
if (fixedType) {
|
|
637
569
|
if (scrollXLoad || scrollYLoad || (allColumnOverflow ? isAllOverflow : allColumnOverflow)) {
|
|
638
570
|
if (!mergeList.length && !spanMethod && !(keyboardConfig && keyboardOpts.isMerge)) {
|
|
639
571
|
tableColumn = fixedColumn;
|
|
640
572
|
} else {
|
|
641
|
-
tableColumn = visibleColumn;
|
|
573
|
+
tableColumn = visibleColumn;
|
|
574
|
+
// 检查固定列是否被合并,合并范围是否超出固定列
|
|
642
575
|
// if (mergeList.length && !isMergeLeftFixedExceeded && fixedType === 'left') {
|
|
643
576
|
// tableColumn = fixedColumn
|
|
644
577
|
// } else if (mergeList.length && !isMergeRightFixedExceeded && fixedType === 'right') {
|
|
@@ -651,9 +584,7 @@ var _default = {
|
|
|
651
584
|
tableColumn = visibleColumn;
|
|
652
585
|
}
|
|
653
586
|
}
|
|
654
|
-
|
|
655
587
|
var emptyContent;
|
|
656
|
-
|
|
657
588
|
if ($scopedSlots.empty) {
|
|
658
589
|
emptyContent = $scopedSlots.empty.call(this, {
|
|
659
590
|
$table: $xetable
|
|
@@ -661,7 +592,6 @@ var _default = {
|
|
|
661
592
|
} else {
|
|
662
593
|
var compConf = emptyOpts.name ? _vXETable.default.renderer.get(emptyOpts.name) : null;
|
|
663
594
|
var renderEmpty = compConf ? compConf.renderEmpty : null;
|
|
664
|
-
|
|
665
595
|
if (renderEmpty) {
|
|
666
596
|
emptyContent = (0, _vn.getSlotVNs)(renderEmpty.call(this, h, emptyOpts, {
|
|
667
597
|
$table: $xetable
|
|
@@ -670,7 +600,6 @@ var _default = {
|
|
|
670
600
|
emptyContent = $xetable.emptyText || _conf.default.i18n('vxe.table.emptyText');
|
|
671
601
|
}
|
|
672
602
|
}
|
|
673
|
-
|
|
674
603
|
return h('div', {
|
|
675
604
|
class: ['vxe-table--body-wrapper', fixedType ? "fixed-".concat(fixedType, "--wrapper") : 'body--wrapper'],
|
|
676
605
|
attrs: {
|
|
@@ -753,22 +682,22 @@ var _default = {
|
|
|
753
682
|
*/
|
|
754
683
|
scrollEvent: function scrollEvent(evnt) {
|
|
755
684
|
var scrollBodyElem = this.$el,
|
|
756
|
-
|
|
757
|
-
|
|
685
|
+
$xetable = this.$parent,
|
|
686
|
+
fixedType = this.fixedType;
|
|
758
687
|
var $refs = $xetable.$refs,
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
688
|
+
elemStore = $xetable.elemStore,
|
|
689
|
+
highlightHoverRow = $xetable.highlightHoverRow,
|
|
690
|
+
scrollXLoad = $xetable.scrollXLoad,
|
|
691
|
+
scrollYLoad = $xetable.scrollYLoad,
|
|
692
|
+
lastScrollTop = $xetable.lastScrollTop,
|
|
693
|
+
lastScrollLeft = $xetable.lastScrollLeft,
|
|
694
|
+
rowOpts = $xetable.rowOpts;
|
|
766
695
|
var tableHeader = $refs.tableHeader,
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
696
|
+
tableBody = $refs.tableBody,
|
|
697
|
+
leftBody = $refs.leftBody,
|
|
698
|
+
rightBody = $refs.rightBody,
|
|
699
|
+
tableFooter = $refs.tableFooter,
|
|
700
|
+
validTip = $refs.validTip;
|
|
772
701
|
var headerElem = tableHeader ? tableHeader.$el : null;
|
|
773
702
|
var footerElem = tableFooter ? tableFooter.$el : null;
|
|
774
703
|
var bodyElem = tableBody.$el;
|
|
@@ -785,11 +714,9 @@ var _default = {
|
|
|
785
714
|
$xetable.lastScrollTop = scrollTop;
|
|
786
715
|
$xetable.lastScrollLeft = scrollLeft;
|
|
787
716
|
$xetable.lastScrollTime = Date.now();
|
|
788
|
-
|
|
789
717
|
if (rowOpts.isHover || highlightHoverRow) {
|
|
790
718
|
$xetable.clearHoverRow();
|
|
791
719
|
}
|
|
792
|
-
|
|
793
720
|
if (leftElem && fixedType === 'left') {
|
|
794
721
|
scrollTop = leftElem.scrollTop;
|
|
795
722
|
syncBodyScroll($xetable, fixedType, scrollTop, bodyElem, rightElem);
|
|
@@ -801,33 +728,26 @@ var _default = {
|
|
|
801
728
|
if (headerElem) {
|
|
802
729
|
headerElem.scrollLeft = bodyElem.scrollLeft;
|
|
803
730
|
}
|
|
804
|
-
|
|
805
731
|
if (footerElem) {
|
|
806
732
|
footerElem.scrollLeft = bodyElem.scrollLeft;
|
|
807
733
|
}
|
|
808
734
|
}
|
|
809
|
-
|
|
810
735
|
if (leftElem || rightElem) {
|
|
811
736
|
$xetable.checkScrolling();
|
|
812
|
-
|
|
813
737
|
if (isRollY) {
|
|
814
738
|
syncBodyScroll($xetable, fixedType, scrollTop, leftElem, rightElem);
|
|
815
739
|
}
|
|
816
740
|
}
|
|
817
741
|
}
|
|
818
|
-
|
|
819
742
|
if (scrollXLoad && isRollX) {
|
|
820
743
|
$xetable.triggerScrollXEvent(evnt);
|
|
821
744
|
}
|
|
822
|
-
|
|
823
745
|
if (scrollYLoad && isRollY) {
|
|
824
746
|
$xetable.triggerScrollYEvent(evnt);
|
|
825
747
|
}
|
|
826
|
-
|
|
827
748
|
if (isRollX && validTip && validTip.visible) {
|
|
828
749
|
validTip.updatePlacement();
|
|
829
750
|
}
|
|
830
|
-
|
|
831
751
|
$xetable.emitEvent('scroll', {
|
|
832
752
|
type: renderType,
|
|
833
753
|
fixed: fixedType,
|
|
@@ -843,15 +763,14 @@ var _default = {
|
|
|
843
763
|
},
|
|
844
764
|
handleWheel: function handleWheel(evnt, isTopWheel, deltaTop, isRollX, isRollY) {
|
|
845
765
|
var _this = this;
|
|
846
|
-
|
|
847
766
|
var $xetable = this.$parent;
|
|
848
767
|
var $refs = $xetable.$refs,
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
768
|
+
elemStore = $xetable.elemStore,
|
|
769
|
+
scrollYLoad = $xetable.scrollYLoad,
|
|
770
|
+
scrollXLoad = $xetable.scrollXLoad;
|
|
852
771
|
var tableBody = $refs.tableBody,
|
|
853
|
-
|
|
854
|
-
|
|
772
|
+
leftBody = $refs.leftBody,
|
|
773
|
+
rightBody = $refs.rightBody;
|
|
855
774
|
var bodyElem = tableBody.$el;
|
|
856
775
|
var leftElem = leftBody ? leftBody.$el : null;
|
|
857
776
|
var rightElem = rightBody ? rightBody.$el : null;
|
|
@@ -865,39 +784,31 @@ var _default = {
|
|
|
865
784
|
this.wheelYInterval = 0;
|
|
866
785
|
this.wheelYTotal = 0;
|
|
867
786
|
clearTimeout(this.wheelTime);
|
|
868
|
-
|
|
869
787
|
var handleSmooth = function handleSmooth() {
|
|
870
788
|
var fixedType = _this.fixedType,
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
789
|
+
wheelYTotal = _this.wheelYTotal,
|
|
790
|
+
wheelYSize = _this.wheelYSize,
|
|
791
|
+
wheelYInterval = _this.wheelYInterval;
|
|
875
792
|
if (wheelYTotal < wheelYSize) {
|
|
876
793
|
wheelYInterval = Math.max(5, Math.floor(wheelYInterval * 1.5));
|
|
877
794
|
wheelYTotal = wheelYTotal + wheelYInterval;
|
|
878
|
-
|
|
879
795
|
if (wheelYTotal > wheelYSize) {
|
|
880
796
|
wheelYInterval = wheelYInterval - (wheelYTotal - wheelYSize);
|
|
881
797
|
}
|
|
882
|
-
|
|
883
798
|
var scrollTop = bodyElem.scrollTop,
|
|
884
|
-
|
|
885
|
-
|
|
799
|
+
clientHeight = bodyElem.clientHeight,
|
|
800
|
+
scrollHeight = bodyElem.scrollHeight;
|
|
886
801
|
var targetTop = scrollTop + wheelYInterval * (isTopWheel ? -1 : 1);
|
|
887
802
|
bodyElem.scrollTop = targetTop;
|
|
888
|
-
|
|
889
803
|
if (leftElem) {
|
|
890
804
|
leftElem.scrollTop = targetTop;
|
|
891
805
|
}
|
|
892
|
-
|
|
893
806
|
if (rightElem) {
|
|
894
807
|
rightElem.scrollTop = targetTop;
|
|
895
808
|
}
|
|
896
|
-
|
|
897
809
|
if (isTopWheel ? targetTop < scrollHeight - clientHeight : targetTop >= 0) {
|
|
898
810
|
_this.wheelTime = setTimeout(handleSmooth, 10);
|
|
899
811
|
}
|
|
900
|
-
|
|
901
812
|
_this.wheelYTotal = wheelYTotal;
|
|
902
813
|
_this.wheelYInterval = wheelYInterval;
|
|
903
814
|
$xetable.emitEvent('scroll', {
|
|
@@ -914,51 +825,46 @@ var _default = {
|
|
|
914
825
|
}, evnt);
|
|
915
826
|
}
|
|
916
827
|
};
|
|
917
|
-
|
|
918
828
|
handleSmooth();
|
|
919
829
|
},
|
|
920
|
-
|
|
921
830
|
/**
|
|
922
831
|
* 滚轮处理
|
|
923
832
|
*/
|
|
924
833
|
wheelEvent: function wheelEvent(evnt) {
|
|
925
834
|
var deltaY = evnt.deltaY,
|
|
926
|
-
|
|
835
|
+
deltaX = evnt.deltaX;
|
|
927
836
|
var scrollBodyElem = this.$el,
|
|
928
|
-
|
|
837
|
+
$xetable = this.$parent;
|
|
929
838
|
var $refs = $xetable.$refs,
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
839
|
+
highlightHoverRow = $xetable.highlightHoverRow,
|
|
840
|
+
scrollYLoad = $xetable.scrollYLoad,
|
|
841
|
+
lastScrollTop = $xetable.lastScrollTop,
|
|
842
|
+
lastScrollLeft = $xetable.lastScrollLeft,
|
|
843
|
+
rowOpts = $xetable.rowOpts;
|
|
935
844
|
var tableBody = $refs.tableBody;
|
|
936
845
|
var bodyElem = tableBody.$el;
|
|
937
846
|
var deltaTop = deltaY;
|
|
938
847
|
var deltaLeft = deltaX;
|
|
939
|
-
var isTopWheel = deltaTop < 0;
|
|
940
|
-
|
|
848
|
+
var isTopWheel = deltaTop < 0;
|
|
849
|
+
// 如果滚动位置已经是顶部或底部,则不需要触发
|
|
941
850
|
if (isTopWheel ? scrollBodyElem.scrollTop <= 0 : scrollBodyElem.scrollTop >= scrollBodyElem.scrollHeight - scrollBodyElem.clientHeight) {
|
|
942
851
|
return;
|
|
943
852
|
}
|
|
944
|
-
|
|
945
853
|
var scrollTop = scrollBodyElem.scrollTop + deltaTop;
|
|
946
854
|
var scrollLeft = bodyElem.scrollLeft + deltaLeft;
|
|
947
855
|
var isRollX = scrollLeft !== lastScrollLeft;
|
|
948
|
-
var isRollY = scrollTop !== lastScrollTop;
|
|
856
|
+
var isRollY = scrollTop !== lastScrollTop;
|
|
949
857
|
|
|
858
|
+
// 用于鼠标纵向滚轮处理
|
|
950
859
|
if (isRollY) {
|
|
951
860
|
evnt.preventDefault();
|
|
952
861
|
$xetable.lastScrollTop = scrollTop;
|
|
953
862
|
$xetable.lastScrollLeft = scrollLeft;
|
|
954
863
|
$xetable.lastScrollTime = Date.now();
|
|
955
|
-
|
|
956
864
|
if (rowOpts.isHover || highlightHoverRow) {
|
|
957
865
|
$xetable.clearHoverRow();
|
|
958
866
|
}
|
|
959
|
-
|
|
960
867
|
this.handleWheel(evnt, isTopWheel, deltaTop, isRollX, isRollY);
|
|
961
|
-
|
|
962
868
|
if (scrollYLoad) {
|
|
963
869
|
$xetable.triggerScrollYEvent(evnt);
|
|
964
870
|
}
|