vxe-table 3.9.0-rc.9 → 3.9.0

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.
Files changed (222) hide show
  1. package/README.md +1 -1
  2. package/es/grid/src/grid.js +120 -66
  3. package/es/grid/style.css +0 -1
  4. package/es/grid/style.min.css +1 -1
  5. package/es/index.esm.js +22 -3
  6. package/es/locale/lang/en-US.js +2 -1
  7. package/es/locale/lang/es-ES.js +2 -1
  8. package/es/locale/lang/hu-HU.js +2 -1
  9. package/es/locale/lang/ja-JP.js +2 -1
  10. package/es/locale/lang/ko-KR.js +2 -1
  11. package/es/locale/lang/pt-BR.js +2 -1
  12. package/es/locale/lang/ru-RU.js +2 -1
  13. package/es/locale/lang/uk-UA.js +2 -1
  14. package/es/locale/lang/vi-VN.js +2 -1
  15. package/es/locale/lang/zh-CHT.js +2 -1
  16. package/es/locale/lang/zh-CN.js +2 -1
  17. package/es/style.css +1 -1
  18. package/es/style.min.css +1 -1
  19. package/es/table/module/custom/panel.js +183 -173
  20. package/es/table/module/edit/mixin.js +33 -24
  21. package/es/table/module/export/export-panel.js +32 -4
  22. package/es/table/module/export/import-panel.js +25 -6
  23. package/es/table/module/export/mixin.js +11 -11
  24. package/es/table/module/menu/mixin.js +2 -2
  25. package/es/table/module/validator/mixin.js +4 -4
  26. package/es/table/render/index.js +17 -11
  27. package/es/table/src/body.js +1 -0
  28. package/es/table/src/columnInfo.js +3 -3
  29. package/es/table/src/methods.js +54 -42
  30. package/es/table/src/props.js +65 -15
  31. package/es/table/src/table.js +91 -57
  32. package/es/table/src/util.js +3 -2
  33. package/es/table/style.css +37 -48
  34. package/es/table/style.min.css +1 -1
  35. package/es/toolbar/src/toolbar.js +21 -7
  36. package/es/toolbar/style.css +0 -1
  37. package/es/toolbar/style.min.css +1 -1
  38. package/es/ui/index.js +5 -3
  39. package/es/ui/src/log.js +1 -1
  40. package/es/vxe-grid/style.css +0 -1
  41. package/es/vxe-grid/style.min.css +1 -1
  42. package/es/vxe-table/style.css +37 -48
  43. package/es/vxe-table/style.min.css +1 -1
  44. package/es/vxe-toolbar/style.css +0 -1
  45. package/es/vxe-toolbar/style.min.css +1 -1
  46. package/lib/colgroup/index.js +3 -3
  47. package/lib/colgroup/index.min.js +1 -1
  48. package/lib/column/index.js +3 -3
  49. package/lib/column/index.min.js +1 -1
  50. package/lib/components.js +9 -11
  51. package/lib/components.min.js +1 -1
  52. package/lib/grid/index.js +3 -3
  53. package/lib/grid/index.min.js +1 -1
  54. package/lib/grid/src/grid.js +581 -491
  55. package/lib/grid/src/grid.min.js +1 -1
  56. package/lib/grid/style/style.css +0 -1
  57. package/lib/grid/style/style.min.css +1 -1
  58. package/lib/index.common.js +3 -4
  59. package/lib/index.umd.js +9174 -17260
  60. package/lib/index.umd.min.js +1 -1
  61. package/lib/locale/lang/en-US.js +2 -1
  62. package/lib/locale/lang/en-US.min.js +1 -1
  63. package/lib/locale/lang/en-US.umd.js +2 -1
  64. package/lib/locale/lang/es-ES.js +2 -1
  65. package/lib/locale/lang/es-ES.min.js +1 -1
  66. package/lib/locale/lang/es-ES.umd.js +2 -1
  67. package/lib/locale/lang/hu-HU.js +2 -1
  68. package/lib/locale/lang/hu-HU.min.js +1 -1
  69. package/lib/locale/lang/hu-HU.umd.js +2 -1
  70. package/lib/locale/lang/ja-JP.js +2 -1
  71. package/lib/locale/lang/ja-JP.min.js +1 -1
  72. package/lib/locale/lang/ja-JP.umd.js +2 -1
  73. package/lib/locale/lang/ko-KR.js +2 -1
  74. package/lib/locale/lang/ko-KR.min.js +1 -1
  75. package/lib/locale/lang/ko-KR.umd.js +2 -1
  76. package/lib/locale/lang/pt-BR.js +2 -1
  77. package/lib/locale/lang/pt-BR.min.js +1 -1
  78. package/lib/locale/lang/pt-BR.umd.js +2 -1
  79. package/lib/locale/lang/ru-RU.js +2 -1
  80. package/lib/locale/lang/ru-RU.min.js +1 -1
  81. package/lib/locale/lang/ru-RU.umd.js +2 -1
  82. package/lib/locale/lang/uk-UA.js +2 -1
  83. package/lib/locale/lang/uk-UA.min.js +1 -1
  84. package/lib/locale/lang/uk-UA.umd.js +2 -1
  85. package/lib/locale/lang/vi-VN.js +2 -1
  86. package/lib/locale/lang/vi-VN.min.js +1 -1
  87. package/lib/locale/lang/zh-CHT.js +2 -1
  88. package/lib/locale/lang/zh-CHT.min.js +1 -1
  89. package/lib/locale/lang/zh-CHT.umd.js +2 -1
  90. package/lib/locale/lang/zh-CN.js +2 -1
  91. package/lib/locale/lang/zh-CN.min.js +1 -1
  92. package/lib/locale/lang/zh-CN.umd.js +2 -1
  93. package/lib/style.css +1 -1
  94. package/lib/style.min.css +1 -1
  95. package/lib/table/index.js +4 -4
  96. package/lib/table/index.min.js +1 -1
  97. package/lib/table/module/custom/mixin.js +53 -44
  98. package/lib/table/module/custom/mixin.min.js +1 -1
  99. package/lib/table/module/custom/panel.js +310 -239
  100. package/lib/table/module/custom/panel.min.js +1 -1
  101. package/lib/table/module/edit/mixin.js +436 -371
  102. package/lib/table/module/edit/mixin.min.js +1 -1
  103. package/lib/table/module/export/export-panel.js +136 -106
  104. package/lib/table/module/export/export-panel.min.js +1 -1
  105. package/lib/table/module/export/import-panel.js +75 -54
  106. package/lib/table/module/export/import-panel.min.js +1 -1
  107. package/lib/table/module/export/mixin.js +592 -597
  108. package/lib/table/module/export/mixin.min.js +1 -1
  109. package/lib/table/module/export/util.js +6 -4
  110. package/lib/table/module/export/util.min.js +1 -1
  111. package/lib/table/module/filter/mixin.js +147 -118
  112. package/lib/table/module/filter/mixin.min.js +1 -1
  113. package/lib/table/module/filter/panel.js +86 -65
  114. package/lib/table/module/filter/panel.min.js +1 -1
  115. package/lib/table/module/keyboard/mixin.js +163 -151
  116. package/lib/table/module/keyboard/mixin.min.js +1 -1
  117. package/lib/table/module/menu/mixin.js +125 -114
  118. package/lib/table/module/menu/mixin.min.js +1 -1
  119. package/lib/table/module/menu/panel.js +36 -34
  120. package/lib/table/module/menu/panel.min.js +1 -1
  121. package/lib/table/module/validator/mixin.js +225 -214
  122. package/lib/table/module/validator/mixin.min.js +1 -1
  123. package/lib/table/render/index.js +401 -297
  124. package/lib/table/render/index.min.js +1 -1
  125. package/lib/table/src/body.js +411 -349
  126. package/lib/table/src/body.min.js +1 -1
  127. package/lib/table/src/cell.js +470 -344
  128. package/lib/table/src/cell.min.js +1 -1
  129. package/lib/table/src/column.js +10 -10
  130. package/lib/table/src/column.min.js +1 -1
  131. package/lib/table/src/columnInfo.js +46 -55
  132. package/lib/table/src/columnInfo.min.js +1 -1
  133. package/lib/table/src/footer.js +157 -132
  134. package/lib/table/src/footer.min.js +1 -1
  135. package/lib/table/src/group.js +1 -1
  136. package/lib/table/src/group.min.js +1 -1
  137. package/lib/table/src/header.js +170 -153
  138. package/lib/table/src/header.min.js +1 -1
  139. package/lib/table/src/methods.js +2758 -2478
  140. package/lib/table/src/methods.min.js +1 -1
  141. package/lib/table/src/props.js +33 -74
  142. package/lib/table/src/props.min.js +1 -1
  143. package/lib/table/src/table.js +465 -424
  144. package/lib/table/src/table.min.js +1 -1
  145. package/lib/table/src/util.js +143 -131
  146. package/lib/table/src/util.min.js +1 -1
  147. package/lib/table/style/style.css +37 -48
  148. package/lib/table/style/style.min.css +1 -1
  149. package/lib/toolbar/index.js +3 -3
  150. package/lib/toolbar/index.min.js +1 -1
  151. package/lib/toolbar/src/toolbar.js +332 -284
  152. package/lib/toolbar/src/toolbar.min.js +1 -1
  153. package/lib/toolbar/style/style.css +0 -1
  154. package/lib/toolbar/style/style.min.css +1 -1
  155. package/lib/ui/index.js +50 -41
  156. package/lib/ui/index.min.js +1 -1
  157. package/lib/ui/src/comp.js +2 -3
  158. package/lib/ui/src/comp.min.js +1 -1
  159. package/lib/ui/src/dom.js +29 -28
  160. package/lib/ui/src/dom.min.js +1 -1
  161. package/lib/ui/src/log.js +6 -4
  162. package/lib/ui/src/log.min.js +1 -1
  163. package/lib/ui/src/utils.js +7 -7
  164. package/lib/v-x-e-table/index.js +3 -4
  165. package/lib/v-x-e-table/index.min.js +1 -1
  166. package/lib/vxe-colgroup/index.js +3 -4
  167. package/lib/vxe-colgroup/index.min.js +1 -1
  168. package/lib/vxe-column/index.js +3 -4
  169. package/lib/vxe-column/index.min.js +1 -1
  170. package/lib/vxe-grid/index.js +3 -4
  171. package/lib/vxe-grid/index.min.js +1 -1
  172. package/lib/vxe-grid/style/style.css +0 -1
  173. package/lib/vxe-grid/style/style.min.css +1 -1
  174. package/lib/vxe-table/index.js +3 -4
  175. package/lib/vxe-table/index.min.js +1 -1
  176. package/lib/vxe-table/style/style.css +37 -48
  177. package/lib/vxe-table/style/style.min.css +1 -1
  178. package/lib/vxe-toolbar/index.js +3 -4
  179. package/lib/vxe-toolbar/index.min.js +1 -1
  180. package/lib/vxe-toolbar/style/style.css +0 -1
  181. package/lib/vxe-toolbar/style/style.min.css +1 -1
  182. package/lib/vxe-ui/index.js +3 -4
  183. package/lib/vxe-ui/index.min.js +1 -1
  184. package/lib/vxe-v-x-e-table/index.js +3 -4
  185. package/lib/vxe-v-x-e-table/index.min.js +1 -1
  186. package/package.json +5 -4
  187. package/packages/grid/src/grid.ts +127 -65
  188. package/packages/locale/lang/en-US.ts +2 -1
  189. package/packages/locale/lang/es-ES.ts +2 -1
  190. package/packages/locale/lang/hu-HU.ts +2 -1
  191. package/packages/locale/lang/ja-JP.ts +2 -1
  192. package/packages/locale/lang/ko-KR.ts +2 -1
  193. package/packages/locale/lang/pt-BR.ts +2 -1
  194. package/packages/locale/lang/ru-RU.ts +2 -1
  195. package/packages/locale/lang/uk-UA.ts +2 -1
  196. package/packages/locale/lang/vi-VN.ts +2 -1
  197. package/packages/locale/lang/zh-CHT.ts +2 -1
  198. package/packages/locale/lang/zh-CN.ts +2 -1
  199. package/packages/table/module/custom/panel.ts +186 -175
  200. package/packages/table/module/edit/mixin.ts +32 -23
  201. package/packages/table/module/export/export-panel.ts +36 -4
  202. package/packages/table/module/export/import-panel.ts +29 -6
  203. package/packages/table/module/export/mixin.ts +11 -11
  204. package/packages/table/module/menu/mixin.ts +2 -2
  205. package/packages/table/module/validator/mixin.ts +4 -4
  206. package/packages/table/render/index.ts +20 -11
  207. package/packages/table/src/body.ts +1 -0
  208. package/packages/table/src/columnInfo.ts +3 -3
  209. package/packages/table/src/methods.ts +53 -42
  210. package/packages/table/src/props.ts +68 -15
  211. package/packages/table/src/table.ts +99 -54
  212. package/packages/table/src/util.ts +3 -2
  213. package/packages/toolbar/src/toolbar.ts +21 -7
  214. package/packages/ui/index.ts +3 -1
  215. package/styles/components/table.scss +82 -17
  216. package/types/all.d.ts +1 -0
  217. /package/es/{iconfont.1726453742001.ttf → iconfont.1728348263835.ttf} +0 -0
  218. /package/es/{iconfont.1726453742001.woff → iconfont.1728348263835.woff} +0 -0
  219. /package/es/{iconfont.1726453742001.woff2 → iconfont.1728348263835.woff2} +0 -0
  220. /package/lib/{iconfont.1726453742001.ttf → iconfont.1728348263835.ttf} +0 -0
  221. /package/lib/{iconfont.1726453742001.woff → iconfont.1728348263835.woff} +0 -0
  222. /package/lib/{iconfont.1726453742001.woff2 → iconfont.1728348263835.woff2} +0 -0
@@ -8,11 +8,11 @@ var _xeUtils = _interopRequireDefault(require("xe-utils"));
8
8
  var _dom = require("../../../ui/src/dom");
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  function getTargetOffset(target, container) {
11
- var offsetTop = 0;
12
- var offsetLeft = 0;
13
- var triggerCheckboxLabel = !_dom.browse.firefox && (0, _dom.hasClass)(target, 'vxe-checkbox--label');
11
+ let offsetTop = 0;
12
+ let offsetLeft = 0;
13
+ const triggerCheckboxLabel = !_dom.browse.firefox && (0, _dom.hasClass)(target, 'vxe-checkbox--label');
14
14
  if (triggerCheckboxLabel) {
15
- var checkboxLabelStyle = getComputedStyle(target);
15
+ const checkboxLabelStyle = getComputedStyle(target);
16
16
  offsetTop -= _xeUtils.default.toNumber(checkboxLabelStyle.paddingTop);
17
17
  offsetLeft -= _xeUtils.default.toNumber(checkboxLabelStyle.paddingLeft);
18
18
  }
@@ -21,37 +21,39 @@ function getTargetOffset(target, container) {
21
21
  offsetLeft += target.offsetLeft;
22
22
  target = target.offsetParent;
23
23
  if (triggerCheckboxLabel) {
24
- var checkboxStyle = getComputedStyle(target);
24
+ const checkboxStyle = getComputedStyle(target);
25
25
  offsetTop -= _xeUtils.default.toNumber(checkboxStyle.paddingTop);
26
26
  offsetLeft -= _xeUtils.default.toNumber(checkboxStyle.paddingLeft);
27
27
  }
28
28
  }
29
29
  return {
30
- offsetTop: offsetTop,
31
- offsetLeft: offsetLeft
30
+ offsetTop,
31
+ offsetLeft
32
32
  };
33
33
  }
34
34
  function getCheckboxRangeRows(_vm, params, targetTrElem, moveRange) {
35
- var countHeight = 0;
36
- var rangeRows = [];
37
- var isDown = moveRange > 0;
38
- var moveSize = moveRange > 0 ? moveRange : Math.abs(moveRange) + targetTrElem.offsetHeight;
39
- var afterFullData = _vm.afterFullData,
40
- scrollYStore = _vm.scrollYStore,
41
- scrollYLoad = _vm.scrollYLoad;
35
+ let countHeight = 0;
36
+ let rangeRows = [];
37
+ const isDown = moveRange > 0;
38
+ const moveSize = moveRange > 0 ? moveRange : Math.abs(moveRange) + targetTrElem.offsetHeight;
39
+ const {
40
+ afterFullData,
41
+ scrollYStore,
42
+ scrollYLoad
43
+ } = _vm;
42
44
  if (scrollYLoad) {
43
- var _rowIndex = _vm.getVTRowIndex(params.row);
45
+ const _rowIndex = _vm.getVTRowIndex(params.row);
44
46
  if (isDown) {
45
47
  rangeRows = afterFullData.slice(_rowIndex, _rowIndex + Math.ceil(moveSize / scrollYStore.rowHeight));
46
48
  } else {
47
49
  rangeRows = afterFullData.slice(_rowIndex - Math.floor(moveSize / scrollYStore.rowHeight) + 1, _rowIndex + 1);
48
50
  }
49
51
  } else {
50
- var siblingProp = isDown ? 'next' : 'previous';
52
+ const siblingProp = isDown ? 'next' : 'previous';
51
53
  while (targetTrElem && countHeight < moveSize) {
52
54
  rangeRows.push(_vm.getRowNode(targetTrElem).item);
53
55
  countHeight += targetTrElem.offsetHeight;
54
- targetTrElem = targetTrElem["".concat(siblingProp, "ElementSibling")];
56
+ targetTrElem = targetTrElem[`${siblingProp}ElementSibling`];
55
57
  }
56
58
  }
57
59
  return rangeRows;
@@ -59,18 +61,19 @@ function getCheckboxRangeRows(_vm, params, targetTrElem, moveRange) {
59
61
  var _default = exports.default = {
60
62
  methods: {
61
63
  // 处理 Tab 键移动
62
- moveTabSelected: function moveTabSelected(args, isLeft, evnt) {
63
- var _this = this;
64
- var afterFullData = this.afterFullData,
65
- visibleColumn = this.visibleColumn,
66
- editConfig = this.editConfig,
67
- editOpts = this.editOpts;
68
- var targetRow;
69
- var targetRowIndex;
70
- var targetColumnIndex;
71
- var params = Object.assign({}, args);
72
- var _rowIndex = this.getVTRowIndex(params.row);
73
- var _columnIndex = this.getVTColumnIndex(params.column);
64
+ moveTabSelected(args, isLeft, evnt) {
65
+ const {
66
+ afterFullData,
67
+ visibleColumn,
68
+ editConfig,
69
+ editOpts
70
+ } = this;
71
+ let targetRow;
72
+ let targetRowIndex;
73
+ let targetColumnIndex;
74
+ const params = Object.assign({}, args);
75
+ const _rowIndex = this.getVTRowIndex(params.row);
76
+ const _columnIndex = this.getVTColumnIndex(params.column);
74
77
  evnt.preventDefault();
75
78
  if (isLeft) {
76
79
  // 向左
@@ -96,7 +99,7 @@ var _default = exports.default = {
96
99
  targetColumnIndex = _columnIndex + 1;
97
100
  }
98
101
  }
99
- var targetColumn = visibleColumn[targetColumnIndex];
102
+ const targetColumn = visibleColumn[targetColumnIndex];
100
103
  if (targetColumn) {
101
104
  if (targetRow) {
102
105
  params.rowIndex = targetRowIndex;
@@ -112,44 +115,40 @@ var _default = exports.default = {
112
115
  if (editOpts.mode === 'row') {
113
116
  this.handleEdit(params, evnt);
114
117
  } else {
115
- this.scrollToRow(params.row, params.column).then(function () {
116
- return _this.handleSelected(params, evnt);
117
- });
118
+ this.scrollToRow(params.row, params.column).then(() => this.handleSelected(params, evnt));
118
119
  }
119
120
  }
120
121
  } else {
121
- this.scrollToRow(params.row, params.column).then(function () {
122
- return _this.handleSelected(params, evnt);
123
- });
122
+ this.scrollToRow(params.row, params.column).then(() => this.handleSelected(params, evnt));
124
123
  }
125
124
  }
126
125
  },
127
126
  // 处理当前行方向键移动
128
- moveCurrentRow: function moveCurrentRow(isUpArrow, isDwArrow, evnt) {
129
- var _this2 = this;
130
- var currentRow = this.currentRow,
131
- treeConfig = this.treeConfig,
132
- treeOpts = this.treeOpts,
133
- afterFullData = this.afterFullData;
134
- var childrenField = treeOpts.children || treeOpts.childrenField;
135
- var targetRow;
127
+ moveCurrentRow(isUpArrow, isDwArrow, evnt) {
128
+ const {
129
+ currentRow,
130
+ treeConfig,
131
+ treeOpts,
132
+ afterFullData
133
+ } = this;
134
+ const childrenField = treeOpts.children || treeOpts.childrenField;
135
+ let targetRow;
136
136
  evnt.preventDefault();
137
137
  if (currentRow) {
138
138
  if (treeConfig) {
139
- var _XEUtils$findTree = _xeUtils.default.findTree(afterFullData, function (item) {
140
- return item === currentRow;
141
- }, {
142
- children: childrenField
143
- }),
144
- index = _XEUtils$findTree.index,
145
- items = _XEUtils$findTree.items;
139
+ const {
140
+ index,
141
+ items
142
+ } = _xeUtils.default.findTree(afterFullData, item => item === currentRow, {
143
+ children: childrenField
144
+ });
146
145
  if (isUpArrow && index > 0) {
147
146
  targetRow = items[index - 1];
148
147
  } else if (isDwArrow && index < items.length - 1) {
149
148
  targetRow = items[index + 1];
150
149
  }
151
150
  } else {
152
- var _rowIndex = this.getVTRowIndex(currentRow);
151
+ const _rowIndex = this.getVTRowIndex(currentRow);
153
152
  if (isUpArrow && _rowIndex > 0) {
154
153
  targetRow = afterFullData[_rowIndex - 1];
155
154
  } else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
@@ -160,23 +159,22 @@ var _default = exports.default = {
160
159
  targetRow = afterFullData[0];
161
160
  }
162
161
  if (targetRow) {
163
- var params = {
162
+ const params = {
164
163
  $table: this,
165
164
  row: targetRow
166
165
  };
167
- this.scrollToRow(targetRow).then(function () {
168
- return _this2.triggerCurrentRowEvent(evnt, params);
169
- });
166
+ this.scrollToRow(targetRow).then(() => this.triggerCurrentRowEvent(evnt, params));
170
167
  }
171
168
  },
172
169
  // 处理可编辑方向键移动
173
- moveSelected: function moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
174
- var _this3 = this;
175
- var afterFullData = this.afterFullData,
176
- visibleColumn = this.visibleColumn;
177
- var params = Object.assign({}, args);
178
- var _rowIndex = this.getVTRowIndex(params.row);
179
- var _columnIndex = this.getVTColumnIndex(params.column);
170
+ moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
171
+ const {
172
+ afterFullData,
173
+ visibleColumn
174
+ } = this;
175
+ const params = Object.assign({}, args);
176
+ const _rowIndex = this.getVTRowIndex(params.row);
177
+ const _columnIndex = this.getVTColumnIndex(params.column);
180
178
  evnt.preventDefault();
181
179
  if (isUpArrow && _rowIndex > 0) {
182
180
  // 移动到上一行
@@ -195,25 +193,27 @@ var _default = exports.default = {
195
193
  params.columnIndex = _columnIndex + 1;
196
194
  params.column = visibleColumn[params.columnIndex];
197
195
  }
198
- this.scrollToRow(params.row, params.column).then(function () {
199
- params.cell = _this3.getCellElement(params.row, params.column);
200
- _this3.handleSelected(params, evnt);
196
+ this.scrollToRow(params.row, params.column).then(() => {
197
+ params.cell = this.getCellElement(params.row, params.column);
198
+ this.handleSelected(params, evnt);
201
199
  });
202
200
  },
203
201
  /**
204
202
  * 表头单元格按下事件
205
203
  */
206
- triggerHeaderCellMousedownEvent: function triggerHeaderCellMousedownEvent(evnt, params) {
207
- var mouseConfig = this.mouseConfig,
208
- mouseOpts = this.mouseOpts;
204
+ triggerHeaderCellMousedownEvent(evnt, params) {
205
+ const {
206
+ mouseConfig,
207
+ mouseOpts
208
+ } = this;
209
209
  if (mouseConfig && mouseOpts.area && this.handleHeaderCellAreaEvent) {
210
- var cell = evnt.currentTarget;
211
- var triggerSort = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--sort').flag;
212
- var triggerFilter = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--filter').flag;
210
+ const cell = evnt.currentTarget;
211
+ const triggerSort = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--sort').flag;
212
+ const triggerFilter = (0, _dom.getEventTargetNode)(evnt, cell, 'vxe-cell--filter').flag;
213
213
  this.handleHeaderCellAreaEvent(evnt, Object.assign({
214
- cell: cell,
215
- triggerSort: triggerSort,
216
- triggerFilter: triggerFilter
214
+ cell,
215
+ triggerSort,
216
+ triggerFilter
217
217
  }, params));
218
218
  }
219
219
  this.focus();
@@ -222,22 +222,24 @@ var _default = exports.default = {
222
222
  /**
223
223
  * 单元格按下事件
224
224
  */
225
- triggerCellMousedownEvent: function triggerCellMousedownEvent(evnt, params) {
226
- var cell = evnt.currentTarget;
225
+ triggerCellMousedownEvent(evnt, params) {
226
+ const cell = evnt.currentTarget;
227
227
  params.cell = cell;
228
228
  this.handleCellMousedownEvent(evnt, params);
229
229
  this.focus();
230
230
  this.closeFilter();
231
231
  this.closeMenu();
232
232
  },
233
- handleCellMousedownEvent: function handleCellMousedownEvent(evnt, params) {
234
- var editConfig = this.editConfig,
235
- editOpts = this.editOpts,
236
- handleSelected = this.handleSelected,
237
- checkboxConfig = this.checkboxConfig,
238
- checkboxOpts = this.checkboxOpts,
239
- mouseConfig = this.mouseConfig,
240
- mouseOpts = this.mouseOpts;
233
+ handleCellMousedownEvent(evnt, params) {
234
+ const {
235
+ editConfig,
236
+ editOpts,
237
+ handleSelected,
238
+ checkboxConfig,
239
+ checkboxOpts,
240
+ mouseConfig,
241
+ mouseOpts
242
+ } = this;
241
243
  if (mouseConfig && mouseOpts.area && this.handleCellAreaEvent) {
242
244
  return this.handleCellAreaEvent(evnt, params);
243
245
  } else {
@@ -251,46 +253,51 @@ var _default = exports.default = {
251
253
  }
252
254
  }
253
255
  },
254
- handleCheckboxRangeEvent: function handleCheckboxRangeEvent(evnt, params) {
255
- var _this4 = this;
256
- var column = params.column,
257
- cell = params.cell;
256
+ handleCheckboxRangeEvent(evnt, params) {
257
+ const {
258
+ column,
259
+ cell
260
+ } = params;
258
261
  if (column.type === 'checkbox') {
259
- var $el = this.$el,
260
- elemStore = this.elemStore;
261
- var disX = evnt.clientX;
262
- var disY = evnt.clientY;
263
- var bodyWrapperElem = elemStore["".concat(column.fixed || 'main', "-body-wrapper")] || elemStore['main-body-wrapper'];
264
- var checkboxRangeElem = bodyWrapperElem.querySelector('.vxe-table--checkbox-range');
265
- var domMousemove = document.onmousemove;
266
- var domMouseup = document.onmouseup;
267
- var trElem = cell.parentNode;
268
- var selectRecords = this.getCheckboxRecords();
269
- var lastRangeRows = [];
270
- var marginSize = 1;
271
- var offsetRest = getTargetOffset(evnt.target, bodyWrapperElem);
272
- var startTop = offsetRest.offsetTop + evnt.offsetY;
273
- var startLeft = offsetRest.offsetLeft + evnt.offsetX;
274
- var startScrollTop = bodyWrapperElem.scrollTop;
275
- var rowHeight = trElem.offsetHeight;
276
- var mouseScrollTimeout = null;
277
- var isMouseScrollDown = false;
278
- var mouseScrollSpaceSize = 1;
279
- var triggerEvent = function triggerEvent(type, evnt) {
280
- _this4.emitEvent("checkbox-range-".concat(type), {
281
- records: _this4.getCheckboxRecords(),
282
- reserves: _this4.getCheckboxReserveRecords()
262
+ const {
263
+ $el,
264
+ elemStore
265
+ } = this;
266
+ const disX = evnt.clientX;
267
+ const disY = evnt.clientY;
268
+ const bodyWrapperElem = elemStore[`${column.fixed || 'main'}-body-wrapper`] || elemStore['main-body-wrapper'];
269
+ const checkboxRangeElem = bodyWrapperElem.querySelector('.vxe-table--checkbox-range');
270
+ const domMousemove = document.onmousemove;
271
+ const domMouseup = document.onmouseup;
272
+ const trElem = cell.parentNode;
273
+ const selectRecords = this.getCheckboxRecords();
274
+ let lastRangeRows = [];
275
+ const marginSize = 1;
276
+ const offsetRest = getTargetOffset(evnt.target, bodyWrapperElem);
277
+ const startTop = offsetRest.offsetTop + evnt.offsetY;
278
+ const startLeft = offsetRest.offsetLeft + evnt.offsetX;
279
+ const startScrollTop = bodyWrapperElem.scrollTop;
280
+ const rowHeight = trElem.offsetHeight;
281
+ let mouseScrollTimeout = null;
282
+ let isMouseScrollDown = false;
283
+ let mouseScrollSpaceSize = 1;
284
+ const triggerEvent = (type, evnt) => {
285
+ this.emitEvent(`checkbox-range-${type}`, {
286
+ records: this.getCheckboxRecords(),
287
+ reserves: this.getCheckboxReserveRecords()
283
288
  }, evnt);
284
289
  };
285
- var handleChecked = function handleChecked(evnt) {
286
- var clientX = evnt.clientX,
287
- clientY = evnt.clientY;
288
- var offsetLeft = clientX - disX;
289
- var offsetTop = clientY - disY + (bodyWrapperElem.scrollTop - startScrollTop);
290
- var rangeHeight = Math.abs(offsetTop);
291
- var rangeWidth = Math.abs(offsetLeft);
292
- var rangeTop = startTop;
293
- var rangeLeft = startLeft;
290
+ const handleChecked = evnt => {
291
+ const {
292
+ clientX,
293
+ clientY
294
+ } = evnt;
295
+ const offsetLeft = clientX - disX;
296
+ const offsetTop = clientY - disY + (bodyWrapperElem.scrollTop - startScrollTop);
297
+ let rangeHeight = Math.abs(offsetTop);
298
+ let rangeWidth = Math.abs(offsetLeft);
299
+ let rangeTop = startTop;
300
+ let rangeLeft = startLeft;
294
301
  if (offsetTop < marginSize) {
295
302
  // 向上
296
303
  rangeTop += offsetTop;
@@ -313,55 +320,57 @@ var _default = exports.default = {
313
320
  // 向右
314
321
  rangeWidth = Math.min(rangeWidth, bodyWrapperElem.clientWidth - startLeft - marginSize);
315
322
  }
316
- checkboxRangeElem.style.height = "".concat(rangeHeight, "px");
317
- checkboxRangeElem.style.width = "".concat(rangeWidth, "px");
318
- checkboxRangeElem.style.left = "".concat(rangeLeft, "px");
319
- checkboxRangeElem.style.top = "".concat(rangeTop, "px");
323
+ checkboxRangeElem.style.height = `${rangeHeight}px`;
324
+ checkboxRangeElem.style.width = `${rangeWidth}px`;
325
+ checkboxRangeElem.style.left = `${rangeLeft}px`;
326
+ checkboxRangeElem.style.top = `${rangeTop}px`;
320
327
  checkboxRangeElem.style.display = 'block';
321
- var rangeRows = getCheckboxRangeRows(_this4, params, trElem, offsetTop < marginSize ? -rangeHeight : rangeHeight);
328
+ const rangeRows = getCheckboxRangeRows(this, params, trElem, offsetTop < marginSize ? -rangeHeight : rangeHeight);
322
329
  // 至少滑动 10px 才能有效匹配
323
330
  if (rangeHeight > 10 && rangeRows.length !== lastRangeRows.length) {
324
331
  lastRangeRows = rangeRows;
325
332
  if (evnt.ctrlKey) {
326
- rangeRows.forEach(function (row) {
327
- _this4.handleSelectRow({
328
- row: row
333
+ rangeRows.forEach(row => {
334
+ this.handleSelectRow({
335
+ row
329
336
  }, selectRecords.indexOf(row) === -1);
330
337
  });
331
338
  } else {
332
- _this4.setAllCheckboxRow(false);
333
- _this4.handleCheckedCheckboxRow(rangeRows, true, false);
339
+ this.setAllCheckboxRow(false);
340
+ this.handleCheckedCheckboxRow(rangeRows, true, false);
334
341
  }
335
342
  triggerEvent('change', evnt);
336
343
  }
337
344
  };
338
345
  // 停止鼠标滚动
339
- var stopMouseScroll = function stopMouseScroll() {
346
+ const stopMouseScroll = () => {
340
347
  clearTimeout(mouseScrollTimeout);
341
348
  mouseScrollTimeout = null;
342
349
  };
343
350
  // 开始鼠标滚动
344
- var _startMouseScroll = function startMouseScroll(evnt) {
351
+ const startMouseScroll = evnt => {
345
352
  stopMouseScroll();
346
- mouseScrollTimeout = setTimeout(function () {
353
+ mouseScrollTimeout = setTimeout(() => {
347
354
  if (mouseScrollTimeout) {
348
- var scrollLeft = bodyWrapperElem.scrollLeft,
349
- scrollTop = bodyWrapperElem.scrollTop,
350
- clientHeight = bodyWrapperElem.clientHeight,
351
- scrollHeight = bodyWrapperElem.scrollHeight;
352
- var topSize = Math.ceil(mouseScrollSpaceSize * 50 / rowHeight);
355
+ const {
356
+ scrollLeft,
357
+ scrollTop,
358
+ clientHeight,
359
+ scrollHeight
360
+ } = bodyWrapperElem;
361
+ const topSize = Math.ceil(mouseScrollSpaceSize * 50 / rowHeight);
353
362
  if (isMouseScrollDown) {
354
363
  if (scrollTop + clientHeight < scrollHeight) {
355
- _this4.scrollTo(scrollLeft, scrollTop + topSize);
356
- _startMouseScroll(evnt);
364
+ this.scrollTo(scrollLeft, scrollTop + topSize);
365
+ startMouseScroll(evnt);
357
366
  handleChecked(evnt);
358
367
  } else {
359
368
  stopMouseScroll();
360
369
  }
361
370
  } else {
362
371
  if (scrollTop) {
363
- _this4.scrollTo(scrollLeft, scrollTop - topSize);
364
- _startMouseScroll(evnt);
372
+ this.scrollTo(scrollLeft, scrollTop - topSize);
373
+ startMouseScroll(evnt);
365
374
  handleChecked(evnt);
366
375
  } else {
367
376
  stopMouseScroll();
@@ -371,31 +380,34 @@ var _default = exports.default = {
371
380
  }, 50);
372
381
  };
373
382
  (0, _dom.addClass)($el, 'drag--range');
374
- document.onmousemove = function (evnt) {
383
+ document.onmousemove = evnt => {
375
384
  evnt.preventDefault();
376
385
  evnt.stopPropagation();
377
- var clientY = evnt.clientY;
378
- var _getAbsolutePos = (0, _dom.getAbsolutePos)(bodyWrapperElem),
379
- boundingTop = _getAbsolutePos.boundingTop;
386
+ const {
387
+ clientY
388
+ } = evnt;
389
+ const {
390
+ boundingTop
391
+ } = (0, _dom.getAbsolutePos)(bodyWrapperElem);
380
392
  // 如果超过可视区,触发滚动
381
393
  if (clientY < boundingTop) {
382
394
  isMouseScrollDown = false;
383
395
  mouseScrollSpaceSize = boundingTop - clientY;
384
396
  if (!mouseScrollTimeout) {
385
- _startMouseScroll(evnt);
397
+ startMouseScroll(evnt);
386
398
  }
387
399
  } else if (clientY > boundingTop + bodyWrapperElem.clientHeight) {
388
400
  isMouseScrollDown = true;
389
401
  mouseScrollSpaceSize = clientY - boundingTop - bodyWrapperElem.clientHeight;
390
402
  if (!mouseScrollTimeout) {
391
- _startMouseScroll(evnt);
403
+ startMouseScroll(evnt);
392
404
  }
393
405
  } else if (mouseScrollTimeout) {
394
406
  stopMouseScroll();
395
407
  }
396
408
  handleChecked(evnt);
397
409
  };
398
- document.onmouseup = function (evnt) {
410
+ document.onmouseup = evnt => {
399
411
  stopMouseScroll();
400
412
  (0, _dom.removeClass)($el, 'drag--range');
401
413
  checkboxRangeElem.removeAttribute('style');
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){var o,n,l=0,r=0,i=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(o=getComputedStyle(e),l-=_xeUtils.default.toNumber(o.paddingTop),r-=_xeUtils.default.toNumber(o.paddingLeft));e&&e!==t;)l+=e.offsetTop,r+=e.offsetLeft,e=e.offsetParent,i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),r-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:r}}function getCheckboxRangeRows(e,t,o,n){var l=0,r=[],i=0<n,s=0<n?n:Math.abs(n)+o.offsetHeight,n=e.afterFullData,c=e.scrollYStore;if(e.scrollYLoad)t=e.getVTRowIndex(t.row),r=i?n.slice(t,t+Math.ceil(s/c.rowHeight)):n.slice(t-Math.floor(s/c.rowHeight)+1,t+1);else for(var a=i?"next":"previous";o&&l<s;)r.push(e.getRowNode(o).item),l+=o.offsetHeight,o=o["".concat(a,"ElementSibling")];return r}var _default=exports.default={methods:{moveTabSelected:function(e,t,o){var n,l,r,i=this,s=this.afterFullData,c=this.visibleColumn,a=this.editConfig,u=this.editOpts,h=Object.assign({},e),e=this.getVTRowIndex(h.row),d=this.getVTColumnIndex(h.column),t=(o.preventDefault(),t?d<=0?0<e&&(n=s[l=e-1],r=c.length-1):r=d-1:d>=c.length-1?e<s.length-1&&(n=s[l=e+1],r=0):r=d+1,c[r]);t&&(n?(h.rowIndex=l,h.row=n):h.rowIndex=e,h.columnIndex=r,h.column=t,h.cell=this.getCellElement(h.row,h.column),a?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?this.handleEdit(h,o):this.scrollToRow(h.row,h.column).then(function(){return i.handleSelected(h,o)})):this.scrollToRow(h.row,h.column).then(function(){return i.handleSelected(h,o)}))},moveCurrentRow:function(e,t,o){var n,l,r=this,i=this.currentRow,s=this.treeConfig,c=this.treeOpts,a=this.afterFullData,c=c.children||c.childrenField;o.preventDefault(),i?s?(c=(s=_xeUtils.default.findTree(a,function(e){return e===i},{children:c})).index,s=s.items,e&&0<c?n=s[c-1]:t&&c<s.length-1&&(n=s[c+1])):(s=this.getVTRowIndex(i),e&&0<s?n=a[s-1]:t&&s<a.length-1&&(n=a[s+1])):n=a[0],n&&(l={$table:this,row:n},this.scrollToRow(n).then(function(){return r.triggerCurrentRowEvent(o,l)}))},moveSelected:function(e,t,o,n,l,r){var i=this,s=this.afterFullData,c=this.visibleColumn,a=Object.assign({},e),e=this.getVTRowIndex(a.row),u=this.getVTColumnIndex(a.column);r.preventDefault(),o&&0<e?(a.rowIndex=e-1,a.row=s[a.rowIndex]):l&&e<s.length-1?(a.rowIndex=e+1,a.row=s[a.rowIndex]):t&&u?(a.columnIndex=u-1,a.column=c[a.columnIndex]):n&&u<c.length-1&&(a.columnIndex=u+1,a.column=c[a.columnIndex]),this.scrollToRow(a.row,a.column).then(function(){a.cell=i.getCellElement(a.row,a.column),i.handleSelected(a,r)})},triggerHeaderCellMousedownEvent:function(e,t){var o,n=this.mouseConfig,l=this.mouseOpts;n&&l.area&&this.handleHeaderCellAreaEvent&&(n=e.currentTarget,l=(0,_dom.getEventTargetNode)(e,n,"vxe-cell--sort").flag,o=(0,_dom.getEventTargetNode)(e,n,"vxe-cell--filter").flag,this.handleHeaderCellAreaEvent(e,Object.assign({cell:n,triggerSort:l,triggerFilter:o},t))),this.focus(),this.closeMenu()},triggerCellMousedownEvent:function(e,t){var o=e.currentTarget;t.cell=o,this.handleCellMousedownEvent(e,t),this.focus(),this.closeFilter(),this.closeMenu()},handleCellMousedownEvent:function(e,t){var o=this.editConfig,n=this.editOpts,l=this.handleSelected,r=this.checkboxConfig,i=this.checkboxOpts,s=this.mouseConfig,c=this.mouseOpts;if(s&&c.area&&this.handleCellAreaEvent)return this.handleCellAreaEvent(e,t);r&&i.range&&this.handleCheckboxRangeEvent(e,t),s&&c.selected&&(o&&"cell"!==n.mode||l(t,e))},handleCheckboxRangeEvent:function(e,s){var t,o,c,a,u,h,n,l,d,f,g,m,x,v,p,i,w,b,C,T,R,_,k,E=this,r=s.column,I=s.cell;"checkbox"===r.type&&(t=this.$el,o=this.elemStore,c=e.clientX,a=e.clientY,u=o["".concat(r.fixed||"main","-body-wrapper")]||o["main-body-wrapper"],h=u.querySelector(".vxe-table--checkbox-range"),n=document.onmousemove,l=document.onmouseup,d=I.parentNode,f=this.getCheckboxRecords(),g=[],m=1,r=getTargetOffset(e.target,u),x=r.offsetTop+e.offsetY,v=r.offsetLeft+e.offsetX,p=u.scrollTop,i=d.offsetHeight,w=null,C=1,T=function(e,t){E.emitEvent("checkbox-range-".concat(e),{records:E.getCheckboxRecords(),reserves:E.getCheckboxReserveRecords()},t)},R=function(e){var t=e.clientX-c,o=e.clientY-a+(u.scrollTop-p),n=Math.abs(o),l=Math.abs(t),r=x,i=v,t=(o<m?(r+=o)<m&&(r=m,n=x):n=Math.min(n,u.scrollHeight-x-m),t<m?(i+=t,v<l&&(i=m,l=v)):l=Math.min(l,u.clientWidth-v-m),h.style.height="".concat(n,"px"),h.style.width="".concat(l,"px"),h.style.left="".concat(i,"px"),h.style.top="".concat(r,"px"),h.style.display="block",getCheckboxRangeRows(E,s,d,o<m?-n:n));10<n&&t.length!==g.length&&(g=t,e.ctrlKey?t.forEach(function(e){E.handleSelectRow({row:e},-1===f.indexOf(e))}):(E.setAllCheckboxRow(!1),E.handleCheckedCheckboxRow(t,!0,!1)),T("change",e))},_=function(){clearTimeout(w),w=null},(b=!(k=function(r){_(),w=setTimeout(function(){var e,t,o,n,l;w&&(e=u.scrollLeft,t=u.scrollTop,o=u.clientHeight,n=u.scrollHeight,l=Math.ceil(50*C/i),b?t+o<n?(E.scrollTo(e,t+l),k(r),R(r)):_():t?(E.scrollTo(e,t-l),k(r),R(r)):_())},50)}),_dom.addClass)(t,"drag--range"),document.onmousemove=function(e){e.preventDefault(),e.stopPropagation();var t=e.clientY,o=(0,_dom.getAbsolutePos)(u).boundingTop;t<o?(b=!1,C=o-t,w||k(e)):t>o+u.clientHeight?(b=!0,C=t-o-u.clientHeight,w||k(e)):w&&_(),R(e)},document.onmouseup=function(e){_(),(0,_dom.removeClass)(t,"drag--range"),h.removeAttribute("style"),document.onmousemove=n,document.onmouseup=l,T("end",e)},T("start",e))}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let o=0,l=0;var r,n,s=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(s&&(r=getComputedStyle(e),o-=_xeUtils.default.toNumber(r.paddingTop),l-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)o+=e.offsetTop,l+=e.offsetLeft,e=e.offsetParent,s&&(n=getComputedStyle(e),o-=_xeUtils.default.toNumber(n.paddingTop),l-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:o,offsetLeft:l}}function getCheckboxRangeRows(e,t,o,l){let r=0,n=[];var s=0<l,i=0<l?l:Math.abs(l)+o.offsetHeight,{afterFullData:l,scrollYStore:a,scrollYLoad:d}=e;if(d){d=e.getVTRowIndex(t.row);n=s?l.slice(d,d+Math.ceil(i/a.rowHeight)):l.slice(d-Math.floor(i/a.rowHeight)+1,d+1)}else for(var c=s?"next":"previous";o&&r<i;)n.push(e.getRowNode(o).item),r+=o.offsetHeight,o=o[c+"ElementSibling"];return n}var _default=exports.default={methods:{moveTabSelected(e,t,o){var{afterFullData:l,visibleColumn:r,editConfig:n,editOpts:s}=this;let i,a,d,c=Object.assign({},e);var e=this.getVTRowIndex(c.row),h=this.getVTColumnIndex(c.column),t=(o.preventDefault(),t?h<=0?0<e&&(a=e-1,i=l[a],d=r.length-1):d=h-1:h>=r.length-1?e<l.length-1&&(a=e+1,i=l[a],d=0):d=h+1,r[d]);t&&(i?(c.rowIndex=a,c.row=i):c.rowIndex=e,c.columnIndex=d,c.column=t,c.cell=this.getCellElement(c.row,c.column),n?"click"!==s.trigger&&"dblclick"!==s.trigger||("row"===s.mode?this.handleEdit(c,o):this.scrollToRow(c.row,c.column).then(()=>this.handleSelected(c,o))):this.scrollToRow(c.row,c.column).then(()=>this.handleSelected(c,o)))},moveCurrentRow(e,t,o){let{currentRow:l,treeConfig:r,treeOpts:n,afterFullData:s}=this;var i,a=n.children||n.childrenField;let d;if(o.preventDefault(),l?r?({index:a,items:i}=_xeUtils.default.findTree(s,e=>e===l,{children:a}),e&&0<a?d=i[a-1]:t&&a<i.length-1&&(d=i[a+1])):(i=this.getVTRowIndex(l),e&&0<i?d=s[i-1]:t&&i<s.length-1&&(d=s[i+1])):d=s[0],d){let e={$table:this,row:d};this.scrollToRow(d).then(()=>this.triggerCurrentRowEvent(o,e))}},moveSelected(e,t,o,l,r,n){var{afterFullData:s,visibleColumn:i}=this;let a=Object.assign({},e);var e=this.getVTRowIndex(a.row),d=this.getVTColumnIndex(a.column);n.preventDefault(),o&&0<e?(a.rowIndex=e-1,a.row=s[a.rowIndex]):r&&e<s.length-1?(a.rowIndex=e+1,a.row=s[a.rowIndex]):t&&d?(a.columnIndex=d-1,a.column=i[a.columnIndex]):l&&d<i.length-1&&(a.columnIndex=d+1,a.column=i[a.columnIndex]),this.scrollToRow(a.row,a.column).then(()=>{a.cell=this.getCellElement(a.row,a.column),this.handleSelected(a,n)})},triggerHeaderCellMousedownEvent(e,t){var o,{mouseConfig:l,mouseOpts:r}=this;l&&r.area&&this.handleHeaderCellAreaEvent&&(l=e.currentTarget,r=(0,_dom.getEventTargetNode)(e,l,"vxe-cell--sort").flag,o=(0,_dom.getEventTargetNode)(e,l,"vxe-cell--filter").flag,this.handleHeaderCellAreaEvent(e,Object.assign({cell:l,triggerSort:r,triggerFilter:o},t))),this.focus(),this.closeMenu()},triggerCellMousedownEvent(e,t){var o=e.currentTarget;t.cell=o,this.handleCellMousedownEvent(e,t),this.focus(),this.closeFilter(),this.closeMenu()},handleCellMousedownEvent(e,t){var{editConfig:o,editOpts:l,handleSelected:r,checkboxConfig:n,checkboxOpts:s,mouseConfig:i,mouseOpts:a}=this;if(i&&a.area&&this.handleCellAreaEvent)return this.handleCellAreaEvent(e,t);n&&s.range&&this.handleCheckboxRangeEvent(e,t),i&&a.selected&&(o&&"cell"!==l.mode||r(t,e))},handleCheckboxRangeEvent(r,k){var{column:n,cell:E}=k;if("checkbox"===n.type){let{$el:t,elemStore:e}=this,i=r.clientX,a=r.clientY,d=e[`${n.fixed||"main"}-body-wrapper`]||e["main-body-wrapper"],c=d.querySelector(".vxe-table--checkbox-range"),o=document.onmousemove,l=document.onmouseup,h=E.parentNode,u=this.getCheckboxRecords(),g=[],f=1;n=getTargetOffset(r.target,d);let m=n.offsetTop+r.offsetY,x=n.offsetLeft+r.offsetX,v=d.scrollTop,s=h.offsetHeight,p=null,w=!1,b=1,C=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:o}=e,t=t-i,o=o-a+(d.scrollTop-v);let l=Math.abs(o),r=Math.abs(t),n=m,s=x;o<f?(n+=o)<f&&(n=f,l=m):l=Math.min(l,d.scrollHeight-m-f),t<f?(s+=t,r>x&&(s=f,r=x)):r=Math.min(r,d.clientWidth-x-f),c.style.height=l+"px",c.style.width=r+"px",c.style.left=s+"px",c.style.top=n+"px",c.style.display="block";t=getCheckboxRangeRows(this,k,h,o<f?-l:l);10<l&&t.length!==g.length&&(g=t,e.ctrlKey?t.forEach(e=>{this.handleSelectRow({row:e},-1===u.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),C("change",e))},R=()=>{clearTimeout(p),p=null},_=n=>{R(),p=setTimeout(()=>{var e,t,o,l,r;p&&({scrollLeft:e,scrollTop:t,clientHeight:o,scrollHeight:l}=d,r=Math.ceil(50*b/s),w?t+o<l?(this.scrollTo(e,t+r),_(n),T(n)):R():t?(this.scrollTo(e,t-r),_(n),T(n)):R())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,o=(0,_dom.getAbsolutePos)(d).boundingTop;t<o?(w=!1,b=o-t,p||_(e)):t>o+d.clientHeight?(w=!0,b=t-o-d.clientHeight,p||_(e)):p&&R(),T(e)},document.onmouseup=e=>{R(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=o,document.onmouseup=l,C("end",e)},C("start",r)}}}};