vxe-table 3.6.9 → 3.6.10-beta.1

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 (36) hide show
  1. package/lib/grid/src/grid.js +89 -22
  2. package/lib/grid/src/grid.min.js +1 -1
  3. package/lib/icon/style/{iconfont.1670947519373.ttf → iconfont.1676040570288.ttf} +0 -0
  4. package/lib/icon/style/{iconfont.1670947519373.woff → iconfont.1676040570288.woff} +0 -0
  5. package/lib/icon/style/{iconfont.1670947519373.woff2 → iconfont.1676040570288.woff2} +0 -0
  6. package/lib/icon/style/style.css +1 -1
  7. package/lib/icon/style/style.min.css +1 -1
  8. package/lib/{iconfont.1670947519373.ttf → iconfont.1676040570288.ttf} +0 -0
  9. package/lib/{iconfont.1670947519373.woff → iconfont.1676040570288.woff} +0 -0
  10. package/lib/{iconfont.1670947519373.woff2 → iconfont.1676040570288.woff2} +0 -0
  11. package/lib/index.css +1 -1
  12. package/lib/index.umd.js +245 -109
  13. package/lib/index.umd.min.js +1 -1
  14. package/lib/input/src/input.js +46 -8
  15. package/lib/input/src/input.min.js +1 -1
  16. package/lib/list/src/list.js +22 -16
  17. package/lib/list/src/list.min.js +1 -1
  18. package/lib/pager/src/pager.js +12 -11
  19. package/lib/pager/src/pager.min.js +1 -1
  20. package/lib/style.css +1 -1
  21. package/lib/style.min.css +1 -1
  22. package/lib/table/src/methods.js +67 -47
  23. package/lib/table/src/methods.min.js +1 -1
  24. package/lib/toolbar/src/toolbar.js +4 -2
  25. package/lib/toolbar/src/toolbar.min.js +1 -1
  26. package/lib/tools/log.js +1 -1
  27. package/lib/tools/log.min.js +1 -1
  28. package/lib/v-x-e-table/index.js +1 -1
  29. package/lib/v-x-e-table/index.min.js +1 -1
  30. package/package.json +1 -1
  31. package/packages/grid/src/grid.js +41 -15
  32. package/packages/input/src/input.js +35 -8
  33. package/packages/list/src/list.js +3 -0
  34. package/packages/pager/src/pager.js +8 -7
  35. package/packages/table/src/methods.js +62 -43
  36. package/packages/toolbar/src/toolbar.js +2 -2
@@ -3104,8 +3104,14 @@ var Methods = {
3104
3104
  column = params.column;
3105
3105
  var cell = evnt.currentTarget;
3106
3106
  this.handleTargetEnterEvent(tooltipStore.column !== column || tooltipStore.row !== row);
3107
- if ((0, _utils.isEnableConf)(editConfig)) {
3108
- if (editOpts.mode === 'row' && actived.row === row || actived.row === row && actived.column === column) {
3107
+ // 单元格处于编辑状态时不触发提示框
3108
+ if (column.editRender && (0, _utils.isEnableConf)(editConfig)) {
3109
+ // 如果是行编辑模式
3110
+ if (editOpts.mode === 'row' && actived.row === row) {
3111
+ return;
3112
+ }
3113
+ // 如果是单元格编辑模式
3114
+ if (actived.row === row && actived.column === column) {
3109
3115
  return;
3110
3116
  }
3111
3117
  }
@@ -3244,7 +3250,7 @@ var Methods = {
3244
3250
  var checkAll = checkboxOpts.checkAll,
3245
3251
  checkRowKeys = checkboxOpts.checkRowKeys;
3246
3252
  if (checkAll) {
3247
- this.setAllCheckboxRow(true);
3253
+ this.handleCheckedAllCheckboxRow(true, true);
3248
3254
  } else if (checkRowKeys) {
3249
3255
  var defSelection = [];
3250
3256
  checkRowKeys.forEach(function (rowid) {
@@ -3252,15 +3258,10 @@ var Methods = {
3252
3258
  defSelection.push(fullDataRowIdData[rowid].row);
3253
3259
  }
3254
3260
  });
3255
- this.setCheckboxRow(defSelection, true);
3261
+ this.handleCheckedCheckboxRow(defSelection, true, true);
3256
3262
  }
3257
3263
  },
3258
- /**
3259
- * 用于多选行,设置行为选中状态,第二个参数为选中与否
3260
- * @param {Array/Row} rows 行数据
3261
- * @param {Boolean} value 是否选中
3262
- */
3263
- setCheckboxRow: function setCheckboxRow(rows, value) {
3264
+ handleCheckedCheckboxRow: function handleCheckedCheckboxRow(rows, value, isForce) {
3264
3265
  var _this32 = this;
3265
3266
  if (rows && !_xeUtils.default.isArray(rows)) {
3266
3267
  rows = [rows];
@@ -3268,10 +3269,18 @@ var Methods = {
3268
3269
  rows.forEach(function (row) {
3269
3270
  return _this32.handleSelectRow({
3270
3271
  row: row
3271
- }, !!value);
3272
+ }, !!value, isForce);
3272
3273
  });
3273
3274
  return this.$nextTick();
3274
3275
  },
3276
+ /**
3277
+ * 用于多选行,设置行为选中状态,第二个参数为选中与否
3278
+ * @param {Array/Row} rows 行数据
3279
+ * @param {Boolean} value 是否选中
3280
+ */
3281
+ setCheckboxRow: function setCheckboxRow(rows, value) {
3282
+ return this.handleCheckedCheckboxRow(rows, value, true);
3283
+ },
3275
3284
  isCheckedByCheckboxRow: function isCheckedByCheckboxRow(row) {
3276
3285
  var selection = this.selection;
3277
3286
  var checkField = this.checkboxOpts.checkField;
@@ -3288,7 +3297,7 @@ var Methods = {
3288
3297
  * 多选,行选中事件
3289
3298
  * value 选中true 不选false 半选-1
3290
3299
  */
3291
- handleSelectRow: function handleSelectRow(_ref6, value) {
3300
+ handleSelectRow: function handleSelectRow(_ref6, value, isForce) {
3292
3301
  var _this33 = this;
3293
3302
  var row = _ref6.row;
3294
3303
  var selection = this.selection,
@@ -3310,7 +3319,7 @@ var Methods = {
3310
3319
  } else {
3311
3320
  // 更新子节点状态
3312
3321
  _xeUtils.default.eachTree([row], function (item) {
3313
- if (_this33.eqRow(item, row) || !checkMethod || checkMethod({
3322
+ if (_this33.eqRow(item, row) || isForce || !checkMethod || checkMethod({
3314
3323
  row: item
3315
3324
  })) {
3316
3325
  _xeUtils.default.set(item, checkField, value);
@@ -3327,7 +3336,7 @@ var Methods = {
3327
3336
  }, treeOpts);
3328
3337
  if (matchObj && matchObj.parent) {
3329
3338
  var parentStatus;
3330
- var vItems = checkMethod ? matchObj.items.filter(function (item) {
3339
+ var vItems = !isForce && checkMethod ? matchObj.items.filter(function (item) {
3331
3340
  return checkMethod({
3332
3341
  row: item
3333
3342
  });
@@ -3347,10 +3356,10 @@ var Methods = {
3347
3356
  }
3348
3357
  return this.handleSelectRow({
3349
3358
  row: matchObj.parent
3350
- }, parentStatus);
3359
+ }, parentStatus, isForce);
3351
3360
  }
3352
3361
  } else {
3353
- if (!checkMethod || checkMethod({
3362
+ if (isForce || !checkMethod || checkMethod({
3354
3363
  row: row
3355
3364
  })) {
3356
3365
  _xeUtils.default.set(row, checkField, value);
@@ -3369,9 +3378,9 @@ var Methods = {
3369
3378
  } else {
3370
3379
  // 更新子节点状态
3371
3380
  _xeUtils.default.eachTree([row], function (item) {
3372
- if (_this33.eqRow(item, row) || !checkMethod || checkMethod({
3381
+ if (_this33.eqRow(item, row) || isForce && (!checkMethod || checkMethod({
3373
3382
  row: item
3374
- })) {
3383
+ }))) {
3375
3384
  if (value) {
3376
3385
  selection.push(item);
3377
3386
  } else {
@@ -3392,7 +3401,7 @@ var Methods = {
3392
3401
  }, treeOpts);
3393
3402
  if (_matchObj && _matchObj.parent) {
3394
3403
  var _parentStatus;
3395
- var _vItems = checkMethod ? _matchObj.items.filter(function (item) {
3404
+ var _vItems = !isForce && checkMethod ? _matchObj.items.filter(function (item) {
3396
3405
  return checkMethod({
3397
3406
  row: item
3398
3407
  });
@@ -3412,10 +3421,10 @@ var Methods = {
3412
3421
  }
3413
3422
  return this.handleSelectRow({
3414
3423
  row: _matchObj.parent
3415
- }, _parentStatus);
3424
+ }, _parentStatus, isForce);
3416
3425
  }
3417
3426
  } else {
3418
- if (!checkMethod || checkMethod({
3427
+ if (isForce || !checkMethod || checkMethod({
3419
3428
  row: row
3420
3429
  })) {
3421
3430
  if (value) {
@@ -3463,16 +3472,16 @@ var Methods = {
3463
3472
  * 多选,切换某一行的选中状态
3464
3473
  */
3465
3474
  toggleCheckboxRow: function toggleCheckboxRow(row) {
3466
- this.handleToggleCheckRowEvent(null, {
3475
+ var selection = this.selection,
3476
+ checkboxOpts = this.checkboxOpts;
3477
+ var checkField = checkboxOpts.checkField;
3478
+ var value = checkField ? !_xeUtils.default.get(row, checkField) : this.findRowIndexOf(selection, row) === -1;
3479
+ this.handleSelectRow({
3467
3480
  row: row
3468
- });
3481
+ }, value, true);
3469
3482
  return this.$nextTick();
3470
3483
  },
3471
- /**
3472
- * 用于多选行,设置所有行的选中状态
3473
- * @param {Boolean} value 是否选中
3474
- */
3475
- setAllCheckboxRow: function setAllCheckboxRow(value) {
3484
+ handleCheckedAllCheckboxRow: function handleCheckedAllCheckboxRow(value, isForce) {
3476
3485
  var _this34 = this;
3477
3486
  var afterFullData = this.afterFullData,
3478
3487
  treeConfig = this.treeConfig,
@@ -3497,7 +3506,7 @@ var Methods = {
3497
3506
  */
3498
3507
  if (checkField) {
3499
3508
  var checkValFn = function checkValFn(row) {
3500
- if (!checkMethod || checkMethod({
3509
+ if (isForce || !checkMethod || checkMethod({
3501
3510
  row: row
3502
3511
  })) {
3503
3512
  if (value) {
@@ -3525,7 +3534,7 @@ var Methods = {
3525
3534
  * 如果方法成立,则添加到临时集合中
3526
3535
  */
3527
3536
  _xeUtils.default.eachTree(afterFullData, function (row) {
3528
- if (!checkMethod || checkMethod({
3537
+ if (isForce || !checkMethod || checkMethod({
3529
3538
  row: row
3530
3539
  })) {
3531
3540
  selectRows.push(row);
@@ -3536,7 +3545,7 @@ var Methods = {
3536
3545
  * 如果是树取消
3537
3546
  * 如果方法成立,则不添加到临时集合中
3538
3547
  */
3539
- if (checkMethod) {
3548
+ if (!isForce && checkMethod) {
3540
3549
  _xeUtils.default.eachTree(afterFullData, function (row) {
3541
3550
  if (checkMethod({
3542
3551
  row: row
@@ -3553,7 +3562,7 @@ var Methods = {
3553
3562
  * 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
3554
3563
  * 如果不存在选中方法,则添加所有数据到临时集合中
3555
3564
  */
3556
- if (checkMethod) {
3565
+ if (!isForce && checkMethod) {
3557
3566
  selectRows = afterFullData.filter(function (row) {
3558
3567
  return _this34.findRowIndexOf(selection, row) > -1 || checkMethod({
3559
3568
  row: row
@@ -3568,7 +3577,7 @@ var Methods = {
3568
3577
  * 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
3569
3578
  * 如果不存在选中方法,无需处理,临时集合默认为空
3570
3579
  */
3571
- if (checkMethod) {
3580
+ if (!isForce && checkMethod) {
3572
3581
  selectRows = afterFullData.filter(function (row) {
3573
3582
  return checkMethod({
3574
3583
  row: row
@@ -3593,6 +3602,14 @@ var Methods = {
3593
3602
  }
3594
3603
  this.treeIndeterminates = [];
3595
3604
  this.checkSelectionStatus();
3605
+ return this.$nextTick();
3606
+ },
3607
+ /**
3608
+ * 用于多选行,设置所有行的选中状态
3609
+ * @param {Boolean} value 是否选中
3610
+ */
3611
+ setAllCheckboxRow: function setAllCheckboxRow(value) {
3612
+ return this.handleCheckedAllCheckboxRow(value, true);
3596
3613
  },
3597
3614
  checkSelectionStatus: function checkSelectionStatus() {
3598
3615
  var _this35 = this;
@@ -3704,14 +3721,14 @@ var Methods = {
3704
3721
  if (radioOpts.reserve && radioReserveRow) {
3705
3722
  var rowid = (0, _util.getRowid)(this, radioReserveRow);
3706
3723
  if (fullDataRowIdData[rowid]) {
3707
- this.setRadioRow(fullDataRowIdData[rowid].row);
3724
+ this.handleCheckedRadioRow(fullDataRowIdData[rowid].row, true);
3708
3725
  }
3709
3726
  }
3710
3727
  // 复选框
3711
3728
  this.selection = getRecoverRow(this, selection); // 刷新多选行状态
3712
3729
  // 还原保留选中状态
3713
3730
  if (checkboxOpts.reserve) {
3714
- this.setCheckboxRow(handleReserveRow(this, this.checkboxReserveRowMap), true);
3731
+ this.handleCheckedCheckboxRow(handleReserveRow(this, this.checkboxReserveRowMap), true, true);
3715
3732
  }
3716
3733
  if (currentRow && !fullAllDataRowMap.has(currentRow)) {
3717
3734
  this.currentRow = null; // 刷新当前行状态
@@ -3833,7 +3850,7 @@ var Methods = {
3833
3850
  * 多选,选中所有事件
3834
3851
  */
3835
3852
  triggerCheckAllEvent: function triggerCheckAllEvent(evnt, value) {
3836
- this.setAllCheckboxRow(value);
3853
+ this.handleCheckedAllCheckboxRow(value);
3837
3854
  this.emitEvent('checkbox-all', {
3838
3855
  records: this.getCheckboxRecords(),
3839
3856
  reserves: this.getCheckboxReserveRecords(),
@@ -3892,7 +3909,7 @@ var Methods = {
3892
3909
  reserve = radioOpts.reserve;
3893
3910
  if (rowid) {
3894
3911
  if (fullDataRowIdData[rowid]) {
3895
- this.setRadioRow(fullDataRowIdData[rowid].row);
3912
+ this.handleCheckedRadioRow(fullDataRowIdData[rowid].row, true);
3896
3913
  }
3897
3914
  if (reserve) {
3898
3915
  var rowkey = (0, _util.getRowkey)(this);
@@ -3910,7 +3927,7 @@ var Methods = {
3910
3927
  var newValue = row;
3911
3928
  var isChange = oldValue !== newValue;
3912
3929
  if (isChange) {
3913
- this.setRadioRow(newValue);
3930
+ this.handleCheckedRadioRow(newValue);
3914
3931
  } else if (!radioOpts.strict) {
3915
3932
  isChange = oldValue === newValue;
3916
3933
  if (isChange) {
@@ -3945,7 +3962,7 @@ var Methods = {
3945
3962
  var $el = this.$el,
3946
3963
  rowOpts = this.rowOpts;
3947
3964
  this.clearCurrentRow();
3948
- this.clearCurrentColumn();
3965
+ // this.clearCurrentColumn()
3949
3966
  this.currentRow = row;
3950
3967
  if (rowOpts.isCurrent || this.highlightCurrentRow) {
3951
3968
  if ($el) {
@@ -3959,14 +3976,10 @@ var Methods = {
3959
3976
  isCheckedByRadioRow: function isCheckedByRadioRow(row) {
3960
3977
  return this.selectRow === row;
3961
3978
  },
3962
- /**
3963
- * 用于单选行,设置某一行为选中状态
3964
- * @param {Row} row 行对象
3965
- */
3966
- setRadioRow: function setRadioRow(row) {
3979
+ handleCheckedRadioRow: function handleCheckedRadioRow(row, isForce) {
3967
3980
  var radioOpts = this.radioOpts;
3968
3981
  var checkMethod = radioOpts.checkMethod;
3969
- if (row && (!checkMethod || checkMethod({
3982
+ if (row && (isForce || !checkMethod || checkMethod({
3970
3983
  row: row
3971
3984
  }))) {
3972
3985
  this.selectRow = row;
@@ -3974,6 +3987,13 @@ var Methods = {
3974
3987
  }
3975
3988
  return this.$nextTick();
3976
3989
  },
3990
+ /**
3991
+ * 用于单选行,设置某一行为选中状态
3992
+ * @param {Row} row 行对象
3993
+ */
3994
+ setRadioRow: function setRadioRow(row) {
3995
+ return this.handleCheckedRadioRow(row, true);
3996
+ },
3977
3997
  /**
3978
3998
  * 用于当前行,手动清空当前高亮的状态
3979
3999
  */
@@ -4098,7 +4118,7 @@ var Methods = {
4098
4118
  setCurrentColumn: function setCurrentColumn(fieldOrColumn) {
4099
4119
  var column = (0, _util.handleFieldOrColumn)(this, fieldOrColumn);
4100
4120
  if (column) {
4101
- this.clearCurrentRow();
4121
+ // this.clearCurrentRow()
4102
4122
  this.clearCurrentColumn();
4103
4123
  this.currentColumn = column;
4104
4124
  }
@@ -4857,7 +4877,7 @@ var Methods = {
4857
4877
  }
4858
4878
  // 如果当前节点已选中,则展开后子节点也被选中
4859
4879
  if (!checkStrictly && _this48.isCheckedByCheckboxRow(row)) {
4860
- _this48.setCheckboxRow(childRows, true);
4880
+ _this48.handleCheckedCheckboxRow(childRows, true, true);
4861
4881
  }
4862
4882
  return _this48.$nextTick().then(function () {
4863
4883
  if (transform) {