vxe-table 4.1.18 → 4.1.19

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.
@@ -579,12 +579,13 @@ var editHook = {
579
579
  var actived = editStore.actived;
580
580
  var row = params.row, column = params.column;
581
581
  var editRender = column.editRender;
582
- var cell = params.cell = (params.cell || $xetable.getCell(row, column));
582
+ var cell = (params.cell || $xetable.getCell(row, column));
583
+ params.cell = cell;
583
584
  if (isEnableConf(editConfig) && isEnableConf(editRender) && cell) {
584
585
  if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
585
586
  // 判断是否禁用编辑
586
587
  var type = 'edit-disabled';
587
- if (!activeMethod || activeMethod(params)) {
588
+ if (!activeMethod || activeMethod(__assign(__assign({}, params), { $table: $xetable }))) {
588
589
  if (mouseConfig) {
589
590
  editMethods.clearSelected();
590
591
  if ($xetable.clearCellAreas) {
@@ -9,7 +9,7 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { createCommentVNode, defineComponent, h, ref, inject, nextTick, onMounted } from 'vue';
12
+ import { createCommentVNode, defineComponent, h, ref, inject, nextTick, onMounted, onUnmounted } from 'vue';
13
13
  import XEUtils from 'xe-utils';
14
14
  import { getPropClass } from '../../table/src/util';
15
15
  import { updateCellTitle } from '../../tools/dom';
@@ -90,6 +90,16 @@ export default defineComponent({
90
90
  elemStore[prefix + "xSpace"] = refFooterXSpace.value;
91
91
  });
92
92
  });
93
+ onUnmounted(function () {
94
+ var fixedType = props.fixedType;
95
+ var elemStore = tableInternalData.elemStore;
96
+ var prefix = (fixedType || 'main') + "-footer-";
97
+ elemStore[prefix + "wrapper"] = null;
98
+ elemStore[prefix + "table"] = null;
99
+ elemStore[prefix + "colgroup"] = null;
100
+ elemStore[prefix + "list"] = null;
101
+ elemStore[prefix + "xSpace"] = null;
102
+ });
93
103
  var renderVN = function () {
94
104
  var fixedType = props.fixedType, fixedColumn = props.fixedColumn, tableColumn = props.tableColumn, footerTableData = props.footerTableData;
95
105
  var footerRowClassName = tableProps.footerRowClassName, footerCellClassName = tableProps.footerCellClassName, footerRowStyle = tableProps.footerRowStyle, footerCellStyle = tableProps.footerCellStyle, allFooterAlign = tableProps.footerAlign, footerSpanMethod = tableProps.footerSpanMethod, allAlign = tableProps.align, columnKey = tableProps.columnKey, allColumnFooterOverflow = tableProps.showFooterOverflow;
@@ -353,7 +353,6 @@ export default defineComponent({
353
353
  var validRest = {};
354
354
  var validFields = [];
355
355
  var itemValids = [];
356
- clearValidate();
357
356
  clearTimeout(showErrTime);
358
357
  if (data && formRules) {
359
358
  itemList.forEach(function (item) {
@@ -408,6 +407,7 @@ export default defineComponent({
408
407
  return Promise.resolve();
409
408
  };
410
409
  var validate = function (callback) {
410
+ clearValidate();
411
411
  return beginValidate(getItems(), '', callback);
412
412
  };
413
413
  var validateField = function (field, callback) {
@@ -416,6 +416,7 @@ export default defineComponent({
416
416
  var submitEvent = function (evnt) {
417
417
  evnt.preventDefault();
418
418
  if (!props.preventSubmit) {
419
+ clearValidate();
419
420
  beginValidate(getItems()).then(function () {
420
421
  formMethods.dispatchEvent('submit', { data: props.data }, evnt);
421
422
  }).catch(function (errMap) {
@@ -166,7 +166,7 @@ export default defineComponent({
166
166
  var pendingRecords = reactData.pendingRecords;
167
167
  var $xetable = refTable.value;
168
168
  var activeMethod = editConfig ? editConfig.activeMethod : null;
169
- return $xetable.findRowIndexOf(pendingRecords, params.row) === -1 && (!activeMethod || activeMethod(params));
169
+ return $xetable.findRowIndexOf(pendingRecords, params.row) === -1 && (!activeMethod || activeMethod(__assign(__assign({}, params), { $grid: $xegrid })));
170
170
  };
171
171
  var computeTableProps = computed(function () {
172
172
  var seqConfig = props.seqConfig, pagerConfig = props.pagerConfig, loading = props.loading, editConfig = props.editConfig, proxyConfig = props.proxyConfig;
@@ -9,7 +9,7 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- import { createCommentVNode, defineComponent, h, ref, inject, nextTick, watch, onMounted } from 'vue';
12
+ import { createCommentVNode, defineComponent, h, ref, inject, nextTick, watch, onMounted, onUnmounted } from 'vue';
13
13
  import XEUtils from 'xe-utils';
14
14
  import { convertToRows } from './util';
15
15
  import { getColMinWidth } from '../../table/src/util';
@@ -145,6 +145,18 @@ export default defineComponent({
145
145
  uploadColumn();
146
146
  });
147
147
  });
148
+ onUnmounted(function () {
149
+ var fixedType = props.fixedType;
150
+ var internalData = $xetable.internalData;
151
+ var elemStore = internalData.elemStore;
152
+ var prefix = (fixedType || 'main') + "-header-";
153
+ elemStore[prefix + "wrapper"] = null;
154
+ elemStore[prefix + "table"] = null;
155
+ elemStore[prefix + "colgroup"] = null;
156
+ elemStore[prefix + "list"] = null;
157
+ elemStore[prefix + "xSpace"] = null;
158
+ elemStore[prefix + "repair"] = null;
159
+ });
148
160
  var renderVN = function () {
149
161
  var fixedType = props.fixedType, fixedColumn = props.fixedColumn, tableColumn = props.tableColumn;
150
162
  var resizable = tableProps.resizable, border = tableProps.border, columnKey = tableProps.columnKey, headerRowClassName = tableProps.headerRowClassName, headerCellClassName = tableProps.headerCellClassName, headerRowStyle = tableProps.headerRowStyle, headerCellStyle = tableProps.headerCellStyle, allColumnHeaderOverflow = tableProps.showHeaderOverflow, allHeaderAlign = tableProps.headerAlign, allAlign = tableProps.align, mouseConfig = tableProps.mouseConfig;
@@ -14,7 +14,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
14
14
  to[j] = from[i];
15
15
  return to;
16
16
  };
17
- import { createCommentVNode, defineComponent, h, ref, inject, nextTick, onBeforeUnmount, onMounted } from 'vue';
17
+ import { createCommentVNode, defineComponent, h, ref, inject, nextTick, onBeforeUnmount, onMounted, onUnmounted } from 'vue';
18
18
  import XEUtils from 'xe-utils';
19
19
  import GlobalConfig from '../../v-x-e-table/src/conf';
20
20
  import { VXETable } from '../../v-x-e-table';
@@ -435,8 +435,8 @@ export default defineComponent({
435
435
  var rightElem = rightBody ? rightBody.$el : null;
436
436
  var bodyYElem = elemStore['main-body-ySpace'];
437
437
  var bodyXElem = elemStore['main-body-xSpace'];
438
- var bodyHeight = bodyYElem ? bodyYElem.clientHeight : 0;
439
- var bodyWidth = bodyXElem ? bodyXElem.clientWidth : 0;
438
+ var bodyHeight = scrollYLoad && bodyYElem ? bodyYElem.clientHeight : bodyElem.clientHeight;
439
+ var bodyWidth = scrollXLoad && bodyXElem ? bodyXElem.clientWidth : bodyElem.clientWidth;
440
440
  var scrollTop = scrollBodyElem.scrollTop;
441
441
  var scrollLeft = bodyElem.scrollLeft;
442
442
  var isRollX = scrollLeft !== lastScrollLeft;
@@ -480,7 +480,18 @@ export default defineComponent({
480
480
  if (isRollX && validTip && validTip.reactData.visible) {
481
481
  validTip.updatePlacement();
482
482
  }
483
- $xetable.dispatchEvent('scroll', { type: renderType, fixed: fixedType, scrollTop: scrollTop, scrollLeft: scrollLeft, bodyHeight: bodyHeight, bodyWidth: bodyWidth, isX: isRollX, isY: isRollY }, evnt);
483
+ $xetable.dispatchEvent('scroll', {
484
+ type: renderType,
485
+ fixed: fixedType,
486
+ scrollTop: scrollTop,
487
+ scrollLeft: scrollLeft,
488
+ scrollHeight: bodyElem.scrollHeight,
489
+ scrollWidth: bodyElem.scrollWidth,
490
+ bodyHeight: bodyHeight,
491
+ bodyWidth: bodyWidth,
492
+ isX: isRollX,
493
+ isY: isRollY
494
+ }, evnt);
484
495
  };
485
496
  var wheelTime;
486
497
  var wheelYSize = 0;
@@ -489,6 +500,7 @@ export default defineComponent({
489
500
  var isPrevWheelTop = false;
490
501
  var handleWheel = function (evnt, isTopWheel, deltaTop, isRollX, isRollY) {
491
502
  var elemStore = tableInternalData.elemStore;
503
+ var scrollXLoad = tableReactData.scrollXLoad, scrollYLoad = tableReactData.scrollYLoad;
492
504
  var tableBody = refTableBody.value;
493
505
  var leftBody = refTableLeftBody.value;
494
506
  var rightBody = refTableRightBody.value;
@@ -497,8 +509,8 @@ export default defineComponent({
497
509
  var bodyElem = tableBody.$el;
498
510
  var bodyYElem = elemStore['main-body-ySpace'];
499
511
  var bodyXElem = elemStore['main-body-xSpace'];
500
- var bodyHeight = bodyYElem ? bodyYElem.clientHeight : 0;
501
- var bodyWidth = bodyXElem ? bodyXElem.clientWidth : 0;
512
+ var bodyHeight = scrollYLoad && bodyYElem ? bodyYElem.clientHeight : bodyElem.clientHeight;
513
+ var bodyWidth = scrollXLoad && bodyXElem ? bodyXElem.clientWidth : bodyElem.clientWidth;
502
514
  var remainSize = isPrevWheelTop === isTopWheel ? Math.max(0, wheelYSize - wheelYTotal) : 0;
503
515
  isPrevWheelTop = isTopWheel;
504
516
  wheelYSize = Math.abs(isTopWheel ? deltaTop - remainSize : deltaTop + remainSize);
@@ -525,7 +537,18 @@ export default defineComponent({
525
537
  if (isTopWheel ? targerTop < scrollHeight - clientHeight : targerTop >= 0) {
526
538
  wheelTime = setTimeout(handleSmooth, 10);
527
539
  }
528
- $xetable.dispatchEvent('scroll', { type: renderType, fixed: fixedType, scrollTop: bodyElem.scrollTop, scrollLeft: bodyElem.scrollLeft, bodyHeight: bodyHeight, bodyWidth: bodyWidth, isX: isRollX, isY: isRollY }, evnt);
540
+ $xetable.dispatchEvent('scroll', {
541
+ type: renderType,
542
+ fixed: fixedType,
543
+ scrollTop: bodyElem.scrollTop,
544
+ scrollLeft: bodyElem.scrollLeft,
545
+ scrollHeight: bodyElem.scrollHeight,
546
+ scrollWidth: bodyElem.scrollWidth,
547
+ bodyHeight: bodyHeight,
548
+ bodyWidth: bodyWidth,
549
+ isX: isRollX,
550
+ isY: isRollY
551
+ }, evnt);
529
552
  }
530
553
  };
531
554
  handleSmooth();
@@ -591,6 +614,18 @@ export default defineComponent({
591
614
  el._onscroll = null;
592
615
  el.onscroll = null;
593
616
  });
617
+ onUnmounted(function () {
618
+ var fixedType = props.fixedType;
619
+ var elemStore = tableInternalData.elemStore;
620
+ var prefix = (fixedType || 'main') + "-body-";
621
+ elemStore[prefix + "wrapper"] = null;
622
+ elemStore[prefix + "table"] = null;
623
+ elemStore[prefix + "colgroup"] = null;
624
+ elemStore[prefix + "list"] = null;
625
+ elemStore[prefix + "xSpace"] = null;
626
+ elemStore[prefix + "ySpace"] = null;
627
+ elemStore[prefix + "emptyBlock"] = null;
628
+ });
594
629
  var renderVN = function () {
595
630
  var fixedColumn = props.fixedColumn, fixedType = props.fixedType, tableColumn = props.tableColumn;
596
631
  var keyboardConfig = tableProps.keyboardConfig, allColumnOverflow = tableProps.showOverflow, spanMethod = tableProps.spanMethod, mouseConfig = tableProps.mouseConfig;
@@ -3246,7 +3246,7 @@ export default defineComponent({
3246
3246
  return nextTick();
3247
3247
  },
3248
3248
  isCheckedByRadioRow: function (row) {
3249
- return reactData.selectRow === row;
3249
+ return $xetable.eqRow(reactData.selectRow, row);
3250
3250
  },
3251
3251
  /**
3252
3252
  * 用于单选行,设置某一行为选中状态
@@ -4359,14 +4359,15 @@ export default defineComponent({
4359
4359
  // }
4360
4360
  // 如果是按下非功能键之外允许直接编辑
4361
4361
  if (selected.column && selected.row && isEnableConf(selected.column.editRender)) {
4362
- if (!editOpts.activeMethod || editOpts.activeMethod(selected.args)) {
4362
+ if (!editOpts.activeMethod || editOpts.activeMethod(__assign(__assign({}, selected.args), { $table: $xetable }))) {
4363
4363
  if (editMethod) {
4364
4364
  editMethod({
4365
4365
  row: selected.row,
4366
4366
  rowIndex: tableMethods.getRowIndex(selected.row),
4367
4367
  column: selected.column,
4368
4368
  columnIndex: tableMethods.getColumnIndex(selected.column),
4369
- $table: $xetable
4369
+ $table: $xetable,
4370
+ $grid: $xegrid
4370
4371
  });
4371
4372
  }
4372
4373
  else {
@@ -4821,7 +4822,7 @@ export default defineComponent({
4821
4822
  }, treeOpts);
4822
4823
  }
4823
4824
  // 如果存在父节点,更新父节点状态
4824
- var matchObj = XEUtils.findTree(afterFullData, function (item) { return item === row; }, treeOpts);
4825
+ var matchObj = XEUtils.findTree(afterFullData, function (item) { return $xetable.eqRow(item, row); }, treeOpts);
4825
4826
  if (matchObj && matchObj.parent) {
4826
4827
  var parentStatus = void 0;
4827
4828
  var vItems_1 = checkMethod ? matchObj.items.filter(function (item) { return checkMethod({ row: item }); }) : matchObj.items;
@@ -4849,7 +4850,7 @@ export default defineComponent({
4849
4850
  if ($xetable.findRowIndexOf(treeIndeterminates, row) === -1) {
4850
4851
  treeIndeterminates.push(row);
4851
4852
  }
4852
- XEUtils.remove(selection, function (item) { return item === row; });
4853
+ XEUtils.remove(selection, function (item) { return $xetable.eqRow(item, row); });
4853
4854
  }
4854
4855
  else {
4855
4856
  // 更新子节点状态
@@ -4867,7 +4868,7 @@ export default defineComponent({
4867
4868
  }, treeOpts);
4868
4869
  }
4869
4870
  // 如果存在父节点,更新父节点状态
4870
- var matchObj = XEUtils.findTree(afterFullData, function (item) { return item === row; }, treeOpts);
4871
+ var matchObj = XEUtils.findTree(afterFullData, function (item) { return $xetable.eqRow(item, row); }, treeOpts);
4871
4872
  if (matchObj && matchObj.parent) {
4872
4873
  var parentStatus = void 0;
4873
4874
  var vItems_2 = checkMethod ? matchObj.items.filter(function (item) { return checkMethod({ row: item }); }) : matchObj.items;
@@ -4890,7 +4891,7 @@ export default defineComponent({
4890
4891
  }
4891
4892
  }
4892
4893
  else {
4893
- XEUtils.remove(selection, function (item) { return item === row; });
4894
+ XEUtils.remove(selection, function (item) { return $xetable.eqRow(item, row); });
4894
4895
  }
4895
4896
  handleCheckboxReserveRow(row, value);
4896
4897
  }
@@ -5269,7 +5270,7 @@ export default defineComponent({
5269
5270
  var rests = [];
5270
5271
  if (treeConfig) {
5271
5272
  var treeOpts = computeTreeOpts.value;
5272
- var matchObj = XEUtils.findTree(tableFullData, function (item) { return item === row; }, treeOpts);
5273
+ var matchObj = XEUtils.findTree(tableFullData, function (item) { return $xetable.eqRow(item, row); }, treeOpts);
5273
5274
  if (matchObj) {
5274
5275
  var nodes_1 = matchObj.nodes;
5275
5276
  nodes_1.forEach(function (row, index) {
@@ -794,14 +794,17 @@ var editHook = {
794
794
  var row = params.row,
795
795
  column = params.column;
796
796
  var editRender = column.editRender;
797
- var cell = params.cell = params.cell || $xetable.getCell(row, column);
797
+ var cell = params.cell || $xetable.getCell(row, column);
798
+ params.cell = cell;
798
799
 
799
800
  if ((0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(editRender) && cell) {
800
801
  if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
801
802
  // 判断是否禁用编辑
802
803
  var type = 'edit-disabled';
803
804
 
804
- if (!activeMethod || activeMethod(params)) {
805
+ if (!activeMethod || activeMethod(__assign(__assign({}, params), {
806
+ $table: $xetable
807
+ }))) {
805
808
  if (mouseConfig) {
806
809
  editMethods.clearSelected();
807
810
 
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(R){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var _=R.props,C=R.reactData,b=R.internalData,o=R.getRefMaps().refElem,e=R.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,w=e.computeCheckboxOpts,I=e.computeTreeOpts,g={},m={};function a(){var e=C.editStore,t=C.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function A(e,t){var a=b.tableFullTreeData,i=b.afterFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,r=I.value,d=r.rowField,s=r.parentField,f=r.children,v=r.mapChildren,p=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[s],n=(0,_util.getRowid)(R,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d]},{children:v}):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(R,t)])?r.level:0,r=t[f],(r=!_xeUtils.default.isArray(r)?t[f]=[]:r)[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_utils.warnLog)("vxe.error.unableInsert"),i[p](e),a[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e})}return g={insert:function(e){return g.insertAt(e,null)},insertAt:function(e,t){var r=_.treeConfig,l=C.mergeList,n=C.editStore,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,d=I.value,s=d.transform,f=d.rowField,v=d.mapChildren,p=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return R.defineField(Object.assign({},e))});if(t)if(-1===t)r&&s?A(p,!0):(a.push.apply(a,p),i.push.apply(i,p),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+p.length)}));else if(r&&s){var w,g,m,h=_xeUtils.default.findTree(o,function(e){return t[f]===e[f]},{children:v});h?(w=h.parent,g=h.items,v=c[(0,_util.getRowid)(R,w)],m=v?v.level:0,p.forEach(function(e,t){var r=(0,_util.getRowid)(R,e);"development"===process.env.NODE_ENV&&e[d.parentField]&&w&&e[d.parentField]!==w[f]&&(0,_utils.errLog)("vxe.error.errProp",[d.parentField+"="+e[d.parentField],d.parentField+"="+w[f]]),w&&(e[d.parentField]=w[f]),g.splice(h.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:g,parent:w,level:m+1};u[r]=e,c[r]=e})):("development"===process.env.NODE_ENV&&(0,_utils.warnLog)("vxe.error.unableInsert"),A(p,!0))}else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var x=-1;if(_xeUtils.default.isNumber(t)?t<a.length&&(x=t):x=R.findRowIndexOf(a,t),-1===x)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([x,0],p)),i.splice.apply(i,__spreadArray([R.findRowIndexOf(i,t),0],p)),l.forEach(function(e){var t=e.row,r=e.rowspan;x<t?e.row=t+p.length:x<t+r&&(e.rowspan=r+p.length)})}else r&&s?A(p,!1):(a.unshift.apply(a,p),i.unshift.apply(i,p),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+p.length)}));return(n=n.insertList).unshift.apply(n,p),R.updateFooter(),R.cacheRowMap(),R.handleTableData(r&&s),r&&s||R.updateAfterDataIndex(),R.checkSelectionStatus(),C.scrollYLoad&&R.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return R.updateCellAreas(),R.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},remove:function(e){var t=_.treeConfig,r=C.mergeList,l=C.editStore,n=C.selection,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=w.value,c=I.value,d=c.transform,s=l.actived,f=l.removeList,v=l.insertList,u=u.checkField,p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(function(e){R.isInsertByRow(e)||f.push(e)}),u||e.forEach(function(e){e=R.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),i===e?(e=p=i.slice(0),b.tableFullData=[],b.afterFullData=[],R.clearMergeCells()):t&&d?e.forEach(function(e){var t=(0,_util.getRowid)(R,e),r=_xeUtils.default.findTree(o,function(e){return t===(0,_util.getRowid)(R,e)},c);r&&(r=r.items.splice(r.index,1),p.push(r[0]));e=R.findRowIndexOf(a,e);-1<e&&a.splice(e,1)}):e.forEach(function(e){var t=R.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),p.push(t[0]));var l=R.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),s.row&&-1<R.findRowIndexOf(e,s.row)&&g.clearActived(),e.forEach(function(e){e=R.findRowIndexOf(v,e);-1<e&&v.splice(e,1)}),R.updateFooter(),R.cacheRowMap(),R.handleTableData(t&&d),t&&d||R.updateAfterDataIndex(),R.checkSelectionStatus(),C.scrollYLoad&&R.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return R.updateCellAreas(),R.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},removeCheckboxRow:function(){return g.remove(R.getCheckboxRecords()).then(function(e){return R.clearCheckboxRow(),e})},removeRadioRow:function(){var e=R.getRadioRecord();return g.remove(e||[]).then(function(e){return R.clearRadioRow(),e})},removeCurrentRow:function(){var e=R.getCurrentRecord();return g.remove(e||[]).then(function(e){return R.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:g.getInsertRecords(),removeRecords:g.getRemoveRecords(),updateRecords:g.getUpdateRecords()}},getInsertRecords:function(){var e=_.treeConfig,t=C.editStore,r=b.tableFullTreeData,l=b.tableFullData,n=I.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(R,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(R,e)},n)&&o.push(e)}):t.forEach(function(e){-1<R.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return C.editStore.removeList},getUpdateRecords:function(){var e=_.keepSource,t=_.treeConfig,r=b.tableFullData,l=I.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return R.isUpdateByRow(e)},l):r.filter(function(e){return R.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=C.editStore,t=b.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<R.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=C.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=C.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,R.updateFooter(),R.dispatchEvent("edit-closed",{row:r,rowIndex:R.getRowIndex(r),$rowIndex:R.getVMRowIndex(r),column:l,columnIndex:R.getColumnIndex(l),$columnIndex:R.getVMColumnIndex(l)},e||null)),(R.clearValidate?R.clearValidate():(0,_vue.nextTick)()).then(function(){return R.recalculate()})},clearSelected:function(){var e=C.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return C.editStore.actived.row===e},setActiveRow:function(e){var t=b.visibleColumn;return R.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=_.editConfig,l=_xeUtils.default.isString(e)?R.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?R.scrollToRow(t,l).then(function(){var e=R.getCell(t,l);return e&&(m.handleActived({row:t,rowIndex:R.getRowIndex(t),column:l,columnIndex:R.getColumnIndex(l),cell:e,$table:R}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=C.tableData,l=b.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?R.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=R.findRowIndexOf(r,e))&&t&&(r=R.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},R.handleSelected(r,{}))),(0,_vue.nextTick)()}},m={handleActived:function(e,t){var r,l=_.editConfig,n=_.mouseConfig,o=C.editStore,a=C.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell=e.cell||R.getCell(s,f);return(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(e)||(n&&(g.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea())),R.closeTooltip(),g.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){m.handleFocus(e,t)})),R.dispatchEvent(r,{row:s,rowIndex:R.getRowIndex(s),$rowIndex:R.getVMRowIndex(s),column:f,columnIndex:R.getColumnIndex(f),$columnIndex:R.getVMColumnIndex(f)},t)):(r=d.column,n&&(g.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),R.clearValidate&&R.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){m.handleFocus(e,t)})),R.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):R.scrollToRow(l,n))},handleSelected:function(e,t){var r=_.mouseConfig,l=C.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(g.clearActived(t),g.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&m.addCellSelectedClass(),R.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=C.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=R.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},g),m)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(_){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var R=_.props,C=_.reactData,b=_.internalData,o=_.getRefMaps().refElem,e=_.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,w=e.computeCheckboxOpts,I=e.computeTreeOpts,g={},m={};function a(){var e=C.editStore,t=C.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function A(e,t){var a=b.tableFullTreeData,i=b.afterFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,r=I.value,d=r.rowField,s=r.parentField,f=r.children,v=r.mapChildren,p=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[s],n=(0,_util.getRowid)(_,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d]},{children:v}):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(_,t)])?r.level:0,r=t[f],(r=!_xeUtils.default.isArray(r)?t[f]=[]:r)[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_utils.warnLog)("vxe.error.unableInsert"),i[p](e),a[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e})}return g={insert:function(e){return g.insertAt(e,null)},insertAt:function(e,t){var r=R.treeConfig,l=C.mergeList,n=C.editStore,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,d=I.value,s=d.transform,f=d.rowField,v=d.mapChildren,p=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return _.defineField(Object.assign({},e))});if(t)if(-1===t)r&&s?A(p,!0):(a.push.apply(a,p),i.push.apply(i,p),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+p.length)}));else if(r&&s){var w,g,m,h=_xeUtils.default.findTree(o,function(e){return t[f]===e[f]},{children:v});h?(w=h.parent,g=h.items,v=c[(0,_util.getRowid)(_,w)],m=v?v.level:0,p.forEach(function(e,t){var r=(0,_util.getRowid)(_,e);"development"===process.env.NODE_ENV&&e[d.parentField]&&w&&e[d.parentField]!==w[f]&&(0,_utils.errLog)("vxe.error.errProp",[d.parentField+"="+e[d.parentField],d.parentField+"="+w[f]]),w&&(e[d.parentField]=w[f]),g.splice(h.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:g,parent:w,level:m+1};u[r]=e,c[r]=e})):("development"===process.env.NODE_ENV&&(0,_utils.warnLog)("vxe.error.unableInsert"),A(p,!0))}else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var x=-1;if(_xeUtils.default.isNumber(t)?t<a.length&&(x=t):x=_.findRowIndexOf(a,t),-1===x)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([x,0],p)),i.splice.apply(i,__spreadArray([_.findRowIndexOf(i,t),0],p)),l.forEach(function(e){var t=e.row,r=e.rowspan;x<t?e.row=t+p.length:x<t+r&&(e.rowspan=r+p.length)})}else r&&s?A(p,!1):(a.unshift.apply(a,p),i.unshift.apply(i,p),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+p.length)}));return(n=n.insertList).unshift.apply(n,p),_.updateFooter(),_.cacheRowMap(),_.handleTableData(r&&s),r&&s||_.updateAfterDataIndex(),_.checkSelectionStatus(),C.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return _.updateCellAreas(),_.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},remove:function(e){var t=R.treeConfig,r=C.mergeList,l=C.editStore,n=C.selection,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=w.value,c=I.value,d=c.transform,s=l.actived,f=l.removeList,v=l.insertList,u=u.checkField,p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(function(e){_.isInsertByRow(e)||f.push(e)}),u||e.forEach(function(e){e=_.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),i===e?(e=p=i.slice(0),b.tableFullData=[],b.afterFullData=[],_.clearMergeCells()):t&&d?e.forEach(function(e){var t=(0,_util.getRowid)(_,e),r=_xeUtils.default.findTree(o,function(e){return t===(0,_util.getRowid)(_,e)},c);r&&(r=r.items.splice(r.index,1),p.push(r[0]));e=_.findRowIndexOf(a,e);-1<e&&a.splice(e,1)}):e.forEach(function(e){var t=_.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),p.push(t[0]));var l=_.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),s.row&&-1<_.findRowIndexOf(e,s.row)&&g.clearActived(),e.forEach(function(e){e=_.findRowIndexOf(v,e);-1<e&&v.splice(e,1)}),_.updateFooter(),_.cacheRowMap(),_.handleTableData(t&&d),t&&d||_.updateAfterDataIndex(),_.checkSelectionStatus(),C.scrollYLoad&&_.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return _.updateCellAreas(),_.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},removeCheckboxRow:function(){return g.remove(_.getCheckboxRecords()).then(function(e){return _.clearCheckboxRow(),e})},removeRadioRow:function(){var e=_.getRadioRecord();return g.remove(e||[]).then(function(e){return _.clearRadioRow(),e})},removeCurrentRow:function(){var e=_.getCurrentRecord();return g.remove(e||[]).then(function(e){return _.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:g.getInsertRecords(),removeRecords:g.getRemoveRecords(),updateRecords:g.getUpdateRecords()}},getInsertRecords:function(){var e=R.treeConfig,t=C.editStore,r=b.tableFullTreeData,l=b.tableFullData,n=I.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(_,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(_,e)},n)&&o.push(e)}):t.forEach(function(e){-1<_.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return C.editStore.removeList},getUpdateRecords:function(){var e=R.keepSource,t=R.treeConfig,r=b.tableFullData,l=I.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return _.isUpdateByRow(e)},l):r.filter(function(e){return _.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=C.editStore,t=b.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<_.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=C.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=C.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,_.updateFooter(),_.dispatchEvent("edit-closed",{row:r,rowIndex:_.getRowIndex(r),$rowIndex:_.getVMRowIndex(r),column:l,columnIndex:_.getColumnIndex(l),$columnIndex:_.getVMColumnIndex(l)},e||null)),(_.clearValidate?_.clearValidate():(0,_vue.nextTick)()).then(function(){return _.recalculate()})},clearSelected:function(){var e=C.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return C.editStore.actived.row===e},setActiveRow:function(e){var t=b.visibleColumn;return _.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=R.editConfig,l=_xeUtils.default.isString(e)?_.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?_.scrollToRow(t,l).then(function(){var e=_.getCell(t,l);return e&&(m.handleActived({row:t,rowIndex:_.getRowIndex(t),column:l,columnIndex:_.getColumnIndex(l),cell:e,$table:_}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=C.tableData,l=b.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?_.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=_.findRowIndexOf(r,e))&&t&&(r=_.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},_.handleSelected(r,{}))),(0,_vue.nextTick)()}},m={handleActived:function(e,t){var r,l=R.editConfig,n=R.mouseConfig,o=C.editStore,a=C.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell||_.getCell(s,f);return e.cell=o,(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(__assign(__assign({},e),{$table:_}))||(n&&(g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea())),_.closeTooltip(),g.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){m.handleFocus(e,t)})),_.dispatchEvent(r,{row:s,rowIndex:_.getRowIndex(s),$rowIndex:_.getVMRowIndex(s),column:f,columnIndex:_.getColumnIndex(f),$columnIndex:_.getVMColumnIndex(f)},t)):(r=d.column,n&&(g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),_.clearValidate&&_.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){m.handleFocus(e,t)})),_.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):_.scrollToRow(l,n))},handleSelected:function(e,t){var r=R.mouseConfig,l=C.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(g.clearActived(t),g.clearSelected(),_.clearCellAreas&&(_.clearCellAreas(),_.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&m.addCellSelectedClass(),_.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=C.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=_.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},g),m)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
@@ -162,6 +162,16 @@ var _default2 = (0, _vue.defineComponent)({
162
162
  elemStore[prefix + "xSpace"] = refFooterXSpace.value;
163
163
  });
164
164
  });
165
+ (0, _vue.onUnmounted)(function () {
166
+ var fixedType = props.fixedType;
167
+ var elemStore = tableInternalData.elemStore;
168
+ var prefix = (fixedType || 'main') + "-footer-";
169
+ elemStore[prefix + "wrapper"] = null;
170
+ elemStore[prefix + "table"] = null;
171
+ elemStore[prefix + "colgroup"] = null;
172
+ elemStore[prefix + "list"] = null;
173
+ elemStore[prefix + "xSpace"] = null;
174
+ });
165
175
 
166
176
  var renderVN = function renderVN() {
167
177
  var fixedType = props.fixedType,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,l=1,o=arguments.length;l<o;l++)for(var r in t=arguments[l])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},renderType="footer";function mergeFooterMethod(e,t,l){for(var o=0;o<e.length;o++){var r=e[o],n=r.row,a=r.col,i=r.rowspan,r=r.colspan;if(-1<a&&-1<n&&i&&r){if(n===t&&a===l)return{rowspan:i,colspan:r};if(n<=t&&t<n+i&&a<=l&&l<a+r)return{rowspan:0,colspan:0}}}}var _default2=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:function(){return[]}},tableColumn:{type:Array,default:function(){return[]}},fixedColumn:{type:Array,default:function(){return[]}},fixedType:{type:String,default:null}},setup:function(u){function n(e){var t=u.fixedType,l=s.scrollXLoad,o=c.lastScrollLeft,r=p.value,n=f.value,a=d.value,i=n?n.$el:null,n=_.value,a=a.$el,o=(n=n.scrollLeft)!==o;c.lastScrollLeft=n,c.lastScrollTime=Date.now(),i&&(i.scrollLeft=n),a&&(a.scrollLeft=n),l&&o&&A.triggerScrollXEvent(e),o&&r&&r.reactData.visible&&r.updatePlacement(),A.dispatchEvent("scroll",{type:renderType,fixed:t,scrollTop:a.scrollTop,scrollLeft:n,isX:o,isY:!1},e)}var A=(0,_vue.inject)("$xetable",{}),a=A.xID,i=A.props,s=A.reactData,c=A.internalData,e=A.getRefMaps(),f=e.refTableHeader,d=e.refTableBody,p=e.refValidTooltip,v=A.getComputeMaps().computeTooltipOpts,_=(0,_vue.ref)(),x=(0,_vue.ref)(),g=(0,_vue.ref)(),m=(0,_vue.ref)(),y=(0,_vue.ref)();(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=u.fixedType,t=c.elemStore,e=(e||"main")+"-footer-";t[e+"wrapper"]=_.value,t[e+"table"]=x.value,t[e+"colgroup"]=g.value,t[e+"list"]=m.value,t[e+"xSpace"]=y.value})});return function(){var w=u.fixedType,e=u.fixedColumn,T=u.tableColumn,C=u.footerTableData,t=i.footerRowClassName,I=i.footerCellClassName,l=i.footerRowStyle,F=i.footerCellStyle,S=i.footerAlign,D=i.footerSpanMethod,L=i.align,M=i.columnKey,$=i.showFooterOverflow,o=c.visibleColumn,O=s.scrollYLoad,k=s.overflowX,r=s.scrollbarWidth,U=s.currentColumn,j=s.mergeFooterList,q=v.value;return w&&(T=!O&&!$||j.length&&D?o:e),(0,_vue.h)("div",{ref:_,class:["vxe-table--footer-wrapper",w?"fixed-"+w+"--wrapper":"body--wrapper"],xid:a,onScroll:n},[w?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:y,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:x,class:"vxe-table--footer",xid:a,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:g},T.map(function(e,t){return(0,_vue.h)("col",{name:e.id,key:t})}).concat(r?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("tfoot",{ref:m},C.map(function(y,h){var b=h;return(0,_vue.h)("tr",{class:["vxe-footer--row",t?_xeUtils.default.isFunction(t)?t({$table:A,_rowIndex:h,$rowIndex:b,fixed:w,type:renderType}):t:""],style:l?_xeUtils.default.isFunction(l)?l({$table:A,_rowIndex:h,$rowIndex:b,fixed:w,type:renderType}):l:null},T.map(function(t,e){var l=t.type,o=t.showFooterOverflow,r=t.footerAlign,n=t.align,a=t.footerClassName,i=q.showAll,u=t.children&&t.children.length,s=w?t.fixed!==w&&!u:t.fixed&&k,c=_xeUtils.default.isUndefined(o)||_xeUtils.default.isNull(o)?$:o,f=r||n||S||L,d="ellipsis"===c,p="title"===c,v=!0===c||"tooltip"===c,u=p||v||d,o={colid:t.id},r={},n=A.getColumnIndex(t),c=A.getVTColumnIndex(t),_={$table:A,_rowIndex:h,$rowIndex:b,column:t,columnIndex:n,$columnIndex:e,_columnIndex:c,itemIndex:c,items:y,fixed:w,type:renderType,data:C};if(O&&!u&&(d=u=!0),(p||v||i)&&(r.onMouseenter=function(e){p?(0,_dom.updateCellTitle)(e.currentTarget,t):(v||i)&&A.triggerFooterTooltipEvent(e,_)}),(v||i)&&(r.onMouseleave=function(e){(v||i)&&A.handleTargetLeaveEvent(e)}),r.onClick=function(e){A.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},_),e)},r.onDblclick=function(e){A.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},_),e)},j.length){var x=mergeFooterMethod(j,h,c);if(x){var g=x.rowspan,m=x.colspan;if(!g||!m)return null;1<g&&(o.rowspan=g),1<m&&(o.colspan=m)}}else if(D){var c=D(_)||{},x=c.rowspan,g=void 0===x?1:x,c=c.colspan,m=void 0===c?1:c;if(!g||!m)return null;1<g&&(o.rowspan=g),1<m&&(o.colspan=m)}return(0,_vue.h)("td",__assign(__assign(__assign(__assign({class:["vxe-footer--column",t.id,((m={})["col--"+f]=f,m["col--"+l]=l,m["col--last"]=e===T.length-1,m["fixed--hidden"]=s,m["col--ellipsis"]=u,m["col--current"]=U===t,m),(0,_util.getPropClass)(a,_),(0,_util.getPropClass)(I,_)]},o),{style:F?_xeUtils.default.isFunction(F)?F(_):F:null}),r),{key:M?t.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":p,"c--tooltip":v,"c--ellipsis":d}]},t.renderFooter(_))])}).concat(r?[(0,_vue.h)("td",{class:"vxe-footer--gutter col--gutter"})]:[]))}))])])}}});exports.default=_default2;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var l,t=1,o=arguments.length;t<o;t++)for(var r in l=arguments[t])Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);return e}).apply(this,arguments)},renderType="footer";function mergeFooterMethod(e,l,t){for(var o=0;o<e.length;o++){var r=e[o],n=r.row,a=r.col,i=r.rowspan,r=r.colspan;if(-1<a&&-1<n&&i&&r){if(n===l&&a===t)return{rowspan:i,colspan:r};if(n<=l&&l<n+i&&a<=t&&t<a+r)return{rowspan:0,colspan:0}}}}var _default2=(0,_vue.defineComponent)({name:"VxeTableFooter",props:{footerTableData:{type:Array,default:function(){return[]}},tableColumn:{type:Array,default:function(){return[]}},fixedColumn:{type:Array,default:function(){return[]}},fixedType:{type:String,default:null}},setup:function(u){function n(e){var l=u.fixedType,t=s.scrollXLoad,o=c.lastScrollLeft,r=p.value,n=f.value,a=d.value,i=n?n.$el:null,n=_.value,a=a.$el,o=(n=n.scrollLeft)!==o;c.lastScrollLeft=n,c.lastScrollTime=Date.now(),i&&(i.scrollLeft=n),a&&(a.scrollLeft=n),t&&o&&A.triggerScrollXEvent(e),o&&r&&r.reactData.visible&&r.updatePlacement(),A.dispatchEvent("scroll",{type:renderType,fixed:l,scrollTop:a.scrollTop,scrollLeft:n,isX:o,isY:!1},e)}var A=(0,_vue.inject)("$xetable",{}),a=A.xID,i=A.props,s=A.reactData,c=A.internalData,e=A.getRefMaps(),f=e.refTableHeader,d=e.refTableBody,p=e.refValidTooltip,v=A.getComputeMaps().computeTooltipOpts,_=(0,_vue.ref)(),x=(0,_vue.ref)(),g=(0,_vue.ref)(),m=(0,_vue.ref)(),y=(0,_vue.ref)();(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=u.fixedType,l=c.elemStore,e=(e||"main")+"-footer-";l[e+"wrapper"]=_.value,l[e+"table"]=x.value,l[e+"colgroup"]=g.value,l[e+"list"]=m.value,l[e+"xSpace"]=y.value})}),(0,_vue.onUnmounted)(function(){var e=u.fixedType,l=c.elemStore,e=(e||"main")+"-footer-";l[e+"wrapper"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null});return function(){var w=u.fixedType,e=u.fixedColumn,T=u.tableColumn,C=u.footerTableData,l=i.footerRowClassName,I=i.footerCellClassName,t=i.footerRowStyle,S=i.footerCellStyle,F=i.footerAlign,D=i.footerSpanMethod,L=i.align,M=i.columnKey,$=i.showFooterOverflow,o=c.visibleColumn,O=s.scrollYLoad,U=s.overflowX,r=s.scrollbarWidth,k=s.currentColumn,j=s.mergeFooterList,q=v.value;return w&&(T=!O&&!$||j.length&&D?o:e),(0,_vue.h)("div",{ref:_,class:["vxe-table--footer-wrapper",w?"fixed-"+w+"--wrapper":"body--wrapper"],xid:a,onScroll:n},[w?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:y,class:"vxe-body--x-space"}),(0,_vue.h)("table",{ref:x,class:"vxe-table--footer",xid:a,cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("colgroup",{ref:g},T.map(function(e,l){return(0,_vue.h)("col",{name:e.id,key:l})}).concat(r?[(0,_vue.h)("col",{name:"col_gutter"})]:[])),(0,_vue.h)("tfoot",{ref:m},C.map(function(y,h){var b=h;return(0,_vue.h)("tr",{class:["vxe-footer--row",l?_xeUtils.default.isFunction(l)?l({$table:A,_rowIndex:h,$rowIndex:b,fixed:w,type:renderType}):l:""],style:t?_xeUtils.default.isFunction(t)?t({$table:A,_rowIndex:h,$rowIndex:b,fixed:w,type:renderType}):t:null},T.map(function(l,e){var t=l.type,o=l.showFooterOverflow,r=l.footerAlign,n=l.align,a=l.footerClassName,i=q.showAll,u=l.children&&l.children.length,s=w?l.fixed!==w&&!u:l.fixed&&U,c=_xeUtils.default.isUndefined(o)||_xeUtils.default.isNull(o)?$:o,f=r||n||F||L,d="ellipsis"===c,p="title"===c,v=!0===c||"tooltip"===c,u=p||v||d,o={colid:l.id},r={},n=A.getColumnIndex(l),c=A.getVTColumnIndex(l),_={$table:A,_rowIndex:h,$rowIndex:b,column:l,columnIndex:n,$columnIndex:e,_columnIndex:c,itemIndex:c,items:y,fixed:w,type:renderType,data:C};if(O&&!u&&(d=u=!0),(p||v||i)&&(r.onMouseenter=function(e){p?(0,_dom.updateCellTitle)(e.currentTarget,l):(v||i)&&A.triggerFooterTooltipEvent(e,_)}),(v||i)&&(r.onMouseleave=function(e){(v||i)&&A.handleTargetLeaveEvent(e)}),r.onClick=function(e){A.dispatchEvent("footer-cell-click",Object.assign({cell:e.currentTarget},_),e)},r.onDblclick=function(e){A.dispatchEvent("footer-cell-dblclick",Object.assign({cell:e.currentTarget},_),e)},j.length){var x=mergeFooterMethod(j,h,c);if(x){var g=x.rowspan,m=x.colspan;if(!g||!m)return null;1<g&&(o.rowspan=g),1<m&&(o.colspan=m)}}else if(D){var c=D(_)||{},x=c.rowspan,g=void 0===x?1:x,c=c.colspan,m=void 0===c?1:c;if(!g||!m)return null;1<g&&(o.rowspan=g),1<m&&(o.colspan=m)}return(0,_vue.h)("td",__assign(__assign(__assign(__assign({class:["vxe-footer--column",l.id,((m={})["col--"+f]=f,m["col--"+t]=t,m["col--last"]=e===T.length-1,m["fixed--hidden"]=s,m["col--ellipsis"]=u,m["col--current"]=k===l,m),(0,_util.getPropClass)(a,_),(0,_util.getPropClass)(I,_)]},o),{style:S?_xeUtils.default.isFunction(S)?S(_):S:null}),r),{key:M?l.id:e}),[(0,_vue.h)("div",{class:["vxe-cell",{"c--title":p,"c--tooltip":v,"c--ellipsis":d}]},l.renderFooter(_))])}).concat(r?[(0,_vue.h)("td",{class:"vxe-footer--gutter col--gutter"})]:[]))}))])])}}});exports.default=_default2;
@@ -526,7 +526,6 @@ var _default2 = (0, _vue.defineComponent)({
526
526
  var validRest = {};
527
527
  var validFields = [];
528
528
  var itemValids = [];
529
- clearValidate();
530
529
  clearTimeout(showErrTime);
531
530
 
532
531
  if (data && formRules) {
@@ -596,6 +595,7 @@ var _default2 = (0, _vue.defineComponent)({
596
595
  };
597
596
 
598
597
  var validate = function validate(callback) {
598
+ clearValidate();
599
599
  return beginValidate(getItems(), '', callback);
600
600
  };
601
601
 
@@ -609,6 +609,7 @@ var _default2 = (0, _vue.defineComponent)({
609
609
  evnt.preventDefault();
610
610
 
611
611
  if (!props.preventSubmit) {
612
+ clearValidate();
612
613
  beginValidate(getItems()).then(function () {
613
614
  formMethods.dispatchEvent('submit', {
614
615
  data: props.data
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_dom=require("../../tools/dom"),_util=require("./util"),_render=require("./render"),_size=require("../../hooks/size");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},Rule=function(){function e(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return Object.defineProperty(e.prototype,"content",{get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this.content},enumerable:!1,configurable:!0}),e}(),validErrorRuleValue=function(e,t){var i=e.type,n=e.min,r=e.max,l=e.pattern,e="number"===i,i=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(n)&&i<_xeUtils.default.toNumber(n)||(!_xeUtils.default.eqNull(r)&&i>_xeUtils.default.toNumber(r)||!(!l||(_xeUtils.default.isRegExp(l)?l:new RegExp(l)).test(t))))};function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}var _default2=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:function(){return _conf.default.form.size||_conf.default.size}},span:{type:[String,Number],default:function(){return _conf.default.form.span}},align:{type:String,default:function(){return _conf.default.form.align}},titleAlign:{type:String,default:function(){return _conf.default.form.titleAlign}},titleWidth:{type:[String,Number],default:function(){return _conf.default.form.titleWidth}},titleColon:{type:Boolean,default:function(){return _conf.default.form.titleColon}},titleAsterisk:{type:Boolean,default:function(){return _conf.default.form.titleAsterisk}},titleOverflow:{type:[Boolean,String],default:null},className:[String,Function],items:Array,rules:Object,preventSubmit:{type:Boolean,default:function(){return _conf.default.form.preventSubmit}},validConfig:Object,tooltipConfig:Object,customLayout:{type:Boolean,default:function(){return _conf.default.form.customLayout}}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup:function(V,e){function t(){var e=b.value;return setTimeout(function(){a.tooltipActive||h.closeTooltip()},e.leaveDelay),!1}function i(e){return e.length&&("development"===process.env.NODE_ENV&&e.forEach(function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||v[e]||(0,_utils.errLog)("vxe.error.notSlot",[e])})}),p.staticItems=_xeUtils.default.mapTree(e,function(e){return(0,_util.createItem)(A,e)},{children:"children"})),(0,_vue.nextTick)()}function n(){return p.collapseAll}function r(){var e=!n();return p.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()}function c(e){e.preventDefault(),R(),h.dispatchEvent("reset",{data:V.data},e)}function f(t){t.preventDefault(),V.preventSubmit||N(T()).then(function(){h.dispatchEvent("submit",{data:V.data},t)}).catch(function(e){h.dispatchEvent("submit-invalid",{data:V.data,errMap:e},t)})}function o(){var e=a.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t&&t.close()),(0,_vue.nextTick)()}function q(e){var S=V.data,w=V.rules,N=V.titleOverflow,O=p.collapseAll,C=x.value;return e.map(function(e,t){var i=e.slots,n=e.title,r=e.visible,l=e.folding,o=e.visibleMethod,u=e.field,a=e.collapseNode,s=e.itemRender,c=e.showError,f=e.errRule,d=e.className,v=e.titleOverflow,m=e.children,p=(0,_utils.isEnableConf)(s)?_vXETable.VXETable.renderer.get(s.name):null,_=i?i.default:null,g=i?i.title:null,h=e.span||V.span,x=e.align||V.align,b=e.titleAlign||V.titleAlign,y=e.titleWidth||V.titleWidth,E=_xeUtils.default.isUndefined(v)||_xeUtils.default.isNull(v)?N:v,T="title"===E,i=!0===E||"tooltip"===E,v=T||i||"ellipsis"===E,E=o,U={data:S,property:u,item:e,$form:A};if(!1===r)return(0,_vue.createCommentVNode)();o=!1;if(!w||(r=w[u])&&(o=r.some(function(e){return e.required})),m&&0<m.length){var R=q(e.children);return R.length?(0,_vue.h)("div",{class:["vxe-form--gather vxe-row",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:""]},R):(0,_vue.createCommentVNode)()}!E&&p&&p.itemVisibleMethod&&(E=p.itemVisibleMethod);R=[];_?R=j(_,U):p&&p.renderItemContent?R=p.renderItemContent(s,U):u&&(R=[""+_xeUtils.default.get(S,u)]),a&&R.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:M},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},O?_conf.default.i18n("vxe.form.unfolding"):_conf.default.i18n("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",O?_conf.default.icon.FORM_FOLDING:_conf.default.icon.FORM_UNFOLDING]})])),f&&C.showMessage&&R.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:f.maxWidth?{width:f.maxWidth+"px"}:null},f.content));i=i?{onMouseenter:function(e){I(e,U)},onMouseleave:D}:{};return(0,_vue.h)("div",{class:["vxe-form--item",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:"",{"is--title":n,"is--required":o,"is--hidden":l&&O,"is--active":!E||E(U),"is--error":c}],key:t},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[n||g?(0,_vue.h)("div",__assign({class:["vxe-form--item-title",b?"align--"+b:null,{"is--ellipsis":v}],style:y?{width:isNaN(y)?y:y+"px"}:null,title:T?(0,_utils.getFuncText)(n):null},i),(0,_render.renderTitle)(A,e)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",x?"align--"+x:null]},R)])])})}var s,d=_vXETable.VXETable.tooltip,v=e.slots,l=e.emit,u=_xeUtils.default.uniqueId(),m=(0,_size.useSize)(V),p=(0,_vue.reactive)({collapseAll:V.collapseStatus,staticItems:[],formItems:[]}),a=(0,_vue.reactive)({tooltipTimeout:null,tooltipActive:!1,tooltipStore:{item:null,visible:!1}}),_=(0,_vue.ref)(),g=(0,_vue.ref)(),h={},x=(0,_vue.computed)(function(){return Object.assign({},_conf.default.form.validConfig,V.validConfig)}),b=(0,_vue.ref)(),b=(0,_vue.computed)(function(){var e=Object.assign({leaveDelay:300},_conf.default.form.tooltipConfig,V.tooltipConfig);return e.enterable&&(e.leaveMethod=t),e}),y={refElem:_},E={computeSize:m,computeValidOpts:x,computeTooltipOpts:b},A={xID:u,props:V,context:e,reactData:p,getRefMaps:function(){return y},getComputeMaps:function(){return E}},j=function(e,t){return e&&(_xeUtils.default.isString(e)&&(e=v[e]||null),_xeUtils.default.isFunction(e))?e(t):[]},T=function(){var t=[];return _xeUtils.default.eachTree(p.formItems,function(e){t.push(e)},{children:"children"}),t},M=function(e){r();var t=n();h.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:V.data},e),h.dispatchEvent("collapse",{status:t,collapse:t,data:V.data},e)},U=function(t){var e,i=T();return t?(e=i.find(function(e){return e.field===t}))&&(e.showError=!1):i.forEach(function(e){e.showError=!1}),(0,_vue.nextTick)()},R=function(){var r=V.data,e=T();return r&&e.forEach(function(e){var t=e.field,i=e.resetValue,n=e.itemRender;(0,_utils.isEnableConf)(n)&&((n=_vXETable.VXETable.renderer.get(n.name))&&n.itemResetMethod?n.itemResetMethod({data:r,property:t,item:e,$form:A}):t&&_xeUtils.default.set(r,t,null===i?getResetValue(_xeUtils.default.get(r,t),void 0):i))}),U()},S=function(e){var o=T(),u=_.value;e.some(function(t,e){var i=o.find(function(e){return e.field===t});if(i&&(0,_utils.isEnableConf)(i.itemRender)){var n=i.itemRender,r=_vXETable.VXETable.renderer.get(n.name),l=null;if(e||(0,_dom.scrollToView)(u.querySelector("."+i.id)),l=!(l=n.autofocus?u.querySelector("."+i.id+" "+n.autofocus):l)&&r&&r.autofocus?u.querySelector("."+i.id+" "+r.autofocus):l)return l.focus(),!0}})},w=function(l,o,e){var u,a,s=V.data,t=V.rules,c=[],f=[];return o&&t&&((u=_xeUtils.default.get(t,o))&&(a=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(s,o):e,u.forEach(function(t){var e,i=t.type,n=t.trigger,r=t.required;"all"!==l&&n&&l!==n||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({itemValue:a,rule:t,rules:u,data:s,property:o,$form:A}))&&(_xeUtils.default.isError(e)?c.push(new Rule({type:"custom",trigger:n,content:e.message,rule:new Rule(t)})):e.catch&&f.push(e.catch(function(e){c.push(new Rule({type:"custom",trigger:n,content:e?e.message:t.content||t.message,rule:new Rule(t)}))}))):(i="array"===i?!_xeUtils.default.isArray(a)||!a.length:(0,_utils.eqEmptyValue)(a),(r?i||validErrorRuleValue(t,a):!i&&validErrorRuleValue(t,a))&&c.push(new Rule(t))))}))),Promise.all(f).then(function(){if(c.length){var e={rules:c,rule:c[0]};return Promise.reject(e)}})},N=function(t,e,i){var r=V.data,n=V.rules,l=x.value,o={},u=[],a=[];return U(),clearTimeout(s),r&&n?(t.forEach(function(i){var n=i.field;n&&a.push(w(e||"all",n).then(function(){i.errRule=null}).catch(function(e){var t=e.rule,e={rule:t,rules:e.rules,data:r,property:n,$form:A};return o[n]||(o[n]=[]),o[n].push(e),u.push(n),i.errRule=t,Promise.reject(e)}))}),Promise.all(a).then(function(){i&&i()}).catch(function(){return new Promise(function(e){s=window.setTimeout(function(){t.forEach(function(e){e.errRule&&(e.showError=!0)})},20),!1!==l.autoPos&&(0,_vue.nextTick)(function(){S(u)}),i?(i(o),e()):e(o)})})):(i&&i(),Promise.resolve())},I=function(e,t){var i=t.item,n=a.tooltipStore,r=g.value,l=e.currentTarget.children[0],t=(l.textContent||"").trim(),e=l.scrollWidth>l.clientWidth;clearTimeout(a.tooltipTimeout),a.tooltipActive=!0,o(),t&&e&&(Object.assign(n,{item:i,visible:!0}),r&&r.open(l,t))},D=function(){var e=b.value;a.tooltipActive=!1,e.enterable?a.tooltipTimeout=setTimeout(function(){var e=g.value;e&&!e.reactData.isHover&&o()},e.leaveDelay):o()},h={dispatchEvent:function(e,t,i){l(e,Object.assign({$form:A,$event:i},t))},reset:R,validate:function(e){return N(T(),"",e)},validateField:function(t,e){return N(T().filter(function(e){return e.field===t}),"",e)},clearValidate:U,updateStatus:function(e,t){var i=e.property;i&&w("change",i,t).then(function(){U(i)}).catch(function(e){var t=e.rule,e=T().find(function(e){return e.field===i});e&&(e.showError=!0,e.errRule=t)})},toggleCollapse:r,getItems:T,closeTooltip:o};Object.assign(A,h,{callSlot:j,toggleCollapseEvent:M,triggerHeaderHelpEvent:I,handleTargetLeaveEvent:D}),(0,_vue.watch)(function(){return p.staticItems},function(e){p.formItems=e}),(0,_vue.watch)(function(){return V.items},function(e){i(e||[])}),(0,_vue.watch)(function(){return V.collapseStatus},function(e){p.collapseAll=!!e}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){"development"===process.env.NODE_ENV&&V.customLayout&&V.items&&(0,_utils.errLog)("vxe.error.errConflicts",["custom-layout","items"]),i(V.items||[])})});return A.renderVN=function(){var e=V.loading,t=V.className,i=V.data,n=V.titleColon,r=V.titleAsterisk,l=V.customLayout,o=p.formItems,u=m.value,a=b.value,s=v.default;return(0,_vue.h)("form",{ref:_,class:["vxe-form",t?_xeUtils.default.isFunction(t)?t({items:o,data:i,$form:A}):t:"",((t={})["size--"+u]=u,t["is--colon"]=n,t["is--asterisk"]=r,t["is--loading"]=e,t)],onSubmit:f,onReset:c},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-row"},l?s?s({}):[]:q(o)),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!l&&s?s({}):[]),(0,_vue.h)("div",{class:["vxe-loading",{"is--visible":e}]},[(0,_vue.h)("div",{class:"vxe-loading--spinner"})]),d?(0,_vue.h)((0,_vue.resolveComponent)("vxe-tooltip"),__assign({ref:g},a)):(0,_vue.createCommentVNode)()])},(0,_vue.provide)("$xeform",A),A},render:function(){return this.renderVN()}});exports.default=_default2;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_dom=require("../../tools/dom"),_util=require("./util"),_render=require("./render"),_size=require("../../hooks/size");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},Rule=function(){function e(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return Object.defineProperty(e.prototype,"content",{get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this.content},enumerable:!1,configurable:!0}),e}(),validErrorRuleValue=function(e,t){var i=e.type,n=e.min,r=e.max,l=e.pattern,e="number"===i,i=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(n)&&i<_xeUtils.default.toNumber(n)||(!_xeUtils.default.eqNull(r)&&i>_xeUtils.default.toNumber(r)||!(!l||(_xeUtils.default.isRegExp(l)?l:new RegExp(l)).test(t))))};function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}var _default2=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:function(){return _conf.default.form.size||_conf.default.size}},span:{type:[String,Number],default:function(){return _conf.default.form.span}},align:{type:String,default:function(){return _conf.default.form.align}},titleAlign:{type:String,default:function(){return _conf.default.form.titleAlign}},titleWidth:{type:[String,Number],default:function(){return _conf.default.form.titleWidth}},titleColon:{type:Boolean,default:function(){return _conf.default.form.titleColon}},titleAsterisk:{type:Boolean,default:function(){return _conf.default.form.titleAsterisk}},titleOverflow:{type:[Boolean,String],default:null},className:[String,Function],items:Array,rules:Object,preventSubmit:{type:Boolean,default:function(){return _conf.default.form.preventSubmit}},validConfig:Object,tooltipConfig:Object,customLayout:{type:Boolean,default:function(){return _conf.default.form.customLayout}}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup:function(V,e){function t(){var e=b.value;return setTimeout(function(){a.tooltipActive||h.closeTooltip()},e.leaveDelay),!1}function i(e){return e.length&&("development"===process.env.NODE_ENV&&e.forEach(function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||v[e]||(0,_utils.errLog)("vxe.error.notSlot",[e])})}),p.staticItems=_xeUtils.default.mapTree(e,function(e){return(0,_util.createItem)(A,e)},{children:"children"})),(0,_vue.nextTick)()}function n(){return p.collapseAll}function r(){var e=!n();return p.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()}function c(e){e.preventDefault(),R(),h.dispatchEvent("reset",{data:V.data},e)}function f(t){t.preventDefault(),V.preventSubmit||(U(),N(T()).then(function(){h.dispatchEvent("submit",{data:V.data},t)}).catch(function(e){h.dispatchEvent("submit-invalid",{data:V.data,errMap:e},t)}))}function o(){var e=a.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t&&t.close()),(0,_vue.nextTick)()}function q(e){var S=V.data,w=V.rules,N=V.titleOverflow,O=p.collapseAll,C=x.value;return e.map(function(e,t){var i=e.slots,n=e.title,r=e.visible,l=e.folding,o=e.visibleMethod,u=e.field,a=e.collapseNode,s=e.itemRender,c=e.showError,f=e.errRule,d=e.className,v=e.titleOverflow,m=e.children,p=(0,_utils.isEnableConf)(s)?_vXETable.VXETable.renderer.get(s.name):null,_=i?i.default:null,g=i?i.title:null,h=e.span||V.span,x=e.align||V.align,b=e.titleAlign||V.titleAlign,y=e.titleWidth||V.titleWidth,E=_xeUtils.default.isUndefined(v)||_xeUtils.default.isNull(v)?N:v,T="title"===E,i=!0===E||"tooltip"===E,v=T||i||"ellipsis"===E,E=o,U={data:S,property:u,item:e,$form:A};if(!1===r)return(0,_vue.createCommentVNode)();o=!1;if(!w||(r=w[u])&&(o=r.some(function(e){return e.required})),m&&0<m.length){var R=q(e.children);return R.length?(0,_vue.h)("div",{class:["vxe-form--gather vxe-row",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:""]},R):(0,_vue.createCommentVNode)()}!E&&p&&p.itemVisibleMethod&&(E=p.itemVisibleMethod);R=[];_?R=j(_,U):p&&p.renderItemContent?R=p.renderItemContent(s,U):u&&(R=[""+_xeUtils.default.get(S,u)]),a&&R.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:M},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},O?_conf.default.i18n("vxe.form.unfolding"):_conf.default.i18n("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",O?_conf.default.icon.FORM_FOLDING:_conf.default.icon.FORM_UNFOLDING]})])),f&&C.showMessage&&R.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:f.maxWidth?{width:f.maxWidth+"px"}:null},f.content));i=i?{onMouseenter:function(e){I(e,U)},onMouseleave:D}:{};return(0,_vue.h)("div",{class:["vxe-form--item",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:"",{"is--title":n,"is--required":o,"is--hidden":l&&O,"is--active":!E||E(U),"is--error":c}],key:t},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[n||g?(0,_vue.h)("div",__assign({class:["vxe-form--item-title",b?"align--"+b:null,{"is--ellipsis":v}],style:y?{width:isNaN(y)?y:y+"px"}:null,title:T?(0,_utils.getFuncText)(n):null},i),(0,_render.renderTitle)(A,e)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",x?"align--"+x:null]},R)])])})}var s,d=_vXETable.VXETable.tooltip,v=e.slots,l=e.emit,u=_xeUtils.default.uniqueId(),m=(0,_size.useSize)(V),p=(0,_vue.reactive)({collapseAll:V.collapseStatus,staticItems:[],formItems:[]}),a=(0,_vue.reactive)({tooltipTimeout:null,tooltipActive:!1,tooltipStore:{item:null,visible:!1}}),_=(0,_vue.ref)(),g=(0,_vue.ref)(),h={},x=(0,_vue.computed)(function(){return Object.assign({},_conf.default.form.validConfig,V.validConfig)}),b=(0,_vue.ref)(),b=(0,_vue.computed)(function(){var e=Object.assign({leaveDelay:300},_conf.default.form.tooltipConfig,V.tooltipConfig);return e.enterable&&(e.leaveMethod=t),e}),y={refElem:_},E={computeSize:m,computeValidOpts:x,computeTooltipOpts:b},A={xID:u,props:V,context:e,reactData:p,getRefMaps:function(){return y},getComputeMaps:function(){return E}},j=function(e,t){return e&&(_xeUtils.default.isString(e)&&(e=v[e]||null),_xeUtils.default.isFunction(e))?e(t):[]},T=function(){var t=[];return _xeUtils.default.eachTree(p.formItems,function(e){t.push(e)},{children:"children"}),t},M=function(e){r();var t=n();h.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:V.data},e),h.dispatchEvent("collapse",{status:t,collapse:t,data:V.data},e)},U=function(t){var e,i=T();return t?(e=i.find(function(e){return e.field===t}))&&(e.showError=!1):i.forEach(function(e){e.showError=!1}),(0,_vue.nextTick)()},R=function(){var r=V.data,e=T();return r&&e.forEach(function(e){var t=e.field,i=e.resetValue,n=e.itemRender;(0,_utils.isEnableConf)(n)&&((n=_vXETable.VXETable.renderer.get(n.name))&&n.itemResetMethod?n.itemResetMethod({data:r,property:t,item:e,$form:A}):t&&_xeUtils.default.set(r,t,null===i?getResetValue(_xeUtils.default.get(r,t),void 0):i))}),U()},S=function(e){var o=T(),u=_.value;e.some(function(t,e){var i=o.find(function(e){return e.field===t});if(i&&(0,_utils.isEnableConf)(i.itemRender)){var n=i.itemRender,r=_vXETable.VXETable.renderer.get(n.name),l=null;if(e||(0,_dom.scrollToView)(u.querySelector("."+i.id)),l=!(l=n.autofocus?u.querySelector("."+i.id+" "+n.autofocus):l)&&r&&r.autofocus?u.querySelector("."+i.id+" "+r.autofocus):l)return l.focus(),!0}})},w=function(l,o,e){var u,a,s=V.data,t=V.rules,c=[],f=[];return o&&t&&((u=_xeUtils.default.get(t,o))&&(a=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(s,o):e,u.forEach(function(t){var e,i=t.type,n=t.trigger,r=t.required;"all"!==l&&n&&l!==n||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({itemValue:a,rule:t,rules:u,data:s,property:o,$form:A}))&&(_xeUtils.default.isError(e)?c.push(new Rule({type:"custom",trigger:n,content:e.message,rule:new Rule(t)})):e.catch&&f.push(e.catch(function(e){c.push(new Rule({type:"custom",trigger:n,content:e?e.message:t.content||t.message,rule:new Rule(t)}))}))):(i="array"===i?!_xeUtils.default.isArray(a)||!a.length:(0,_utils.eqEmptyValue)(a),(r?i||validErrorRuleValue(t,a):!i&&validErrorRuleValue(t,a))&&c.push(new Rule(t))))}))),Promise.all(f).then(function(){if(c.length){var e={rules:c,rule:c[0]};return Promise.reject(e)}})},N=function(t,e,i){var r=V.data,n=V.rules,l=x.value,o={},u=[],a=[];return clearTimeout(s),r&&n?(t.forEach(function(i){var n=i.field;n&&a.push(w(e||"all",n).then(function(){i.errRule=null}).catch(function(e){var t=e.rule,e={rule:t,rules:e.rules,data:r,property:n,$form:A};return o[n]||(o[n]=[]),o[n].push(e),u.push(n),i.errRule=t,Promise.reject(e)}))}),Promise.all(a).then(function(){i&&i()}).catch(function(){return new Promise(function(e){s=window.setTimeout(function(){t.forEach(function(e){e.errRule&&(e.showError=!0)})},20),!1!==l.autoPos&&(0,_vue.nextTick)(function(){S(u)}),i?(i(o),e()):e(o)})})):(i&&i(),Promise.resolve())},I=function(e,t){var i=t.item,n=a.tooltipStore,r=g.value,l=e.currentTarget.children[0],t=(l.textContent||"").trim(),e=l.scrollWidth>l.clientWidth;clearTimeout(a.tooltipTimeout),a.tooltipActive=!0,o(),t&&e&&(Object.assign(n,{item:i,visible:!0}),r&&r.open(l,t))},D=function(){var e=b.value;a.tooltipActive=!1,e.enterable?a.tooltipTimeout=setTimeout(function(){var e=g.value;e&&!e.reactData.isHover&&o()},e.leaveDelay):o()},h={dispatchEvent:function(e,t,i){l(e,Object.assign({$form:A,$event:i},t))},reset:R,validate:function(e){return U(),N(T(),"",e)},validateField:function(t,e){return N(T().filter(function(e){return e.field===t}),"",e)},clearValidate:U,updateStatus:function(e,t){var i=e.property;i&&w("change",i,t).then(function(){U(i)}).catch(function(e){var t=e.rule,e=T().find(function(e){return e.field===i});e&&(e.showError=!0,e.errRule=t)})},toggleCollapse:r,getItems:T,closeTooltip:o};Object.assign(A,h,{callSlot:j,toggleCollapseEvent:M,triggerHeaderHelpEvent:I,handleTargetLeaveEvent:D}),(0,_vue.watch)(function(){return p.staticItems},function(e){p.formItems=e}),(0,_vue.watch)(function(){return V.items},function(e){i(e||[])}),(0,_vue.watch)(function(){return V.collapseStatus},function(e){p.collapseAll=!!e}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){"development"===process.env.NODE_ENV&&V.customLayout&&V.items&&(0,_utils.errLog)("vxe.error.errConflicts",["custom-layout","items"]),i(V.items||[])})});return A.renderVN=function(){var e=V.loading,t=V.className,i=V.data,n=V.titleColon,r=V.titleAsterisk,l=V.customLayout,o=p.formItems,u=m.value,a=b.value,s=v.default;return(0,_vue.h)("form",{ref:_,class:["vxe-form",t?_xeUtils.default.isFunction(t)?t({items:o,data:i,$form:A}):t:"",((t={})["size--"+u]=u,t["is--colon"]=n,t["is--asterisk"]=r,t["is--loading"]=e,t)],onSubmit:f,onReset:c},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-row"},l?s?s({}):[]:q(o)),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!l&&s?s({}):[]),(0,_vue.h)("div",{class:["vxe-loading",{"is--visible":e}]},[(0,_vue.h)("div",{class:"vxe-loading--spinner"})]),d?(0,_vue.h)((0,_vue.resolveComponent)("vxe-tooltip"),__assign({ref:g},a)):(0,_vue.createCommentVNode)()])},(0,_vue.provide)("$xeform",A),A},render:function(){return this.renderVN()}});exports.default=_default2;
@@ -219,7 +219,9 @@ var _default2 = (0, _vue.defineComponent)({
219
219
  var pendingRecords = reactData.pendingRecords;
220
220
  var $xetable = refTable.value;
221
221
  var activeMethod = editConfig ? editConfig.activeMethod : null;
222
- return $xetable.findRowIndexOf(pendingRecords, params.row) === -1 && (!activeMethod || activeMethod(params));
222
+ return $xetable.findRowIndexOf(pendingRecords, params.row) === -1 && (!activeMethod || activeMethod(__assign(__assign({}, params), {
223
+ $grid: $xegrid
224
+ })));
223
225
  };
224
226
 
225
227
  var computeTableProps = (0, _vue.computed)(function () {