vxe-table 3.12.15 → 3.12.16

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.
@@ -16,6 +16,27 @@ const {
16
16
  renderer,
17
17
  getI18n
18
18
  } = _ui.VxeUI;
19
+ function getEditColumnModel(row, column) {
20
+ const {
21
+ model,
22
+ editRender
23
+ } = column;
24
+ if (editRender) {
25
+ model.value = (0, _util.getCellValue)(row, column);
26
+ model.update = false;
27
+ }
28
+ }
29
+ function setEditColumnModel(row, column) {
30
+ const {
31
+ model,
32
+ editRender
33
+ } = column;
34
+ if (editRender && model.update) {
35
+ (0, _util.setCellValue)(row, column, model.value);
36
+ model.update = false;
37
+ model.value = null;
38
+ }
39
+ }
19
40
  function removeCellSelectedClass($xeTable) {
20
41
  const el = $xeTable.$refs.refElem;
21
42
  if (el) {
@@ -25,6 +46,28 @@ function removeCellSelectedClass($xeTable) {
25
46
  }
26
47
  }
27
48
  }
49
+ function syncActivedCell($xeTable) {
50
+ const reactData = $xeTable;
51
+ const {
52
+ editStore,
53
+ tableColumn
54
+ } = reactData;
55
+ const editOpts = $xeTable.computeEditOpts;
56
+ const {
57
+ actived
58
+ } = editStore;
59
+ const {
60
+ row,
61
+ column
62
+ } = actived;
63
+ if (row || column) {
64
+ if (editOpts.mode === 'row') {
65
+ tableColumn.forEach(column => setEditColumnModel(row, column));
66
+ } else {
67
+ setEditColumnModel(row, column);
68
+ }
69
+ }
70
+ }
28
71
  function insertTreeRow(_vm, newRecords, isAppend) {
29
72
  const {
30
73
  tableFullTreeData,
@@ -379,6 +422,214 @@ function handleInsertChildRowAt($xeTable, records, parentRow, targetRow, isInser
379
422
  rows: []
380
423
  });
381
424
  }
425
+ function handleClearEdit($xeTable, evnt, targetRow) {
426
+ const props = $xeTable;
427
+ const reactData = $xeTable;
428
+ const {
429
+ mouseConfig
430
+ } = props;
431
+ const {
432
+ editStore
433
+ } = reactData;
434
+ const {
435
+ actived,
436
+ focused
437
+ } = editStore;
438
+ const {
439
+ row,
440
+ column
441
+ } = actived;
442
+ const validOpts = $xeTable.computeValidOpts;
443
+ const mouseOpts = $xeTable.computeMouseOpts;
444
+ if (row || column) {
445
+ if (targetRow && (0, _util.getRowid)($xeTable, targetRow) !== (0, _util.getRowid)($xeTable, row)) {
446
+ return $xeTable.$nextTick();
447
+ }
448
+ syncActivedCell($xeTable);
449
+ actived.args = null;
450
+ actived.row = null;
451
+ actived.column = null;
452
+ $xeTable.updateFooter();
453
+ $xeTable.dispatchEvent('edit-closed', {
454
+ row,
455
+ rowIndex: $xeTable.getRowIndex(row),
456
+ $rowIndex: $xeTable.getVMRowIndex(row),
457
+ column,
458
+ columnIndex: $xeTable.getColumnIndex(column),
459
+ $columnIndex: $xeTable.getVMColumnIndex(column)
460
+ }, evnt || null);
461
+ }
462
+ focused.row = null;
463
+ focused.column = null;
464
+ if (validOpts.autoClear) {
465
+ if (validOpts.msgMode !== 'full' || getConfig().cellVaildMode === 'obsolete') {
466
+ if ($xeTable.clearValidate) {
467
+ return $xeTable.clearValidate();
468
+ }
469
+ }
470
+ }
471
+ return $xeTable.$nextTick().then(() => {
472
+ if (mouseConfig && mouseOpts.area && $xeTable.handleRecalculateCellAreas) {
473
+ return $xeTable.handleRecalculateCellAreas();
474
+ }
475
+ });
476
+ }
477
+ function handleEditActive($xeTable, params, evnt, isFocus) {
478
+ const props = $xeTable;
479
+ const reactData = $xeTable;
480
+ const {
481
+ editConfig,
482
+ mouseConfig
483
+ } = props;
484
+ const {
485
+ editStore,
486
+ tableColumn
487
+ } = reactData;
488
+ const editOpts = $xeTable.computeEditOpts;
489
+ const {
490
+ mode
491
+ } = editOpts;
492
+ const {
493
+ actived,
494
+ focused
495
+ } = editStore;
496
+ const {
497
+ row,
498
+ column
499
+ } = params;
500
+ const {
501
+ editRender
502
+ } = column;
503
+ const cell = params.cell || $xeTable.getCellElement(row, column);
504
+ const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
505
+ params.cell = cell;
506
+ if (cell && (0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(editRender)) {
507
+ // 激活编辑
508
+ if (!$xeTable.isPendingByRow(row)) {
509
+ if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
510
+ // 判断是否禁用编辑
511
+ let type = 'edit-disabled';
512
+ if (!beforeEditMethod || beforeEditMethod(Object.assign(Object.assign({}, params), {
513
+ $table: $xeTable,
514
+ $grid: $xeTable.xegrid
515
+ }))) {
516
+ if (mouseConfig) {
517
+ $xeTable.clearSelected();
518
+ if ($xeTable.clearCellAreas) {
519
+ $xeTable.clearCellAreas();
520
+ $xeTable.clearCopyCellArea();
521
+ }
522
+ }
523
+ $xeTable.closeTooltip();
524
+ if (actived.column) {
525
+ handleClearEdit($xeTable, evnt);
526
+ }
527
+ type = 'edit-activated';
528
+ column.renderHeight = cell.offsetHeight;
529
+ actived.args = params;
530
+ actived.row = row;
531
+ actived.column = column;
532
+ if (mode === 'row') {
533
+ tableColumn.forEach(column => getEditColumnModel(row, column));
534
+ } else {
535
+ getEditColumnModel(row, column);
536
+ }
537
+ const afterEditMethod = editOpts.afterEditMethod;
538
+ $xeTable.$nextTick(() => {
539
+ if (isFocus) {
540
+ $xeTable.handleFocus(params, evnt);
541
+ }
542
+ if (afterEditMethod) {
543
+ afterEditMethod(Object.assign(Object.assign({}, params), {
544
+ $table: $xeTable,
545
+ $grid: $xeTable.xegrid
546
+ }));
547
+ }
548
+ });
549
+ }
550
+ $xeTable.dispatchEvent(type, {
551
+ row,
552
+ rowIndex: $xeTable.getRowIndex(row),
553
+ $rowIndex: $xeTable.getVMRowIndex(row),
554
+ column,
555
+ columnIndex: $xeTable.getColumnIndex(column),
556
+ $columnIndex: $xeTable.getVMColumnIndex(column)
557
+ }, evnt);
558
+ // v4已废弃
559
+ if (type === 'edit-activated') {
560
+ $xeTable.dispatchEvent('edit-actived', {
561
+ row,
562
+ rowIndex: $xeTable.getRowIndex(row),
563
+ $rowIndex: $xeTable.getVMRowIndex(row),
564
+ column,
565
+ columnIndex: $xeTable.getColumnIndex(column),
566
+ $columnIndex: $xeTable.getVMColumnIndex(column)
567
+ }, evnt);
568
+ }
569
+ } else {
570
+ const {
571
+ column: oldColumn
572
+ } = actived;
573
+ if (mouseConfig) {
574
+ $xeTable.clearSelected();
575
+ if ($xeTable.clearCellAreas) {
576
+ $xeTable.clearCellAreas();
577
+ $xeTable.clearCopyCellArea();
578
+ }
579
+ }
580
+ if (oldColumn !== column) {
581
+ const {
582
+ model: oldModel
583
+ } = oldColumn;
584
+ if (oldModel.update) {
585
+ (0, _util.setCellValue)(row, oldColumn, oldModel.value);
586
+ }
587
+ if ($xeTable.clearValidate) {
588
+ $xeTable.clearValidate(row, column);
589
+ }
590
+ }
591
+ column.renderHeight = cell.offsetHeight;
592
+ actived.args = params;
593
+ actived.column = column;
594
+ if (isFocus) {
595
+ setTimeout(() => {
596
+ $xeTable.handleFocus(params, evnt);
597
+ });
598
+ }
599
+ }
600
+ focused.column = null;
601
+ focused.row = null;
602
+ $xeTable.focus();
603
+ }
604
+ }
605
+ return $xeTable.$nextTick();
606
+ }
607
+ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
608
+ const props = $xeTable;
609
+ const internalData = $xeTable;
610
+ const {
611
+ editConfig
612
+ } = props;
613
+ const column = _xeUtils.default.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
614
+ if (row && column && (0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(column.editRender)) {
615
+ return Promise.resolve(isPos ? $xeTable.scrollToRow(row, column) : null).then(() => {
616
+ const cell = $xeTable.getCellElement(row, column);
617
+ if (cell) {
618
+ handleEditActive($xeTable, {
619
+ row,
620
+ rowIndex: $xeTable.getRowIndex(row),
621
+ column,
622
+ columnIndex: $xeTable.getColumnIndex(column),
623
+ cell,
624
+ $table: $xeTable
625
+ }, null, false);
626
+ internalData._lastCallTime = Date.now();
627
+ }
628
+ return $xeTable.$nextTick();
629
+ });
630
+ }
631
+ return $xeTable.$nextTick();
632
+ }
382
633
  var _default = exports.default = {
383
634
  methods: {
384
635
  /**
@@ -657,6 +908,7 @@ var _default = exports.default = {
657
908
  * 如果是树表格,子节点更改状态不会影响父节点的更新状态
658
909
  */
659
910
  _getUpdateRecords() {
911
+ const $xeTable = this;
660
912
  const {
661
913
  keepSource,
662
914
  tableFullData,
@@ -674,7 +926,7 @@ var _default = exports.default = {
674
926
  column
675
927
  } = actived;
676
928
  if (row || column) {
677
- this._syncActivedCell();
929
+ syncActivedCell($xeTable);
678
930
  }
679
931
  if (treeConfig) {
680
932
  return _xeUtils.default.filterTree(tableFullData, row => isUpdateByRow(row), treeOpts);
@@ -687,105 +939,8 @@ var _default = exports.default = {
687
939
  * 处理激活编辑
688
940
  */
689
941
  handleEdit(params, evnt) {
690
- const {
691
- editStore,
692
- editOpts,
693
- tableColumn,
694
- editConfig,
695
- mouseConfig
696
- } = this;
697
- const {
698
- mode
699
- } = editOpts;
700
- const {
701
- actived,
702
- focused
703
- } = editStore;
704
- const {
705
- row,
706
- column
707
- } = params;
708
- const {
709
- editRender
710
- } = column;
711
- const cell = params.cell = params.cell || this.getCellElement(row, column);
712
- const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
713
- if (cell && (0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(editRender)) {
714
- // 激活编辑
715
- if (!this.hasPendingByRow(row)) {
716
- if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {
717
- // 判断是否禁用编辑
718
- let type = 'edit-disabled';
719
- if (!beforeEditMethod || beforeEditMethod(Object.assign(Object.assign({}, params), {
720
- $table: this,
721
- $grid: this.$xegrid
722
- }))) {
723
- if (mouseConfig) {
724
- this.clearSelected(evnt);
725
- this.clearCellAreas(evnt);
726
- this.clearCopyCellArea(evnt);
727
- }
728
- this.closeTooltip();
729
- if (actived.column) {
730
- this.handleClearEdit(evnt);
731
- }
732
- type = 'edit-activated';
733
- column.renderHeight = cell.offsetHeight;
734
- actived.args = params;
735
- actived.row = row;
736
- actived.column = column;
737
- if (mode === 'row') {
738
- tableColumn.forEach(column => this._getColumnModel(row, column));
739
- } else {
740
- this._getColumnModel(row, column);
741
- }
742
- const afterEditMethod = editOpts.afterEditMethod;
743
- this.$nextTick(() => {
744
- this.handleFocus(params, evnt);
745
- if (afterEditMethod) {
746
- afterEditMethod(Object.assign(Object.assign({}, params), {
747
- $table: this,
748
- $grid: this.$xegrid
749
- }));
750
- }
751
- });
752
- }
753
- this.emitEvent(type, params, evnt);
754
- // v4已废弃
755
- if (type === 'edit-activated') {
756
- this.emitEvent('edit-actived', params, evnt);
757
- }
758
- } else {
759
- const {
760
- column: oldColumn
761
- } = actived;
762
- if (mouseConfig) {
763
- this.clearSelected(evnt);
764
- this.clearCellAreas(evnt);
765
- this.clearCopyCellArea(evnt);
766
- }
767
- if (oldColumn !== column) {
768
- const {
769
- model: oldModel
770
- } = oldColumn;
771
- if (oldModel.update) {
772
- (0, _util.setCellValue)(row, oldColumn, oldModel.value);
773
- }
774
- this.clearValidate();
775
- }
776
- column.renderHeight = cell.offsetHeight;
777
- actived.args = params;
778
- actived.column = column;
779
- setTimeout(() => {
780
- this.handleFocus(params, evnt);
781
- });
782
- }
783
- focused.column = null;
784
- focused.row = null;
785
- this.focus();
786
- }
787
- }
788
- return this.$nextTick();
942
+ const $xeTable = this;
943
+ return handleEditActive($xeTable, params, evnt, true);
789
944
  },
790
945
  /**
791
946
  * @deprecated
@@ -794,46 +949,14 @@ var _default = exports.default = {
794
949
  return this.handleEdit(params, evnt);
795
950
  },
796
951
  _getColumnModel(row, column) {
797
- const {
798
- model,
799
- editRender
800
- } = column;
801
- if (editRender) {
802
- model.value = (0, _util.getCellValue)(row, column);
803
- model.update = false;
804
- }
952
+ getEditColumnModel(row, column);
805
953
  },
806
954
  _setColumnModel(row, column) {
807
- const {
808
- model,
809
- editRender
810
- } = column;
811
- if (editRender && model.update) {
812
- (0, _util.setCellValue)(row, column, model.value);
813
- model.update = false;
814
- model.value = null;
815
- }
955
+ setEditColumnModel(row, column);
816
956
  },
817
957
  _syncActivedCell() {
818
- const {
819
- tableColumn,
820
- editStore,
821
- editOpts
822
- } = this;
823
- const {
824
- actived
825
- } = editStore;
826
- const {
827
- row,
828
- column
829
- } = actived;
830
- if (row || column) {
831
- if (editOpts.mode === 'row') {
832
- tableColumn.forEach(column => this._setColumnModel(row, column));
833
- } else {
834
- this._setColumnModel(row, column);
835
- }
836
- }
958
+ const $xeTable = this;
959
+ syncActivedCell($xeTable);
837
960
  },
838
961
  _clearActived(row) {
839
962
  if (process.env.NODE_ENV === 'development') {
@@ -846,63 +969,15 @@ var _default = exports.default = {
846
969
  * 清除激活的编辑
847
970
  */
848
971
  _clearEdit(row) {
849
- return this.handleClearEdit(null, row);
972
+ const $xeTable = this;
973
+ return handleClearEdit($xeTable, null, row);
850
974
  },
851
975
  /**
852
976
  * 取消编辑
853
977
  */
854
978
  handleClearEdit(evnt, targetRow) {
855
979
  const $xeTable = this;
856
- const props = $xeTable;
857
- const reactData = $xeTable;
858
- const {
859
- mouseConfig
860
- } = props;
861
- const {
862
- editStore
863
- } = reactData;
864
- const {
865
- actived,
866
- focused
867
- } = editStore;
868
- const {
869
- row,
870
- column
871
- } = actived;
872
- const validOpts = $xeTable.validOpts;
873
- const mouseOpts = $xeTable.computeMouseOpts;
874
- if (row || column) {
875
- if (targetRow && (0, _util.getRowid)($xeTable, targetRow) !== (0, _util.getRowid)($xeTable, row)) {
876
- return $xeTable.$nextTick();
877
- }
878
- $xeTable._syncActivedCell();
879
- actived.args = null;
880
- actived.row = null;
881
- actived.column = null;
882
- $xeTable.updateFooter();
883
- $xeTable.emitEvent('edit-closed', {
884
- row,
885
- rowIndex: $xeTable.getRowIndex(row),
886
- $rowIndex: $xeTable.getVMRowIndex(row),
887
- column,
888
- columnIndex: $xeTable.getColumnIndex(column),
889
- $columnIndex: $xeTable.getVMColumnIndex(column)
890
- }, evnt);
891
- }
892
- focused.row = null;
893
- focused.column = null;
894
- if (validOpts.autoClear) {
895
- if (validOpts.msgMode !== 'full' || getConfig().cellVaildMode === 'obsolete') {
896
- if ($xeTable.clearValidate) {
897
- return $xeTable.clearValidate();
898
- }
899
- }
900
- }
901
- return $xeTable.$nextTick().then(() => {
902
- if (mouseConfig && mouseOpts.area && $xeTable.handleRecalculateCellAreas) {
903
- return $xeTable.handleRecalculateCellAreas();
904
- }
905
- });
980
+ return handleClearEdit($xeTable, evnt, targetRow);
906
981
  },
907
982
  _getActiveRecord() {
908
983
  if (process.env.NODE_ENV === 'development') {
@@ -1019,11 +1094,12 @@ var _default = exports.default = {
1019
1094
  * 激活行编辑
1020
1095
  */
1021
1096
  _setEditRow(row, fieldOrColumn) {
1097
+ const $xeTable = this;
1022
1098
  let column = _xeUtils.default.find(this.visibleColumn, column => (0, _utils.isEnableConf)(column.editRender));
1023
1099
  if (fieldOrColumn) {
1024
1100
  column = _xeUtils.default.isString(fieldOrColumn) ? this.getColumnByField(fieldOrColumn) : fieldOrColumn;
1025
1101
  }
1026
- return this.setEditCell(row, column);
1102
+ return handleEditCell($xeTable, row, column, false);
1027
1103
  },
1028
1104
  _setActiveCell(row, fieldOrColumn) {
1029
1105
  if (process.env.NODE_ENV === 'development') {
@@ -1036,27 +1112,8 @@ var _default = exports.default = {
1036
1112
  * 激活单元格编辑
1037
1113
  */
1038
1114
  _setEditCell(row, fieldOrColumn) {
1039
- const {
1040
- editConfig
1041
- } = this;
1042
- const column = _xeUtils.default.isString(fieldOrColumn) ? this.getColumnByField(fieldOrColumn) : fieldOrColumn;
1043
- if (row && column && (0, _utils.isEnableConf)(editConfig) && (0, _utils.isEnableConf)(column.editRender)) {
1044
- return this.scrollToRow(row, true).then(() => {
1045
- const cell = this.getCellElement(row, column);
1046
- if (cell) {
1047
- this.handleEdit({
1048
- row,
1049
- rowIndex: this.getRowIndex(row),
1050
- column,
1051
- columnIndex: this.getColumnIndex(column),
1052
- cell,
1053
- $table: this
1054
- });
1055
- this.lastCallTime = Date.now();
1056
- }
1057
- });
1058
- }
1059
- return this.$nextTick();
1115
+ const $xeTable = this;
1116
+ return handleEditCell($xeTable, row, fieldOrColumn, true);
1060
1117
  },
1061
1118
  /**
1062
1119
  * 只对 trigger=dblclick 有效,选中单元格
@@ -1088,6 +1145,7 @@ var _default = exports.default = {
1088
1145
  * 处理选中源
1089
1146
  */
1090
1147
  handleSelected(params, evnt) {
1148
+ const $xeTable = this;
1091
1149
  const {
1092
1150
  mouseConfig,
1093
1151
  mouseOpts,
@@ -1106,7 +1164,7 @@ var _default = exports.default = {
1106
1164
  const selectMethod = () => {
1107
1165
  if (isMouseSelected && (selected.row !== row || selected.column !== column)) {
1108
1166
  if (actived.row !== row || (editOpts.mode === 'cell' ? actived.column !== column : false)) {
1109
- this.handleClearEdit(evnt);
1167
+ handleClearEdit($xeTable, evnt);
1110
1168
  this.clearSelected(evnt);
1111
1169
  this.clearCellAreas(evnt);
1112
1170
  this.clearCopyCellArea(evnt);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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,getI18n}=_ui.VxeUI;function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function insertTreeRow(s,e,t){let{tableFullTreeData:n,afterFullData:a,fullDataRowIdData:d,fullAllDataRowIdData:c,treeOpts:l}=s,{rowField:u,parentField:h,mapChildrenField:f}=l,g=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(s,l),i=t?_xeUtils.default.findTree(n,e=>t===e[u],{children:f}):null;if(i){var i=i.item,o=c[(0,_util.getRowid)(s,i)],o=o?o.level:0;let e=i[g],t=i[f];_xeUtils.default.isArray(e)||(e=i[g]=[]),_xeUtils.default.isArray(t)||(t=i[g]=[]),e[w](l),t[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:i,level:o+1,height:0,resizeHeight:0,oTop:0};d[r]=i,c[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[w](l),n[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:n,parent:null,level:0,height:0,resizeHeight:0,oTop:0};d[r]=o,c[r]=o}})}function handleInsertRowAt(a,t,l,d){let i=a.treeConfig;var{mergeList:e,editStore:r}=a;let{tableFullTreeData:c,afterFullData:o,tableFullData:s,fullDataRowIdData:u,fullAllDataRowIdData:h}=a,f=a.computeTreeOpts,{transform:n,rowField:g,mapChildrenField:w}=f,v=f.children||f.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&n?{[w]:[],[v]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&n?insertTreeRow(a,m,!1):(m.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0};u[t]=l,h[t]=l,o.unshift(e),s.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+m.length)}));else if(-1===l)i&&n?insertTreeRow(a,m,!0):(m.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0};u[t]=l,h[t]=l,o.push(e),s.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+m.length)}));else if(i&&n){let n=_xeUtils.default.findTree(c,e=>l[g]===e[g],{children:w});if(n){let i=n.parent,o=i?i[w]:c;t=h[(0,_util.getRowid)(a,i)];let s=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);"development"===process.env.NODE_ENV&&e[f.parentField]&&i&&e[f.parentField]!==i[g]&&(0,_log.errLog)("vxe.error.errProp",[f.parentField+"="+e[f.parentField],f.parentField+"="+i[g]]),i&&(e[f.parentField]=i[g]);let r=n.index+t;d&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:i,level:s+1,height:0,resizeHeight:0,oTop:0};u[l]=t,h[l]=t}),i){t=_xeUtils.default.findTree(c,e=>l[g]===e[g],{children:v});if(t){var p=t.items;let e=t.index;d&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,m,!0)}else{if(i)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<o.length&&(r=l):r=a.findRowIndexOf(o,l),-1===(r=d?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...m);t=a.findRowIndexOf(s,l);-1<t?s.splice(t+(d?1:0),0,...m):s.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}let _=r.insertMaps;return m.forEach(e=>{var t=(0,_util.getRowid)(a,e);_[t]=e}),a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&n),i&&n||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),a.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:s,rowField:n,parentField:a}=e.computeTreeOpts;return o&&s?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[n]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.treeConfig=false","tree-config.treeConfig=true"]),Promise.resolve({row:null,rows:[]}))}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let l=this;var t=l,r=l,i=l,t=t.treeConfig;let{mergeList:o,editStore:s,selectCheckboxMaps:n}=r,{tableFullTreeData:a,afterFullData:d,tableFullData:c}=i;var i=l.computeCheckboxOpts,u=l.computeTreeOpts;let{transform:h,mapChildrenField:f}=u,g=u.children||u.childrenField,{actived:w,removeMaps:v,insertMaps:m}=s;u=i.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=c,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),v[t]=e)}),!u){let t=Object.assign({},n);e.forEach(e=>{e=(0,_util.getRowid)(this,e);t[e]&&delete t[e]}),this.selectCheckboxMaps=t}return c===e?(e=p=c.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&h?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:f}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:g})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(d,e));-1<l&&d.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(c,e);-1<t&&(t=c.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(d,e);-1<r&&(o.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),d.splice(r,1))}),w.row&&-1<l.findRowIndexOf(e,w.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);m[e]&&delete m[e]}),l.updateFooter(),l.cacheRowMap(!1),l.handleTableData(t&&h),t&&h||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){var e=this.editStore;let l=this.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){let{keepSource:e,tableFullData:t,isUpdateByRow:l,treeConfig:r,treeOpts:i,editStore:o}=this;var s,n;return e?(s=o.actived,{row:s,column:n}=s,(s||n)&&this._syncActivedCell(),r?_xeUtils.default.filterTree(t,e=>l(e),i):t.filter(e=>l(e))):[]},handleEdit(l,r){var{editStore:i,editOpts:o,tableColumn:s,editConfig:e,mouseConfig:n}=this,a=o.mode,{actived:i,focused:t}=i;let{row:d,column:c}=l;var u=c.editRender,h=l.cell=l.cell||this.getCellElement(d,c),f=o.beforeEditMethod||o.activeMethod;if(h&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!this.hasPendingByRow(d)){if(i.row!==d||"cell"===a&&i.column!==c){let t="edit-disabled";if(!f||f(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))){n&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),this.closeTooltip(),i.column&&this.handleClearEdit(r),t="edit-activated",c.renderHeight=h.offsetHeight,i.args=l,i.row=d,i.column=c,"row"===a?s.forEach(e=>this._getColumnModel(d,e)):this._getColumnModel(d,c);let e=o.afterEditMethod;this.$nextTick(()=>{this.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))})}this.emitEvent(t,l,r),"edit-activated"===t&&this.emitEvent("edit-actived",l,r)}else{e=i.column;n&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),e!==c&&(u=e.model,u.update&&(0,_util.setCellValue)(d,e,u.value),this.clearValidate()),c.renderHeight=h.offsetHeight,i.args=l,i.column=c,setTimeout(()=>{this.handleFocus(l,r)})}t.column=null,t.row=null,this.focus()}return this.$nextTick()},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},_setColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},_syncActivedCell(){var{tableColumn:e,editStore:t,editOpts:l}=this,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===l.mode?e.forEach(e=>this._setColumnModel(r,e)):this._setColumnModel(r,i))},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return this.handleClearEdit(null,e)},handleClearEdit(e,t){let l=this;var r=l,i=l;let o=r.mouseConfig;var r=i.editStore,{actived:i,focused:r}=r,{row:s,column:n}=i,a=l.validOpts;let d=l.computeMouseOpts;if(s||n){if(t&&(0,_util.getRowid)(l,t)!==(0,_util.getRowid)(l,s))return l.$nextTick();l._syncActivedCell(),i.args=null,i.row=null,i.column=null,l.updateFooter(),l.emitEvent("edit-closed",{row:s,rowIndex:l.getRowIndex(s),$rowIndex:l.getVMRowIndex(s),column:n,columnIndex:l.getColumnIndex(n),$columnIndex:l.getVMColumnIndex(n)},e)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&l.clearValidate?l.clearValidate():l.$nextTick().then(()=>{if(o&&d.area&&l.handleRecalculateCellAreas)return l.handleRecalculateCellAreas()})},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var{$el:e,editStore:t,afterFullData:l}=this,t=t.actived,{args:t,row:r}=t;return t&&-1<this.findRowIndexOf(l,r)&&e.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},t):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){return this.editStore.actived.row===e},handleFocus(r){var i=this.editOpts,{row:o,column:s,cell:n}=r,a=s.editRender;if((0,_utils.isEnableConf)(a)){var d=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;i.autoFocus&&(!e&&d&&(e=d.tableAutoFocus||d.tableAutofocus||d.autoFocus||d.autofocus),!t&&d&&(t=d.tableAutoSelect||d.autoSelect||d.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((a=l.createTextRange()).collapse(!1),a.select()):i.autoPos&&!s.fixed&&this.scrollToRow(o,s)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),this.setEditCell(e,l)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(t,e){var l=this.editConfig;let r=_xeUtils.default.isString(e)?this.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?this.scrollToRow(t,!0).then(()=>{var e=this.getCellElement(t,r);e&&(this.handleEdit({row:t,rowIndex:this.getRowIndex(t),column:r,columnIndex:this.getColumnIndex(r),cell:e,$table:this}),this.lastCallTime=Date.now())}):this.$nextTick()},_setSelectCell(e,t){var{tableData:l,editOpts:r,visibleColumn:i}=this,t=_xeUtils.default.isString(t)?this.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=this.findRowIndexOf(l,e))&&(l=this.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:i.indexOf(t),cell:l},this.handleSelected(e,{})),this.$nextTick()},handleSelected(e,t){let{mouseConfig:l,mouseOpts:r,editOpts:i,editStore:o}=this,{actived:s,selected:n}=o,{row:a,column:d}=e,c=l&&r.selected;return!c||n.row===a&&n.column===d||(s.row!==a||"cell"===i.mode&&s.column!==d)&&(this.handleClearEdit(t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),n.args=e,n.row=a,n.column=d,c&&this.addCellSelectedClass(),this.focus(),t)&&this.emitEvent("cell-selected",e,t),this.$nextTick()},_getSelectedCell(){var{args:e,column:t}=this.editStore.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore.selected;return e.row=null,e.column=null,this.reColTitleSdCls(),removeCellSelectedClass(this),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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,getI18n}=_ui.VxeUI;function getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,i))}function insertTreeRow(n,e,t){let{tableFullTreeData:d,afterFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:c,treeOpts:l}=n,{rowField:u,parentField:h,mapChildrenField:g}=l,f=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(n,l),i=t?_xeUtils.default.findTree(d,e=>t===e[u],{children:g}):null;if(i){var i=i.item,o=c[(0,_util.getRowid)(n,i)],o=o?o.level:0;let e=i[f],t=i[g];_xeUtils.default.isArray(e)||(e=i[f]=[]),_xeUtils.default.isArray(t)||(t=i[f]=[]),e[w](l),t[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:i,level:o+1,height:0,resizeHeight:0,oTop:0};s[r]=i,c[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[w](l),d[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0};s[r]=o,c[r]=o}})}function handleInsertRowAt(a,t,l,s){let i=a.treeConfig;var{mergeList:e,editStore:r}=a;let{tableFullTreeData:c,afterFullData:o,tableFullData:n,fullDataRowIdData:u,fullAllDataRowIdData:h}=a,g=a.computeTreeOpts,{transform:d,rowField:f,mapChildrenField:w}=g,m=g.children||g.childrenField,v=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&d?{[w]:[],[m]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&d?insertTreeRow(a,v,!1):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0};u[t]=l,h[t]=l,o.unshift(e),n.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+v.length)}));else if(-1===l)i&&d?insertTreeRow(a,v,!0):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0};u[t]=l,h[t]=l,o.push(e),n.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+v.length)}));else if(i&&d){let d=_xeUtils.default.findTree(c,e=>l[f]===e[f],{children:w});if(d){let i=d.parent,o=i?i[w]:c;t=h[(0,_util.getRowid)(a,i)];let n=t?t.level:0;if(v.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&i&&e[g.parentField]!==i[f]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+i[f]]),i&&(e[g.parentField]=i[f]);let r=d.index+t;s&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:i,level:n+1,height:0,resizeHeight:0,oTop:0};u[l]=t,h[l]=t}),i){t=_xeUtils.default.findTree(c,e=>l[f]===e[f],{children:m});if(t){var p=t.items;let e=t.index;s&&(e+=1),p.splice(e,0,...v)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,v,!0)}else{if(i)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<o.length&&(r=l):r=a.findRowIndexOf(o,l),-1===(r=s?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...v);t=a.findRowIndexOf(n,l);-1<t?n.splice(t+(s?1:0),0,...v):n.push(...v),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+v.length:t+l>r&&(e.rowspan=l+v.length)})}let x=r.insertMaps;return v.forEach(e=>{var t=(0,_util.getRowid)(a,e);x[t]=e}),a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&d),i&&d||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),a.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return o&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.treeConfig=false","tree-config.treeConfig=true"]),Promise.resolve({row:null,rows:[]}))}function handleClearEdit(e,t,l){let r=e.mouseConfig;var i=e.editStore,{actived:i,focused:o}=i,{row:n,column:d}=i,a=e.computeValidOpts;let s=e.computeMouseOpts;if(n||d){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,n))return e.$nextTick();syncActivedCell(e),i.args=null,i.row=null,i.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:n,rowIndex:e.getRowIndex(n),$rowIndex:e.getVMRowIndex(n),column:d,columnIndex:e.getColumnIndex(d),$columnIndex:e.getVMColumnIndex(d)},t||null)}return o.row=null,o.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>{if(r&&s.area&&e.handleRecalculateCellAreas)return e.handleRecalculateCellAreas()})}function handleEditActive(l,r,i,o){var{editConfig:e,mouseConfig:n}=l,{editStore:d,tableColumn:a}=l,s=l.computeEditOpts,c=s.mode,{actived:d,focused:t}=d;let{row:u,column:h}=r;var g=h.editRender,f=r.cell||l.getCellElement(u,h),w=s.beforeEditMethod||s.activeMethod;if((r.cell=f)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(g)&&!l.isPendingByRow(u)){if(d.row!==u||"cell"===c&&d.column!==h){let t="edit-disabled";if(!w||w(Object.assign(Object.assign({},r),{$table:l,$grid:l.xegrid}))){n&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),d.column&&handleClearEdit(l,i),t="edit-activated",h.renderHeight=f.offsetHeight,d.args=r,d.row=u,d.column=h,"row"===c?a.forEach(e=>getEditColumnModel(u,e)):getEditColumnModel(u,h);let e=s.afterEditMethod;l.$nextTick(()=>{o&&l.handleFocus(r,i),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:l.xegrid}))})}l.dispatchEvent(t,{row:u,rowIndex:l.getRowIndex(u),$rowIndex:l.getVMRowIndex(u),column:h,columnIndex:l.getColumnIndex(h),$columnIndex:l.getVMColumnIndex(h)},i),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:u,rowIndex:l.getRowIndex(u),$rowIndex:l.getVMRowIndex(u),column:h,columnIndex:l.getColumnIndex(h),$columnIndex:l.getVMColumnIndex(h)},i)}else{e=d.column;n&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),e!==h&&(g=e.model,g.update&&(0,_util.setCellValue)(u,e,g.value),l.clearValidate)&&l.clearValidate(u,h),h.renderHeight=f.offsetHeight,d.args=r,d.column=h,o&&setTimeout(()=>{l.handleFocus(r,i)})}t.column=null,t.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let i=t;var o=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(o)&&(0,_utils.isEnableConf)(n.editRender)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,!1),i._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let l=this;var t=l,r=l,i=l,t=t.treeConfig;let{mergeList:o,editStore:n,selectCheckboxMaps:d}=r,{tableFullTreeData:a,afterFullData:s,tableFullData:c}=i;var i=l.computeCheckboxOpts,u=l.computeTreeOpts;let{transform:h,mapChildrenField:g}=u,f=u.children||u.childrenField,{actived:w,removeMaps:m,insertMaps:v}=n;u=i.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=c,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),m[t]=e)}),!u){let t=Object.assign({},d);e.forEach(e=>{e=(0,_util.getRowid)(this,e);t[e]&&delete t[e]}),this.selectCheckboxMaps=t}return c===e?(e=p=c.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&h?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:g}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:f})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(s,e));-1<l&&s.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(c,e);-1<t&&(t=c.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(s,e);-1<r&&(o.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),s.splice(r,1))}),w.row&&-1<l.findRowIndexOf(e,w.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);v[e]&&delete v[e]}),l.updateFooter(),l.cacheRowMap(!1),l.handleTableData(t&&h),t&&h||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){var e=this.editStore;let l=this.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){var e,t;let{keepSource:l,tableFullData:r,isUpdateByRow:i,treeConfig:o,treeOpts:n,editStore:d}=this;return l?(e=d.actived,{row:e,column:t}=e,(e||t)&&syncActivedCell(this),o?_xeUtils.default.filterTree(r,e=>i(e),n):r.filter(e=>i(e))):[]},handleEdit(e,t){return handleEditActive(this,e,t,!0)},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var{$el:e,editStore:t,afterFullData:l}=this,t=t.actived,{args:t,row:r}=t;return t&&-1<this.findRowIndexOf(l,r)&&e.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},t):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){return this.editStore.actived.row===e},handleFocus(r){var i=this.editOpts,{row:o,column:n,cell:d}=r,a=n.editRender;if((0,_utils.isEnableConf)(a)){var s=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;i.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?d.querySelector("input,textarea"):d.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((a=l.createTextRange()).collapse(!1),a.select()):i.autoPos&&!n.fixed&&this.scrollToRow(o,n)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,!1)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_setSelectCell(e,t){var{tableData:l,editOpts:r,visibleColumn:i}=this,t=_xeUtils.default.isString(t)?this.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=this.findRowIndexOf(l,e))&&(l=this.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:i.indexOf(t),cell:l},this.handleSelected(e,{})),this.$nextTick()},handleSelected(e,t){let l=this,{mouseConfig:r,mouseOpts:i,editOpts:o,editStore:n}=this,{actived:d,selected:a}=n,{row:s,column:c}=e,u=r&&i.selected;return!u||a.row===s&&a.column===c||(d.row!==s||"cell"===o.mode&&d.column!==c)&&(handleClearEdit(l,t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),a.args=e,a.row=s,a.column=c,u&&this.addCellSelectedClass(),this.focus(),t)&&this.emitEvent("cell-selected",e,t),this.$nextTick()},_getSelectedCell(){var{args:e,column:t}=this.editStore.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore.selected;return e.row=null,e.column=null,this.reColTitleSdCls(),removeCellSelectedClass(this),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};