vxe-table 3.8.19 → 3.8.21

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 (65) hide show
  1. package/lib/custom/src/panel.js +2 -1
  2. package/lib/custom/src/panel.min.js +1 -1
  3. package/lib/edit/src/mixin.js +11 -11
  4. package/lib/edit/src/mixin.min.js +1 -1
  5. package/lib/export/src/mixin.js +15 -9
  6. package/lib/export/src/mixin.min.js +1 -1
  7. package/lib/form/src/form-config-item.js +16 -6
  8. package/lib/form/src/form-config-item.min.js +1 -1
  9. package/lib/form/src/form-item.js +24 -6
  10. package/lib/form/src/form-item.min.js +1 -1
  11. package/lib/form/src/form.js +24 -10
  12. package/lib/form/src/form.min.js +1 -1
  13. package/lib/form/src/util.js +2 -0
  14. package/lib/form/src/util.min.js +1 -1
  15. package/lib/form/style/style.css +6 -4
  16. package/lib/form/style/style.min.css +1 -1
  17. package/lib/grid/src/grid.js +17 -12
  18. package/lib/grid/src/grid.min.js +1 -1
  19. package/lib/icon/style/style.css +1 -1
  20. package/lib/icon/style/style.min.css +1 -1
  21. package/lib/index.css +1 -1
  22. package/lib/index.umd.js +285 -184
  23. package/lib/index.umd.min.js +1 -1
  24. package/lib/input/src/input.js +2 -1
  25. package/lib/input/src/input.min.js +1 -1
  26. package/lib/style.css +1 -1
  27. package/lib/style.min.css +1 -1
  28. package/lib/table/src/methods.js +77 -42
  29. package/lib/table/src/methods.min.js +1 -1
  30. package/lib/table/src/table.js +9 -4
  31. package/lib/table/src/table.min.js +1 -1
  32. package/lib/textarea/src/textarea.js +4 -1
  33. package/lib/textarea/src/textarea.min.js +1 -1
  34. package/lib/tools/log.js +1 -1
  35. package/lib/tools/log.min.js +1 -1
  36. package/lib/v-x-e-table/index.js +1 -1
  37. package/lib/v-x-e-table/index.min.js +1 -1
  38. package/lib/v-x-e-table/src/conf.js +2 -1
  39. package/lib/v-x-e-table/src/conf.min.js +1 -1
  40. package/lib/v-x-e-table/src/renderer.js +78 -78
  41. package/lib/v-x-e-table/src/renderer.min.js +1 -1
  42. package/lib/vxe-form/style/style.css +6 -4
  43. package/lib/vxe-form/style/style.min.css +1 -1
  44. package/package.json +1 -1
  45. package/packages/custom/src/panel.js +2 -1
  46. package/packages/edit/src/mixin.js +11 -10
  47. package/packages/export/src/mixin.js +11 -7
  48. package/packages/form/src/form-config-item.js +14 -7
  49. package/packages/form/src/form-item.js +22 -7
  50. package/packages/form/src/form.js +14 -10
  51. package/packages/form/src/util.js +2 -0
  52. package/packages/grid/src/grid.js +14 -9
  53. package/packages/input/src/input.js +2 -1
  54. package/packages/table/src/methods.js +67 -30
  55. package/packages/table/src/table.js +6 -2
  56. package/packages/textarea/src/textarea.js +4 -1
  57. package/packages/v-x-e-table/src/conf.js +2 -1
  58. package/packages/v-x-e-table/src/renderer.js +78 -78
  59. package/styles/form.scss +6 -4
  60. /package/lib/icon/style/{iconfont.1723091290878.ttf → iconfont.1724212116436.ttf} +0 -0
  61. /package/lib/icon/style/{iconfont.1723091290878.woff → iconfont.1724212116436.woff} +0 -0
  62. /package/lib/icon/style/{iconfont.1723091290878.woff2 → iconfont.1724212116436.woff2} +0 -0
  63. /package/lib/{iconfont.1723091290878.ttf → iconfont.1724212116436.ttf} +0 -0
  64. /package/lib/{iconfont.1723091290878.woff → iconfont.1724212116436.woff} +0 -0
  65. /package/lib/{iconfont.1723091290878.woff2 → iconfont.1724212116436.woff2} +0 -0
@@ -1437,6 +1437,11 @@ var Methods = {
1437
1437
  var fullColumnFieldData = this.fullColumnFieldData;
1438
1438
  return fullColumnFieldData[field] ? fullColumnFieldData[field].column : null;
1439
1439
  },
1440
+ getParentColumn: function getParentColumn(fieldOrColumn) {
1441
+ var fullColumnIdData = this.fullColumnIdData;
1442
+ var column = (0, _util.handleFieldOrColumn)(this, fieldOrColumn);
1443
+ return column && column.parentId && fullColumnIdData[column.parentId] ? fullColumnIdData[column.parentId].column : null;
1444
+ },
1440
1445
  /**
1441
1446
  * 获取当前表格的列
1442
1447
  * 收集到的全量列、全量表头列、处理条件之后的全量表头列、当前渲染中的表头列
@@ -2380,6 +2385,7 @@ var Methods = {
2380
2385
  var resizeList = [];
2381
2386
  var pxList = [];
2382
2387
  var pxMinList = [];
2388
+ var autoMinList = [];
2383
2389
  var scaleList = [];
2384
2390
  var scaleMinList = [];
2385
2391
  var autoList = [];
@@ -2402,6 +2408,8 @@ var Methods = {
2402
2408
  scaleList.push(column);
2403
2409
  } else if (_dom.default.isPx(column.minWidth)) {
2404
2410
  pxMinList.push(column);
2411
+ } else if (column.minWidth === 'auto') {
2412
+ autoMinList.push(column);
2405
2413
  } else if (_dom.default.isScale(column.minWidth)) {
2406
2414
  scaleMinList.push(column);
2407
2415
  } else {
@@ -2413,6 +2421,7 @@ var Methods = {
2413
2421
  resizeList: resizeList,
2414
2422
  pxList: pxList,
2415
2423
  pxMinList: pxMinList,
2424
+ autoMinList: autoMinList,
2416
2425
  scaleList: scaleList,
2417
2426
  scaleMinList: scaleMinList,
2418
2427
  autoList: autoList,
@@ -2498,11 +2507,11 @@ var Methods = {
2498
2507
  var cellStyle = getComputedStyle(firstCellEl);
2499
2508
  paddingSize = Math.floor(_xeUtils.default.toNumber(cellStyle.paddingLeft) + _xeUtils.default.toNumber(cellStyle.paddingRight)) + 2;
2500
2509
  }
2501
- var colWidth = column.renderAutoWidth - paddingSize + 2;
2510
+ var colWidth = column.renderAutoWidth - paddingSize;
2502
2511
  _xeUtils.default.arrayEach(cellElList, function (cellEl) {
2503
2512
  var labelEl = cellEl.firstChild;
2504
2513
  if (labelEl) {
2505
- colWidth = Math.max(colWidth, labelEl.offsetWidth);
2514
+ colWidth = Math.max(colWidth, Math.ceil(labelEl.offsetWidth) + 4);
2506
2515
  }
2507
2516
  });
2508
2517
  column.renderAutoWidth = colWidth + paddingSize;
@@ -2533,6 +2542,7 @@ var Methods = {
2533
2542
  var resizeList = columnStore.resizeList,
2534
2543
  pxMinList = columnStore.pxMinList,
2535
2544
  pxList = columnStore.pxList,
2545
+ autoMinList = columnStore.autoMinList,
2536
2546
  scaleList = columnStore.scaleList,
2537
2547
  scaleMinList = columnStore.scaleMinList,
2538
2548
  autoList = columnStore.autoList,
@@ -2543,6 +2553,12 @@ var Methods = {
2543
2553
  tableWidth += minWidth;
2544
2554
  column.renderWidth = minWidth;
2545
2555
  });
2556
+ // 最小自适应
2557
+ autoMinList.forEach(function (column) {
2558
+ var scaleWidth = Math.max(60, _xeUtils.default.toInteger(column.renderAutoWidth));
2559
+ tableWidth += scaleWidth;
2560
+ column.renderWidth = scaleWidth;
2561
+ });
2546
2562
  // 最小百分比
2547
2563
  scaleMinList.forEach(function (column) {
2548
2564
  var scaleWidth = Math.floor(parseInt(column.minWidth) * meanWidth);
@@ -2574,10 +2590,10 @@ var Methods = {
2574
2590
  column.renderWidth = width;
2575
2591
  });
2576
2592
  remainWidth -= tableWidth;
2577
- meanWidth = remainWidth > 0 ? Math.floor(remainWidth / (scaleMinList.length + pxMinList.length + remainList.length)) : 0;
2593
+ meanWidth = remainWidth > 0 ? Math.floor(remainWidth / (scaleMinList.length + pxMinList.length + autoMinList.length + remainList.length)) : 0;
2578
2594
  if (fit) {
2579
2595
  if (remainWidth > 0) {
2580
- scaleMinList.concat(pxMinList).forEach(function (column) {
2596
+ scaleMinList.concat(pxMinList).concat(autoMinList).forEach(function (column) {
2581
2597
  tableWidth += meanWidth;
2582
2598
  column.renderWidth += meanWidth;
2583
2599
  });
@@ -2596,7 +2612,7 @@ var Methods = {
2596
2612
  * 偏移量算法
2597
2613
  * 如果所有列足够放的情况下,从最后动态列开始分配
2598
2614
  */
2599
- var dynamicList = scaleList.concat(scaleMinList).concat(pxMinList).concat(remainList);
2615
+ var dynamicList = scaleList.concat(scaleMinList).concat(pxMinList).concat(autoMinList).concat(remainList);
2600
2616
  var dynamicSize = dynamicList.length - 1;
2601
2617
  if (dynamicSize > 0) {
2602
2618
  var odiffer = bodyWidth - tableWidth;
@@ -3208,7 +3224,7 @@ var Methods = {
3208
3224
  var isUpArrow = keyCode === 38;
3209
3225
  var isRightArrow = keyCode === 39;
3210
3226
  var isDwArrow = keyCode === 40;
3211
- var isDel = keyCode === 46;
3227
+ var hasDeleteKey = keyCode === 46;
3212
3228
  var isF2 = keyCode === 113;
3213
3229
  var isContextMenu = keyCode === 93;
3214
3230
  var hasMetaKey = evnt.metaKey;
@@ -3219,6 +3235,7 @@ var Methods = {
3219
3235
  var operCtxMenu = isCtxMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
3220
3236
  var isEditStatus = (0, _utils.isEnableConf)(editConfig) && actived.column && actived.row;
3221
3237
  var childrenField = treeOpts.children || treeOpts.childrenField;
3238
+ var beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
3222
3239
  var params;
3223
3240
  if (filterStore.visible) {
3224
3241
  if (isEsc) {
@@ -3326,25 +3343,43 @@ var Methods = {
3326
3343
  } else if (actived.row || actived.column) {
3327
3344
  _this31.moveTabSelected(actived.args, hasShiftKey, evnt);
3328
3345
  }
3329
- } else if (keyboardConfig && (treeConfig || (0, _utils.isEnableConf)(editConfig)) && (isDel || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow ? hasBackspaceKey && keyboardOpts.isArrow : hasBackspaceKey))) {
3346
+ } else if (keyboardConfig && keyboardOpts.isDel && hasDeleteKey && (0, _utils.isEnableConf)(editConfig) && (selected.row || selected.column)) {
3347
+ // 如果是删除键
3330
3348
  if (!isEditStatus) {
3331
- var delMethod = keyboardOpts.delMethod,
3332
- backMethod = keyboardOpts.backMethod;
3349
+ var delMethod = keyboardOpts.delMethod;
3350
+ var delPaqrams = {
3351
+ row: selected.row,
3352
+ rowIndex: _this31.getRowIndex(selected.row),
3353
+ column: selected.column,
3354
+ columnIndex: _this31.getColumnIndex(selected.column),
3355
+ $table: _this31
3356
+ };
3357
+ // 是否被禁用
3358
+ if (!beforeEditMethod || beforeEditMethod(params)) {
3359
+ if (delMethod) {
3360
+ delMethod(delPaqrams);
3361
+ } else {
3362
+ setCellValue(selected.row, selected.column, null);
3363
+ }
3364
+ // 如果按下 del 键,更新表尾数据
3365
+ _this31.updateFooter();
3366
+ _this31.emitEvent('cell-delete-value', delPaqrams, evnt);
3367
+ }
3368
+ }
3369
+ } else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && (0, _utils.isEnableConf)(editConfig) && (selected.row || selected.column)) {
3370
+ if (!isEditStatus) {
3371
+ var backMethod = keyboardOpts.backMethod;
3333
3372
  // 如果是删除键
3334
3373
  if (keyboardOpts.isDel && (0, _utils.isEnableConf)(editConfig) && (selected.row || selected.column)) {
3335
- var delPaqrams = {
3374
+ var _delPaqrams = {
3336
3375
  row: selected.row,
3337
3376
  rowIndex: _this31.getRowIndex(selected.row),
3338
3377
  column: selected.column,
3339
3378
  columnIndex: _this31.getColumnIndex(selected.column),
3340
3379
  $table: _this31
3341
3380
  };
3342
- if (delMethod) {
3343
- delMethod(delPaqrams);
3344
- } else {
3345
- setCellValue(selected.row, selected.column, null);
3346
- }
3347
- if (hasBackspaceKey) {
3381
+ // 是否被禁用
3382
+ if (!beforeEditMethod || beforeEditMethod(params)) {
3348
3383
  if (backMethod) {
3349
3384
  backMethod({
3350
3385
  row: selected.row,
@@ -3354,35 +3389,35 @@ var Methods = {
3354
3389
  $table: _this31
3355
3390
  });
3356
3391
  } else {
3392
+ setCellValue(selected.row, selected.column, null);
3357
3393
  _this31.handleActived(selected.args, evnt);
3358
3394
  }
3359
- } else if (isDel) {
3360
- // 如果按下 del 键,更新表尾数据
3361
- _this31.updateFooter();
3362
- }
3363
- _this31.emitEvent('cell-delete-value', delPaqrams, evnt);
3364
- } else if (hasBackspaceKey && keyboardOpts.isArrow && treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
3365
- // 如果树形表格回退键关闭当前行返回父节点
3366
- var _XEUtils$findTree = _xeUtils.default.findTree(_this31.afterFullData, function (item) {
3367
- return item === currentRow;
3368
- }, {
3369
- children: childrenField
3370
- }),
3371
- parentRow = _XEUtils$findTree.parent;
3372
- if (parentRow) {
3373
- evnt.preventDefault();
3374
- params = {
3375
- $table: _this31,
3376
- row: parentRow
3377
- };
3378
- _this31.setTreeExpand(parentRow, false).then(function () {
3379
- return _this31.scrollToRow(parentRow);
3380
- }).then(function () {
3381
- return _this31.triggerCurrentRowEvent(evnt, params);
3382
- });
3395
+ _this31.emitEvent('cell-backspace-value', _delPaqrams, evnt);
3383
3396
  }
3384
3397
  }
3385
3398
  }
3399
+ } else if (hasBackspaceKey && keyboardConfig && treeConfig && keyboardOpts.isBack && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
3400
+ // 如果树形表格回退键关闭当前行返回父节点
3401
+ var _XEUtils$findTree = _xeUtils.default.findTree(_this31.afterTreeFullData, function (item) {
3402
+ return item === currentRow;
3403
+ }, {
3404
+ children: childrenField
3405
+ }),
3406
+ parentRow = _XEUtils$findTree.parent;
3407
+ if (parentRow) {
3408
+ evnt.preventDefault();
3409
+ params = {
3410
+ $table: _this31,
3411
+ row: parentRow,
3412
+ rowIndex: _this31.getRowIndex(parentRow),
3413
+ $rowIndex: _this31.getVMRowIndex(parentRow)
3414
+ };
3415
+ _this31.setTreeExpand(parentRow, false).then(function () {
3416
+ return _this31.scrollToRow(parentRow);
3417
+ }).then(function () {
3418
+ return _this31.triggerCurrentRowEvent(evnt, params);
3419
+ });
3420
+ }
3386
3421
  } else if (keyboardConfig && keyboardOpts.isEdit && !hasCtrlKey && !hasMetaKey && (isSpacebar || keyCode >= 48 && keyCode <= 57 || keyCode >= 65 && keyCode <= 90 || keyCode >= 96 && keyCode <= 111 || keyCode >= 186 && keyCode <= 192 || keyCode >= 219 && keyCode <= 222)) {
3387
3422
  var editMethod = keyboardOpts.editMethod;
3388
3423
  // 启用编辑后,空格键功能将失效
@@ -3391,8 +3426,8 @@ var Methods = {
3391
3426
  // }
3392
3427
  // 如果是按下非功能键之外允许直接编辑
3393
3428
  if (selected.column && selected.row && (0, _utils.isEnableConf)(selected.column.editRender)) {
3394
- var beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
3395
- if (!beforeEditMethod || beforeEditMethod(_objectSpread(_objectSpread({}, selected.args), {}, {
3429
+ var _beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
3430
+ if (!_beforeEditMethod || _beforeEditMethod(_objectSpread(_objectSpread({}, selected.args), {}, {
3396
3431
  $table: _this31,
3397
3432
  $grid: _this31.$xegrid
3398
3433
  }))) {