vxe-table 3.4.12 → 3.4.13

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 (46) hide show
  1. package/README.en.md +3 -1
  2. package/README.md +3 -1
  3. package/README.zh-TW.md +3 -1
  4. package/lib/edit/src/mixin.js +9 -1
  5. package/lib/edit/src/mixin.min.js +1 -1
  6. package/lib/export/src/mixin.js +15 -10
  7. package/lib/export/src/mixin.min.js +1 -1
  8. package/lib/footer/src/footer.js +11 -0
  9. package/lib/footer/src/footer.min.js +1 -1
  10. package/lib/form/src/form.js +2 -1
  11. package/lib/form/src/form.min.js +1 -1
  12. package/lib/grid/src/grid.js +4 -1
  13. package/lib/grid/src/grid.min.js +1 -1
  14. package/lib/header/src/header.js +12 -0
  15. package/lib/header/src/header.min.js +1 -1
  16. package/lib/index.css +1 -1
  17. package/lib/index.umd.js +99 -24
  18. package/lib/index.umd.min.js +1 -1
  19. package/lib/modal/src/modal.js +1 -1
  20. package/lib/modal/src/modal.min.js +1 -1
  21. package/lib/pulldown/src/pulldown.js +13 -0
  22. package/lib/pulldown/src/pulldown.min.js +1 -1
  23. package/lib/style.css +1 -1
  24. package/lib/style.min.css +1 -1
  25. package/lib/table/src/body.js +24 -5
  26. package/lib/table/src/body.min.js +1 -1
  27. package/lib/table/src/methods.js +11 -5
  28. package/lib/table/src/methods.min.js +1 -1
  29. package/lib/tools/src/utils.js +1 -0
  30. package/lib/tools/src/utils.min.js +1 -1
  31. package/package.json +4 -4
  32. package/packages/edit/src/mixin.js +1 -1
  33. package/packages/export/src/mixin.js +16 -9
  34. package/packages/footer/src/footer.js +10 -0
  35. package/packages/form/src/form.js +2 -1
  36. package/packages/grid/src/grid.js +2 -1
  37. package/packages/header/src/header.js +11 -0
  38. package/packages/modal/src/modal.js +1 -1
  39. package/packages/pulldown/src/pulldown.js +12 -0
  40. package/packages/table/src/body.js +41 -7
  41. package/packages/table/src/methods.js +5 -5
  42. package/packages/tools/src/utils.js +1 -0
  43. package/styles/button.scss +4 -4
  44. package/styles/modal.scss +14 -13
  45. package/styles/table.scss +4 -4
  46. package/styles/variable.scss +8 -0
package/lib/index.umd.js CHANGED
@@ -8931,6 +8931,7 @@ var utils_ColumnInfo = /*#__PURE__*/function () {
8931
8931
  // 基本属性
8932
8932
  type: _vm.type,
8933
8933
  property: _vm.field,
8934
+ field: _vm.field,
8934
8935
  title: _vm.title,
8935
8936
  width: _vm.width,
8936
8937
  minWidth: _vm.minWidth,
@@ -11496,6 +11497,19 @@ function syncBodyScroll(scrollTop, elem1, elem2) {
11496
11497
  this.$el._onscroll = null;
11497
11498
  this.$el.onscroll = null;
11498
11499
  },
11500
+ destroyed: function destroyed() {
11501
+ var $xetable = this.$parent,
11502
+ fixedType = this.fixedType;
11503
+ var elemStore = $xetable.elemStore;
11504
+ var prefix = "".concat(fixedType || 'main', "-body-");
11505
+ elemStore["".concat(prefix, "wrapper")] = null;
11506
+ elemStore["".concat(prefix, "table")] = null;
11507
+ elemStore["".concat(prefix, "colgroup")] = null;
11508
+ elemStore["".concat(prefix, "list")] = null;
11509
+ elemStore["".concat(prefix, "xSpace")] = null;
11510
+ elemStore["".concat(prefix, "ySpace")] = null;
11511
+ elemStore["".concat(prefix, "emptyBlock")] = null;
11512
+ },
11499
11513
  render: function render(h) {
11500
11514
  var _e = this._e,
11501
11515
  $xetable = this.$parent,
@@ -11662,8 +11676,8 @@ function syncBodyScroll(scrollTop, elem1, elem2) {
11662
11676
  var rightElem = rightBody ? rightBody.$el : null;
11663
11677
  var bodyYElem = elemStore['main-body-ySpace'];
11664
11678
  var bodyXElem = elemStore['main-body-xSpace'];
11665
- var bodyHeight = bodyYElem ? bodyYElem.clientHeight : 0;
11666
- var bodyWidth = bodyXElem ? bodyXElem.clientWidth : 0;
11679
+ var bodyHeight = scrollYLoad && bodyYElem ? bodyYElem.clientHeight : bodyElem.clientHeight;
11680
+ var bodyWidth = scrollXLoad && bodyXElem ? bodyXElem.clientWidth : bodyElem.clientWidth;
11667
11681
  var scrollTop = scrollBodyElem.scrollTop;
11668
11682
  var scrollLeft = bodyElem.scrollLeft;
11669
11683
  var isRollX = scrollLeft !== lastScrollLeft;
@@ -11719,6 +11733,8 @@ function syncBodyScroll(scrollTop, elem1, elem2) {
11719
11733
  fixed: fixedType,
11720
11734
  scrollTop: scrollTop,
11721
11735
  scrollLeft: scrollLeft,
11736
+ scrollHeight: bodyElem.scrollHeight,
11737
+ scrollWidth: bodyElem.scrollWidth,
11722
11738
  bodyHeight: bodyHeight,
11723
11739
  bodyWidth: bodyWidth,
11724
11740
  isX: isRollX,
@@ -11730,7 +11746,9 @@ function syncBodyScroll(scrollTop, elem1, elem2) {
11730
11746
 
11731
11747
  var $xetable = this.$parent;
11732
11748
  var $refs = $xetable.$refs,
11733
- elemStore = $xetable.elemStore;
11749
+ elemStore = $xetable.elemStore,
11750
+ scrollYLoad = $xetable.scrollYLoad,
11751
+ scrollXLoad = $xetable.scrollXLoad;
11734
11752
  var tableBody = $refs.tableBody,
11735
11753
  leftBody = $refs.leftBody,
11736
11754
  rightBody = $refs.rightBody;
@@ -11740,8 +11758,8 @@ function syncBodyScroll(scrollTop, elem1, elem2) {
11740
11758
  var remainSize = this.isPrevWheelTop === isTopWheel ? Math.max(0, this.wheelYSize - this.wheelYTotal) : 0;
11741
11759
  var bodyYElem = elemStore['main-body-ySpace'];
11742
11760
  var bodyXElem = elemStore['main-body-xSpace'];
11743
- var bodyHeight = bodyYElem ? bodyYElem.clientHeight : 0;
11744
- var bodyWidth = bodyXElem ? bodyXElem.clientWidth : 0;
11761
+ var bodyHeight = scrollYLoad && bodyYElem ? bodyYElem.clientHeight : bodyElem.clientHeight;
11762
+ var bodyWidth = scrollXLoad && bodyXElem ? bodyXElem.clientWidth : bodyElem.clientWidth;
11745
11763
  this.isPrevWheelTop = isTopWheel;
11746
11764
  this.wheelYSize = Math.abs(isTopWheel ? deltaTop - remainSize : deltaTop + remainSize);
11747
11765
  this.wheelYInterval = 0;
@@ -11787,6 +11805,8 @@ function syncBodyScroll(scrollTop, elem1, elem2) {
11787
11805
  fixed: fixedType,
11788
11806
  scrollTop: bodyElem.scrollTop,
11789
11807
  scrollLeft: bodyElem.scrollLeft,
11808
+ scrollHeight: bodyElem.scrollHeight,
11809
+ scrollWidth: bodyElem.scrollWidth,
11790
11810
  bodyHeight: bodyHeight,
11791
11811
  bodyWidth: bodyWidth,
11792
11812
  isX: isRollX,
@@ -14323,7 +14343,8 @@ var Methods = {
14323
14343
  var filterColumns = [];
14324
14344
  var orderColumns = [];
14325
14345
  tableFullColumn.forEach(function (column) {
14326
- var sortable = column.sortable,
14346
+ var property = column.property,
14347
+ sortable = column.sortable,
14327
14348
  order = column.order,
14328
14349
  filters = column.filters;
14329
14350
 
@@ -14349,7 +14370,8 @@ var Methods = {
14349
14370
  if (!allRemoteSort && sortable && order) {
14350
14371
  orderColumns.push({
14351
14372
  column: column,
14352
- property: column.property,
14373
+ field: column.property,
14374
+ property: property,
14353
14375
  order: order
14354
14376
  });
14355
14377
  }
@@ -16065,7 +16087,9 @@ var Methods = {
16065
16087
  // 如果是按下非功能键之外允许直接编辑
16066
16088
 
16067
16089
  if (selected.column && selected.row && isEnableConf(selected.column.editRender)) {
16068
- if (!editOpts.activeMethod || editOpts.activeMethod(selected.args)) {
16090
+ if (!editOpts.activeMethod || editOpts.activeMethod(_objectSpread2(_objectSpread2({}, selected.args), {}, {
16091
+ $table: _this26
16092
+ }))) {
16069
16093
  if (editMethod) {
16070
16094
  editMethod({
16071
16095
  row: selected.row,
@@ -17666,12 +17690,14 @@ var Methods = {
17666
17690
  getSortColumns: function getSortColumns() {
17667
17691
  var sortList = [];
17668
17692
  this.tableFullColumn.forEach(function (column) {
17669
- var order = column.order;
17693
+ var property = column.property,
17694
+ order = column.order;
17670
17695
 
17671
17696
  if ((column.sortable || column.remoteSort) && order) {
17672
17697
  sortList.push({
17673
17698
  column: column,
17674
- property: column.property,
17699
+ field: column.property,
17700
+ property: property,
17675
17701
  order: order
17676
17702
  });
17677
17703
  }
@@ -21469,6 +21495,7 @@ var Menu = {
21469
21495
 
21470
21496
 
21471
21497
 
21498
+
21472
21499
  var mixin_getRowid = UtilTools.getRowid;
21473
21500
 
21474
21501
  function insertTreeRow(_vm, newRecords, isAppend) {
@@ -22022,7 +22049,9 @@ function insertTreeRow(_vm, newRecords, isAppend) {
22022
22049
  // 判断是否禁用编辑
22023
22050
  var type = 'edit-disabled';
22024
22051
 
22025
- if (!activeMethod || activeMethod(params)) {
22052
+ if (!activeMethod || activeMethod(_objectSpread2(_objectSpread2({}, params), {}, {
22053
+ $table: this
22054
+ }))) {
22026
22055
  if (mouseConfig) {
22027
22056
  this.clearSelected(evnt);
22028
22057
  this.clearCellAreas(evnt);
@@ -23205,7 +23234,7 @@ var msgQueue = [];
23205
23234
 
23206
23235
  return this.$nextTick().then(function () {
23207
23236
  if (!_this7.zoomLocat) {
23208
- var marginSize = _this7.marginSize;
23237
+ var marginSize = Math.max(0, _this7.marginSize);
23209
23238
 
23210
23239
  var modalBoxElem = _this7.getBox();
23211
23240
 
@@ -28041,6 +28070,7 @@ var es_string_repeat = __webpack_require__("38cf");
28041
28070
 
28042
28071
 
28043
28072
 
28073
+
28044
28074
 
28045
28075
 
28046
28076
  var mixin_formatText = UtilTools.formatText; // 默认导出或打印的 HTML 样式
@@ -28076,16 +28106,18 @@ function hasTreeChildren($xetable, row) {
28076
28106
  return row[treeOpts.children] && row[treeOpts.children].length > 0;
28077
28107
  }
28078
28108
 
28079
- function getSeq($xetable, row, rowIndex, column, columnIndex) {
28109
+ function getSeq($xetable, row, $rowIndex, column, $columnIndex) {
28080
28110
  var seqOpts = $xetable.seqOpts;
28081
28111
  var seqMethod = seqOpts.seqMethod || column.seqMethod;
28082
28112
 
28083
28113
  if (seqMethod) {
28084
28114
  return seqMethod({
28085
28115
  row: row,
28086
- rowIndex: rowIndex,
28116
+ rowIndex: $xetable.getRowIndex(row),
28117
+ $rowIndex: $rowIndex,
28087
28118
  column: column,
28088
- columnIndex: columnIndex
28119
+ columnIndex: $xetable.getColumnIndex(column),
28120
+ $columnIndex: $columnIndex
28089
28121
  });
28090
28122
  }
28091
28123
 
@@ -28113,7 +28145,8 @@ function toBooleanValue(cellValue) {
28113
28145
  }
28114
28146
 
28115
28147
  function getLabelData($xetable, opts, columns, datas) {
28116
- var isAllExpand = opts.isAllExpand;
28148
+ var isAllExpand = opts.isAllExpand,
28149
+ mode = opts.mode;
28117
28150
  var treeConfig = $xetable.treeConfig,
28118
28151
  treeOpts = $xetable.treeOpts,
28119
28152
  radioOpts = $xetable.radioOpts,
@@ -28127,7 +28160,7 @@ function getLabelData($xetable, opts, columns, datas) {
28127
28160
  // 如果是树表格只允许导出数据源
28128
28161
  var rest = [];
28129
28162
  var expandMaps = new Map();
28130
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(datas, function (item, rowIndex, items, path, parent, nodes) {
28163
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(datas, function (item, $rowIndex, items, path, parent, nodes) {
28131
28164
  var row = item._row || item;
28132
28165
  var parentRow = parent && parent._row ? parent._row : parent;
28133
28166
 
@@ -28139,7 +28172,7 @@ function getLabelData($xetable, opts, columns, datas) {
28139
28172
  _hasChild: hasRowChild,
28140
28173
  _expand: hasRowChild && $xetable.isTreeExpandByRow(row)
28141
28174
  };
28142
- columns.forEach(function (column, columnIndex) {
28175
+ columns.forEach(function (column, $columnIndex) {
28143
28176
  var cellValue = '';
28144
28177
  var renderOpts = column.editRender || column.cellRender;
28145
28178
  var exportLabelMethod = column.exportMethod;
@@ -28162,7 +28195,9 @@ function getLabelData($xetable, opts, columns, datas) {
28162
28195
  } else {
28163
28196
  switch (column.type) {
28164
28197
  case 'seq':
28165
- cellValue = getSeq($xetable, row, rowIndex, column, columnIndex);
28198
+ cellValue = mode === 'all' ? path.map(function (num, i) {
28199
+ return i % 2 === 0 ? Number(num) + 1 : '.';
28200
+ }).join('') : getSeq($xetable, row, $rowIndex, column, $columnIndex);
28166
28201
  break;
28167
28202
 
28168
28203
  case 'checkbox':
@@ -28211,11 +28246,11 @@ function getLabelData($xetable, opts, columns, datas) {
28211
28246
  return rest;
28212
28247
  }
28213
28248
 
28214
- return datas.map(function (row, rowIndex) {
28249
+ return datas.map(function (row, $rowIndex) {
28215
28250
  var item = {
28216
28251
  _row: row
28217
28252
  };
28218
- columns.forEach(function (column, columnIndex) {
28253
+ columns.forEach(function (column, $columnIndex) {
28219
28254
  var cellValue = '';
28220
28255
  var renderOpts = column.editRender || column.cellRender;
28221
28256
  var exportLabelMethod = column.exportMethod;
@@ -28238,7 +28273,7 @@ function getLabelData($xetable, opts, columns, datas) {
28238
28273
  } else {
28239
28274
  switch (column.type) {
28240
28275
  case 'seq':
28241
- cellValue = getSeq($xetable, row, rowIndex, column, columnIndex);
28276
+ cellValue = mode === 'all' ? $rowIndex + 1 : getSeq($xetable, row, $rowIndex, column, $columnIndex);
28242
28277
  break;
28243
28278
 
28244
28279
  case 'checkbox':
@@ -31027,6 +31062,18 @@ var cellType = 'header';
31027
31062
  elemStore["".concat(prefix, "xSpace")] = $refs.xSpace;
31028
31063
  elemStore["".concat(prefix, "repair")] = $refs.repair;
31029
31064
  },
31065
+ destroyed: function destroyed() {
31066
+ var $xetable = this.$parent,
31067
+ fixedType = this.fixedType;
31068
+ var elemStore = $xetable.elemStore;
31069
+ var prefix = "".concat(fixedType || 'main', "-header-");
31070
+ elemStore["".concat(prefix, "wrapper")] = null;
31071
+ elemStore["".concat(prefix, "table")] = null;
31072
+ elemStore["".concat(prefix, "colgroup")] = null;
31073
+ elemStore["".concat(prefix, "list")] = null;
31074
+ elemStore["".concat(prefix, "xSpace")] = null;
31075
+ elemStore["".concat(prefix, "repair")] = null;
31076
+ },
31030
31077
  render: function render(h) {
31031
31078
  var _this = this;
31032
31079
 
@@ -31396,6 +31443,17 @@ function mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex) {
31396
31443
  elemStore["".concat(prefix, "list")] = $refs.tfoot;
31397
31444
  elemStore["".concat(prefix, "xSpace")] = $refs.xSpace;
31398
31445
  },
31446
+ destroyed: function destroyed() {
31447
+ var $xetable = this.$parent,
31448
+ fixedType = this.fixedType;
31449
+ var elemStore = $xetable.elemStore;
31450
+ var prefix = "".concat(fixedType || 'main', "-footer-");
31451
+ elemStore["".concat(prefix, "wrapper")] = null;
31452
+ elemStore["".concat(prefix, "table")] = null;
31453
+ elemStore["".concat(prefix, "colgroup")] = null;
31454
+ elemStore["".concat(prefix, "list")] = null;
31455
+ elemStore["".concat(prefix, "xSpace")] = null;
31456
+ },
31399
31457
  render: function render(h) {
31400
31458
  var _e = this._e,
31401
31459
  $xetable = this.$parent,
@@ -32362,7 +32420,9 @@ Object.keys(packages_table.methods).forEach(function (name) {
32362
32420
  handleActiveMethod: function handleActiveMethod(params) {
32363
32421
  var editConfig = this.editConfig;
32364
32422
  var activeMethod = editConfig ? editConfig.activeMethod : null;
32365
- return this.pendingRecords.indexOf(params.row) === -1 && (!activeMethod || activeMethod(params));
32423
+ return this.pendingRecords.indexOf(params.row) === -1 && (!activeMethod || activeMethod(_objectSpread2(_objectSpread2({}, params), {}, {
32424
+ $grid: this
32425
+ })));
32366
32426
  },
32367
32427
  initToolbar: function initToolbar() {
32368
32428
  var _this3 = this;
@@ -32572,6 +32632,7 @@ Object.keys(packages_table.methods).forEach(function (name) {
32572
32632
 
32573
32633
  sortList = defaultSort.map(function (item) {
32574
32634
  return {
32635
+ field: item.field,
32575
32636
  property: item.field,
32576
32637
  order: item.order
32577
32638
  };
@@ -36482,6 +36543,7 @@ function renderItems(h, _vm, itemList) {
36482
36543
  evnt.preventDefault();
36483
36544
 
36484
36545
  if (!this.preventSubmit) {
36546
+ this.clearValidate();
36485
36547
  this.beginValidate(this.getItems()).then(function () {
36486
36548
  _this3.$emit('submit', {
36487
36549
  data: _this3.data,
@@ -36626,6 +36688,7 @@ function renderItems(h, _vm, itemList) {
36626
36688
  return this.$nextTick();
36627
36689
  },
36628
36690
  validate: function validate(callback) {
36691
+ this.clearValidate();
36629
36692
  return this.beginValidate(this.getItems(), '', callback);
36630
36693
  },
36631
36694
  validateField: function validateField(field, callback) {
@@ -36642,7 +36705,6 @@ function renderItems(h, _vm, itemList) {
36642
36705
  var validRest = {};
36643
36706
  var validFields = [];
36644
36707
  var itemValids = [];
36645
- this.clearValidate();
36646
36708
  clearTimeout(this.showErrTime);
36647
36709
 
36648
36710
  if (data && formRules) {
@@ -37742,6 +37804,7 @@ var List = Object.assign(src_list, {
37742
37804
  name: 'VxePulldown',
37743
37805
  mixins: [size],
37744
37806
  props: {
37807
+ value: Boolean,
37745
37808
  disabled: Boolean,
37746
37809
  placement: String,
37747
37810
  size: {
@@ -37765,6 +37828,15 @@ var List = Object.assign(src_list, {
37765
37828
  isActivated: false
37766
37829
  };
37767
37830
  },
37831
+ watch: {
37832
+ value: function value(_value) {
37833
+ if (_value) {
37834
+ this.showPanel();
37835
+ } else {
37836
+ this.hidePanel();
37837
+ }
37838
+ }
37839
+ },
37768
37840
  created: function created() {
37769
37841
  GlobalEvent.on(this, 'mousewheel', this.handleGlobalMousewheelEvent);
37770
37842
  GlobalEvent.on(this, 'mousedown', this.handleGlobalMousedownEvent);
@@ -37905,6 +37977,8 @@ var List = Object.assign(src_list, {
37905
37977
  setTimeout(function () {
37906
37978
  _this.visiblePanel = true;
37907
37979
 
37980
+ _this.$emit('update:input', true);
37981
+
37908
37982
  _this.updatePlacement();
37909
37983
 
37910
37984
  setTimeout(function () {
@@ -37926,6 +38000,7 @@ var List = Object.assign(src_list, {
37926
38000
  var _this2 = this;
37927
38001
 
37928
38002
  this.visiblePanel = false;
38003
+ this.$emit('update:input', false);
37929
38004
  return new Promise(function (resolve) {
37930
38005
  if (_this2.animatVisible) {
37931
38006
  _this2.hidePanelTimeout = setTimeout(function () {