vxe-table 4.10.13 → 4.10.14

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.
@@ -64,7 +64,7 @@ hooks.add('tableEditModule', {
64
64
  }
65
65
  }
66
66
  };
67
- function syncActivedCell() {
67
+ const syncActivedCell = () => {
68
68
  const {
69
69
  editStore,
70
70
  tableColumn
@@ -84,8 +84,8 @@ hooks.add('tableEditModule', {
84
84
  setEditColumnModel(row, column);
85
85
  }
86
86
  }
87
- }
88
- function insertTreeRow(newRecords, isAppend) {
87
+ };
88
+ const insertTreeRow = (newRecords, isAppend) => {
89
89
  const {
90
90
  tableFullTreeData,
91
91
  afterFullData,
@@ -166,7 +166,7 @@ hooks.add('tableEditModule', {
166
166
  fullAllDataRowIdData[rowid] = rest;
167
167
  }
168
168
  });
169
- }
169
+ };
170
170
  const handleInsertRowAt = (records, targetRow, isInsertNextRow) => {
171
171
  const {
172
172
  treeConfig
@@ -485,6 +485,158 @@ hooks.add('tableEditModule', {
485
485
  }
486
486
  });
487
487
  };
488
+ const handleEditActive = (params, evnt, isFocus) => {
489
+ const {
490
+ editConfig,
491
+ mouseConfig
492
+ } = props;
493
+ const {
494
+ editStore,
495
+ tableColumn
496
+ } = reactData;
497
+ const editOpts = computeEditOpts.value;
498
+ const {
499
+ mode
500
+ } = editOpts;
501
+ const {
502
+ actived,
503
+ focused
504
+ } = editStore;
505
+ const {
506
+ row,
507
+ column
508
+ } = params;
509
+ const {
510
+ editRender
511
+ } = column;
512
+ const cell = params.cell || $xeTable.getCellElement(row, column);
513
+ const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
514
+ params.cell = cell;
515
+ if (cell && (0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(editRender)) {
516
+ // 激活编辑
517
+ if (!$xeTable.isPendingByRow(row)) {
518
+ if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
519
+ // 判断是否禁用编辑
520
+ let type = 'edit-disabled';
521
+ if (!beforeEditMethod || beforeEditMethod(Object.assign(Object.assign({}, params), {
522
+ $table: $xeTable,
523
+ $grid: $xeTable.xegrid
524
+ }))) {
525
+ if (mouseConfig) {
526
+ $xeTable.clearSelected();
527
+ if ($xeTable.clearCellAreas) {
528
+ $xeTable.clearCellAreas();
529
+ $xeTable.clearCopyCellArea();
530
+ }
531
+ }
532
+ $xeTable.closeTooltip();
533
+ if (actived.column) {
534
+ handleClearEdit(evnt);
535
+ }
536
+ type = 'edit-activated';
537
+ column.renderHeight = cell.offsetHeight;
538
+ actived.args = params;
539
+ actived.row = row;
540
+ actived.column = column;
541
+ if (mode === 'row') {
542
+ tableColumn.forEach(column => getEditColumnModel(row, column));
543
+ } else {
544
+ getEditColumnModel(row, column);
545
+ }
546
+ const afterEditMethod = editOpts.afterEditMethod;
547
+ (0, _vue.nextTick)(() => {
548
+ if (isFocus) {
549
+ $xeTable.handleFocus(params, evnt);
550
+ }
551
+ if (afterEditMethod) {
552
+ afterEditMethod(Object.assign(Object.assign({}, params), {
553
+ $table: $xeTable,
554
+ $grid: $xeTable.xegrid
555
+ }));
556
+ }
557
+ });
558
+ }
559
+ $xeTable.dispatchEvent(type, {
560
+ row,
561
+ rowIndex: $xeTable.getRowIndex(row),
562
+ $rowIndex: $xeTable.getVMRowIndex(row),
563
+ column,
564
+ columnIndex: $xeTable.getColumnIndex(column),
565
+ $columnIndex: $xeTable.getVMColumnIndex(column)
566
+ }, evnt);
567
+ // v4已废弃
568
+ if (type === 'edit-activated') {
569
+ $xeTable.dispatchEvent('edit-actived', {
570
+ row,
571
+ rowIndex: $xeTable.getRowIndex(row),
572
+ $rowIndex: $xeTable.getVMRowIndex(row),
573
+ column,
574
+ columnIndex: $xeTable.getColumnIndex(column),
575
+ $columnIndex: $xeTable.getVMColumnIndex(column)
576
+ }, evnt);
577
+ }
578
+ } else {
579
+ const {
580
+ column: oldColumn
581
+ } = actived;
582
+ if (mouseConfig) {
583
+ $xeTable.clearSelected();
584
+ if ($xeTable.clearCellAreas) {
585
+ $xeTable.clearCellAreas();
586
+ $xeTable.clearCopyCellArea();
587
+ }
588
+ }
589
+ if (oldColumn !== column) {
590
+ const {
591
+ model: oldModel
592
+ } = oldColumn;
593
+ if (oldModel.update) {
594
+ (0, _util.setCellValue)(row, oldColumn, oldModel.value);
595
+ }
596
+ if ($xeTable.clearValidate) {
597
+ $xeTable.clearValidate(row, column);
598
+ }
599
+ }
600
+ column.renderHeight = cell.offsetHeight;
601
+ actived.args = params;
602
+ actived.column = column;
603
+ if (isFocus) {
604
+ setTimeout(() => {
605
+ $xeTable.handleFocus(params, evnt);
606
+ });
607
+ }
608
+ }
609
+ focused.column = null;
610
+ focused.row = null;
611
+ $xeTable.focus();
612
+ }
613
+ }
614
+ return (0, _vue.nextTick)();
615
+ };
616
+ const handleEditCell = (row, fieldOrColumn, isPos) => {
617
+ const {
618
+ editConfig
619
+ } = props;
620
+ const column = _xeUtils.default.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
621
+ if (row && column && (0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(column.editRender)) {
622
+ return Promise.resolve(isPos ? $xeTable.scrollToRow(row, column) : null).then(() => {
623
+ const cell = $xeTable.getCellElement(row, column);
624
+ if (cell) {
625
+ handleEditActive({
626
+ row,
627
+ rowIndex: $xeTable.getRowIndex(row),
628
+ column,
629
+ columnIndex: $xeTable.getColumnIndex(column),
630
+ cell,
631
+ $table: $xeTable
632
+ }, null, false);
633
+ internalData._lastCallTime = Date.now();
634
+ }
635
+ return (0, _vue.nextTick)();
636
+ });
637
+ }
638
+ return (0, _vue.nextTick)();
639
+ };
488
640
  editMethods = {
489
641
  /**
490
642
  * 往表格中插入临时数据
@@ -877,7 +1029,7 @@ hooks.add('tableEditModule', {
877
1029
  if (fieldOrColumn) {
878
1030
  column = _xeUtils.default.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
879
1031
  }
880
- return $xeTable.setEditCell(row, column);
1032
+ return handleEditCell(row, column, false);
881
1033
  },
882
1034
  setActiveCell(row, fieldOrColumn) {
883
1035
  if (process.env.NODE_ENV === 'development') {
@@ -890,28 +1042,7 @@ hooks.add('tableEditModule', {
890
1042
  * 激活单元格编辑
891
1043
  */
892
1044
  setEditCell(row, fieldOrColumn) {
893
- const {
894
- editConfig
895
- } = props;
896
- const column = _xeUtils.default.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
897
- if (row && column && (0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(column.editRender)) {
898
- return $xeTable.scrollToRow(row, column).then(() => {
899
- const cell = $xeTable.getCellElement(row, column);
900
- if (cell) {
901
- editPrivateMethods.handleEdit({
902
- row,
903
- rowIndex: $xeTable.getRowIndex(row),
904
- column,
905
- columnIndex: $xeTable.getColumnIndex(column),
906
- cell,
907
- $table: $xeTable
908
- });
909
- internalData._lastCallTime = Date.now();
910
- }
911
- return (0, _vue.nextTick)();
912
- });
913
- }
914
- return (0, _vue.nextTick)();
1045
+ return handleEditCell(row, fieldOrColumn, true);
915
1046
  },
916
1047
  /**
917
1048
  * 只对 trigger=dblclick 有效,选中单元格
@@ -944,128 +1075,7 @@ hooks.add('tableEditModule', {
944
1075
  * 处理激活编辑
945
1076
  */
946
1077
  handleEdit(params, evnt) {
947
- const {
948
- editConfig,
949
- mouseConfig
950
- } = props;
951
- const {
952
- editStore,
953
- tableColumn
954
- } = reactData;
955
- const editOpts = computeEditOpts.value;
956
- const {
957
- mode
958
- } = editOpts;
959
- const {
960
- actived,
961
- focused
962
- } = editStore;
963
- const {
964
- row,
965
- column
966
- } = params;
967
- const {
968
- editRender
969
- } = column;
970
- const cell = params.cell || $xeTable.getCellElement(row, column);
971
- const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
972
- params.cell = cell;
973
- if (cell && (0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(editRender)) {
974
- // 激活编辑
975
- if (!$xeTable.isPendingByRow(row)) {
976
- if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
977
- // 判断是否禁用编辑
978
- let type = 'edit-disabled';
979
- if (!beforeEditMethod || beforeEditMethod(Object.assign(Object.assign({}, params), {
980
- $table: $xeTable,
981
- $grid: $xeTable.xegrid
982
- }))) {
983
- if (mouseConfig) {
984
- editMethods.clearSelected();
985
- if ($xeTable.clearCellAreas) {
986
- $xeTable.clearCellAreas();
987
- $xeTable.clearCopyCellArea();
988
- }
989
- }
990
- $xeTable.closeTooltip();
991
- if (actived.column) {
992
- handleClearEdit(evnt);
993
- }
994
- type = 'edit-activated';
995
- column.renderHeight = cell.offsetHeight;
996
- actived.args = params;
997
- actived.row = row;
998
- actived.column = column;
999
- if (mode === 'row') {
1000
- tableColumn.forEach(column => getEditColumnModel(row, column));
1001
- } else {
1002
- getEditColumnModel(row, column);
1003
- }
1004
- const afterEditMethod = editOpts.afterEditMethod;
1005
- (0, _vue.nextTick)(() => {
1006
- editPrivateMethods.handleFocus(params, evnt);
1007
- if (afterEditMethod) {
1008
- afterEditMethod(Object.assign(Object.assign({}, params), {
1009
- $table: $xeTable,
1010
- $grid: $xeTable.xegrid
1011
- }));
1012
- }
1013
- });
1014
- }
1015
- $xeTable.dispatchEvent(type, {
1016
- row,
1017
- rowIndex: $xeTable.getRowIndex(row),
1018
- $rowIndex: $xeTable.getVMRowIndex(row),
1019
- column,
1020
- columnIndex: $xeTable.getColumnIndex(column),
1021
- $columnIndex: $xeTable.getVMColumnIndex(column)
1022
- }, evnt);
1023
- // v4已废弃
1024
- if (type === 'edit-activated') {
1025
- $xeTable.dispatchEvent('edit-actived', {
1026
- row,
1027
- rowIndex: $xeTable.getRowIndex(row),
1028
- $rowIndex: $xeTable.getVMRowIndex(row),
1029
- column,
1030
- columnIndex: $xeTable.getColumnIndex(column),
1031
- $columnIndex: $xeTable.getVMColumnIndex(column)
1032
- }, evnt);
1033
- }
1034
- } else {
1035
- const {
1036
- column: oldColumn
1037
- } = actived;
1038
- if (mouseConfig) {
1039
- editMethods.clearSelected();
1040
- if ($xeTable.clearCellAreas) {
1041
- $xeTable.clearCellAreas();
1042
- $xeTable.clearCopyCellArea();
1043
- }
1044
- }
1045
- if (oldColumn !== column) {
1046
- const {
1047
- model: oldModel
1048
- } = oldColumn;
1049
- if (oldModel.update) {
1050
- (0, _util.setCellValue)(row, oldColumn, oldModel.value);
1051
- }
1052
- if ($xeTable.clearValidate) {
1053
- $xeTable.clearValidate(row, column);
1054
- }
1055
- }
1056
- column.renderHeight = cell.offsetHeight;
1057
- actived.args = params;
1058
- actived.column = column;
1059
- setTimeout(() => {
1060
- editPrivateMethods.handleFocus(params, evnt);
1061
- });
1062
- }
1063
- focused.column = null;
1064
- focused.row = null;
1065
- $xeTable.focus();
1066
- }
1067
- }
1068
- return (0, _vue.nextTick)();
1078
+ return handleEditActive(params, evnt, true);
1069
1079
  },
1070
1080
  /**
1071
1081
  * @deprecated
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(m){let{props:R,reactData:C,internalData:_}=m,o=m.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:w,computeCheckboxOpts:x,computeTreeOpts:E,computeValidOpts:s}=m.getComputeMaps(),I={},f={},h=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},i=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")};function u(){var{editStore:e,tableColumn:t}=C,l=w.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>i(r,e)):i(r,o))}function b(e,t){let{tableFullTreeData:a,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=_;var l=E.value;let{rowField:u,parentField:c,mapChildrenField:g}=l,v=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(m,l),o=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:g}):null;if(o){var o=o.item,i=s[(0,_util.getRowid)(m,o)],i=i?i.level:0;let e=o[v],t=o[g];_xeUtils.default.isArray(e)||(e=o[v]=[]),_xeUtils.default.isArray(t)||(t=o[v]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0};d[r]=o,s[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),a[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0};d[r]=i,s[r]=i}})}let d=(t,l,d)=>{let o=R.treeConfig;var{mergeList:e,editStore:r}=C;let{tableFullTreeData:s,afterFullData:i,tableFullData:a,fullDataRowIdData:u,fullAllDataRowIdData:c}=_,g=E.value,{transform:n,rowField:v,mapChildrenField:w}=g,f=g.children||g.childrenField,h=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(m.defineField(t.map(e=>Object.assign(o&&n?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&n?b(h,!1):(h.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0};u[t]=l,c[t]=l,i.unshift(e),a.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+h.length)}));else if(-1===l)o&&n?b(h,!0):(h.forEach(e=>{var t=(0,_util.getRowid)(m,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0};u[t]=l,c[t]=l,i.push(e),a.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+h.length)}));else if(o&&n){let n=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,i=o?o[w]:s;t=c[(0,_util.getRowid)(m,o)];let a=t?t.level:0;if(h.forEach((e,t)=>{var l=(0,_util.getRowid)(m,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&o&&e[g.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+o[v]]),o&&(e[g.parentField]=o[v]);let r=n.index+t;d&&(r+=1),i.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0};u[l]=t,c[l]=t}),o){t=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:f});if(t){var p=t.items;let e=t.index;d&&(e+=1),p.splice(e,0,...h)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),b(h,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=m.findRowIndexOf(i,l),-1===(r=d?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,...h);t=m.findRowIndexOf(a,l);-1<t?a.splice(t+(d?1:0),0,...h):a.push(...h),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+h.length:t+l>r&&(e.rowspan=l+h.length)})}let x=r.insertMaps;return h.forEach(e=>{var t=(0,_util.getRowid)(m,e);x[t]=e}),m.cacheRowMap(!1),m.updateScrollYStatus(),m.handleTableData(o&&n),o&&n||m.updateAfterDataIndex(),m.updateFooter(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:i,rowField:a,parentField:n}=E.value;return o&&i?(_xeUtils.default.isArray(e)||(e=[e]),d(e.map(e=>Object.assign({},e,{[n]:t[a]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.treeConfig=false","tree-config.treeConfig=true"]),Promise.resolve({row:null,rows:[]}))},p=(e,t)=>{let l=R.mouseConfig;var r=C.editStore,{actived:r,focused:o}=r,{row:i,column:a}=r,n=s.value;let d=c.value;if(i||a){if(t&&(0,_util.getRowid)(m,t)!==(0,_util.getRowid)(m,i))return(0,_vue.nextTick)();u(),r.args=null,r.row=null,r.column=null,m.updateFooter(),m.dispatchEvent("edit-closed",{row:i,rowIndex:m.getRowIndex(i),$rowIndex:m.getVMRowIndex(i),column:a,columnIndex:m.getColumnIndex(a),$columnIndex:m.getVMColumnIndex(a)},e||null)}return o.row=null,o.column=null,n.autoClear&&("full"!==n.msgMode||"obsolete"===getConfig().cellVaildMode)&&m.clearValidate?m.clearValidate():(0,_vue.nextTick)().then(()=>{if(l&&d.area&&m.handleRecalculateCellAreas)return m.handleRecalculateCellAreas()})};return I={insert(e){return d(e,null)},insertAt(e,t){return d(e,t)},insertNextAt(e,t){return d(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=R.treeConfig;let{mergeList:l,editStore:r,selectCheckboxMaps:o}=C,{tableFullTreeData:i,afterFullData:a,tableFullData:n}=_;var d=x.value,s=E.value;let{transform:u,mapChildrenField:c}=s,g=s.children||s.childrenField,{actived:v,removeMaps:w}=r,f=Object.assign({},r.insertMaps),h=Object.assign({},C.pendingRowMaps);s=d.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;m.isInsertByRow(e)||(t=(0,_util.getRowid)(m,e),w[t]=e)}),!s){let t=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(m,e);t[e]&&delete t[e]}),C.selectCheckboxMaps=t}return n===e?(e=p=n.slice(0),_.tableFullData=[],_.afterFullData=[],m.clearMergeCells()):t&&u?e.forEach(e=>{let t=(0,_util.getRowid)(m,e);var l=_xeUtils.default.findTree(i,e=>t===(0,_util.getRowid)(m,e),{children:c}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(i,e=>t===(0,_util.getRowid)(m,e),{children:g})),l=(l&&l.items.splice(l.index,1),m.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=m.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),p.push(t[0]));let r=m.findRowIndexOf(a,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),v.row&&-1<m.findRowIndexOf(e,v.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(m,e);f[e]&&delete f[e],h[e]&&delete h[e]}),r.insertMaps=f,C.pendingRowMaps=h,m.updateFooter(),m.cacheRowMap(!1),m.handleTableData(t&&u),t&&u||m.updateAfterDataIndex(),m.checkSelectionStatus(),C.scrollYLoad&&m.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(m.updateCellAreas(),m.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},removeCheckboxRow(){return I.remove(m.getCheckboxRecords()).then(e=>(m.clearCheckboxRow(),e))},removeRadioRow(){var e=m.getRadioRecord();return I.remove(e||[]).then(e=>(m.clearRadioRow(),e))},removeCurrentRow(){var e=m.getCurrentRecord();return I.remove(e||[]).then(e=>(m.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=m.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>m.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){var e=C.editStore;let l=_.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=_.tableFullData,r=E.value;return e?(u(),t?_xeUtils.default.filterTree(l,e=>m.isUpdateByRow(e),r):l.filter(e=>m.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=C.editStore,t=_.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<m.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=C.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){return p(null,e)},clearSelected(){var e=C.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=C.editStore;return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=_.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?m.getColumnByField(t):t),m.setEditCell(e,r)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(t,e){var l=R.editConfig;let r=_xeUtils.default.isString(e)?m.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?m.scrollToRow(t,r).then(()=>{var e=m.getCellElement(t,r);return e&&(f.handleEdit({row:t,rowIndex:m.getRowIndex(t),column:r,columnIndex:m.getColumnIndex(r),cell:e,$table:m}),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell(e,t){var l=C.tableData,r=w.value,t=_xeUtils.default.isString(t)?m.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=m.findRowIndexOf(l,e))&&t&&(l=m.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:m.getColumnIndex(t),cell:l},m.handleSelected(e,{})),(0,_vue.nextTick)()}},f={handleEdit(l,r){var{editConfig:e,mouseConfig:o}=R,{editStore:i,tableColumn:a}=C,n=w.value,d=n.mode,{actived:i,focused:t}=i;let{row:s,column:u}=l;var c=u.editRender,g=l.cell||m.getCellElement(s,u),v=n.beforeEditMethod||n.activeMethod;if((l.cell=g)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(c)&&!m.isPendingByRow(s)){if(i.row!==s||"cell"===d&&i.column!==u){let t="edit-disabled";if(!v||v(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))){o&&(I.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),m.closeTooltip(),i.column&&p(r),t="edit-activated",u.renderHeight=g.offsetHeight,i.args=l,i.row=s,i.column=u,"row"===d?a.forEach(e=>h(s,e)):h(s,u);let e=n.afterEditMethod;(0,_vue.nextTick)(()=>{f.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:m,$grid:m.xegrid}))})}m.dispatchEvent(t,{row:s,rowIndex:m.getRowIndex(s),$rowIndex:m.getVMRowIndex(s),column:u,columnIndex:m.getColumnIndex(u),$columnIndex:m.getVMColumnIndex(u)},r),"edit-activated"===t&&m.dispatchEvent("edit-actived",{row:s,rowIndex:m.getRowIndex(s),$rowIndex:m.getVMRowIndex(s),column:u,columnIndex:m.getColumnIndex(u),$columnIndex:m.getVMColumnIndex(u)},r)}else{e=i.column;o&&(I.clearSelected(),m.clearCellAreas)&&(m.clearCellAreas(),m.clearCopyCellArea()),e!==u&&(c=e.model,c.update&&(0,_util.setCellValue)(s,e,c.value),m.clearValidate)&&m.clearValidate(s,u),u.renderHeight=g.offsetHeight,i.args=l,i.column=u,setTimeout(()=>{f.handleFocus(l,r)})}t.column=null,t.row=null,m.focus()}return(0,_vue.nextTick)()},handleActived(e,t){return f.handleEdit(e,t)},handleClearEdit:p,handleFocus(r){var{row:o,column:i,cell:a}=r,n=i.editRender,d=w.value;if((0,_utils.isEnableConf)(n)){var s=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!i.fixed&&m.scrollToRow(o,i)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let i=w.value,{actived:a,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(a.row!==d||"cell"===i.mode&&a.column!==s)&&(p(t),I.clearSelected(),m.clearCellAreas&&(m.clearCellAreas(),m.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&f.addCellSelectedClass(),m.focus(),t)&&m.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=C.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=m.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),f)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,hooks,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(x){let{props:R,reactData:C,internalData:_}=x,o=x.getRefMaps().refElem,{computeMouseOpts:c,computeEditOpts:f,computeCheckboxOpts:m,computeTreeOpts:E,computeValidOpts:s}=x.getComputeMaps(),I={},g={},h=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},a=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")},u=()=>{var{editStore:e,tableColumn:t}=C,l=f.value,e=e.actived;let{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>a(r,e)):a(r,o))},b=(e,t)=>{let{tableFullTreeData:i,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:s}=_;var l=E.value;let{rowField:u,parentField:c,mapChildrenField:g}=l,v=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[c];var r=(0,_util.getRowid)(x,l),o=t?_xeUtils.default.findTree(i,e=>t===e[u],{children:g}):null;if(o){var o=o.item,a=s[(0,_util.getRowid)(x,o)],a=a?a.level:0;let e=o[v],t=o[g];_xeUtils.default.isArray(e)||(e=o[v]=[]),_xeUtils.default.isArray(t)||(t=o[v]=[]),e[w](l),t[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:o,level:a+1,height:0,resizeHeight:0,oTop:0};d[r]=o,s[r]=o}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),i[w](l);a={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0};d[r]=a,s[r]=a}})},d=(t,l,d)=>{let o=R.treeConfig;var{mergeList:e,editStore:r}=C;let{tableFullTreeData:s,afterFullData:a,tableFullData:i,fullDataRowIdData:u,fullAllDataRowIdData:c}=_,g=E.value,{transform:n,rowField:v,mapChildrenField:w}=g,f=g.children||g.childrenField,h=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(x.defineField(t.map(e=>Object.assign(o&&n?{[w]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))o&&n?b(h,!1):(h.forEach(e=>{var t=(0,_util.getRowid)(x,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0};u[t]=l,c[t]=l,a.unshift(e),i.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+h.length)}));else if(-1===l)o&&n?b(h,!0):(h.forEach(e=>{var t=(0,_util.getRowid)(x,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:a,parent:null,level:0,height:0,resizeHeight:0,oTop:0};u[t]=l,c[t]=l,a.push(e),i.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>a.length&&(e.rowspan=l+h.length)}));else if(o&&n){let n=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:w});if(n){let o=n.parent,a=o?o[w]:s;t=c[(0,_util.getRowid)(x,o)];let i=t?t.level:0;if(h.forEach((e,t)=>{var l=(0,_util.getRowid)(x,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&o&&e[g.parentField]!==o[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+o[v]]),o&&(e[g.parentField]=o[v]);let r=n.index+t;d&&(r+=1),a.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0};u[l]=t,c[l]=t}),o){t=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:f});if(t){var p=t.items;let e=t.index;d&&(e+=1),p.splice(e,0,...h)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),b(h,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<a.length&&(r=l):r=x.findRowIndexOf(a,l),-1===(r=d?Math.min(a.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));a.splice(r,0,...h);t=x.findRowIndexOf(i,l);-1<t?i.splice(t+(d?1:0),0,...h):i.push(...h),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+h.length:t+l>r&&(e.rowspan=l+h.length)})}let m=r.insertMaps;return h.forEach(e=>{var t=(0,_util.getRowid)(x,e);m[t]=e}),x.cacheRowMap(!1),x.updateScrollYStatus(),x.handleTableData(o&&n),o&&n||x.updateAfterDataIndex(),x.updateFooter(),x.checkSelectionStatus(),C.scrollYLoad&&x.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(x.updateCellAreas(),x.recalculate())).then(()=>({row:h.length?h[h.length-1]:null,rows:h}))},r=(e,t,l,r)=>{var o=R.treeConfig;let{transform:a,rowField:i,parentField:n}=E.value;return o&&a?(_xeUtils.default.isArray(e)||(e=[e]),d(e.map(e=>Object.assign({},e,{[n]:t[i]})),l,r)):((0,_log.errLog)("vxe.error.errProp",["tree-config.treeConfig=false","tree-config.treeConfig=true"]),Promise.resolve({row:null,rows:[]}))},p=(e,t)=>{let l=R.mouseConfig;var r=C.editStore,{actived:r,focused:o}=r,{row:a,column:i}=r,n=s.value;let d=c.value;if(a||i){if(t&&(0,_util.getRowid)(x,t)!==(0,_util.getRowid)(x,a))return(0,_vue.nextTick)();u(),r.args=null,r.row=null,r.column=null,x.updateFooter(),x.dispatchEvent("edit-closed",{row:a,rowIndex:x.getRowIndex(a),$rowIndex:x.getVMRowIndex(a),column:i,columnIndex:x.getColumnIndex(i),$columnIndex:x.getVMColumnIndex(i)},e||null)}return o.row=null,o.column=null,n.autoClear&&("full"!==n.msgMode||"obsolete"===getConfig().cellVaildMode)&&x.clearValidate?x.clearValidate():(0,_vue.nextTick)().then(()=>{if(l&&d.area&&x.handleRecalculateCellAreas)return x.handleRecalculateCellAreas()})},i=(l,r,o)=>{var{editConfig:e,mouseConfig:a}=R,{editStore:i,tableColumn:n}=C,d=f.value,s=d.mode,{actived:i,focused:t}=i;let{row:u,column:c}=l;var g=c.editRender,v=l.cell||x.getCellElement(u,c),w=d.beforeEditMethod||d.activeMethod;if((l.cell=v)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(g)&&!x.isPendingByRow(u)){if(i.row!==u||"cell"===s&&i.column!==c){let t="edit-disabled";if(!w||w(Object.assign(Object.assign({},l),{$table:x,$grid:x.xegrid}))){a&&(x.clearSelected(),x.clearCellAreas)&&(x.clearCellAreas(),x.clearCopyCellArea()),x.closeTooltip(),i.column&&p(r),t="edit-activated",c.renderHeight=v.offsetHeight,i.args=l,i.row=u,i.column=c,"row"===s?n.forEach(e=>h(u,e)):h(u,c);let e=d.afterEditMethod;(0,_vue.nextTick)(()=>{o&&x.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:x,$grid:x.xegrid}))})}x.dispatchEvent(t,{row:u,rowIndex:x.getRowIndex(u),$rowIndex:x.getVMRowIndex(u),column:c,columnIndex:x.getColumnIndex(c),$columnIndex:x.getVMColumnIndex(c)},r),"edit-activated"===t&&x.dispatchEvent("edit-actived",{row:u,rowIndex:x.getRowIndex(u),$rowIndex:x.getVMRowIndex(u),column:c,columnIndex:x.getColumnIndex(c),$columnIndex:x.getVMColumnIndex(c)},r)}else{e=i.column;a&&(x.clearSelected(),x.clearCellAreas)&&(x.clearCellAreas(),x.clearCopyCellArea()),e!==c&&(g=e.model,g.update&&(0,_util.setCellValue)(u,e,g.value),x.clearValidate)&&x.clearValidate(u,c),c.renderHeight=v.offsetHeight,i.args=l,i.column=c,o&&setTimeout(()=>{x.handleFocus(l,r)})}t.column=null,t.row=null,x.focus()}return(0,_vue.nextTick)()},n=(t,e,l)=>{var r=R.editConfig;let o=_xeUtils.default.isString(e)?x.getColumnByField(e):e;return t&&o&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(o.editRender)?Promise.resolve(l?x.scrollToRow(t,o):null).then(()=>{var e=x.getCellElement(t,o);return e&&(i({row:t,rowIndex:x.getRowIndex(t),column:o,columnIndex:x.getColumnIndex(o),cell:e,$table:x},null,!1),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()};return I={insert(e){return d(e,null)},insertAt(e,t){return d(e,t)},insertNextAt(e,t){return d(e,t,!0)},insertChild(e,t){return r(e,t,null)},insertChildAt(e,t,l){return r(e,t,l)},insertChildNextAt(e,t,l){return r(e,t,l,!0)},remove(e){var t=R.treeConfig;let{mergeList:l,editStore:r,selectCheckboxMaps:o}=C,{tableFullTreeData:a,afterFullData:i,tableFullData:n}=_;var d=m.value,s=E.value;let{transform:u,mapChildrenField:c}=s,g=s.children||s.childrenField,{actived:v,removeMaps:w}=r,f=Object.assign({},r.insertMaps),h=Object.assign({},C.pendingRowMaps);s=d.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=n,e.forEach(e=>{var t;x.isInsertByRow(e)||(t=(0,_util.getRowid)(x,e),w[t]=e)}),!s){let t=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(x,e);t[e]&&delete t[e]}),C.selectCheckboxMaps=t}return n===e?(e=p=n.slice(0),_.tableFullData=[],_.afterFullData=[],x.clearMergeCells()):t&&u?e.forEach(e=>{let t=(0,_util.getRowid)(x,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(x,e),{children:c}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(x,e),{children:g})),l=(l&&l.items.splice(l.index,1),x.findRowIndexOf(i,e));-1<l&&i.splice(l,1)}):e.forEach(e=>{var t=x.findRowIndexOf(n,e);-1<t&&(t=n.splice(t,1),p.push(t[0]));let r=x.findRowIndexOf(i,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),i.splice(r,1))}),v.row&&-1<x.findRowIndexOf(e,v.row)&&I.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(x,e);f[e]&&delete f[e],h[e]&&delete h[e]}),r.insertMaps=f,C.pendingRowMaps=h,x.updateFooter(),x.cacheRowMap(!1),x.handleTableData(t&&u),t&&u||x.updateAfterDataIndex(),x.checkSelectionStatus(),C.scrollYLoad&&x.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(x.updateCellAreas(),x.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},removeCheckboxRow(){return I.remove(x.getCheckboxRecords()).then(e=>(x.clearCheckboxRow(),e))},removeRadioRow(){var e=x.getRadioRecord();return I.remove(e||[]).then(e=>(x.clearRadioRow(),e))},removeCurrentRow(){var e=x.getCurrentRecord();return I.remove(e||[]).then(e=>(x.clearCurrentRow(),e))},getRecordset(){var e=I.getRemoveRecords(),t=x.getPendingRecords();let l=e.concat(t);var r=I.getUpdateRecords().filter(t=>!l.some(e=>x.eqRow(e,t)));return{insertRecords:I.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},getInsertRecords(){var e=C.editStore;let l=_.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=C.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=R,l=_.tableFullData,r=E.value;return e?(u(),t?_xeUtils.default.filterTree(l,e=>x.isUpdateByRow(e),r):l.filter(e=>x.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=C.editStore,t=_.afterFullData,l=o.value,{args:e,row:r}=e.actived;return e&&-1<x.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=C.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){return p(null,e)},clearSelected(){var e=C.editStore,e=e.selected;return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=C.editStore;return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),I.setEditRow(e)},setEditRow(e,t){var l=_.visibleColumn;let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?x.getColumnByField(t):t),n(e,r,!1)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),I.setEditCell(e,t)},setEditCell(e,t){return n(e,t,!0)},setSelectCell(e,t){var l=C.tableData,r=f.value,t=_xeUtils.default.isString(t)?x.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=x.findRowIndexOf(l,e))&&t&&(l=x.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:x.getColumnIndex(t),cell:l},x.handleSelected(e,{})),(0,_vue.nextTick)()}},g={handleEdit(e,t){return i(e,t,!0)},handleActived(e,t){return g.handleEdit(e,t)},handleClearEdit:p,handleFocus(r){var{row:o,column:a,cell:i}=r,n=a.editRender,d=f.value;if((0,_utils.isEnableConf)(n)){var s=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;d.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e(r):e&&(l=!0===e?i.querySelector("input,textarea"):i.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):d.autoPos&&!a.fixed&&x.scrollToRow(o,a)}},handleSelected(e,t){var l=R.mouseConfig,r=C.editStore,o=c.value;let a=f.value,{actived:i,selected:n}=r,{row:d,column:s}=e,u=l&&o.selected;return!u||n.row===d&&n.column===s||(i.row!==d||"cell"===a.mode&&i.column!==s)&&(p(t),I.clearSelected(),x.clearCellAreas&&(x.clearCellAreas(),x.clearCopyCellArea()),n.args=e,n.row=d,n.column=s,u&&g.addCellSelectedClass(),x.focus(),t)&&x.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=C.editStore,e=e.selected,{row:e,column:t}=e;l(),e&&t&&(e=x.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},I),g)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
@@ -9868,6 +9868,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
9868
9868
  }
9869
9869
  },
9870
9870
  triggerBodyScrollEvent(evnt, fixedType) {
9871
+ const {
9872
+ scrollYLoad,
9873
+ scrollXLoad
9874
+ } = reactData;
9871
9875
  const {
9872
9876
  elemStore,
9873
9877
  intoRunScroll,
@@ -9933,13 +9937,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
9933
9937
  (0, _dom.setScrollTop)(rightScrollElem, scrollTop);
9934
9938
  }
9935
9939
  (0, _dom.setScrollTop)(yHandleEl, scrollTop);
9936
- $xeTable.triggerScrollYEvent(evnt);
9940
+ if (scrollYLoad) {
9941
+ $xeTable.triggerScrollYEvent(evnt);
9942
+ }
9937
9943
  }
9938
9944
  if (isRollX) {
9939
9945
  (0, _dom.setScrollLeft)(xHandleEl, scrollLeft);
9940
9946
  (0, _dom.setScrollLeft)(headerScrollElem, scrollLeft);
9941
9947
  (0, _dom.setScrollLeft)(footerScrollElem, scrollLeft);
9942
- $xeTable.triggerScrollXEvent(evnt);
9948
+ if (scrollXLoad) {
9949
+ $xeTable.triggerScrollXEvent(evnt);
9950
+ }
9943
9951
  }
9944
9952
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
9945
9953
  type: 'body',
@@ -9947,6 +9955,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
9947
9955
  });
9948
9956
  },
9949
9957
  triggerHeaderScrollEvent(evnt, fixedType) {
9958
+ const {
9959
+ scrollXLoad
9960
+ } = reactData;
9950
9961
  const {
9951
9962
  elemStore,
9952
9963
  intoRunScroll,
@@ -9983,13 +9994,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
9983
9994
  (0, _dom.setScrollLeft)(xHandleEl, scrollLeft);
9984
9995
  (0, _dom.setScrollLeft)(footerScrollElem, scrollLeft);
9985
9996
  (0, _dom.setScrollLeft)(bodyScrollElem, scrollLeft);
9986
- $xeTable.triggerScrollXEvent(evnt);
9997
+ if (scrollXLoad) {
9998
+ $xeTable.triggerScrollXEvent(evnt);
9999
+ }
9987
10000
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
9988
10001
  type: 'header',
9989
10002
  fixed: fixedType
9990
10003
  });
9991
10004
  },
9992
10005
  triggerFooterScrollEvent(evnt, fixedType) {
10006
+ const {
10007
+ scrollXLoad
10008
+ } = reactData;
9993
10009
  const {
9994
10010
  elemStore,
9995
10011
  intoRunScroll,
@@ -10026,7 +10042,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
10026
10042
  (0, _dom.setScrollLeft)(xHandleEl, scrollLeft);
10027
10043
  (0, _dom.setScrollLeft)(headerScrollElem, scrollLeft);
10028
10044
  (0, _dom.setScrollLeft)(bodyScrollElem, scrollLeft);
10029
- $xeTable.triggerScrollXEvent(evnt);
10045
+ if (scrollXLoad) {
10046
+ $xeTable.triggerScrollXEvent(evnt);
10047
+ }
10030
10048
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
10031
10049
  type: 'footer',
10032
10050
  fixed: fixedType
@@ -10044,6 +10062,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
10044
10062
  const {
10045
10063
  highlightHoverRow
10046
10064
  } = _props.default;
10065
+ const {
10066
+ scrollYLoad
10067
+ } = reactData;
10047
10068
  const {
10048
10069
  elemStore,
10049
10070
  lastScrollTop,
@@ -10090,7 +10111,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
10090
10111
  (0, _dom.setScrollTop)(bodyScrollElem, currTopNum);
10091
10112
  (0, _dom.setScrollTop)(leftScrollElem, currTopNum);
10092
10113
  (0, _dom.setScrollTop)(rightScrollElem, currTopNum);
10093
- $xeTable.triggerScrollYEvent(evnt);
10114
+ if (scrollYLoad) {
10115
+ $xeTable.triggerScrollYEvent(evnt);
10116
+ }
10094
10117
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, currTopNum, scrollLeft, {
10095
10118
  type: 'table',
10096
10119
  fixed: ''
@@ -10109,6 +10132,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
10109
10132
  }
10110
10133
  },
10111
10134
  triggerVirtualScrollXEvent(evnt) {
10135
+ const {
10136
+ scrollXLoad
10137
+ } = reactData;
10112
10138
  const {
10113
10139
  elemStore,
10114
10140
  inWheelScroll,
@@ -10142,13 +10168,18 @@ var _default = exports.default = (0, _vue.defineComponent)({
10142
10168
  (0, _dom.setScrollLeft)(bodyScrollElem, scrollLeft);
10143
10169
  (0, _dom.setScrollLeft)(headerScrollElem, scrollLeft);
10144
10170
  (0, _dom.setScrollLeft)(footerScrollElem, scrollLeft);
10145
- $xeTable.triggerScrollXEvent(evnt);
10171
+ if (scrollXLoad) {
10172
+ $xeTable.triggerScrollXEvent(evnt);
10173
+ }
10146
10174
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
10147
10175
  type: 'table',
10148
10176
  fixed: ''
10149
10177
  });
10150
10178
  },
10151
10179
  triggerVirtualScrollYEvent(evnt) {
10180
+ const {
10181
+ scrollYLoad
10182
+ } = reactData;
10152
10183
  const {
10153
10184
  elemStore,
10154
10185
  inWheelScroll,
@@ -10182,7 +10213,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
10182
10213
  (0, _dom.setScrollTop)(bodyScrollElem, scrollTop);
10183
10214
  (0, _dom.setScrollTop)(leftScrollElem, scrollTop);
10184
10215
  (0, _dom.setScrollTop)(rightScrollElem, scrollTop);
10185
- $xeTable.triggerScrollYEvent(evnt);
10216
+ if (scrollYLoad) {
10217
+ $xeTable.triggerScrollYEvent(evnt);
10218
+ }
10186
10219
  $xeTable.handleScrollEvent(evnt, isRollY, isRollX, scrollTop, scrollLeft, {
10187
10220
  type: 'table',
10188
10221
  fixed: ''