vxe-table 3.22.12 → 3.23.0-beta.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 (57) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/edit/mixin.js +57 -20
  6. package/es/table/module/keyboard/mixin.js +2 -2
  7. package/es/table/render/index.js +130 -23
  8. package/es/table/src/cell.js +12 -20
  9. package/es/table/src/methods.js +38 -28
  10. package/es/table/src/table.js +1 -1
  11. package/es/table/style.css +9 -0
  12. package/es/table/style.min.css +1 -1
  13. package/es/ui/index.js +4 -2
  14. package/es/ui/src/log.js +1 -1
  15. package/es/vxe-table/style.css +9 -0
  16. package/es/vxe-table/style.min.css +1 -1
  17. package/lib/index.css +1 -1
  18. package/lib/index.min.css +1 -1
  19. package/lib/index.umd.js +368 -161
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/style.css +1 -1
  22. package/lib/style.min.css +1 -1
  23. package/lib/table/module/edit/mixin.js +72 -24
  24. package/lib/table/module/edit/mixin.min.js +1 -1
  25. package/lib/table/module/keyboard/mixin.js +2 -2
  26. package/lib/table/module/keyboard/mixin.min.js +1 -1
  27. package/lib/table/render/index.js +171 -26
  28. package/lib/table/render/index.min.js +1 -1
  29. package/lib/table/src/cell.js +8 -16
  30. package/lib/table/src/cell.min.js +1 -1
  31. package/lib/table/src/methods.js +16 -16
  32. package/lib/table/src/methods.min.js +1 -1
  33. package/lib/table/src/table.js +1 -1
  34. package/lib/table/src/table.min.js +1 -1
  35. package/lib/table/style/style.css +9 -0
  36. package/lib/table/style/style.min.css +1 -1
  37. package/lib/ui/index.js +4 -2
  38. package/lib/ui/index.min.js +1 -1
  39. package/lib/ui/src/log.js +1 -1
  40. package/lib/ui/src/log.min.js +1 -1
  41. package/lib/vxe-table/style/style.css +9 -0
  42. package/lib/vxe-table/style/style.min.css +1 -1
  43. package/package.json +2 -2
  44. package/packages/table/module/edit/mixin.ts +83 -25
  45. package/packages/table/module/keyboard/mixin.ts +2 -2
  46. package/packages/table/render/index.ts +144 -25
  47. package/packages/table/src/cell.ts +12 -20
  48. package/packages/table/src/methods.ts +38 -28
  49. package/packages/table/src/table.ts +1 -1
  50. package/packages/ui/index.ts +3 -1
  51. package/styles/components/table.scss +18 -0
  52. /package/es/{iconfont.1786589170707.ttf → iconfont.1786796852436.ttf} +0 -0
  53. /package/es/{iconfont.1786589170707.woff → iconfont.1786796852436.woff} +0 -0
  54. /package/es/{iconfont.1786589170707.woff2 → iconfont.1786796852436.woff2} +0 -0
  55. /package/lib/{iconfont.1786589170707.ttf → iconfont.1786796852436.ttf} +0 -0
  56. /package/lib/{iconfont.1786589170707.woff → iconfont.1786796852436.woff} +0 -0
  57. /package/lib/{iconfont.1786589170707.woff2 → iconfont.1786796852436.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -221,6 +221,43 @@ module.exports = function (it) {
221
221
  };
222
222
 
223
223
 
224
+ /***/ }),
225
+
226
+ /***/ 6955:
227
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
228
+
229
+
230
+ var TO_STRING_TAG_SUPPORT = __webpack_require__(2140);
231
+ var isCallable = __webpack_require__(4901);
232
+ var classofRaw = __webpack_require__(2195);
233
+ var wellKnownSymbol = __webpack_require__(8227);
234
+
235
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
236
+ var $Object = Object;
237
+
238
+ // ES3 wrong here
239
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';
240
+
241
+ // fallback for IE11 Script Access Denied error
242
+ var tryGet = function (it, key) {
243
+ try {
244
+ return it[key];
245
+ } catch (error) { /* empty */ }
246
+ };
247
+
248
+ // getting tag from ES6+ `Object.prototype.toString`
249
+ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
250
+ var O, tag, result;
251
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
252
+ // @@toStringTag case
253
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
254
+ // builtinTag case
255
+ : CORRECT_ARGUMENTS ? classofRaw(O)
256
+ // ES3 arguments fallback
257
+ : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;
258
+ };
259
+
260
+
224
261
  /***/ }),
225
262
 
226
263
  /***/ 7740:
@@ -770,43 +807,43 @@ module.exports = function (obj) {
770
807
 
771
808
  /***/ }),
772
809
 
773
- /***/ 8563:
810
+ /***/ 851:
774
811
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
775
812
 
776
813
 
777
- var call = __webpack_require__(9565);
778
- var isCallable = __webpack_require__(4901);
779
- var anObject = __webpack_require__(8551);
780
- var tryToString = __webpack_require__(6823);
781
- var getIteratorMethod = __webpack_require__(3085);
814
+ var classof = __webpack_require__(6955);
815
+ var getMethod = __webpack_require__(5966);
816
+ var isNullOrUndefined = __webpack_require__(4117);
817
+ var Iterators = __webpack_require__(6269);
818
+ var wellKnownSymbol = __webpack_require__(8227);
782
819
 
783
- var $TypeError = TypeError;
820
+ var ITERATOR = wellKnownSymbol('iterator');
784
821
 
785
- module.exports = function (argument, usingIterator) {
786
- var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
787
- if (isCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
788
- throw new $TypeError(tryToString(argument) + ' is not iterable');
822
+ module.exports = function (it) {
823
+ if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
824
+ || getMethod(it, '@@iterator')
825
+ || Iterators[classof(it)];
789
826
  };
790
827
 
791
828
 
792
829
  /***/ }),
793
830
 
794
- /***/ 3085:
831
+ /***/ 81:
795
832
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
796
833
 
797
834
 
798
- var classof = __webpack_require__(2195);
799
- var isNullOrUndefined = __webpack_require__(4117);
800
- var getMethod = __webpack_require__(5966);
801
- var wellKnownSymbol = __webpack_require__(8227);
835
+ var call = __webpack_require__(9565);
836
+ var aCallable = __webpack_require__(9306);
837
+ var anObject = __webpack_require__(8551);
838
+ var tryToString = __webpack_require__(6823);
839
+ var getIteratorMethod = __webpack_require__(851);
802
840
 
803
- var ITERATOR = wellKnownSymbol('iterator');
804
- var ArrayPrototype = Array.prototype;
841
+ var $TypeError = TypeError;
805
842
 
806
- module.exports = function (it) {
807
- if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
808
- || getMethod(it, '@@iterator')
809
- || (classof(it) === 'Arguments' ? ArrayPrototype[ITERATOR] : undefined);
843
+ module.exports = function (argument, usingIterator) {
844
+ var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
845
+ if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
846
+ throw new $TypeError(tryToString(argument) + ' is not iterable');
810
847
  };
811
848
 
812
849
 
@@ -1183,8 +1220,8 @@ var tryToString = __webpack_require__(6823);
1183
1220
  var isArrayIteratorMethod = __webpack_require__(4209);
1184
1221
  var lengthOfArrayLike = __webpack_require__(6198);
1185
1222
  var isPrototypeOf = __webpack_require__(1625);
1186
- var getIterator = __webpack_require__(8563);
1187
- var getIteratorMethod = __webpack_require__(3085);
1223
+ var getIterator = __webpack_require__(81);
1224
+ var getIteratorMethod = __webpack_require__(851);
1188
1225
  var iteratorClose = __webpack_require__(9539);
1189
1226
 
1190
1227
  var $TypeError = TypeError;
@@ -1251,19 +1288,6 @@ module.exports = function (iterable, unboundFunction, options) {
1251
1288
  };
1252
1289
 
1253
1290
 
1254
- /***/ }),
1255
-
1256
- /***/ 6859:
1257
- /***/ (function(module) {
1258
-
1259
-
1260
- // release references held by exhausted / closed iterator helpers to allow GC of the source chain
1261
- module.exports = function (state) {
1262
- state.iterator = state.next = state.nextHandler = state.mapper = state.predicate = state.inner =
1263
- state.iterables = state.iters = state.openIters = state.padding = state.finishResults = state.buffer = null;
1264
- };
1265
-
1266
-
1267
1291
  /***/ }),
1268
1292
 
1269
1293
  /***/ 1385:
@@ -1335,7 +1359,6 @@ var IteratorPrototype = (__webpack_require__(7657).IteratorPrototype);
1335
1359
  var createIterResultObject = __webpack_require__(2529);
1336
1360
  var iteratorClose = __webpack_require__(9539);
1337
1361
  var iteratorCloseAll = __webpack_require__(1385);
1338
- var cleanupState = __webpack_require__(6859);
1339
1362
 
1340
1363
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1341
1364
  var ITERATOR_HELPER = 'IteratorHelper';
@@ -1357,34 +1380,29 @@ var createIteratorProxyPrototype = function (IS_ITERATOR) {
1357
1380
  if (state.done) return createIterResultObject(undefined, true);
1358
1381
  try {
1359
1382
  var result = state.nextHandler();
1360
- if (state.done) cleanupState(state);
1361
1383
  return state.returnHandlerResult ? result : createIterResultObject(result, state.done);
1362
1384
  } catch (error) {
1363
1385
  state.done = true;
1364
- cleanupState(state);
1365
1386
  throw error;
1366
1387
  }
1367
1388
  },
1368
1389
  'return': function () {
1369
1390
  var state = getInternalState(this);
1370
1391
  var iterator = state.iterator;
1371
- var inner = state.inner;
1372
- var openIters = state.openIters;
1373
1392
  var done = state.done;
1374
1393
  state.done = true;
1375
1394
  if (IS_ITERATOR) {
1376
1395
  var returnMethod = getMethod(iterator, 'return');
1377
1396
  return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);
1378
1397
  }
1379
- cleanupState(state);
1380
1398
  if (done) return createIterResultObject(undefined, true);
1381
- if (inner) try {
1382
- iteratorClose(inner.iterator, NORMAL);
1399
+ if (state.inner) try {
1400
+ iteratorClose(state.inner.iterator, NORMAL);
1383
1401
  } catch (error) {
1384
1402
  return iteratorClose(iterator, THROW, error);
1385
1403
  }
1386
- if (openIters) try {
1387
- iteratorCloseAll(openIters, NORMAL);
1404
+ if (state.openIters) try {
1405
+ iteratorCloseAll(state.openIters, NORMAL);
1388
1406
  } catch (error) {
1389
1407
  if (iterator) return iteratorClose(iterator, THROW, error);
1390
1408
  throw error;
@@ -1531,7 +1549,7 @@ module.exports = {
1531
1549
  /***/ (function(module) {
1532
1550
 
1533
1551
 
1534
- module.exports = Object.create ? Object.create(null) : {};
1552
+ module.exports = {};
1535
1553
 
1536
1554
 
1537
1555
  /***/ }),
@@ -2058,10 +2076,10 @@ var SHARED = '__core-js_shared__';
2058
2076
  var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
2059
2077
 
2060
2078
  (store.versions || (store.versions = [])).push({
2061
- version: '3.50.0',
2079
+ version: '3.49.0',
2062
2080
  mode: IS_PURE ? 'pure' : 'global',
2063
2081
  copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',
2064
- license: 'https://github.com/zloirock/core-js/blob/v3.50.0/LICENSE',
2082
+ license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',
2065
2083
  source: 'https://github.com/zloirock/core-js'
2066
2084
  });
2067
2085
 
@@ -2073,11 +2091,9 @@ var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED,
2073
2091
 
2074
2092
 
2075
2093
  var store = __webpack_require__(7629);
2076
- // eslint-disable-next-line es/no-object-create -- safe
2077
- var create = Object.create || Object;
2078
2094
 
2079
2095
  module.exports = function (key, value) {
2080
- return store[key] || (store[key] = value || create(null));
2096
+ return store[key] || (store[key] = value || {});
2081
2097
  };
2082
2098
 
2083
2099
 
@@ -2244,6 +2260,22 @@ module.exports = function (argument) {
2244
2260
  };
2245
2261
 
2246
2262
 
2263
+ /***/ }),
2264
+
2265
+ /***/ 2140:
2266
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
2267
+
2268
+
2269
+ var wellKnownSymbol = __webpack_require__(8227);
2270
+
2271
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
2272
+ var test = {};
2273
+ // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation
2274
+ test[TO_STRING_TAG] = 'z';
2275
+
2276
+ module.exports = String(test) === '[object z]';
2277
+
2278
+
2247
2279
  /***/ }),
2248
2280
 
2249
2281
  /***/ 6823:
@@ -2901,26 +2933,11 @@ $({ target: 'Iterator', proto: true, real: true }, {
2901
2933
  /******/
2902
2934
  /******/ /* webpack/runtime/define property getters */
2903
2935
  /******/ !function() {
2904
- /******/ // define getter/value functions for harmony exports
2936
+ /******/ // define getter functions for harmony exports
2905
2937
  /******/ __webpack_require__.d = function(exports, definition) {
2906
- /******/ if(Array.isArray(definition)) {
2907
- /******/ var i = 0;
2908
- /******/ while(i < definition.length) {
2909
- /******/ var key = definition[i++];
2910
- /******/ var binding = definition[i++];
2911
- /******/ if(!__webpack_require__.o(exports, key)) {
2912
- /******/ if(binding === 0) {
2913
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
2914
- /******/ } else {
2915
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
2916
- /******/ }
2917
- /******/ } else if(binding === 0) { i++; }
2918
- /******/ }
2919
- /******/ } else {
2920
- /******/ for(var key in definition) {
2921
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
2922
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
2923
- /******/ }
2938
+ /******/ for(var key in definition) {
2939
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
2940
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
2924
2941
  /******/ }
2925
2942
  /******/ }
2926
2943
  /******/ };
@@ -3011,7 +3028,7 @@ __webpack_require__.d(__webpack_exports__, {
3011
3028
  version: function() { return /* reexport */ version; }
3012
3029
  });
3013
3030
 
3014
- // NAMESPACE OBJECT (decoupled): ./packages/components.ts
3031
+ // NAMESPACE OBJECT: ./packages/components.ts
3015
3032
  var components_namespaceObject = {};
3016
3033
  __webpack_require__.r(components_namespaceObject);
3017
3034
  __webpack_require__.d(components_namespaceObject, {
@@ -3294,7 +3311,7 @@ function getClass(property, params) {
3294
3311
  /* unused harmony import specifier */ var VxeUI;
3295
3312
 
3296
3313
 
3297
- const version = "3.22.12";
3314
+ const version = "3.23.0-beta.0";
3298
3315
  core_.VxeUI.version = version;
3299
3316
  core_.VxeUI.tableVersion = version;
3300
3317
  core_.VxeUI.setConfig({
@@ -3493,9 +3510,11 @@ core_.VxeUI.setConfig({
3493
3510
  },
3494
3511
  editConfig: {
3495
3512
  // mode: 'cell',
3513
+ // cache: true,
3496
3514
  showIcon: true,
3497
3515
  showAsterisk: true,
3498
- autoFocus: true
3516
+ autoFocus: true,
3517
+ isReuseKeep: true
3499
3518
  },
3500
3519
  importConfig: {
3501
3520
  _typeMaps: {
@@ -4080,7 +4099,7 @@ function getPopupContainer(appendTo) {
4080
4099
  const {
4081
4100
  log: log_log
4082
4101
  } = core_.VxeUI;
4083
- const tableVersion = `table v${"3.22.12"}`;
4102
+ const tableVersion = `table v${"3.23.0-beta.0"}`;
4084
4103
  function createComponentLog(name) {
4085
4104
  const uiVersion = core_.VxeUI.uiVersion ? `ui v${core_.VxeUI.uiVersion}` : '';
4086
4105
  const ganttVersion = core_.VxeUI.ganttVersion ? `gantt v${core_.VxeUI.ganttVersion}` : '';
@@ -5888,8 +5907,13 @@ function renderHeaderHandle(h, params) {
5888
5907
  type,
5889
5908
  filters,
5890
5909
  sortable,
5891
- editRender
5910
+ editRender,
5911
+ slots
5892
5912
  } = column;
5913
+ const headerSlot = slots ? slots.header : null;
5914
+ if (headerSlot) {
5915
+ return renderTitleContent(h, params, $table.callSlot(headerSlot, params, h));
5916
+ }
5893
5917
  switch (type) {
5894
5918
  case 'seq':
5895
5919
  return Cell.renderSeqHeader(h, params);
@@ -5951,14 +5975,9 @@ const Cell = {
5951
5975
  editConfig
5952
5976
  } = tableProps;
5953
5977
  const {
5954
- slots,
5955
5978
  editRender,
5956
5979
  cellRender
5957
5980
  } = column;
5958
- const headerSlot = slots ? slots.header : null;
5959
- if (headerSlot) {
5960
- return renderTitleContent(h, params, $table.callSlot(headerSlot, params, h));
5961
- }
5962
5981
  const isEnableEdit = editConfig && isEnableConf(editConfig);
5963
5982
  const editRenderOpts = isEnableEdit && isEnableConf(editRender) ? editRender : null;
5964
5983
  const cellRenderOpts = isEnableConf(cellRender) ? cellRender : null;
@@ -6297,10 +6316,7 @@ const Cell = {
6297
6316
  $table,
6298
6317
  column
6299
6318
  } = params;
6300
- const {
6301
- slots
6302
- } = column;
6303
- return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, slots && slots.header ? $table.callSlot(slots.header, params, h) : $table.getHeaderCellLabel(column)));
6319
+ return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, $table.getHeaderCellLabel(column)));
6304
6320
  },
6305
6321
  renderSeqCell(h, params) {
6306
6322
  const {
@@ -6338,9 +6354,8 @@ const Cell = {
6338
6354
  const {
6339
6355
  slots
6340
6356
  } = column;
6341
- const headerSlot = slots ? slots.header : null;
6342
6357
  const titleSlot = slots ? slots.title : null;
6343
- return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, headerSlot ? $table.callSlot(headerSlot, params, h) : [h('span', {
6358
+ return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, params, [h('span', {
6344
6359
  class: 'vxe-radio--label'
6345
6360
  }, titleSlot ? $table.callSlot(titleSlot, params, h) : $table.getHeaderCellLabel(column))]));
6346
6361
  },
@@ -6439,7 +6454,6 @@ const Cell = {
6439
6454
  const {
6440
6455
  slots
6441
6456
  } = column;
6442
- const headerSlot = slots ? slots.header : null;
6443
6457
  const titleSlot = slots ? slots.title : null;
6444
6458
  const checkboxOpts = $table.computeCheckboxOpts;
6445
6459
  const {
@@ -6462,9 +6476,6 @@ const Cell = {
6462
6476
  disabled: isAllCheckboxDisabled,
6463
6477
  indeterminate: isAllCheckboxIndeterminate
6464
6478
  };
6465
- if (headerSlot) {
6466
- return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, checkboxParams, $table.callSlot(headerSlot, checkboxParams, h)));
6467
- }
6468
6479
  if (checkStrictly ? !showHeader : showHeader === false) {
6469
6480
  return renderHeaderCellBaseVNs(h, params, renderTitleContent(h, checkboxParams, [h('span', {
6470
6481
  class: 'vxe-checkbox--label'
@@ -8302,45 +8313,45 @@ internalData.isActivated=isActivated;}},/**
8302
8313
  * 全局滚动事件
8303
8314
  */handleGlobalMousewheelEvent(){const $xeTable=this;$xeTable.closeTooltip();if($xeTable.closeMenu){$xeTable.closeMenu();}},/**
8304
8315
  * 表格键盘事件
8305
- */keydownEvent(evnt){const $xeTable=this;const{filterStore,ctxMenuStore,editStore,keyboardConfig,mouseConfig,mouseOpts,keyboardOpts}=this;const{actived}=editStore;const{keyCode}=evnt;const isEsc=keyCode===27;if(isEsc){this.preventEvent(evnt,'event.keydown',null,()=>{$xeTable.dispatchEvent('keydown-start',{},evnt);if(keyboardConfig&&mouseConfig&&mouseOpts.area&&this.handleKeyboardCellAreaEvent){this.handleKeyboardCellAreaEvent(evnt);}else if(actived.row||filterStore.visible||ctxMenuStore.visible){evnt.stopPropagation();// 如果按下了 Esc 键,关闭快捷菜单、筛选
8316
+ */keydownEvent(evnt){const $xeTable=this;const{filterStore,ctxMenuStore,editStore,keyboardConfig,mouseConfig,mouseOpts,keyboardOpts}=this;const{actived}=editStore;const{keyCode}=evnt;const isEsc=keyCode===27;if(isEsc){this.preventEvent(evnt,'event.keydown',null,()=>{$xeTable.dispatchEvent('keydown-start',{},evnt);if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKdClAreaEvent){$xeTable.handleKdClAreaEvent(evnt);}else if(actived.row||filterStore.visible||ctxMenuStore.visible){evnt.stopPropagation();// 如果按下了 Esc 键,关闭快捷菜单、筛选
8306
8317
  this.closeFilter();this.closeMenu();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
8307
8318
  if(actived.row){const params=actived.args;this.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
8308
8319
  if(mouseConfig&&mouseOpts.selected){this.$nextTick(()=>this.handleSelected(params,evnt));}}}}$xeTable.dispatchEvent('keydown',{},evnt);$xeTable.dispatchEvent('keydown-end',{},evnt);});}},contextMenuEvent(evnt){const $xeTable=this;$xeTable.dispatchEvent('context-menu',{},evnt);},/**
8309
8320
  * 全局键盘事件
8310
8321
  */handleGlobalKeydownEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;// 该行为只对当前激活的表格有效
8311
- if(internalData.isActivated){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow,highlightCurrentColumn}=props;const{ctxMenuStore,editStore}=reactData;const{afterFullData,visibleColumn,currentRow}=internalData;const isContentMenu=$xeTable.computeIsContentMenu;const bodyMenu=$xeTable.computeBodyMenu;const keyboardOpts=$xeTable.computeKeyboardOpts;const mouseOpts=$xeTable.computeMouseOpts;const editOpts=$xeTable.computeEditOpts;const treeOpts=$xeTable.computeTreeOpts;const menuList=$xeTable.computeMenuList;const rowOpts=$xeTable.computeRowOpts;const columnOpts=$xeTable.computeColumnOpts;const{isLastEnterAppendRow,beforeEnterMethod,enterMethod,isLastTabAppendRow,beforeTabMethod,tabMethod}=keyboardOpts;const{selected,actived}=editStore;const{keyCode}=evnt;const isEsc=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);const hasBackspaceKey=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.BACKSPACE);const isTab=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.TAB);const isEnter=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ENTER);const isSpacebar=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.SPACEBAR);const isLeftArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_LEFT);const isUpArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_UP);const isRightArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_RIGHT);const isDwArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_DOWN);const hasDeleteKey=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.DELETE);const isY=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.Y);const isZ=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.Z);const isF2=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.F2);const isContextMenu=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.CONTEXT_MENU);const isControlKey=hasControlKey(evnt);const hasShiftKey=evnt.shiftKey;const hasAltKey=evnt.altKey;const operArrow=isLeftArrow||isUpArrow||isRightArrow||isDwArrow;const operCtxMenu=isContentMenu&&ctxMenuStore.visible&&(isEnter||isSpacebar||operArrow);const isEditStatus=isEnableConf(editConfig)&&actived.column&&actived.row;const childrenField=treeOpts.children||treeOpts.childrenField;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const selectColumn=selected.column;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
8312
- evnt.preventDefault();if(ctxMenuStore.showChild&&hasChildrenList(ctxMenuStore.selected)){$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selectChild',isLeftArrow,false,ctxMenuStore.selected.children);}else{$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selected',isRightArrow,true,menuList);}}else if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKeyboardCellAreaEvent){$xeTable.handleKeyboardCellAreaEvent(evnt);}else if(isEsc){// 如果按下了 Esc 键,关闭快捷菜单、筛选
8322
+ if(internalData.isActivated){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow,highlightCurrentColumn}=props;const{ctxMenuStore,editStore}=reactData;const{afterFullData,visibleColumn,currentRow}=internalData;const isContentMenu=$xeTable.computeIsContentMenu;const bodyMenu=$xeTable.computeBodyMenu;const keyboardOpts=$xeTable.computeKeyboardOpts;const mouseOpts=$xeTable.computeMouseOpts;const editOpts=$xeTable.computeEditOpts;const treeOpts=$xeTable.computeTreeOpts;const menuList=$xeTable.computeMenuList;const rowOpts=$xeTable.computeRowOpts;const columnOpts=$xeTable.computeColumnOpts;const{isLastEnterAppendRow,beforeEnterMethod,enterMethod,isLastTabAppendRow,beforeTabMethod,tabMethod}=keyboardOpts;const{selected,actived}=editStore;const{keyCode}=evnt;const isProcess=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.PROCESS);const isEsc=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);const hasBackspaceKey=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.BACKSPACE);const isTab=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.TAB);const isEnter=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ENTER);const isSpacebar=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.SPACEBAR);const isLeftArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_LEFT);const isUpArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_UP);const isRightArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_RIGHT);const isDwArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_DOWN);const hasDeleteKey=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.DELETE);const isY=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.Y);const isZ=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.Z);const isF2=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.F2);const isContextMenu=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.CONTEXT_MENU);const isControlKey=hasControlKey(evnt);const hasShiftKey=evnt.shiftKey;const hasAltKey=evnt.altKey;const operArrow=isLeftArrow||isUpArrow||isRightArrow||isDwArrow;const operCtxMenu=isContentMenu&&ctxMenuStore.visible&&(isEnter||isSpacebar||operArrow);const isEditStatus=isEnableConf(editConfig)&&actived.column&&actived.row;const childrenField=treeOpts.children||treeOpts.childrenField;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const selectRow=selected.row;const selectColumn=selected.column;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
8323
+ evnt.preventDefault();if(ctxMenuStore.showChild&&hasChildrenList(ctxMenuStore.selected)){$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selectChild',isLeftArrow,false,ctxMenuStore.selected.children);}else{$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selected',isRightArrow,true,menuList);}}else if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKdClAreaEvent){$xeTable.handleKdClAreaEvent(evnt);}else if(isEsc){// 如果按下了 Esc 键,关闭快捷菜单、筛选
8313
8324
  if($xeTable.closeMenu){$xeTable.closeMenu();}$xeTable.closeFilter();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
8314
8325
  if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
8315
- if(mouseOpts.selected){$xeTable.$nextTick(()=>$xeTable.handleSelected(params,evnt));}}}}else if(keyboardConfig&&isSpacebar&&keyboardOpts.isChecked&&selected.row&&selectColumn&&(selectColumn.type==='checkbox'||selectColumn.type==='radio')){// 空格键支持选中复选框
8326
+ if(mouseOpts.selected){$xeTable.$nextTick(()=>$xeTable.handleSelected(params,evnt));}}}}else if(keyboardConfig&&isSpacebar&&keyboardOpts.isChecked&&selectRow&&selectColumn&&(selectColumn.type==='checkbox'||selectColumn.type==='radio')){// 空格键支持选中复选框
8316
8327
  evnt.preventDefault();if(selectColumn.type==='checkbox'){$xeTable.handleToggleCheckRowEvent(evnt,selected.args);}else{$xeTable.triggerRadioRowEvent(evnt,selected.args);}}else if(isF2&&isEnableConf(editConfig)){if(!isEditStatus){// 如果按下了 F2 键
8317
- if(selected.row&&selectColumn){evnt.preventDefault();$xeTable.handleEdit(selected.args,evnt);}}}else if(isContextMenu){// 如果按下上下文键
8318
- internalData._keyCtx=selected.row&&selectColumn&&bodyMenu.length;clearTimeout(internalData.keyCtxTimeout);internalData.keyCtxTimeout=setTimeout(()=>{internalData._keyCtx=false;},1000);}else if(isEnter&&!hasAltKey&&keyboardConfig&&keyboardOpts.isEnter&&(selected.row||actived.row||treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow)){// 退出选中
8328
+ if(selectRow&&selectColumn){evnt.preventDefault();$xeTable.handleEdit(selected.args,evnt);}}}else if(isContextMenu){// 如果按下上下文键
8329
+ internalData._keyCtx=selectRow&&selectColumn&&bodyMenu.length;clearTimeout(internalData.keyCtxTimeout);internalData.keyCtxTimeout=setTimeout(()=>{internalData._keyCtx=false;},1000);}else if(isEnter&&!hasAltKey&&keyboardConfig&&keyboardOpts.isEnter&&(selectRow||actived.row||treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow)){// 退出选中
8319
8330
  if(isControlKey){// 如果是激活编辑状态,则取消编辑
8320
8331
  if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
8321
8332
  if(mouseConfig&&mouseOpts.selected){$xeTable.$nextTick(()=>$xeTable.handleSelected(params,evnt));}}}else{// 如果是激活状态,退则出到上一行/下一行
8322
- if(selected.row||actived.row){const activeRow=selected.row||actived.row;const activeColumn=selectColumn||actived.column;if(activeColumn){const activeParams=selected.row?selected.args:actived.args;if(hasShiftKey){if(keyboardOpts.enterToTab){$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}else{$xeTable.moveEnterSelected(activeParams,isLeftArrow,true,isRightArrow,false,evnt);}}else{const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);if(keyboardOpts.enterToTab){const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
8333
+ if(selectRow||actived.row){const activeRow=selectRow||actived.row;const activeColumn=selectColumn||actived.column;if(activeColumn){const activeParams=selectRow?selected.args:actived.args;if(hasShiftKey){if(keyboardOpts.enterToTab){$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}else{$xeTable.moveEnterSelected(activeParams,isLeftArrow,true,isRightArrow,false,evnt);}}else{const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);if(keyboardOpts.enterToTab){const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
8323
8334
  if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected({...activeParams,row:newRow,column:newColumn},evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}else{const etrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeEnterMethod||beforeEnterMethod(etrParams)!==false){evnt.preventDefault();// 最后一行按下回车键,自动追加一行
8324
8335
  if(isLastEnterAppendRow){if(_rowIndex>=afterFullData.length-1){$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,selectColumn);$xeTable.handleSelected({...activeParams,row:newRow},evnt);});$xeTable.dispatchEvent('enter-append-row',etrParams,evnt);return;}}if(enterMethod){enterMethod(etrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveEnterSelected(activeParams,isLeftArrow,false,isRightArrow,true,evnt);}}}}}}else if(treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow){// 如果是树形表格当前行回车移动到子节点
8325
8336
  const childrens=currentRow[childrenField];if(childrens&&childrens.length){evnt.preventDefault();const targetRow=childrens[0];const params={$table:$xeTable,row:targetRow,rowIndex:$xeTable.getRowIndex(targetRow),$rowIndex:$xeTable.getVMRowIndex(targetRow)};$xeTable.setTreeExpand(currentRow,true).then(()=>$xeTable.scrollToRow(targetRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}}}else if(operArrow&&keyboardConfig&&keyboardOpts.isArrow){if(!isEditStatus){// 如果按下了方向键
8326
- if(mouseOpts.selected&&selected.row&&selectColumn){$xeTable.moveArrowSelected(selected.args,isLeftArrow,isUpArrow,isRightArrow,isDwArrow,evnt);}else{// 当前行按键上下移动
8337
+ if(mouseOpts.selected&&selectRow&&selectColumn){$xeTable.moveArrowSelected(selected.args,isLeftArrow,isUpArrow,isRightArrow,isDwArrow,evnt);}else{// 当前行按键上下移动
8327
8338
  if((isUpArrow||isDwArrow)&&(rowOpts.isCurrent||highlightCurrentRow)){$xeTable.moveCurrentRow(isUpArrow,isDwArrow,evnt);}// 当前行按键左右移动
8328
8339
  if((isLeftArrow||isRightArrow)&&(columnOpts.isCurrent||highlightCurrentColumn)){$xeTable.moveCurrentColumn(isLeftArrow,isRightArrow,evnt);}}}}else if(isTab&&keyboardConfig&&keyboardOpts.isTab){// 如果按下了 Tab 键切换
8329
- if(selected.row||actived.row){const activeRow=selected.row||actived.row;const activeColumn=selectColumn||actived.column;if(activeColumn){const activeParams=selected.row?selected.args:actived.args;const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
8330
- if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected({...activeParams,row:newRow,column:newColumn},evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}}}else if(keyboardConfig&&keyboardOpts.isDel&&hasDeleteKey&&isEnableConf(editConfig)&&(selected.row||selectColumn)){// 如果是删除键
8331
- if(!isEditStatus){const{delMethod}=keyboardOpts;const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
8332
- if(!beforeEditMethod||beforeEditMethod(params)){if(delMethod){delMethod(params);}else{const selectCellValue=getCellValue(selected.row,selectColumn);if(selectCellValue!==null){$xeTable.handlePushStack();setCellValue(selected.row,selectColumn,null);}}// 如果按下 del 键,更新表尾数据
8333
- $xeTable.updateFooter();$xeTable.dispatchEvent('cell-delete-value',params,evnt);}}}else if(hasBackspaceKey&&keyboardConfig&&keyboardOpts.isBack&&isEnableConf(editConfig)&&(selected.row||selectColumn)){if(!isEditStatus){const{backMethod}=keyboardOpts;// 如果是删除键
8334
- if(keyboardOpts.isDel&&isEnableConf(editConfig)&&(selected.row||selectColumn)){const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
8340
+ if(selectRow||actived.row){const activeRow=selectRow||actived.row;const activeColumn=selectColumn||actived.column;if(activeColumn){const activeParams=selectRow?selected.args:actived.args;const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
8341
+ if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected({...activeParams,row:newRow,column:newColumn},evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}}}else if(keyboardConfig&&keyboardOpts.isDel&&hasDeleteKey&&isEnableConf(editConfig)&&(selectRow||selectColumn)){// 如果是删除键
8342
+ if(!isEditStatus){const{delMethod}=keyboardOpts;const params={row:selectRow,rowIndex:$xeTable.getRowIndex(selectRow),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
8343
+ if(!beforeEditMethod||beforeEditMethod(params)){if(delMethod){delMethod(params);}else{const selectCellValue=getCellValue(selectRow,selectColumn);if(selectCellValue!==null){$xeTable.handlePushStack();setCellValue(selectRow,selectColumn,null);}}// 如果按下 del 键,更新表尾数据
8344
+ $xeTable.updateFooter();$xeTable.dispatchEvent('cell-delete-value',params,evnt);}}}else if(hasBackspaceKey&&keyboardConfig&&keyboardOpts.isBack&&isEnableConf(editConfig)&&(selectRow||selectColumn)){if(!isEditStatus){const{backMethod}=keyboardOpts;// 如果是删除键
8345
+ if(keyboardOpts.isDel&&isEnableConf(editConfig)&&(selectRow||selectColumn)){const params={row:selectRow,rowIndex:$xeTable.getRowIndex(selectRow),$rowIndex:$xeTable.getVMRowIndex(selectRow),_rowIndex:$xeTable.getVTRowIndex(selectRow),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$columnIndex:$xeTable.getVMColumnIndex(selectColumn),_columnIndex:$xeTable.getVTColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
8335
8346
  if(!beforeEditMethod||beforeEditMethod(params)){if(backMethod){backMethod(params);}else{$xeTable.handleEdit(params,evnt,{isClear:true});}$xeTable.dispatchEvent('cell-backspace-value',params,evnt);}}}}else if(hasBackspaceKey&&keyboardConfig&&treeConfig&&keyboardOpts.isBack&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow){// 如果树形表格回退键关闭当前行返回父节点
8336
8347
  const{parent:parentRow}=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(internalData.afterTreeFullData,item=>item===currentRow,{children:childrenField});if(parentRow){evnt.preventDefault();const params={row:parentRow,rowIndex:$xeTable.getRowIndex(parentRow),$rowIndex:$xeTable.getVMRowIndex(parentRow),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};$xeTable.setTreeExpand(parentRow,false).then(()=>$xeTable.scrollToRow(parentRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}else if(keyboardConfig&&keyboardOpts.isUndoRedo&&isControlKey&&(isZ||isY)&&!hasEventInputTarget(evnt.target)){if(isY||hasShiftKey&&isZ){// 恢复被撤销的操作:Ctrl + Y 或 Ctrl + Shift + Z
8337
8348
  evnt.preventDefault();$xeTable.handleRedoStackEvent(evnt);}else if(isZ){// ‌撤销上一步操作‌:Ctrl + Z
8338
- evnt.preventDefault();$xeTable.handleUndoStackEvent(evnt);}}else if(keyboardConfig&&keyboardOpts.isEdit&&!isControlKey&&(isSpacebar||keyCode>=48&&keyCode<=57||keyCode>=65&&keyCode<=90||keyCode>=96&&keyCode<=111||keyCode>=186&&keyCode<=192||keyCode>=219&&keyCode<=222)){const{editMode,editMethod}=keyboardOpts;// 启用编辑后,空格键功能将失效
8349
+ evnt.preventDefault();$xeTable.handleUndoStackEvent(evnt);}}else if(keyboardConfig&&keyboardOpts.isEdit&&!isControlKey&&(isSpacebar||isProcess||keyCode>=48&&keyCode<=57||keyCode>=65&&keyCode<=90||keyCode>=96&&keyCode<=111||keyCode>=186&&keyCode<=192||keyCode>=219&&keyCode<=222)){const{editMode,editMethod}=keyboardOpts;// 启用编辑后,空格键功能将失效
8339
8350
  // if (isSpacebar) {
8340
8351
  // evnt.preventDefault()
8341
8352
  // }
8342
8353
  // 如果是按下非功能键之外允许直接编辑
8343
- if(selectColumn&&selected.row&&isEnableConf(selectColumn.editRender)){const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};if(!beforeEditMethod||beforeEditMethod(params)){if(editMethod){editMethod(params);}else{let isClearValue=false;// 追加方式与覆盖式
8354
+ if(selectColumn&&selectRow&&isEnableConf(selectColumn.editRender)){const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const params={row:selectRow,rowIndex:$xeTable.getRowIndex(selectRow),$rowIndex:$xeTable.getVMRowIndex(selectRow),_rowIndex:$xeTable.getVTRowIndex(selectRow),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$columnIndex:$xeTable.getVMColumnIndex(selectColumn),_columnIndex:$xeTable.getVTColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};if(!beforeEditMethod||beforeEditMethod(params)){if(editMethod){editMethod(params);}else{let isClearValue=false;// 追加方式与覆盖式
8344
8355
  if(editMode!=='insert'){isClearValue=true;}$xeTable.handleEdit(params,evnt,{isClear:isClearValue});}}}}$xeTable.dispatchEvent('keydown',{},evnt);});}},handleGlobalPasteEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handlePeClAreaEvent){$xeTable.handlePeClAreaEvent(evnt);}}$xeTable.dispatchEvent('paste',{},evnt);}},handleGlobalCopyEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCyClAreaEvent){$xeTable.handleCyClAreaEvent(evnt);}}$xeTable.dispatchEvent('copy',{},evnt);}},handleGlobalCutEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCutCellAreaEvent){$xeTable.handleCutCellAreaEvent(evnt);}}$xeTable.dispatchEvent('cut',{},evnt);}},handleGlobalResizeEvent(){const $xeTable=this;$xeTable.closeMenu();$xeTable.updateCellAreas();handleResizeEvent($xeTable);$xeTable.updateCellAreas();},handleUpdateHeaderMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeHeaderList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeHeaderList);internalData.mergeHeaderCellMaps=mergeMaps;internalData.mergeHeaderRowMaps=mergeRowMaps;internalData.mergeHeaderColMaps=mergeColMaps;reactData.mergeHeadFlag++;},/**
8345
8356
  * 处理合并
8346
8357
  */handleUpdateBodyMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeBodyList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeBodyList);internalData.mergeBodyCellMaps=mergeMaps;internalData.mergeBodyRowMaps=mergeRowMaps;internalData.mergeBodyColMaps=mergeColMaps;reactData.mergeBodyFlag++;},handleUpdateFooterMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeFooterList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeFooterList);internalData.mergeFooterCellMaps=mergeMaps;internalData.mergeFooterRowMaps=mergeRowMaps;internalData.mergeFooterColMaps=mergeColMaps;reactData.mergeFootFlag++;},handleAggregateSummaryData(){const $xeTable=this;return $xeTable.refreshAggregateCalcValues();},handleTargetLeaveEvent(){const $xeTable=this;const internalData=$xeTable;const tooltipOpts=$xeTable.computeTooltipOpts;let $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.setActived){$tooltip.setActived(false);}if(tooltipOpts.enterable){internalData.tooltipTimeout=setTimeout(()=>{$tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.isActived&&!$tooltip.isActived()){$xeTable.closeTooltip();}},tooltipOpts.leaveDelay);}else{$xeTable.closeTooltip();}},triggerHeaderTitleEvent(evnt,iconParams,params){const $xeTable=this;const reactData=$xeTable;const tipContent=iconParams.content||iconParams.message;if(tipContent){const{tooltipStore}=reactData;const{column}=params;const content=getFuncText(tipContent);handleTargetEnterEvent($xeTable,true);tooltipStore.row=null;tooltipStore.column=column;tooltipStore.visible=true;tooltipStore.currOpts=iconParams;$xeTable.$nextTick(()=>{const $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.open){$tooltip.open(evnt.currentTarget,content);}});}},/**
@@ -15580,6 +15591,7 @@ function handleEditActive($xeTable, params, evnt, options) {
15580
15591
  const props = $xeTable;
15581
15592
  const reactData = $xeTable;
15582
15593
  const $xeGrid = $xeTable.$xeGrid;
15594
+ const $xeGantt = $xeTable.$xeGantt;
15583
15595
  const {
15584
15596
  editConfig,
15585
15597
  mouseConfig
@@ -15610,7 +15622,10 @@ function handleEditActive($xeTable, params, evnt, options) {
15610
15622
  } = options;
15611
15623
  const cell = params.cell || $xeTable.getCellElement(row, column);
15612
15624
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
15613
- params.cell = cell;
15625
+ const editParams = {
15626
+ ...params,
15627
+ cell
15628
+ };
15614
15629
  if (cell && isEnableConf(editConfig) && isEnableConf(editRender)) {
15615
15630
  // 激活编辑
15616
15631
  if (!$xeTable.isPendingByRow(row) && !$xeTable.isAggregateRecord(row)) {
@@ -15618,9 +15633,10 @@ function handleEditActive($xeTable, params, evnt, options) {
15618
15633
  // 判断是否禁用编辑
15619
15634
  let type = 'edit-disabled';
15620
15635
  if (!beforeEditMethod || beforeEditMethod({
15621
- ...params,
15636
+ ...editParams,
15622
15637
  $table: $xeTable,
15623
- $grid: $xeGrid
15638
+ $grid: $xeGrid,
15639
+ $gantt: $xeGantt
15624
15640
  })) {
15625
15641
  if (mouseConfig) {
15626
15642
  $xeTable.clearSelected();
@@ -15635,7 +15651,7 @@ function handleEditActive($xeTable, params, evnt, options) {
15635
15651
  }
15636
15652
  type = 'edit-activated';
15637
15653
  column.renderHeight = cell.offsetHeight;
15638
- actived.args = params;
15654
+ actived.args = editParams;
15639
15655
  actived.row = row;
15640
15656
  actived.column = column;
15641
15657
  $xeTable.handlePushStack();
@@ -15650,13 +15666,14 @@ function handleEditActive($xeTable, params, evnt, options) {
15650
15666
  const afterEditMethod = editOpts.afterEditMethod;
15651
15667
  $xeTable.$nextTick(() => {
15652
15668
  if (isFocus) {
15653
- $xeTable.handleFocus(params, evnt);
15669
+ $xeTable.handleFocus(editParams, evnt);
15654
15670
  }
15655
15671
  if (afterEditMethod) {
15656
15672
  afterEditMethod({
15657
- ...params,
15673
+ ...editParams,
15658
15674
  $table: $xeTable,
15659
- $grid: $xeGrid
15675
+ $grid: $xeGrid,
15676
+ $gantt: $xeGantt
15660
15677
  });
15661
15678
  }
15662
15679
  });
@@ -15703,11 +15720,11 @@ function handleEditActive($xeTable, params, evnt, options) {
15703
15720
  }
15704
15721
  }
15705
15722
  column.renderHeight = cell.offsetHeight;
15706
- actived.args = params;
15723
+ actived.args = editParams;
15707
15724
  actived.column = column;
15708
15725
  if (isPos) {
15709
15726
  setTimeout(() => {
15710
- $xeTable.handleFocus(params, evnt);
15727
+ $xeTable.handleFocus(editParams, evnt);
15711
15728
  });
15712
15729
  }
15713
15730
  }
@@ -15735,8 +15752,12 @@ function handleEditCell($xeTable, row, fieldOrColumn, options) {
15735
15752
  handleEditActive($xeTable, {
15736
15753
  row,
15737
15754
  rowIndex: $xeTable.getRowIndex(row),
15755
+ $rowIndex: $xeTable.getVMRowIndex(row),
15756
+ _rowIndex: $xeTable.getVTRowIndex(row),
15738
15757
  column,
15739
15758
  columnIndex: $xeTable.getColumnIndex(column),
15759
+ $columnIndex: $xeTable.getVMColumnIndex(column),
15760
+ _columnIndex: $xeTable.getVTColumnIndex(column),
15740
15761
  cell,
15741
15762
  $table: $xeTable
15742
15763
  }, null, options);
@@ -16205,37 +16226,35 @@ function handleEditCell($xeTable, row, fieldOrColumn, options) {
16205
16226
  } = reactData;
16206
16227
  return editStore.actived.row === row;
16207
16228
  },
16208
- /**
16209
- * 处理聚焦
16210
- */
16211
- handleFocus(params) {
16229
+ handleCellFocus(cell, params) {
16212
16230
  const $xeTable = this;
16231
+ const props = $xeTable;
16213
16232
  const {
16214
- row,
16215
- column,
16216
- cell
16233
+ editConfig
16234
+ } = props;
16235
+ const {
16236
+ column
16217
16237
  } = params;
16218
16238
  const {
16219
16239
  editRender
16220
16240
  } = column;
16221
16241
  const editOpts = $xeTable.computeEditOpts;
16222
- if (isEnableConf(editRender)) {
16223
- const browseObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();
16242
+ if (editConfig && isEnableConf(editRender)) {
16224
16243
  const compRender = edit_mixin_renderer.get(editRender.name);
16225
16244
  let autoFocus = editRender.autofocus || editRender.autoFocus;
16226
16245
  let autoSelect = editRender.autoSelect || editRender.autoselect;
16227
- let inputElem;
16246
+ let inputElem = null;
16228
16247
  // 是否启用聚焦
16229
16248
  if (editOpts.autoFocus) {
16230
16249
  if (!autoFocus && compRender) {
16231
- autoFocus = compRender.tableAutoFocus || compRender.tableAutofocus || compRender.autoFocus || compRender.autofocus;
16250
+ autoFocus = compRender.tableAutoFocus || compRender.tableAutofocus || compRender.autofocus;
16232
16251
  }
16233
16252
  if (!autoSelect && compRender) {
16234
- autoSelect = compRender.tableAutoSelect || compRender.autoSelect || compRender.autoselect;
16253
+ autoSelect = compRender.tableAutoSelect || compRender.autoselect;
16235
16254
  }
16236
16255
  // 如果指定了聚焦 class
16237
16256
  if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(autoFocus)) {
16238
- inputElem = autoFocus.call($xeTable, params);
16257
+ inputElem = autoFocus(params);
16239
16258
  } else if (autoFocus) {
16240
16259
  if (autoFocus === true) {
16241
16260
  // 自动匹配模式,会自动匹配第一个可输入元素
@@ -16248,6 +16267,28 @@ function handleEditCell($xeTable, row, fieldOrColumn, options) {
16248
16267
  }
16249
16268
  }
16250
16269
  }
16270
+ return inputElem;
16271
+ }
16272
+ return null;
16273
+ },
16274
+ /**
16275
+ * 处理聚焦
16276
+ */
16277
+ handleFocus(params) {
16278
+ const $xeTable = this;
16279
+ const {
16280
+ row,
16281
+ column,
16282
+ cell
16283
+ } = params;
16284
+ const {
16285
+ editRender
16286
+ } = column;
16287
+ const editOpts = $xeTable.computeEditOpts;
16288
+ if (isEnableConf(editRender)) {
16289
+ const browseObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();
16290
+ const autoSelect = editRender.autoSelect || editRender.autoselect;
16291
+ const inputElem = $xeTable.handleCellFocus(cell, params);
16251
16292
  if (inputElem) {
16252
16293
  if (autoSelect) {
16253
16294
  inputElem.select();
@@ -16330,13 +16371,18 @@ function handleEditCell($xeTable, row, fieldOrColumn, options) {
16330
16371
  if (rowIndex > -1) {
16331
16372
  const cell = $xeTable.getCellElement(row, column);
16332
16373
  const params = {
16374
+ $table: $xeTable,
16333
16375
  row,
16334
16376
  rowIndex,
16377
+ $rowIndex: $xeTable.getVMRowIndex(row),
16378
+ _rowIndex: $xeTable.getVTRowIndex(row),
16335
16379
  column,
16336
16380
  columnIndex: $xeTable.getColumnIndex(column),
16381
+ $columnIndex: $xeTable.getVMColumnIndex(column),
16382
+ _columnIndex: $xeTable.getVTColumnIndex(column),
16337
16383
  cell
16338
16384
  };
16339
- $xeTable.handleSelected(params, {});
16385
+ $xeTable.handleSelected(params, null);
16340
16386
  }
16341
16387
  }
16342
16388
  return $xeTable.$nextTick();
@@ -16349,7 +16395,8 @@ function handleEditCell($xeTable, row, fieldOrColumn, options) {
16349
16395
  const props = $xeTable;
16350
16396
  const reactData = $xeTable;
16351
16397
  const {
16352
- mouseConfig
16398
+ mouseConfig,
16399
+ editConfig
16353
16400
  } = props;
16354
16401
  const {
16355
16402
  editStore
@@ -16381,6 +16428,19 @@ function handleEditCell($xeTable, row, fieldOrColumn, options) {
16381
16428
  $xeTable.addCellSelectedClass();
16382
16429
  }
16383
16430
  $xeTable.focus();
16431
+ // 如果是支持可复用控件
16432
+ if (editConfig && editOpts.isReuseKeep && isEnableConf(editOpts) && isEnableConf(column.editRender)) {
16433
+ setTimeout(() => {
16434
+ const cell = $xeTable.getCellElement(row, column);
16435
+ if (cell) {
16436
+ const hasReusekeep = cell.querySelector('.vxe-reusekeep-control');
16437
+ if (hasReusekeep) {
16438
+ params.cell = cell;
16439
+ $xeTable.handleCellFocus(cell, params);
16440
+ }
16441
+ }
16442
+ }, 0);
16443
+ }
16384
16444
  if (evnt) {
16385
16445
  $xeTable.dispatchEvent('cell-selected', params, evnt);
16386
16446
  }
@@ -19293,8 +19353,8 @@ function handleCheckboxRangeEvent($xeTable, evnt, params) {
19293
19353
  const checkboxOpts = $xeTable.computeCheckboxOpts;
19294
19354
  const mouseOpts = $xeTable.computeMouseOpts;
19295
19355
  const editOpts = $xeTable.computeEditOpts;
19296
- if (mouseConfig && mouseOpts.area && $xeTable.triggerCelllAreaMnEvent) {
19297
- return $xeTable.triggerCelllAreaMnEvent(evnt, params);
19356
+ if (mouseConfig && mouseOpts.area && $xeTable.triggerClAreaMnEvent) {
19357
+ return $xeTable.triggerClAreaMnEvent(evnt, params);
19298
19358
  } else {
19299
19359
  if (checkboxConfig && checkboxOpts.range) {
19300
19360
  handleCheckboxRangeEvent($xeTable, evnt, params);
@@ -22521,7 +22581,7 @@ function renderBody(h, $xeTable) {
22521
22581
  if (rowOpts.height && !this.showOverflow) {
22522
22582
  table_warnLog('vxe.error.notProp', ['table.show-overflow']);
22523
22583
  }
22524
- if (!$xeTable.triggerCelllAreaMnEvent) {
22584
+ if (!$xeTable.triggerClAreaMnEvent) {
22525
22585
  if (props.areaConfig) {
22526
22586
  table_warnLog('vxe.error.notProp', ['area-config']);
22527
22587
  }
@@ -26392,6 +26452,7 @@ var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpac
26392
26452
 
26393
26453
 
26394
26454
 
26455
+
26395
26456
  const {
26396
26457
  errLog: render_errLog
26397
26458
  } = createComponentLog('table');
@@ -26504,6 +26565,7 @@ function getCellLabelVNs(h, renderOpts, params, cellLabel, opts) {
26504
26565
  placeholder
26505
26566
  } = renderOpts;
26506
26567
  return [h('span', {
26568
+ key: 1,
26507
26569
  class: ['vxe-cell--label', opts ? opts.class : '']
26508
26570
  }, placeholder && isEmptyValue(cellLabel) ? [h('span', {
26509
26571
  class: 'vxe-cell--placeholder'
@@ -26789,26 +26851,38 @@ function getNativeFilterOns(renderOpts, params, option) {
26789
26851
  }
26790
26852
  });
26791
26853
  }
26854
+ function nativeInputCellRender(h, renderOpts, renderParams) {
26855
+ const {
26856
+ row,
26857
+ column
26858
+ } = renderParams;
26859
+ const cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
26860
+ const cellVNs = [h('span', {
26861
+ key: 1
26862
+ }, cellValue)];
26863
+ return getNativeInputRenderCellVNs(h, cellValue, cellVNs, renderOpts, renderParams);
26864
+ }
26792
26865
  /**
26793
26866
  * 单元格可编辑渲染-原生的标签
26794
- * input、textarea、select
26867
+ * input、textarea
26795
26868
  */
26796
- function nativeEditRender(h, renderOpts, params) {
26869
+ function nativeInputEditRender(h, renderOpts, renderParams) {
26797
26870
  const {
26798
26871
  row,
26799
26872
  column
26800
- } = params;
26873
+ } = renderParams;
26801
26874
  const {
26802
26875
  name
26803
26876
  } = renderOpts;
26804
- const cellValue = isImmediateCell(renderOpts, params) ? getCellValue(row, column) : column.model.value;
26805
- return [h(`${name}`, {
26877
+ const cellValue = isImmediateCell(renderOpts, renderParams) ? getCellValue(row, column) : column.model.value;
26878
+ return [h('' + name, {
26879
+ key: 2,
26806
26880
  class: `vxe-default-${name}`,
26807
26881
  attrs: getNativeAttrs(renderOpts),
26808
26882
  domProps: {
26809
26883
  value: cellValue
26810
26884
  },
26811
- on: getNativeEditOns(renderOpts, params)
26885
+ on: getNativeEditOns(renderOpts, renderParams)
26812
26886
  })];
26813
26887
  }
26814
26888
  function buttonCellRender(h, renderOpts, params) {
@@ -26817,6 +26891,18 @@ function buttonCellRender(h, renderOpts, params) {
26817
26891
  on: getComponentOns(renderOpts, params)
26818
26892
  })];
26819
26893
  }
26894
+ function defaultInputEditRender(h, renderOpts, params) {
26895
+ const {
26896
+ row,
26897
+ column
26898
+ } = params;
26899
+ const cellValue = getCellValue(row, column);
26900
+ return [h(getDefaultComponent(renderOpts), {
26901
+ key: 2,
26902
+ props: getCellEditProps(renderOpts, params, cellValue),
26903
+ on: getEditOns(renderOpts, params)
26904
+ })];
26905
+ }
26820
26906
  function defaultEditRender(h, renderOpts, params) {
26821
26907
  const {
26822
26908
  row,
@@ -27196,19 +27282,14 @@ function handleExportTreeSelectMethod(params) {
27196
27282
  } = params;
27197
27283
  return options.original ? getCellValue(row, column) : getTreeSelectCellValue(column.editRender || column.cellRender, params);
27198
27284
  }
27199
- function handleNumberCell(h, renderOpts, params) {
27285
+ function handleNumberCell(h, cellValue, renderOpts, params) {
27200
27286
  const {
27201
27287
  props = {},
27202
27288
  showNegativeStatus
27203
27289
  } = renderOpts;
27204
- const {
27205
- row,
27206
- column
27207
- } = params;
27208
27290
  const {
27209
27291
  type
27210
27292
  } = props;
27211
- let cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
27212
27293
  let isNegative = false;
27213
27294
  if (!isEmptyValue(cellValue)) {
27214
27295
  const numberInputConfig = render_getConfig().numberInput || {};
@@ -27382,20 +27463,121 @@ function handleSetTreeSelectValue(renderOpts, params) {
27382
27463
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, field, cellValue);
27383
27464
  }
27384
27465
  }
27466
+ function getNativeInputRenderCellVNs(h, cellValue, labelVNs, renderOpts, renderParams) {
27467
+ const {
27468
+ $table,
27469
+ row,
27470
+ column
27471
+ } = renderParams;
27472
+ const {
27473
+ name
27474
+ } = renderOpts;
27475
+ const tableProps = $table;
27476
+ const {
27477
+ editConfig,
27478
+ mouseConfig
27479
+ } = tableProps;
27480
+ let isColSelected = false;
27481
+ let isActiveCellArea = false;
27482
+ if (editConfig && mouseConfig) {
27483
+ const tableReactData = $table;
27484
+ const {
27485
+ editStore
27486
+ } = tableReactData;
27487
+ const {
27488
+ selected
27489
+ } = editStore;
27490
+ isColSelected = row === selected.row && column === selected.column;
27491
+ if ($table.getActiveCellArea) {
27492
+ const activeCellArea = $table.getActiveCellArea();
27493
+ if (activeCellArea) {
27494
+ isActiveCellArea = row === activeCellArea.row && column === activeCellArea.column;
27495
+ }
27496
+ }
27497
+ }
27498
+ const cellVNs = labelVNs;
27499
+ if (isActiveCellArea || isColSelected) {
27500
+ cellVNs.push(h('' + name, {
27501
+ key: 2,
27502
+ class: `vxe-default-${name} vxe-reusekeep-control`,
27503
+ attrs: getNativeAttrs(renderOpts),
27504
+ domProps: {
27505
+ value: cellValue
27506
+ },
27507
+ on: getNativeEditOns(renderOpts, renderParams)
27508
+ }));
27509
+ }
27510
+ return cellVNs;
27511
+ }
27512
+ function getInputRenderCellVNs(h, cellValue, labelVNs, renderOpts, renderParams) {
27513
+ const {
27514
+ $table,
27515
+ row,
27516
+ column
27517
+ } = renderParams;
27518
+ const tableProps = $table;
27519
+ const {
27520
+ editConfig,
27521
+ mouseConfig
27522
+ } = tableProps;
27523
+ let isColSelected = false;
27524
+ let isActiveCellArea = false;
27525
+ if (editConfig && mouseConfig) {
27526
+ const tableReactData = $table;
27527
+ const {
27528
+ editStore
27529
+ } = tableReactData;
27530
+ const editOpts = $table.computeEditOpts;
27531
+ if (editOpts.isReuseKeep) {
27532
+ const {
27533
+ selected
27534
+ } = editStore;
27535
+ isColSelected = row === selected.row && column === selected.column;
27536
+ if ($table.getActiveCellArea) {
27537
+ const activeCellArea = $table.getActiveCellArea();
27538
+ if (activeCellArea) {
27539
+ isActiveCellArea = row === activeCellArea.row && column === activeCellArea.column;
27540
+ }
27541
+ }
27542
+ }
27543
+ }
27544
+ const cellVNs = labelVNs;
27545
+ if (isActiveCellArea || isColSelected) {
27546
+ const compProps = getCellEditProps(renderOpts, renderParams, cellValue);
27547
+ const {
27548
+ className,
27549
+ inputClassName
27550
+ } = compProps;
27551
+ cellVNs.push(h(getDefaultComponent(renderOpts), {
27552
+ key: 2,
27553
+ props: {
27554
+ ...compProps,
27555
+ className: 'vxe-reusekeep-control' + (className ? ' ' + className : ''),
27556
+ inputClassName: 'vxe-reusekeep-control' + (inputClassName ? ' ' + inputClassName : '')
27557
+ },
27558
+ on: getEditOns(renderOpts, renderParams)
27559
+ }));
27560
+ }
27561
+ return cellVNs;
27562
+ }
27385
27563
  /**
27386
27564
  * 表格 - 渲染器
27387
27565
  */
27388
27566
  render_renderer.mixin({
27389
27567
  input: {
27390
27568
  tableAutoFocus: true,
27391
- renderTableEdit: nativeEditRender,
27392
- renderTableDefault: nativeEditRender,
27569
+ renderTableEdit: nativeInputEditRender,
27570
+ renderTableCell: nativeInputCellRender,
27571
+ renderTableDefault: nativeInputEditRender,
27572
+ createTableFilterOptions: defaultFilterOptions,
27393
27573
  renderTableFilter: nativeFilterRender,
27394
27574
  tableFilterDefaultMethod: handleInputFilterMethod
27395
27575
  },
27396
27576
  textarea: {
27397
27577
  tableAutoFocus: true,
27398
- renderTableEdit: nativeEditRender
27578
+ renderTableEdit: nativeInputEditRender,
27579
+ renderTableCell: nativeInputCellRender,
27580
+ renderTableDefault: nativeInputEditRender
27399
27581
  },
27400
27582
  select: {
27401
27583
  renderTableEdit: nativeSelectEditRender,
@@ -27457,15 +27639,15 @@ render_renderer.mixin({
27457
27639
  },
27458
27640
  VxeInput: {
27459
27641
  tableAutoFocus: true,
27460
- renderTableEdit: defaultEditRender,
27461
- renderTableCell(h, renderOpts, params) {
27642
+ renderTableEdit: defaultInputEditRender,
27643
+ renderTableCell(h, renderOpts, renderParams) {
27462
27644
  const {
27463
27645
  props = {}
27464
27646
  } = renderOpts;
27465
27647
  const {
27466
27648
  row,
27467
27649
  column
27468
- } = params;
27650
+ } = renderParams;
27469
27651
  const inputConfig = render_getConfig().input || {};
27470
27652
  const digits = props.digits || inputConfig.digits || 2;
27471
27653
  let cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
@@ -27483,16 +27665,24 @@ render_renderer.mixin({
27483
27665
  break;
27484
27666
  }
27485
27667
  }
27486
- return getCellLabelVNs(h, renderOpts, params, cellValue);
27668
+ const cellVNs = getCellLabelVNs(h, renderOpts, renderParams, cellValue);
27669
+ return getInputRenderCellVNs(h, cellValue, cellVNs, renderOpts, renderParams);
27487
27670
  },
27488
- renderTableDefault: defaultEditRender,
27671
+ renderTableDefault: defaultInputEditRender,
27489
27672
  createTableFilterOptions: defaultFilterOptions,
27490
27673
  renderTableFilter: defaultFilterRender,
27491
27674
  renderTableFloatingFilter: defaultFloatingFilterRender,
27492
27675
  tableFilterDefaultMethod: handleInputFilterMethod
27493
27676
  },
27494
27677
  FormatNumberInput: {
27495
- renderTableDefault: handleNumberCell,
27678
+ renderTableDefault(h, renderOpts, renderParams) {
27679
+ const {
27680
+ row,
27681
+ column
27682
+ } = renderParams;
27683
+ const cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
27684
+ return handleNumberCell(h, cellValue, renderOpts, renderParams);
27685
+ },
27496
27686
  tableFilterDefaultMethod({
27497
27687
  option,
27498
27688
  row,
@@ -27516,8 +27706,16 @@ render_renderer.mixin({
27516
27706
  },
27517
27707
  VxeNumberInput: {
27518
27708
  tableAutoFocus: true,
27519
- renderTableEdit: defaultEditRender,
27520
- renderTableCell: handleNumberCell,
27709
+ renderTableEdit: defaultInputEditRender,
27710
+ renderTableCell(h, renderOpts, renderParams) {
27711
+ const {
27712
+ row,
27713
+ column
27714
+ } = renderParams;
27715
+ const cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
27716
+ const cellVNs = handleNumberCell(h, cellValue, renderOpts, renderParams);
27717
+ return getInputRenderCellVNs(h, cellValue, cellVNs, renderOpts, renderParams);
27718
+ },
27521
27719
  renderTableFooter(h, renderOpts, params) {
27522
27720
  const {
27523
27721
  props = {}
@@ -27564,7 +27762,7 @@ render_renderer.mixin({
27564
27762
  }
27565
27763
  return getFuncText(itemValue, 1);
27566
27764
  },
27567
- renderTableDefault: defaultEditRender,
27765
+ renderTableDefault: defaultInputEditRender,
27568
27766
  createTableFilterOptions: defaultFilterOptions,
27569
27767
  renderTableFilter: defaultFilterRender,
27570
27768
  renderTableFloatingFilter: defaultFloatingFilterRender,
@@ -27748,8 +27946,17 @@ render_renderer.mixin({
27748
27946
  },
27749
27947
  VxeTextarea: {
27750
27948
  tableAutoFocus: true,
27751
- renderTableDefault: defaultEditRender,
27752
- renderTableEdit: defaultEditRender
27949
+ renderTableDefault: defaultInputEditRender,
27950
+ renderTableCell(h, renderOpts, renderParams) {
27951
+ const {
27952
+ row,
27953
+ column
27954
+ } = renderParams;
27955
+ const cellValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
27956
+ const cellVNs = getCellLabelVNs(h, renderOpts, renderParams, cellValue);
27957
+ return getInputRenderCellVNs(h, cellValue, cellVNs, renderOpts, renderParams);
27958
+ },
27959
+ renderTableEdit: defaultInputEditRender
27753
27960
  },
27754
27961
  VxeButton: {
27755
27962
  renderTableDefault: buttonCellRender