@vxe-ui/plugin-menu 3.0.7 → 3.0.9

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.
package/README.md CHANGED
@@ -35,6 +35,11 @@ VxeUI.use(VxeUIPluginMenu)
35
35
  | CLEAR_CHECKBOX_ROW | 清除复选框选中行数据的值 | — |
36
36
  | CLEAR_AREA_ROW | 如果启用 mouse-config.area 功能,清除区域选择范围内数据的值,否则清除行数据的值 | — |
37
37
  | CLEAR_ALL | 清除所有数据的值 | — |
38
+ | SELECT_ALL_AREA | 如果启用 mouse-config.area 功能,选择所有单元格 | — |
39
+ | SELECT_AREA_TO_LEFT | 如果启用 mouse-config.area 功能,以当前单元格为起点,范围选取到左侧单元格 | — |
40
+ | SELECT_AREA_TO_RIGHT | 如果启用 mouse-config.area 功能,以当前单元格为起点,范围选取到右侧单元格 | — |
41
+ | SELECT_AREA_TO_TOP | 如果启用 mouse-config.area 功能,以当前单元格为起点,范围选取到顶部单元格 | — |
42
+ | SELECT_AREA_TO_BOTTON | 如果启用 mouse-config.area 功能,以当前单元格为起点,范围选取到底部单元格 | — |
38
43
  | REVERT_CELL | 还原单元格数据的值;如果启用 mouse-config.area 功能,则还原区域范围内的单元格数据 | — |
39
44
  | REVERT_ROW | 还原行数据的值 | — |
40
45
  | REVERT_CHECKBOX_ROW | 还原复选框选中行数据的值 | — |
@@ -212,6 +212,23 @@ function checkPrivilege(item, params) {
212
212
  item.disabled = !column || type !== 'header';
213
213
  break;
214
214
  }
215
+ case 'SELECT_ALL_AREA':
216
+ {
217
+ var _$table$getTableData3 = $table.getTableData(),
218
+ visibleData = _$table$getTableData3.visibleData;
219
+ var _$table$getTableColum3 = $table.getTableColumn(),
220
+ visibleColumn = _$table$getTableColum3.visibleColumn;
221
+ item.disabled = !(visibleData.length || visibleColumn.length);
222
+ break;
223
+ }
224
+ case 'SELECT_AREA_TO_LEFT':
225
+ case 'SELECT_AREA_TO_RIGHT':
226
+ case 'SELECT_AREA_TO_TOP':
227
+ case 'SELECT_AREA_TO_BOTTON':
228
+ {
229
+ item.disabled = !column || !row;
230
+ break;
231
+ }
215
232
  case 'EDIT_CELL':
216
233
  case 'CLEAR_CELL':
217
234
  case 'CLEAR_ROW':
@@ -344,8 +361,8 @@ function handlePrivilegeEvent(params) {
344
361
  function selectMultipleRows() {
345
362
  return new Promise(function (resolve) {
346
363
  if (VxeUI.modal) {
347
- var VxeNumberInputComponent = VxeUI.getComponent('VxeNumberInput');
348
- if (VxeNumberInputComponent) {
364
+ var VxeUINumberInputComponent = VxeUI.getComponent('VxeNumberInput');
365
+ if (VxeUINumberInputComponent) {
349
366
  var rowSize = 1;
350
367
  VxeUI.modal.alert({
351
368
  title: '请输入行数',
@@ -353,7 +370,7 @@ function selectMultipleRows() {
353
370
  maskClosable: false,
354
371
  slots: {
355
372
  "default": function _default(params, h) {
356
- return h(VxeNumberInputComponent, {
373
+ return h(VxeUINumberInputComponent, {
357
374
  style: {
358
375
  width: '100%'
359
376
  },
@@ -361,7 +378,10 @@ function selectMultipleRows() {
361
378
  value: rowSize,
362
379
  min: 1,
363
380
  max: 100,
364
- align: 'center'
381
+ align: 'center',
382
+ controlConfig: {
383
+ layout: 'default'
384
+ }
365
385
  },
366
386
  on: {
367
387
  modelValue: function modelValue(value) {
@@ -406,7 +426,7 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
406
426
  VxeUI = core;
407
427
  // 检查版本
408
428
  if (!/^(3)\./.test(VxeUI.uiVersion)) {
409
- console.error('[@vxe-ui/plugin-menu 3.0.7] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-menu/install');
429
+ console.error('[@vxe-ui/plugin-menu 3.0.9] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-menu/install');
410
430
  }
411
431
  pluginConfig(options);
412
432
  VxeUI.menus.mixin({
@@ -500,6 +520,189 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
500
520
  $table.clearData();
501
521
  }
502
522
  },
523
+ /**
524
+ * 选取所有区域
525
+ */
526
+ SELECT_ALL_AREA: {
527
+ menuMethod: function menuMethod(params) {
528
+ var $table = params.$table;
529
+ var tableProps = $table;
530
+ var mouseConfig = tableProps.mouseConfig;
531
+ var mouseOpts = $table.computeMouseOpts;
532
+ if (mouseConfig && mouseOpts.area) {
533
+ var _$table$getTableData4 = $table.getTableData(),
534
+ visibleData = _$table$getTableData4.visibleData;
535
+ var _$table$getTableColum4 = $table.getTableColumn(),
536
+ visibleColumn = _$table$getTableColum4.visibleColumn;
537
+ $table.setCellAreas([{
538
+ startRow: _xeUtils["default"].first(visibleData),
539
+ endRow: _xeUtils["default"].last(visibleData),
540
+ startColumn: _xeUtils["default"].first(visibleColumn),
541
+ endColumn: _xeUtils["default"].last(visibleColumn)
542
+ }]);
543
+ }
544
+ }
545
+ },
546
+ /**
547
+ * 以当前单元格为起点,范围选取到左侧单元格
548
+ */
549
+ SELECT_AREA_TO_LEFT: {
550
+ menuMethod: function menuMethod(params) {
551
+ var $table = params.$table,
552
+ row = params.row,
553
+ column = params.column;
554
+ var tableProps = $table;
555
+ var mouseConfig = tableProps.mouseConfig;
556
+ var mouseOpts = $table.computeMouseOpts;
557
+ if (mouseConfig && mouseOpts.area) {
558
+ var _$table$getTableColum5 = $table.getTableColumn(),
559
+ visibleColumn = _$table$getTableColum5.visibleColumn;
560
+ var cellAreas = $table.getCellAreas();
561
+ if (cellAreas.length === 1) {
562
+ var fitstArea = cellAreas[0];
563
+ $table.setCellAreas([{
564
+ startRow: _xeUtils["default"].first(fitstArea.rows),
565
+ endRow: _xeUtils["default"].last(fitstArea.rows),
566
+ startColumn: _xeUtils["default"].first(visibleColumn),
567
+ endColumn: _xeUtils["default"].last(fitstArea.cols)
568
+ }], {
569
+ column: column,
570
+ row: row
571
+ });
572
+ } else {
573
+ $table.setCellAreas([{
574
+ startRow: row,
575
+ endRow: row,
576
+ startColumn: _xeUtils["default"].first(visibleColumn),
577
+ endColumn: column
578
+ }], {
579
+ column: column,
580
+ row: row
581
+ });
582
+ }
583
+ }
584
+ }
585
+ },
586
+ /**
587
+ * 以当前单元格为起点,范围选取到右侧单元格
588
+ */
589
+ SELECT_AREA_TO_RIGHT: {
590
+ menuMethod: function menuMethod(params) {
591
+ var $table = params.$table,
592
+ row = params.row,
593
+ column = params.column;
594
+ var tableProps = $table;
595
+ var mouseConfig = tableProps.mouseConfig;
596
+ var mouseOpts = $table.computeMouseOpts;
597
+ if (mouseConfig && mouseOpts.area) {
598
+ var _$table$getTableColum6 = $table.getTableColumn(),
599
+ visibleColumn = _$table$getTableColum6.visibleColumn;
600
+ var cellAreas = $table.getCellAreas();
601
+ if (cellAreas.length === 1) {
602
+ var fitstArea = cellAreas[0];
603
+ $table.setCellAreas([{
604
+ startRow: _xeUtils["default"].first(fitstArea.rows),
605
+ endRow: _xeUtils["default"].last(fitstArea.rows),
606
+ startColumn: _xeUtils["default"].first(fitstArea.cols),
607
+ endColumn: _xeUtils["default"].last(visibleColumn)
608
+ }], {
609
+ column: column,
610
+ row: row
611
+ });
612
+ } else {
613
+ $table.setCellAreas([{
614
+ startRow: row,
615
+ endRow: row,
616
+ startColumn: column,
617
+ endColumn: _xeUtils["default"].last(visibleColumn)
618
+ }], {
619
+ column: column,
620
+ row: row
621
+ });
622
+ }
623
+ }
624
+ }
625
+ },
626
+ /**
627
+ * 以当前单元格为起点,范围选取到顶部单元格
628
+ */
629
+ SELECT_AREA_TO_TOP: {
630
+ menuMethod: function menuMethod(params) {
631
+ var $table = params.$table,
632
+ row = params.row,
633
+ column = params.column;
634
+ var tableProps = $table;
635
+ var mouseConfig = tableProps.mouseConfig;
636
+ var mouseOpts = $table.computeMouseOpts;
637
+ if (mouseConfig && mouseOpts.area) {
638
+ var _$table$getTableData5 = $table.getTableData(),
639
+ visibleData = _$table$getTableData5.visibleData;
640
+ var cellAreas = $table.getCellAreas();
641
+ if (cellAreas.length === 1) {
642
+ var fitstArea = cellAreas[0];
643
+ $table.setCellAreas([{
644
+ startRow: _xeUtils["default"].first(visibleData),
645
+ endRow: _xeUtils["default"].last(fitstArea.rows),
646
+ startColumn: _xeUtils["default"].first(fitstArea.cols),
647
+ endColumn: _xeUtils["default"].last(fitstArea.cols)
648
+ }], {
649
+ column: column,
650
+ row: row
651
+ });
652
+ } else {
653
+ $table.setCellAreas([{
654
+ startRow: _xeUtils["default"].first(visibleData),
655
+ endRow: row,
656
+ startColumn: column,
657
+ endColumn: column
658
+ }], {
659
+ column: column,
660
+ row: row
661
+ });
662
+ }
663
+ }
664
+ }
665
+ },
666
+ /**
667
+ * 以当前单元格为起点,范围选取到底部单元格
668
+ */
669
+ SELECT_AREA_TO_BOTTON: {
670
+ menuMethod: function menuMethod(params) {
671
+ var $table = params.$table,
672
+ row = params.row,
673
+ column = params.column;
674
+ var tableProps = $table;
675
+ var mouseConfig = tableProps.mouseConfig;
676
+ var mouseOpts = $table.computeMouseOpts;
677
+ if (mouseConfig && mouseOpts.area) {
678
+ var _$table$getTableData6 = $table.getTableData(),
679
+ visibleData = _$table$getTableData6.visibleData;
680
+ var cellAreas = $table.getCellAreas();
681
+ if (cellAreas.length === 1) {
682
+ var fitstArea = cellAreas[0];
683
+ $table.setCellAreas([{
684
+ startRow: _xeUtils["default"].first(fitstArea.rows),
685
+ endRow: _xeUtils["default"].last(visibleData),
686
+ startColumn: _xeUtils["default"].first(fitstArea.cols),
687
+ endColumn: _xeUtils["default"].last(fitstArea.cols)
688
+ }], {
689
+ column: column,
690
+ row: row
691
+ });
692
+ } else {
693
+ $table.setCellAreas([{
694
+ startRow: row,
695
+ endRow: _xeUtils["default"].last(visibleData),
696
+ startColumn: column,
697
+ endColumn: column
698
+ }], {
699
+ column: column,
700
+ row: row
701
+ });
702
+ }
703
+ }
704
+ }
705
+ },
503
706
  /**
504
707
  * 还原单元格数据的值;如果启用 mouse-config.area 功能,则还原区域范围内的单元格数据
505
708
  */
@@ -663,10 +866,10 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
663
866
  menuMethod: function menuMethod(params) {
664
867
  var $event = params.$event,
665
868
  $table = params.$table;
666
- var _$table$getTableData3 = $table.getTableData(),
667
- visibleData = _$table$getTableData3.visibleData;
668
- var _$table$getTableColum3 = $table.getTableColumn(),
669
- visibleColumn = _$table$getTableColum3.visibleColumn;
869
+ var _$table$getTableData7 = $table.getTableData(),
870
+ visibleData = _$table$getTableData7.visibleData;
871
+ var _$table$getTableColum7 = $table.getTableColumn(),
872
+ visibleColumn = _$table$getTableColum7.visibleColumn;
670
873
  var cellAreas = $table.getCellAreas();
671
874
  handleClearMergeCells(params);
672
875
  if (cellAreas.some(function (_ref4) {
@@ -774,50 +977,22 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
774
977
  * 插入数据
775
978
  */
776
979
  INSERT_ROW: {
777
- menuMethod: function menuMethod(params) {
778
- var $table = params.$table,
779
- menu = params.menu;
780
- $table.insert(menu.params || {});
781
- }
782
- },
783
- /**
784
- * 插入数据并激活编辑状态
785
- * @deprecated
786
- */
787
- INSERT_ACTIVED_ROW: {
788
- menuMethod: function menuMethod(params) {
789
- var $table = params.$table,
790
- menu = params.menu,
791
- column = params.column;
792
- var args = menu.params || []; // [{}, 'field']
793
- $table.insert(args[0] || {}).then(function (_ref7) {
794
- var row = _ref7.row;
795
- if ($table.setEditCell) {
796
- $table.setEditCell(row, args[1] || column);
797
- } else {
798
- // 兼容老版本
799
- $table.setActiveCell(row, args[1] || column.field);
800
- }
801
- });
802
- }
803
- },
804
- /**
805
- * 插入数据并激活编辑状态
806
- * @deprecated
807
- */
808
- INSERT_EDIT_ROW: {
809
980
  menuMethod: function menuMethod(params) {
810
981
  var $table = params.$table,
811
982
  menu = params.menu,
812
983
  column = params.column;
813
- var args = menu.params || []; // [{}, 'field']
814
- $table.insert(args[0] || {}).then(function (_ref8) {
815
- var row = _ref8.row;
816
- if ($table.setEditCell) {
817
- $table.setEditCell(row, args[1] || column);
818
- } else {
819
- // 兼容老版本
820
- $table.setActiveCell(row, args[1] || column.field);
984
+ var tableProps = $table;
985
+ var mouseConfig = tableProps.mouseConfig;
986
+ var mouseOpts = $table.computeMouseOpts;
987
+ $table.insert(menu.params || {}).then(function (_ref7) {
988
+ var rows = _ref7.rows;
989
+ if (column && mouseConfig && mouseOpts.area) {
990
+ $table.setCellAreas([{
991
+ startRow: _xeUtils["default"].first(rows),
992
+ endRow: _xeUtils["default"].last(rows),
993
+ startColumn: column,
994
+ endColumn: column
995
+ }]);
821
996
  }
822
997
  });
823
998
  }
@@ -829,9 +1004,23 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
829
1004
  menuMethod: function menuMethod(params) {
830
1005
  var $table = params.$table,
831
1006
  menu = params.menu,
832
- row = params.row;
1007
+ row = params.row,
1008
+ column = params.column;
1009
+ var tableProps = $table;
1010
+ var mouseConfig = tableProps.mouseConfig;
1011
+ var mouseOpts = $table.computeMouseOpts;
833
1012
  if (row) {
834
- $table.insertAt(menu.params || {}, row);
1013
+ $table.insertAt(menu.params || {}, row).then(function (_ref8) {
1014
+ var rows = _ref8.rows;
1015
+ if (column && mouseConfig && mouseOpts.area) {
1016
+ $table.setCellAreas([{
1017
+ startRow: _xeUtils["default"].first(rows),
1018
+ endRow: _xeUtils["default"].last(rows),
1019
+ startColumn: column,
1020
+ endColumn: column
1021
+ }]);
1022
+ }
1023
+ });
835
1024
  }
836
1025
  }
837
1026
  },
@@ -842,14 +1031,28 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
842
1031
  menuMethod: function menuMethod(params) {
843
1032
  var $table = params.$table,
844
1033
  menu = params.menu,
845
- row = params.row;
1034
+ row = params.row,
1035
+ column = params.column;
1036
+ var tableProps = $table;
1037
+ var mouseConfig = tableProps.mouseConfig;
1038
+ var mouseOpts = $table.computeMouseOpts;
846
1039
  if (row) {
847
1040
  selectMultipleRows().then(function (_ref9) {
848
1041
  var size = _ref9.size;
849
1042
  if (size) {
850
1043
  $table.insertAt(_xeUtils["default"].range(0, size).map(function () {
851
1044
  return Object.assign({}, menu.params);
852
- }), row);
1045
+ }), row).then(function (_ref10) {
1046
+ var rows = _ref10.rows;
1047
+ if (column && mouseConfig && mouseOpts.area) {
1048
+ $table.setCellAreas([{
1049
+ startRow: _xeUtils["default"].first(rows),
1050
+ endRow: _xeUtils["default"].last(rows),
1051
+ startColumn: column,
1052
+ endColumn: column
1053
+ }]);
1054
+ }
1055
+ });
853
1056
  }
854
1057
  });
855
1058
  }
@@ -862,9 +1065,23 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
862
1065
  menuMethod: function menuMethod(params) {
863
1066
  var $table = params.$table,
864
1067
  menu = params.menu,
865
- row = params.row;
1068
+ row = params.row,
1069
+ column = params.column;
1070
+ var tableProps = $table;
1071
+ var mouseConfig = tableProps.mouseConfig;
1072
+ var mouseOpts = $table.computeMouseOpts;
866
1073
  if (row) {
867
- $table.insertNextAt(menu.params || {}, row);
1074
+ $table.insertNextAt(menu.params || {}, row).then(function (_ref11) {
1075
+ var rows = _ref11.rows;
1076
+ if (column && mouseConfig && mouseOpts.area) {
1077
+ $table.setCellAreas([{
1078
+ startRow: _xeUtils["default"].first(rows),
1079
+ endRow: _xeUtils["default"].last(rows),
1080
+ startColumn: column,
1081
+ endColumn: column
1082
+ }]);
1083
+ }
1084
+ });
868
1085
  }
869
1086
  }
870
1087
  },
@@ -875,19 +1092,75 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
875
1092
  menuMethod: function menuMethod(params) {
876
1093
  var $table = params.$table,
877
1094
  menu = params.menu,
878
- row = params.row;
1095
+ row = params.row,
1096
+ column = params.column;
1097
+ var tableProps = $table;
1098
+ var mouseConfig = tableProps.mouseConfig;
1099
+ var mouseOpts = $table.computeMouseOpts;
879
1100
  if (row) {
880
- selectMultipleRows().then(function (_ref10) {
881
- var size = _ref10.size;
1101
+ selectMultipleRows().then(function (_ref12) {
1102
+ var size = _ref12.size;
882
1103
  if (size) {
883
1104
  $table.insertNextAt(_xeUtils["default"].range(0, size).map(function () {
884
1105
  return Object.assign({}, menu.params);
885
- }), row);
1106
+ }), row).then(function (_ref13) {
1107
+ var rows = _ref13.rows;
1108
+ if (column && mouseConfig && mouseOpts.area) {
1109
+ $table.setCellAreas([{
1110
+ startRow: _xeUtils["default"].first(rows),
1111
+ endRow: _xeUtils["default"].last(rows),
1112
+ startColumn: column,
1113
+ endColumn: column
1114
+ }]);
1115
+ }
1116
+ });
886
1117
  }
887
1118
  });
888
1119
  }
889
1120
  }
890
1121
  },
1122
+ /**
1123
+ * 插入数据并激活编辑状态
1124
+ * @deprecated
1125
+ */
1126
+ INSERT_ACTIVED_ROW: {
1127
+ menuMethod: function menuMethod(params) {
1128
+ var $table = params.$table,
1129
+ menu = params.menu,
1130
+ column = params.column;
1131
+ var args = menu.params || []; // [{}, 'field']
1132
+ $table.insert(args[0] || {}).then(function (_ref14) {
1133
+ var row = _ref14.row;
1134
+ if ($table.setEditCell) {
1135
+ $table.setEditCell(row, args[1] || column);
1136
+ } else {
1137
+ // 兼容老版本
1138
+ $table.setActiveCell(row, args[1] || column.field);
1139
+ }
1140
+ });
1141
+ }
1142
+ },
1143
+ /**
1144
+ * 插入数据并激活编辑状态
1145
+ * @deprecated
1146
+ */
1147
+ INSERT_EDIT_ROW: {
1148
+ menuMethod: function menuMethod(params) {
1149
+ var $table = params.$table,
1150
+ menu = params.menu,
1151
+ column = params.column;
1152
+ var args = menu.params || []; // [{}, 'field']
1153
+ $table.insert(args[0] || {}).then(function (_ref15) {
1154
+ var row = _ref15.row;
1155
+ if ($table.setEditCell) {
1156
+ $table.setEditCell(row, args[1] || column);
1157
+ } else {
1158
+ // 兼容老版本
1159
+ $table.setActiveCell(row, args[1] || column.field);
1160
+ }
1161
+ });
1162
+ }
1163
+ },
891
1164
  /**
892
1165
  * 插入数据到指定位置并激活编辑状态
893
1166
  */
@@ -899,8 +1172,8 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
899
1172
  column = params.column;
900
1173
  if (row) {
901
1174
  var args = menu.params || []; // [{}, 'field']
902
- $table.insertAt(args[0] || {}, row).then(function (_ref11) {
903
- var row = _ref11.row;
1175
+ $table.insertAt(args[0] || {}, row).then(function (_ref16) {
1176
+ var row = _ref16.row;
904
1177
  if ($table.setEditCell) {
905
1178
  $table.setEditCell(row, args[1] || column);
906
1179
  } else {
@@ -922,8 +1195,8 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
922
1195
  column = params.column;
923
1196
  if (row) {
924
1197
  var args = menu.params || []; // [{}, 'field']
925
- $table.insertAt(args[0] || {}, row).then(function (_ref12) {
926
- var row = _ref12.row;
1198
+ $table.insertAt(args[0] || {}, row).then(function (_ref17) {
1199
+ var row = _ref17.row;
927
1200
  if ($table.setEditCell) {
928
1201
  $table.setEditCell(row, args[1] || column);
929
1202
  } else {
@@ -945,13 +1218,13 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
945
1218
  column = params.column;
946
1219
  if (row) {
947
1220
  var args = menu.params || []; // [{}, 'field']
948
- selectMultipleRows().then(function (_ref13) {
949
- var size = _ref13.size;
1221
+ selectMultipleRows().then(function (_ref18) {
1222
+ var size = _ref18.size;
950
1223
  if (size) {
951
1224
  $table.insertAt(_xeUtils["default"].range(0, size).map(function () {
952
1225
  return Object.assign({}, args[0]);
953
- }), row).then(function (_ref14) {
954
- var row = _ref14.row;
1226
+ }), row).then(function (_ref19) {
1227
+ var row = _ref19.row;
955
1228
  if ($table.setEditCell) {
956
1229
  $table.setEditCell(row, args[1] || column);
957
1230
  } else {
@@ -975,8 +1248,8 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
975
1248
  column = params.column;
976
1249
  if (row) {
977
1250
  var args = menu.params || []; // [{}, 'field']
978
- $table.insertNextAt(args[0] || {}, row).then(function (_ref15) {
979
- var row = _ref15.row;
1251
+ $table.insertNextAt(args[0] || {}, row).then(function (_ref20) {
1252
+ var row = _ref20.row;
980
1253
  if ($table.setEditCell) {
981
1254
  $table.setEditCell(row, args[1] || column);
982
1255
  } else {
@@ -998,13 +1271,13 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
998
1271
  column = params.column;
999
1272
  if (row) {
1000
1273
  var args = menu.params || []; // [{}, 'field']
1001
- selectMultipleRows().then(function (_ref16) {
1002
- var size = _ref16.size;
1274
+ selectMultipleRows().then(function (_ref21) {
1275
+ var size = _ref21.size;
1003
1276
  if (size) {
1004
1277
  $table.insertNextAt(_xeUtils["default"].range(0, size).map(function () {
1005
1278
  return Object.assign({}, args[0]);
1006
- }), row).then(function (_ref17) {
1007
- var row = _ref17.row;
1279
+ }), row).then(function (_ref22) {
1280
+ var row = _ref22.row;
1008
1281
  if ($table.setEditCell) {
1009
1282
  $table.setEditCell(row, args[1] || column);
1010
1283
  } else {
package/dist/index.umd.js CHANGED
@@ -225,6 +225,23 @@
225
225
  item.disabled = !column || type !== 'header';
226
226
  break;
227
227
  }
228
+ case 'SELECT_ALL_AREA':
229
+ {
230
+ var _$table$getTableData3 = $table.getTableData(),
231
+ visibleData = _$table$getTableData3.visibleData;
232
+ var _$table$getTableColum3 = $table.getTableColumn(),
233
+ visibleColumn = _$table$getTableColum3.visibleColumn;
234
+ item.disabled = !(visibleData.length || visibleColumn.length);
235
+ break;
236
+ }
237
+ case 'SELECT_AREA_TO_LEFT':
238
+ case 'SELECT_AREA_TO_RIGHT':
239
+ case 'SELECT_AREA_TO_TOP':
240
+ case 'SELECT_AREA_TO_BOTTON':
241
+ {
242
+ item.disabled = !column || !row;
243
+ break;
244
+ }
228
245
  case 'EDIT_CELL':
229
246
  case 'CLEAR_CELL':
230
247
  case 'CLEAR_ROW':
@@ -357,8 +374,8 @@
357
374
  function selectMultipleRows() {
358
375
  return new Promise(function (resolve) {
359
376
  if (VxeUI.modal) {
360
- var VxeNumberInputComponent = VxeUI.getComponent('VxeNumberInput');
361
- if (VxeNumberInputComponent) {
377
+ var VxeUINumberInputComponent = VxeUI.getComponent('VxeNumberInput');
378
+ if (VxeUINumberInputComponent) {
362
379
  var rowSize = 1;
363
380
  VxeUI.modal.alert({
364
381
  title: '请输入行数',
@@ -366,7 +383,7 @@
366
383
  maskClosable: false,
367
384
  slots: {
368
385
  "default": function _default(params, h) {
369
- return h(VxeNumberInputComponent, {
386
+ return h(VxeUINumberInputComponent, {
370
387
  style: {
371
388
  width: '100%'
372
389
  },
@@ -374,7 +391,10 @@
374
391
  value: rowSize,
375
392
  min: 1,
376
393
  max: 100,
377
- align: 'center'
394
+ align: 'center',
395
+ controlConfig: {
396
+ layout: 'default'
397
+ }
378
398
  },
379
399
  on: {
380
400
  modelValue: function modelValue(value) {
@@ -419,7 +439,7 @@
419
439
  VxeUI = core;
420
440
  // 检查版本
421
441
  if (!/^(3)\./.test(VxeUI.uiVersion)) {
422
- console.error('[@vxe-ui/plugin-menu 3.0.7] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-menu/install');
442
+ console.error('[@vxe-ui/plugin-menu 3.0.9] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-menu/install');
423
443
  }
424
444
  pluginConfig(options);
425
445
  VxeUI.menus.mixin({
@@ -513,6 +533,189 @@
513
533
  $table.clearData();
514
534
  }
515
535
  },
536
+ /**
537
+ * 选取所有区域
538
+ */
539
+ SELECT_ALL_AREA: {
540
+ menuMethod: function menuMethod(params) {
541
+ var $table = params.$table;
542
+ var tableProps = $table;
543
+ var mouseConfig = tableProps.mouseConfig;
544
+ var mouseOpts = $table.computeMouseOpts;
545
+ if (mouseConfig && mouseOpts.area) {
546
+ var _$table$getTableData4 = $table.getTableData(),
547
+ visibleData = _$table$getTableData4.visibleData;
548
+ var _$table$getTableColum4 = $table.getTableColumn(),
549
+ visibleColumn = _$table$getTableColum4.visibleColumn;
550
+ $table.setCellAreas([{
551
+ startRow: _xeUtils["default"].first(visibleData),
552
+ endRow: _xeUtils["default"].last(visibleData),
553
+ startColumn: _xeUtils["default"].first(visibleColumn),
554
+ endColumn: _xeUtils["default"].last(visibleColumn)
555
+ }]);
556
+ }
557
+ }
558
+ },
559
+ /**
560
+ * 以当前单元格为起点,范围选取到左侧单元格
561
+ */
562
+ SELECT_AREA_TO_LEFT: {
563
+ menuMethod: function menuMethod(params) {
564
+ var $table = params.$table,
565
+ row = params.row,
566
+ column = params.column;
567
+ var tableProps = $table;
568
+ var mouseConfig = tableProps.mouseConfig;
569
+ var mouseOpts = $table.computeMouseOpts;
570
+ if (mouseConfig && mouseOpts.area) {
571
+ var _$table$getTableColum5 = $table.getTableColumn(),
572
+ visibleColumn = _$table$getTableColum5.visibleColumn;
573
+ var cellAreas = $table.getCellAreas();
574
+ if (cellAreas.length === 1) {
575
+ var fitstArea = cellAreas[0];
576
+ $table.setCellAreas([{
577
+ startRow: _xeUtils["default"].first(fitstArea.rows),
578
+ endRow: _xeUtils["default"].last(fitstArea.rows),
579
+ startColumn: _xeUtils["default"].first(visibleColumn),
580
+ endColumn: _xeUtils["default"].last(fitstArea.cols)
581
+ }], {
582
+ column: column,
583
+ row: row
584
+ });
585
+ } else {
586
+ $table.setCellAreas([{
587
+ startRow: row,
588
+ endRow: row,
589
+ startColumn: _xeUtils["default"].first(visibleColumn),
590
+ endColumn: column
591
+ }], {
592
+ column: column,
593
+ row: row
594
+ });
595
+ }
596
+ }
597
+ }
598
+ },
599
+ /**
600
+ * 以当前单元格为起点,范围选取到右侧单元格
601
+ */
602
+ SELECT_AREA_TO_RIGHT: {
603
+ menuMethod: function menuMethod(params) {
604
+ var $table = params.$table,
605
+ row = params.row,
606
+ column = params.column;
607
+ var tableProps = $table;
608
+ var mouseConfig = tableProps.mouseConfig;
609
+ var mouseOpts = $table.computeMouseOpts;
610
+ if (mouseConfig && mouseOpts.area) {
611
+ var _$table$getTableColum6 = $table.getTableColumn(),
612
+ visibleColumn = _$table$getTableColum6.visibleColumn;
613
+ var cellAreas = $table.getCellAreas();
614
+ if (cellAreas.length === 1) {
615
+ var fitstArea = cellAreas[0];
616
+ $table.setCellAreas([{
617
+ startRow: _xeUtils["default"].first(fitstArea.rows),
618
+ endRow: _xeUtils["default"].last(fitstArea.rows),
619
+ startColumn: _xeUtils["default"].first(fitstArea.cols),
620
+ endColumn: _xeUtils["default"].last(visibleColumn)
621
+ }], {
622
+ column: column,
623
+ row: row
624
+ });
625
+ } else {
626
+ $table.setCellAreas([{
627
+ startRow: row,
628
+ endRow: row,
629
+ startColumn: column,
630
+ endColumn: _xeUtils["default"].last(visibleColumn)
631
+ }], {
632
+ column: column,
633
+ row: row
634
+ });
635
+ }
636
+ }
637
+ }
638
+ },
639
+ /**
640
+ * 以当前单元格为起点,范围选取到顶部单元格
641
+ */
642
+ SELECT_AREA_TO_TOP: {
643
+ menuMethod: function menuMethod(params) {
644
+ var $table = params.$table,
645
+ row = params.row,
646
+ column = params.column;
647
+ var tableProps = $table;
648
+ var mouseConfig = tableProps.mouseConfig;
649
+ var mouseOpts = $table.computeMouseOpts;
650
+ if (mouseConfig && mouseOpts.area) {
651
+ var _$table$getTableData5 = $table.getTableData(),
652
+ visibleData = _$table$getTableData5.visibleData;
653
+ var cellAreas = $table.getCellAreas();
654
+ if (cellAreas.length === 1) {
655
+ var fitstArea = cellAreas[0];
656
+ $table.setCellAreas([{
657
+ startRow: _xeUtils["default"].first(visibleData),
658
+ endRow: _xeUtils["default"].last(fitstArea.rows),
659
+ startColumn: _xeUtils["default"].first(fitstArea.cols),
660
+ endColumn: _xeUtils["default"].last(fitstArea.cols)
661
+ }], {
662
+ column: column,
663
+ row: row
664
+ });
665
+ } else {
666
+ $table.setCellAreas([{
667
+ startRow: _xeUtils["default"].first(visibleData),
668
+ endRow: row,
669
+ startColumn: column,
670
+ endColumn: column
671
+ }], {
672
+ column: column,
673
+ row: row
674
+ });
675
+ }
676
+ }
677
+ }
678
+ },
679
+ /**
680
+ * 以当前单元格为起点,范围选取到底部单元格
681
+ */
682
+ SELECT_AREA_TO_BOTTON: {
683
+ menuMethod: function menuMethod(params) {
684
+ var $table = params.$table,
685
+ row = params.row,
686
+ column = params.column;
687
+ var tableProps = $table;
688
+ var mouseConfig = tableProps.mouseConfig;
689
+ var mouseOpts = $table.computeMouseOpts;
690
+ if (mouseConfig && mouseOpts.area) {
691
+ var _$table$getTableData6 = $table.getTableData(),
692
+ visibleData = _$table$getTableData6.visibleData;
693
+ var cellAreas = $table.getCellAreas();
694
+ if (cellAreas.length === 1) {
695
+ var fitstArea = cellAreas[0];
696
+ $table.setCellAreas([{
697
+ startRow: _xeUtils["default"].first(fitstArea.rows),
698
+ endRow: _xeUtils["default"].last(visibleData),
699
+ startColumn: _xeUtils["default"].first(fitstArea.cols),
700
+ endColumn: _xeUtils["default"].last(fitstArea.cols)
701
+ }], {
702
+ column: column,
703
+ row: row
704
+ });
705
+ } else {
706
+ $table.setCellAreas([{
707
+ startRow: row,
708
+ endRow: _xeUtils["default"].last(visibleData),
709
+ startColumn: column,
710
+ endColumn: column
711
+ }], {
712
+ column: column,
713
+ row: row
714
+ });
715
+ }
716
+ }
717
+ }
718
+ },
516
719
  /**
517
720
  * 还原单元格数据的值;如果启用 mouse-config.area 功能,则还原区域范围内的单元格数据
518
721
  */
@@ -676,10 +879,10 @@
676
879
  menuMethod: function menuMethod(params) {
677
880
  var $event = params.$event,
678
881
  $table = params.$table;
679
- var _$table$getTableData3 = $table.getTableData(),
680
- visibleData = _$table$getTableData3.visibleData;
681
- var _$table$getTableColum3 = $table.getTableColumn(),
682
- visibleColumn = _$table$getTableColum3.visibleColumn;
882
+ var _$table$getTableData7 = $table.getTableData(),
883
+ visibleData = _$table$getTableData7.visibleData;
884
+ var _$table$getTableColum7 = $table.getTableColumn(),
885
+ visibleColumn = _$table$getTableColum7.visibleColumn;
683
886
  var cellAreas = $table.getCellAreas();
684
887
  handleClearMergeCells(params);
685
888
  if (cellAreas.some(function (_ref4) {
@@ -787,50 +990,22 @@
787
990
  * 插入数据
788
991
  */
789
992
  INSERT_ROW: {
790
- menuMethod: function menuMethod(params) {
791
- var $table = params.$table,
792
- menu = params.menu;
793
- $table.insert(menu.params || {});
794
- }
795
- },
796
- /**
797
- * 插入数据并激活编辑状态
798
- * @deprecated
799
- */
800
- INSERT_ACTIVED_ROW: {
801
- menuMethod: function menuMethod(params) {
802
- var $table = params.$table,
803
- menu = params.menu,
804
- column = params.column;
805
- var args = menu.params || []; // [{}, 'field']
806
- $table.insert(args[0] || {}).then(function (_ref7) {
807
- var row = _ref7.row;
808
- if ($table.setEditCell) {
809
- $table.setEditCell(row, args[1] || column);
810
- } else {
811
- // 兼容老版本
812
- $table.setActiveCell(row, args[1] || column.field);
813
- }
814
- });
815
- }
816
- },
817
- /**
818
- * 插入数据并激活编辑状态
819
- * @deprecated
820
- */
821
- INSERT_EDIT_ROW: {
822
993
  menuMethod: function menuMethod(params) {
823
994
  var $table = params.$table,
824
995
  menu = params.menu,
825
996
  column = params.column;
826
- var args = menu.params || []; // [{}, 'field']
827
- $table.insert(args[0] || {}).then(function (_ref8) {
828
- var row = _ref8.row;
829
- if ($table.setEditCell) {
830
- $table.setEditCell(row, args[1] || column);
831
- } else {
832
- // 兼容老版本
833
- $table.setActiveCell(row, args[1] || column.field);
997
+ var tableProps = $table;
998
+ var mouseConfig = tableProps.mouseConfig;
999
+ var mouseOpts = $table.computeMouseOpts;
1000
+ $table.insert(menu.params || {}).then(function (_ref7) {
1001
+ var rows = _ref7.rows;
1002
+ if (column && mouseConfig && mouseOpts.area) {
1003
+ $table.setCellAreas([{
1004
+ startRow: _xeUtils["default"].first(rows),
1005
+ endRow: _xeUtils["default"].last(rows),
1006
+ startColumn: column,
1007
+ endColumn: column
1008
+ }]);
834
1009
  }
835
1010
  });
836
1011
  }
@@ -842,9 +1017,23 @@
842
1017
  menuMethod: function menuMethod(params) {
843
1018
  var $table = params.$table,
844
1019
  menu = params.menu,
845
- row = params.row;
1020
+ row = params.row,
1021
+ column = params.column;
1022
+ var tableProps = $table;
1023
+ var mouseConfig = tableProps.mouseConfig;
1024
+ var mouseOpts = $table.computeMouseOpts;
846
1025
  if (row) {
847
- $table.insertAt(menu.params || {}, row);
1026
+ $table.insertAt(menu.params || {}, row).then(function (_ref8) {
1027
+ var rows = _ref8.rows;
1028
+ if (column && mouseConfig && mouseOpts.area) {
1029
+ $table.setCellAreas([{
1030
+ startRow: _xeUtils["default"].first(rows),
1031
+ endRow: _xeUtils["default"].last(rows),
1032
+ startColumn: column,
1033
+ endColumn: column
1034
+ }]);
1035
+ }
1036
+ });
848
1037
  }
849
1038
  }
850
1039
  },
@@ -855,14 +1044,28 @@
855
1044
  menuMethod: function menuMethod(params) {
856
1045
  var $table = params.$table,
857
1046
  menu = params.menu,
858
- row = params.row;
1047
+ row = params.row,
1048
+ column = params.column;
1049
+ var tableProps = $table;
1050
+ var mouseConfig = tableProps.mouseConfig;
1051
+ var mouseOpts = $table.computeMouseOpts;
859
1052
  if (row) {
860
1053
  selectMultipleRows().then(function (_ref9) {
861
1054
  var size = _ref9.size;
862
1055
  if (size) {
863
1056
  $table.insertAt(_xeUtils["default"].range(0, size).map(function () {
864
1057
  return Object.assign({}, menu.params);
865
- }), row);
1058
+ }), row).then(function (_ref10) {
1059
+ var rows = _ref10.rows;
1060
+ if (column && mouseConfig && mouseOpts.area) {
1061
+ $table.setCellAreas([{
1062
+ startRow: _xeUtils["default"].first(rows),
1063
+ endRow: _xeUtils["default"].last(rows),
1064
+ startColumn: column,
1065
+ endColumn: column
1066
+ }]);
1067
+ }
1068
+ });
866
1069
  }
867
1070
  });
868
1071
  }
@@ -875,9 +1078,23 @@
875
1078
  menuMethod: function menuMethod(params) {
876
1079
  var $table = params.$table,
877
1080
  menu = params.menu,
878
- row = params.row;
1081
+ row = params.row,
1082
+ column = params.column;
1083
+ var tableProps = $table;
1084
+ var mouseConfig = tableProps.mouseConfig;
1085
+ var mouseOpts = $table.computeMouseOpts;
879
1086
  if (row) {
880
- $table.insertNextAt(menu.params || {}, row);
1087
+ $table.insertNextAt(menu.params || {}, row).then(function (_ref11) {
1088
+ var rows = _ref11.rows;
1089
+ if (column && mouseConfig && mouseOpts.area) {
1090
+ $table.setCellAreas([{
1091
+ startRow: _xeUtils["default"].first(rows),
1092
+ endRow: _xeUtils["default"].last(rows),
1093
+ startColumn: column,
1094
+ endColumn: column
1095
+ }]);
1096
+ }
1097
+ });
881
1098
  }
882
1099
  }
883
1100
  },
@@ -888,19 +1105,75 @@
888
1105
  menuMethod: function menuMethod(params) {
889
1106
  var $table = params.$table,
890
1107
  menu = params.menu,
891
- row = params.row;
1108
+ row = params.row,
1109
+ column = params.column;
1110
+ var tableProps = $table;
1111
+ var mouseConfig = tableProps.mouseConfig;
1112
+ var mouseOpts = $table.computeMouseOpts;
892
1113
  if (row) {
893
- selectMultipleRows().then(function (_ref10) {
894
- var size = _ref10.size;
1114
+ selectMultipleRows().then(function (_ref12) {
1115
+ var size = _ref12.size;
895
1116
  if (size) {
896
1117
  $table.insertNextAt(_xeUtils["default"].range(0, size).map(function () {
897
1118
  return Object.assign({}, menu.params);
898
- }), row);
1119
+ }), row).then(function (_ref13) {
1120
+ var rows = _ref13.rows;
1121
+ if (column && mouseConfig && mouseOpts.area) {
1122
+ $table.setCellAreas([{
1123
+ startRow: _xeUtils["default"].first(rows),
1124
+ endRow: _xeUtils["default"].last(rows),
1125
+ startColumn: column,
1126
+ endColumn: column
1127
+ }]);
1128
+ }
1129
+ });
899
1130
  }
900
1131
  });
901
1132
  }
902
1133
  }
903
1134
  },
1135
+ /**
1136
+ * 插入数据并激活编辑状态
1137
+ * @deprecated
1138
+ */
1139
+ INSERT_ACTIVED_ROW: {
1140
+ menuMethod: function menuMethod(params) {
1141
+ var $table = params.$table,
1142
+ menu = params.menu,
1143
+ column = params.column;
1144
+ var args = menu.params || []; // [{}, 'field']
1145
+ $table.insert(args[0] || {}).then(function (_ref14) {
1146
+ var row = _ref14.row;
1147
+ if ($table.setEditCell) {
1148
+ $table.setEditCell(row, args[1] || column);
1149
+ } else {
1150
+ // 兼容老版本
1151
+ $table.setActiveCell(row, args[1] || column.field);
1152
+ }
1153
+ });
1154
+ }
1155
+ },
1156
+ /**
1157
+ * 插入数据并激活编辑状态
1158
+ * @deprecated
1159
+ */
1160
+ INSERT_EDIT_ROW: {
1161
+ menuMethod: function menuMethod(params) {
1162
+ var $table = params.$table,
1163
+ menu = params.menu,
1164
+ column = params.column;
1165
+ var args = menu.params || []; // [{}, 'field']
1166
+ $table.insert(args[0] || {}).then(function (_ref15) {
1167
+ var row = _ref15.row;
1168
+ if ($table.setEditCell) {
1169
+ $table.setEditCell(row, args[1] || column);
1170
+ } else {
1171
+ // 兼容老版本
1172
+ $table.setActiveCell(row, args[1] || column.field);
1173
+ }
1174
+ });
1175
+ }
1176
+ },
904
1177
  /**
905
1178
  * 插入数据到指定位置并激活编辑状态
906
1179
  */
@@ -912,8 +1185,8 @@
912
1185
  column = params.column;
913
1186
  if (row) {
914
1187
  var args = menu.params || []; // [{}, 'field']
915
- $table.insertAt(args[0] || {}, row).then(function (_ref11) {
916
- var row = _ref11.row;
1188
+ $table.insertAt(args[0] || {}, row).then(function (_ref16) {
1189
+ var row = _ref16.row;
917
1190
  if ($table.setEditCell) {
918
1191
  $table.setEditCell(row, args[1] || column);
919
1192
  } else {
@@ -935,8 +1208,8 @@
935
1208
  column = params.column;
936
1209
  if (row) {
937
1210
  var args = menu.params || []; // [{}, 'field']
938
- $table.insertAt(args[0] || {}, row).then(function (_ref12) {
939
- var row = _ref12.row;
1211
+ $table.insertAt(args[0] || {}, row).then(function (_ref17) {
1212
+ var row = _ref17.row;
940
1213
  if ($table.setEditCell) {
941
1214
  $table.setEditCell(row, args[1] || column);
942
1215
  } else {
@@ -958,13 +1231,13 @@
958
1231
  column = params.column;
959
1232
  if (row) {
960
1233
  var args = menu.params || []; // [{}, 'field']
961
- selectMultipleRows().then(function (_ref13) {
962
- var size = _ref13.size;
1234
+ selectMultipleRows().then(function (_ref18) {
1235
+ var size = _ref18.size;
963
1236
  if (size) {
964
1237
  $table.insertAt(_xeUtils["default"].range(0, size).map(function () {
965
1238
  return Object.assign({}, args[0]);
966
- }), row).then(function (_ref14) {
967
- var row = _ref14.row;
1239
+ }), row).then(function (_ref19) {
1240
+ var row = _ref19.row;
968
1241
  if ($table.setEditCell) {
969
1242
  $table.setEditCell(row, args[1] || column);
970
1243
  } else {
@@ -988,8 +1261,8 @@
988
1261
  column = params.column;
989
1262
  if (row) {
990
1263
  var args = menu.params || []; // [{}, 'field']
991
- $table.insertNextAt(args[0] || {}, row).then(function (_ref15) {
992
- var row = _ref15.row;
1264
+ $table.insertNextAt(args[0] || {}, row).then(function (_ref20) {
1265
+ var row = _ref20.row;
993
1266
  if ($table.setEditCell) {
994
1267
  $table.setEditCell(row, args[1] || column);
995
1268
  } else {
@@ -1011,13 +1284,13 @@
1011
1284
  column = params.column;
1012
1285
  if (row) {
1013
1286
  var args = menu.params || []; // [{}, 'field']
1014
- selectMultipleRows().then(function (_ref16) {
1015
- var size = _ref16.size;
1287
+ selectMultipleRows().then(function (_ref21) {
1288
+ var size = _ref21.size;
1016
1289
  if (size) {
1017
1290
  $table.insertNextAt(_xeUtils["default"].range(0, size).map(function () {
1018
1291
  return Object.assign({}, args[0]);
1019
- }), row).then(function (_ref17) {
1020
- var row = _ref17.row;
1292
+ }), row).then(function (_ref22) {
1293
+ var row = _ref22.row;
1021
1294
  if ($table.setEditCell) {
1022
1295
  $table.setEditCell(row, args[1] || column);
1023
1296
  } else {
@@ -1 +1 @@
1
- ((e,t)=>{"function"==typeof define&&define.amd?define("@vxe-ui/plugin-menu",["exports","xe-utils"],t):"undefined"!=typeof exports?t(exports,require("xe-utils")):(t(t={},e.XEUtils),e.VxeUIPluginMenu=t)})("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,function(e,u){var s,c;Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VxeUIPluginMenu=void 0,u=(t=u)&&t.__esModule?t:{default:t};var a,h=function(e,t){return u.default.findIndexOf(e,function(e){return e.id===t.id})},g=function(e,t,n){return e.findRowIndexOf(t,n)};function n(n){return{menuMethod:function(e){var t=e.$table;u.default.eachTree([e.column],function(e){e.fixed=n}),t.refreshColumn()}}}function m(){var e=s.globalStore;return e?e.clipboard||"":(e=s.config)&&e.clipboard?e.clipboard:null}function E(e){var t,n;try{t=e,a||((a=document.createElement("textarea")).id="$XECopy",(n=a.style).width="48px",n.height="24px",n.position="fixed",n.zIndex="0",n.left="-500px",n.top="-500px",document.body.appendChild(a)),a.value=null==t?"":""+t,a.select(),a.setSelectionRange(0,a.value.length),document.execCommand("copy"),a.blur()}catch(e){}}function o(e,t){var n,a,o,r=e.$event,l=e.$table,i=e.row,e=e.column;i&&e&&(n=l.mouseConfig,o=l.computeMouseOpts,a="",n&&o.area?(t?l.triggerCutCellAreaEvent(r):l.triggerCopyCellAreaEvent(r),a=(n=m())?n.text:""):(a=u.default.toValueString(u.default.get(i,e.field)),o={text:a,html:""},(t=s.globalStore)?t.clipboard=o:s.config&&(s.config.clipboard=o)),(u.default.isFunction(c)?c:E)(a))}function C(e){var u=e.$table,e=u.mouseConfig,t=u.computeMouseOpts,s=u.getTableData().visibleData,c=u.getTableColumn().visibleColumn,n=e&&t.area?u.getCellAreas():[];return u.getMergeCells().filter(function(e){var o=e.row,r=e.col,l=e.rowspan,i=e.colspan;return n.some(function(e){var t=e.rows,e=e.cols,n=g(u,s,t[0]),t=g(u,s,t[t.length-1]),a=h(c,e[0]),e=h(c,e[e.length-1]);return n<=o&&o+l-1<=t&&a<=r&&r+i-1<=e})})}function l(e){var t=e.$table,e=C(e);return e.length&&t.removeMergeCells(e),e}function r(e,t){var n=e.code,a=t.$table,o=t.row,r=t.column,l=t.type,i=a.editConfig,u=a.mouseConfig;switch(n){case"CLEAR_ALL_SORT":var s=a.getSortColumns();e.disabled=!s.length;break;case"CLEAR_ALL_FILTER":s=a.getCheckedFilters();e.disabled=!s.length;break;case"CLEAR_ALL_MERGE":var s=a.getMergeCells(),c=a.getMergeFooterItems();e.disabled=!s.length&&!c.length;break;case"CLEAR_MERGE_CELL":s=C(t);e.disabled=!s.length;break;case"COPY_TITLE":e.disabled=!r||"header"!==l;break;case"EDIT_CELL":case"CLEAR_CELL":case"CLEAR_ROW":case"COPY_CELL":case"CUT_CELL":case"PASTE_CELL":case"MERGE_OR_CLEAR":case"MERGE_CELL":case"REVERT_CELL":case"REVERT_ROW":case"INSERT_AT_ROW":case"INSERT_AT_ACTIVED_ROW":case"INSERT_AT_EDIT_ROW":case"DELETE_ROW":case"DELETE_AREA_ROW":case"CLEAR_SORT":case"SORT_ASC":case"SORT_DESC":case"CLEAR_FILTER":case"FILTER_CELL":case"EXPORT_ROW":case"OPEN_FIND":case"OPEN_REPLACE":case"HIDDEN_COLUMN":case"FIXED_LEFT_COLUMN":case"FIXED_RIGHT_COLUMN":case"CLEAR_FIXED_COLUMN":if(e.disabled=!r,r){var E=a.computeMouseOpts,d=!!r.parentId;switch(n){case"CLEAR_SORT":e.disabled=!r.sortable||!r.order;break;case"SORT_ASC":case"SORT_DESC":e.disabled=!r.sortable;break;case"FILTER_CELL":case"CLEAR_FILTER":e.disabled=!r.filters||!r.filters.length,e.disabled||"CLEAR_FILTER"===n&&(e.disabled=!r.filters.some(function(e){return e.checked}));break;case"REVERT_CELL":e.disabled=!o||!r.field||!a.isUpdateByRow(o,r.field);break;case"REVERT_ROW":e.disabled=!o||!r.field||!a.isUpdateByRow(o);break;case"OPEN_FIND":case"OPEN_REPLACE":e.disabled=!(u&&E.area);break;case"EDIT_CELL":e.disabled=!i||!r.editRender;break;case"COPY_CELL":case"CUT_CELL":case"PASTE_CELL":var f=u&&E.area?a.getCellAreas():[];e.disabled=1<f.length,e.disabled||"PASTE_CELL"===n&&(f=m(),e.disabled=!f||!f.text);break;case"MERGE_OR_CLEAR":case"MERGE_CELL":f=u&&E.area?a.getCellAreas():[];e.disabled=!f.length||1===f.length&&1===f[0].rows.length&&1===f[0].cols.length||!((e,t)=>{for(var n=e.$table,a=n.getTableData().visibleData,o=n.getTableColumn().visibleColumn,r={},l=0,i=t.length;l<i;l++)for(var u=t[l],s=u.rows,c=u.cols,E=0,d=s.length;E<d;E++)for(var f=s[E],m=g(n,a,f),C=0,_=c.length;C<_;C++){var R=c[C],R=m+":"+h(o,R);if(r[R])return;r[R]=!0}return 1})(t,f);break;case"FIXED_LEFT_COLUMN":e.disabled=d||"left"===r.fixed;break;case"FIXED_RIGHT_COLUMN":e.disabled=d||"right"===r.fixed;break;case"CLEAR_FIXED_COLUMN":e.disabled=d||!r.fixed}}}}function i(t){return t.options.forEach(function(e){e.forEach(function(e){r(e,t),e.children&&e.children.forEach(function(e){r(e,t)})})}),!0}function d(){return new Promise(function(t){var n,a;s.modal?(n=s.getComponent("VxeNumberInput"))?(a=1,s.modal.alert({title:"请输入行数",width:220,maskClosable:!1,slots:{default:function(e,t){return t(n,{style:{width:"100%"},props:{value:a,min:1,max:100,align:"center"},on:{modelValue:function(e){a=e}}})}}}).then(function(e){t("confirm"===e?{size:a||1}:{size:0})})):(console.error(s.getI18n("vxe.error.reqComp",["vxe-number-input"])),t({size:0})):t({size:0})})}function f(e){e&&e.copy&&(c=e.copy)}var t=e.VxeUIPluginMenu={setConfig:f,install:function(e,t){s=e,/^(3)\./.test(s.uiVersion)||console.error("[@vxe-ui/plugin-menu 3.0.7] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-menu/install"),f(t),s.menus.mixin({CLEAR_CELL:{menuMethod:function(e){var t,n,a=e.$table,o=e.row,e=e.column;o&&e&&(n=a.mouseConfig,t=a.computeMouseOpts,n&&t.area?(n=a.getCellAreas())&&n.length&&n.forEach(function(e){var n=e.rows;e.cols.forEach(function(t){n.forEach(function(e){a.clearData(e,t.field)})})}):a.clearData(o,e.field))}},CLEAR_ROW:{menuMethod:function(e){var t=e.$table,e=e.row;e&&t.clearData(e)}},CLEAR_CHECKBOX_ROW:{menuMethod:function(e){e=e.$table;e.clearData(e.getCheckboxRecords())}},CLEAR_AREA_ROW:{menuMethod:function(e){var a=e.$table,t=e.row,e=e.column,n=a.mouseConfig,o=a.computeMouseOpts;n&&o.area?(n&&o.area?a.getCellAreas():[]).forEach(function(e){var t=e.rows,n=e.cols;t.forEach(function(t){n.forEach(function(e){a.clearData(t)})})}):t&&e&&a.clearData(t)}},CLEAR_ALL:{menuMethod:function(e){e.$table.clearData()}},REVERT_CELL:{menuMethod:function(e){var t,n,a=e.$table,o=e.row,e=e.column;o&&e&&(n=a.mouseConfig,t=a.computeMouseOpts,n&&t.area?(n=a.getCellAreas())&&n.length&&n.forEach(function(e){var n=e.rows;e.cols.forEach(function(t){n.forEach(function(e){a.revertData(e,t.field)})})}):a.revertData(o,e.field))}},REVERT_ROW:{menuMethod:function(e){var t=e.$table,e=e.row;e&&t.revertData(e)}},REVERT_CHECKBOX_ROW:{menuMethod:function(e){e=e.$table;e.revertData(e.getCheckboxRecords())}},REVERT_ALL:{menuMethod:function(e){e.$table.revertData()}},COPY_TITLE:{menuMethod:function(e){e=e.column.getTitle();e&&(u.default.isFunction(c)?c:E)(e)}},COPY_CELL:{menuMethod:function(e){o(e)}},CUT_CELL:{menuMethod:function(e){o(e,!0)}},PASTE_CELL:{menuMethod:function(e){var t=e.$event,n=e.$table,a=e.row,e=e.column,o=n.mouseConfig,r=n.computeMouseOpts;o&&r.area?n.triggerPasteCellAreaEvent(t):(o=m())&&o.text&&u.default.set(a,e.field,o.text)}},MERGE_OR_CLEAR:{menuMethod:function(e){var t=e.$event,n=e.$table,a=n.getCellAreas(),e=C(e),o=!1,e=(e.length?n.removeMergeCells(e):(o=!0,n.setMergeCells(a.map(function(e){var t=e.rows,e=e.cols;return{row:t[0],col:e[0],rowspan:t.length,colspan:e.length}}))),a.map(function(e){return{rows:e.rows,cols:e.cols}}));n.dispatchEvent("cell-area-merge",{status:o,targetAreas:e},t)}},MERGE_CELL:{menuMethod:function(e){var t=e.$event,n=e.$table,a=n.getTableData().visibleData,o=n.getTableColumn().visibleColumn,r=n.getCellAreas();l(e),r.some(function(e){return e.rows.length===a.length||e.cols.length===o.length})?s.modal&&s.modal.message({content:s.getI18n("vxe.pro.area.mergeErr"),status:"error",id:"operErr"}):(n.setMergeCells(r.map(function(e){var t=e.rows,e=e.cols;return{row:t[0],col:e[0],rowspan:t.length,colspan:e.length}})),e=r.map(function(e){return{rows:e.rows,cols:e.cols}}),n.dispatchEvent("cell-area-merge",{status:!0,targetAreas:e},t))}},CLEAR_MERGE_CELL:{menuMethod:function(e){var t=e.$event,n=e.$table,e=l(e);e.length&&n.dispatchEvent("clear-cell-area-merge",{mergeCells:e},t)}},CLEAR_ALL_MERGE:{menuMethod:function(e){var t=e.$event,e=e.$table,n=e.getMergeCells(),a=e.getMergeFooterItems();e.clearMergeCells(),e.clearMergeFooterItems(),e.dispatchEvent("clear-merge",{mergeCells:n,mergeFooterItems:a},t)}},EDIT_CELL:{menuMethod:function(e){var t=e.$table,n=e.row,e=e.column;t.setEditCell?t.setEditCell(n,e):t.setActiveCell(n,e.field)}},EDIT_ROW:{menuMethod:function(e){var t=e.$table,e=e.row;t.setEditRow?t.setEditRow(e):t.setActiveRow(e)}},INSERT_ROW:{menuMethod:function(e){e.$table.insert(e.menu.params||{})}},INSERT_ACTIVED_ROW:{menuMethod:function(e){var t=e.$table,n=e.column,a=e.menu.params||[];t.insert(a[0]||{}).then(function(e){e=e.row;t.setEditCell?t.setEditCell(e,a[1]||n):t.setActiveCell(e,a[1]||n.field)})}},INSERT_EDIT_ROW:{menuMethod:function(e){var t=e.$table,n=e.column,a=e.menu.params||[];t.insert(a[0]||{}).then(function(e){e=e.row;t.setEditCell?t.setEditCell(e,a[1]||n):t.setActiveCell(e,a[1]||n.field)})}},INSERT_AT_ROW:{menuMethod:function(e){var t=e.$table,n=e.row;n&&t.insertAt(e.menu.params||{},n)}},BATCH_INSERT_AT_ROW:{menuMethod:function(e){var t=e.$table,n=e.menu,a=e.row;a&&d().then(function(e){e=e.size;e&&t.insertAt(u.default.range(0,e).map(function(){return Object.assign({},n.params)}),a)})}},INSERT_NEXT_AT_ROW:{menuMethod:function(e){var t=e.$table,n=e.row;n&&t.insertNextAt(e.menu.params||{},n)}},BATCH_INSERT_NEXT_AT_ROW:{menuMethod:function(e){var t=e.$table,n=e.menu,a=e.row;a&&d().then(function(e){e=e.size;e&&t.insertNextAt(u.default.range(0,e).map(function(){return Object.assign({},n.params)}),a)})}},INSERT_AT_ACTIVED_ROW:{menuMethod:function(e){var t,n=e.$table,a=e.row,o=e.column;a&&(t=e.menu.params||[],n.insertAt(t[0]||{},a).then(function(e){e=e.row;n.setEditCell?n.setEditCell(e,t[1]||o):n.setActiveCell(e,t[1]||o.field)}))}},INSERT_AT_EDIT_ROW:{menuMethod:function(e){var t,n=e.$table,a=e.row,o=e.column;a&&(t=e.menu.params||[],n.insertAt(t[0]||{},a).then(function(e){e=e.row;n.setEditCell?n.setEditCell(e,t[1]||o):n.setActiveCell(e,t[1]||o.field)}))}},BATCH_INSERT_AT_EDIT_ROW:{menuMethod:function(e){var t,n=e.$table,a=e.row,o=e.column;a&&(t=e.menu.params||[],d().then(function(e){e=e.size;e&&n.insertAt(u.default.range(0,e).map(function(){return Object.assign({},t[0])}),a).then(function(e){e=e.row;n.setEditCell?n.setEditCell(e,t[1]||o):n.setActiveCell(e,t[1]||o.field)})}))}},INSERT_NEXT_AT_EDIT_ROW:{menuMethod:function(e){var t,n=e.$table,a=e.row,o=e.column;a&&(t=e.menu.params||[],n.insertNextAt(t[0]||{},a).then(function(e){e=e.row;n.setEditCell?n.setEditCell(e,t[1]||o):n.setActiveCell(e,t[1]||o.field)}))}},BATCH_INSERT_NEXT_AT_EDIT_ROW:{menuMethod:function(e){var t,n=e.$table,a=e.row,o=e.column;a&&(t=e.menu.params||[],d().then(function(e){e=e.size;e&&n.insertNextAt(u.default.range(0,e).map(function(){return Object.assign({},t[0])}),a).then(function(e){e=e.row;n.setEditCell?n.setEditCell(e,t[1]||o):n.setActiveCell(e,t[1]||o.field)})}))}},DELETE_ROW:{menuMethod:function(e){var t=e.$table,e=e.row;e&&t.remove(e)}},DELETE_AREA_ROW:{menuMethod:function(e){var t=e.$table,e=e.row,n=t.mouseConfig,a=t.computeMouseOpts;n&&a.area?(n&&a.area?t.getCellAreas():[]).forEach(function(e){e=e.rows;t.remove(e)}):e&&t.remove(e)}},DELETE_CHECKBOX_ROW:{menuMethod:function(e){e.$table.removeCheckboxRow()}},DELETE_ALL:{menuMethod:function(e){e.$table.remove()}},CLEAR_SORT:{menuMethod:function(e){var t=e.$event,n=e.$table,e=e.column;e&&n.triggerSortEvent(t,e,null)}},CLEAR_ALL_SORT:{menuMethod:function(e){var t=e.$event,e=e.$table,n=e.getSortColumns();n.length&&(e.clearSort(),e.dispatchEvent("clear-sort",{sortList:n},t))}},SORT_ASC:{menuMethod:function(e){var t=e.$event,n=e.$table,e=e.column;e&&n.triggerSortEvent(t,e,"asc")}},SORT_DESC:{menuMethod:function(e){var t=e.$event,n=e.$table,e=e.column;e&&n.triggerSortEvent(t,e,"desc")}},CLEAR_FILTER:{menuMethod:function(e){var t=e.$event,n=e.$table,e=e.column;e&&(n.handleClearFilter(e),n.confirmFilterEvent(t))}},CLEAR_ALL_FILTER:{menuMethod:function(e){var t=e.$event,e=e.$table,n=e.getCheckedFilters();n.length&&(e.clearFilter(),e.dispatchEvent("clear-filter",{filterList:n},t))}},FILTER_CELL:{menuMethod:function(e){var t,n=e.$table,a=e.row,e=e.column;a&&e&&(t=e.field,(e=e.filters).length)&&((e=e[0]).data=u.default.get(a,t),e.checked=!0,n.updateData())}},EXPORT_ROW:{menuMethod:function(e){var t=e.$table,n=e.menu,e=e.row;e&&t.exportData(u.default.assign({},n.params?n.params[0]:{},{data:[e]}))}},EXPORT_CHECKBOX_ROW:{menuMethod:function(e){var t=e.$table,e=e.menu,n={data:t.getCheckboxRecords()};t.exportData(u.default.assign({},e.params?e.params[0]:{},n))}},EXPORT_ALL:{menuMethod:function(e){e.$table.exportData(e.menu.params)}},PRINT_ALL:{menuMethod:function(e){e.$table.print(e.menu.params)}},PRINT_CHECKBOX_ROW:{menuMethod:function(e){var t=e.$table,e=e.menu,n={data:t.getCheckboxRecords()};t.print(u.default.assign(n,e.params))}},OPEN_FIND:{menuMethod:function(e){var t=e.$event;e.$table.triggerFNROpenEvent(t,"find")}},OPEN_REPLACE:{menuMethod:function(e){var t=e.$event;e.$table.triggerFNROpenEvent(t,"replace")}},HIDDEN_COLUMN:{menuMethod:function(e){var t=e.$table,e=e.column;e&&t.hideColumn(e)}},FIXED_LEFT_COLUMN:n("left"),FIXED_RIGHT_COLUMN:n("right"),CLEAR_FIXED_COLUMN:n(null),RESET_COLUMN:{menuMethod:function(e){e.$table.resetColumn({visible:!0,resizable:!1})}},RESET_RESIZABLE:{menuMethod:function(e){e.$table.resetColumn({visible:!1,resizable:!0})}},RESET_ALL:{menuMethod:function(e){e.$table.resetColumn(!0)}}}),s.interceptor.add("event.showMenu",i)}};"undefined"!=typeof window&&window.VxeUI&&window.VxeUI.use&&window.VxeUI.use(t),e.default=t});
1
+ ((e,t)=>{"function"==typeof define&&define.amd?define("@vxe-ui/plugin-menu",["exports","xe-utils"],t):"undefined"!=typeof exports?t(exports,require("xe-utils")):(t(t={},e.XEUtils),e.VxeUIPluginMenu=t)})("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,function(e,u){var i,c;Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VxeUIPluginMenu=void 0,u=(t=u)&&t.__esModule?t:{default:t};var a,g=function(e,t){return u.default.findIndexOf(e,function(e){return e.id===t.id})},h=function(e,t,n){return e.findRowIndexOf(t,n)};function n(n){return{menuMethod:function(e){var t=e.$table;u.default.eachTree([e.column],function(e){e.fixed=n}),t.refreshColumn()}}}function m(){var e=i.globalStore;return e?e.clipboard||"":(e=i.config)&&e.clipboard?e.clipboard:null}function d(e){var t,n;try{t=e,a||((a=document.createElement("textarea")).id="$XECopy",(n=a.style).width="48px",n.height="24px",n.position="fixed",n.zIndex="0",n.left="-500px",n.top="-500px",document.body.appendChild(a)),a.value=null==t?"":""+t,a.select(),a.setSelectionRange(0,a.value.length),document.execCommand("copy"),a.blur()}catch(e){}}function o(e,t){var n,a,o,l=e.$event,r=e.$table,s=e.row,e=e.column;s&&e&&(n=r.mouseConfig,o=r.computeMouseOpts,a="",n&&o.area?(t?r.triggerCutCellAreaEvent(l):r.triggerCopyCellAreaEvent(l),a=(n=m())?n.text:""):(a=u.default.toValueString(u.default.get(s,e.field)),o={text:a,html:""},(t=i.globalStore)?t.clipboard=o:i.config&&(i.config.clipboard=o)),(u.default.isFunction(c)?c:d)(a))}function C(e){var u=e.$table,e=u.mouseConfig,t=u.computeMouseOpts,i=u.getTableData().visibleData,c=u.getTableColumn().visibleColumn,n=e&&t.area?u.getCellAreas():[];return u.getMergeCells().filter(function(e){var o=e.row,l=e.col,r=e.rowspan,s=e.colspan;return n.some(function(e){var t=e.rows,e=e.cols,n=h(u,i,t[0]),t=h(u,i,t[t.length-1]),a=g(c,e[0]),e=g(c,e[e.length-1]);return n<=o&&o+r-1<=t&&a<=l&&l+s-1<=e})})}function r(e){var t=e.$table,e=C(e);return e.length&&t.removeMergeCells(e),e}function l(e,t){var n=e.code,a=t.$table,o=t.row,l=t.column,r=t.type,s=a.editConfig,u=a.mouseConfig;switch(n){case"CLEAR_ALL_SORT":var i=a.getSortColumns();e.disabled=!i.length;break;case"CLEAR_ALL_FILTER":i=a.getCheckedFilters();e.disabled=!i.length;break;case"CLEAR_ALL_MERGE":var i=a.getMergeCells(),c=a.getMergeFooterItems();e.disabled=!i.length&&!c.length;break;case"CLEAR_MERGE_CELL":i=C(t);e.disabled=!i.length;break;case"COPY_TITLE":e.disabled=!l||"header"!==r;break;case"SELECT_ALL_AREA":c=a.getTableData().visibleData,i=a.getTableColumn().visibleColumn;e.disabled=!(c.length||i.length);break;case"SELECT_AREA_TO_LEFT":case"SELECT_AREA_TO_RIGHT":case"SELECT_AREA_TO_TOP":case"SELECT_AREA_TO_BOTTON":e.disabled=!l||!o;break;case"EDIT_CELL":case"CLEAR_CELL":case"CLEAR_ROW":case"COPY_CELL":case"CUT_CELL":case"PASTE_CELL":case"MERGE_OR_CLEAR":case"MERGE_CELL":case"REVERT_CELL":case"REVERT_ROW":case"INSERT_AT_ROW":case"INSERT_AT_ACTIVED_ROW":case"INSERT_AT_EDIT_ROW":case"DELETE_ROW":case"DELETE_AREA_ROW":case"CLEAR_SORT":case"SORT_ASC":case"SORT_DESC":case"CLEAR_FILTER":case"FILTER_CELL":case"EXPORT_ROW":case"OPEN_FIND":case"OPEN_REPLACE":case"HIDDEN_COLUMN":case"FIXED_LEFT_COLUMN":case"FIXED_RIGHT_COLUMN":case"CLEAR_FIXED_COLUMN":if(e.disabled=!l,l){var d=a.computeMouseOpts,f=!!l.parentId;switch(n){case"CLEAR_SORT":e.disabled=!l.sortable||!l.order;break;case"SORT_ASC":case"SORT_DESC":e.disabled=!l.sortable;break;case"FILTER_CELL":case"CLEAR_FILTER":e.disabled=!l.filters||!l.filters.length,e.disabled||"CLEAR_FILTER"===n&&(e.disabled=!l.filters.some(function(e){return e.checked}));break;case"REVERT_CELL":e.disabled=!o||!l.field||!a.isUpdateByRow(o,l.field);break;case"REVERT_ROW":e.disabled=!o||!l.field||!a.isUpdateByRow(o);break;case"OPEN_FIND":case"OPEN_REPLACE":e.disabled=!(u&&d.area);break;case"EDIT_CELL":e.disabled=!s||!l.editRender;break;case"COPY_CELL":case"CUT_CELL":case"PASTE_CELL":var E=u&&d.area?a.getCellAreas():[];e.disabled=1<E.length,e.disabled||"PASTE_CELL"===n&&(E=m(),e.disabled=!E||!E.text);break;case"MERGE_OR_CLEAR":case"MERGE_CELL":E=u&&d.area?a.getCellAreas():[];e.disabled=!E.length||1===E.length&&1===E[0].rows.length&&1===E[0].cols.length||!((e,t)=>{for(var n=e.$table,a=n.getTableData().visibleData,o=n.getTableColumn().visibleColumn,l={},r=0,s=t.length;r<s;r++)for(var u=t[r],i=u.rows,c=u.cols,d=0,f=i.length;d<f;d++)for(var E=i[d],m=h(n,a,E),C=0,R=c.length;C<R;C++){var _=c[C],_=m+":"+g(o,_);if(l[_])return;l[_]=!0}return 1})(t,E);break;case"FIXED_LEFT_COLUMN":e.disabled=f||"left"===l.fixed;break;case"FIXED_RIGHT_COLUMN":e.disabled=f||"right"===l.fixed;break;case"CLEAR_FIXED_COLUMN":e.disabled=f||!l.fixed}}}}function s(t){return t.options.forEach(function(e){e.forEach(function(e){l(e,t),e.children&&e.children.forEach(function(e){l(e,t)})})}),!0}function f(){return new Promise(function(t){var n,a;i.modal?(n=i.getComponent("VxeNumberInput"))?(a=1,i.modal.alert({title:"请输入行数",width:220,maskClosable:!1,slots:{default:function(e,t){return t(n,{style:{width:"100%"},props:{value:a,min:1,max:100,align:"center",controlConfig:{layout:"default"}},on:{modelValue:function(e){a=e}}})}}}).then(function(e){t("confirm"===e?{size:a||1}:{size:0})})):(console.error(i.getI18n("vxe.error.reqComp",["vxe-number-input"])),t({size:0})):t({size:0})})}function E(e){e&&e.copy&&(c=e.copy)}var t=e.VxeUIPluginMenu={setConfig:E,install:function(e,t){i=e,/^(3)\./.test(i.uiVersion)||console.error("[@vxe-ui/plugin-menu 3.0.9] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-menu/install"),E(t),i.menus.mixin({CLEAR_CELL:{menuMethod:function(e){var t,n,a=e.$table,o=e.row,e=e.column;o&&e&&(n=a.mouseConfig,t=a.computeMouseOpts,n&&t.area?(n=a.getCellAreas())&&n.length&&n.forEach(function(e){var n=e.rows;e.cols.forEach(function(t){n.forEach(function(e){a.clearData(e,t.field)})})}):a.clearData(o,e.field))}},CLEAR_ROW:{menuMethod:function(e){var t=e.$table,e=e.row;e&&t.clearData(e)}},CLEAR_CHECKBOX_ROW:{menuMethod:function(e){e=e.$table;e.clearData(e.getCheckboxRecords())}},CLEAR_AREA_ROW:{menuMethod:function(e){var a=e.$table,t=e.row,e=e.column,n=a.mouseConfig,o=a.computeMouseOpts;n&&o.area?(n&&o.area?a.getCellAreas():[]).forEach(function(e){var t=e.rows,n=e.cols;t.forEach(function(t){n.forEach(function(e){a.clearData(t)})})}):t&&e&&a.clearData(t)}},CLEAR_ALL:{menuMethod:function(e){e.$table.clearData()}},SELECT_ALL_AREA:{menuMethod:function(e){var e=e.$table,t=e.mouseConfig,n=e.computeMouseOpts;t&&n.area&&(t=e.getTableData().visibleData,n=e.getTableColumn().visibleColumn,e.setCellAreas([{startRow:u.default.first(t),endRow:u.default.last(t),startColumn:u.default.first(n),endColumn:u.default.last(n)}]))}},SELECT_AREA_TO_LEFT:{menuMethod:function(e){var t=e.$table,n=e.row,e=e.column,a=t.mouseConfig,o=t.computeMouseOpts;a&&o.area&&(a=t.getTableColumn().visibleColumn,1===(o=t.getCellAreas()).length?(o=o[0],t.setCellAreas([{startRow:u.default.first(o.rows),endRow:u.default.last(o.rows),startColumn:u.default.first(a),endColumn:u.default.last(o.cols)}],{column:e,row:n})):t.setCellAreas([{startRow:n,endRow:n,startColumn:u.default.first(a),endColumn:e}],{column:e,row:n}))}},SELECT_AREA_TO_RIGHT:{menuMethod:function(e){var t=e.$table,n=e.row,e=e.column,a=t.mouseConfig,o=t.computeMouseOpts;a&&o.area&&(a=t.getTableColumn().visibleColumn,1===(o=t.getCellAreas()).length?(o=o[0],t.setCellAreas([{startRow:u.default.first(o.rows),endRow:u.default.last(o.rows),startColumn:u.default.first(o.cols),endColumn:u.default.last(a)}],{column:e,row:n})):t.setCellAreas([{startRow:n,endRow:n,startColumn:e,endColumn:u.default.last(a)}],{column:e,row:n}))}},SELECT_AREA_TO_TOP:{menuMethod:function(e){var t=e.$table,n=e.row,e=e.column,a=t.mouseConfig,o=t.computeMouseOpts;a&&o.area&&(a=t.getTableData().visibleData,1===(o=t.getCellAreas()).length?(o=o[0],t.setCellAreas([{startRow:u.default.first(a),endRow:u.default.last(o.rows),startColumn:u.default.first(o.cols),endColumn:u.default.last(o.cols)}],{column:e,row:n})):t.setCellAreas([{startRow:u.default.first(a),endRow:n,startColumn:e,endColumn:e}],{column:e,row:n}))}},SELECT_AREA_TO_BOTTON:{menuMethod:function(e){var t=e.$table,n=e.row,e=e.column,a=t.mouseConfig,o=t.computeMouseOpts;a&&o.area&&(a=t.getTableData().visibleData,1===(o=t.getCellAreas()).length?(o=o[0],t.setCellAreas([{startRow:u.default.first(o.rows),endRow:u.default.last(a),startColumn:u.default.first(o.cols),endColumn:u.default.last(o.cols)}],{column:e,row:n})):t.setCellAreas([{startRow:n,endRow:u.default.last(a),startColumn:e,endColumn:e}],{column:e,row:n}))}},REVERT_CELL:{menuMethod:function(e){var t,n,a=e.$table,o=e.row,e=e.column;o&&e&&(n=a.mouseConfig,t=a.computeMouseOpts,n&&t.area?(n=a.getCellAreas())&&n.length&&n.forEach(function(e){var n=e.rows;e.cols.forEach(function(t){n.forEach(function(e){a.revertData(e,t.field)})})}):a.revertData(o,e.field))}},REVERT_ROW:{menuMethod:function(e){var t=e.$table,e=e.row;e&&t.revertData(e)}},REVERT_CHECKBOX_ROW:{menuMethod:function(e){e=e.$table;e.revertData(e.getCheckboxRecords())}},REVERT_ALL:{menuMethod:function(e){e.$table.revertData()}},COPY_TITLE:{menuMethod:function(e){e=e.column.getTitle();e&&(u.default.isFunction(c)?c:d)(e)}},COPY_CELL:{menuMethod:function(e){o(e)}},CUT_CELL:{menuMethod:function(e){o(e,!0)}},PASTE_CELL:{menuMethod:function(e){var t=e.$event,n=e.$table,a=e.row,e=e.column,o=n.mouseConfig,l=n.computeMouseOpts;o&&l.area?n.triggerPasteCellAreaEvent(t):(o=m())&&o.text&&u.default.set(a,e.field,o.text)}},MERGE_OR_CLEAR:{menuMethod:function(e){var t=e.$event,n=e.$table,a=n.getCellAreas(),e=C(e),o=!1,e=(e.length?n.removeMergeCells(e):(o=!0,n.setMergeCells(a.map(function(e){var t=e.rows,e=e.cols;return{row:t[0],col:e[0],rowspan:t.length,colspan:e.length}}))),a.map(function(e){return{rows:e.rows,cols:e.cols}}));n.dispatchEvent("cell-area-merge",{status:o,targetAreas:e},t)}},MERGE_CELL:{menuMethod:function(e){var t=e.$event,n=e.$table,a=n.getTableData().visibleData,o=n.getTableColumn().visibleColumn,l=n.getCellAreas();r(e),l.some(function(e){return e.rows.length===a.length||e.cols.length===o.length})?i.modal&&i.modal.message({content:i.getI18n("vxe.pro.area.mergeErr"),status:"error",id:"operErr"}):(n.setMergeCells(l.map(function(e){var t=e.rows,e=e.cols;return{row:t[0],col:e[0],rowspan:t.length,colspan:e.length}})),e=l.map(function(e){return{rows:e.rows,cols:e.cols}}),n.dispatchEvent("cell-area-merge",{status:!0,targetAreas:e},t))}},CLEAR_MERGE_CELL:{menuMethod:function(e){var t=e.$event,n=e.$table,e=r(e);e.length&&n.dispatchEvent("clear-cell-area-merge",{mergeCells:e},t)}},CLEAR_ALL_MERGE:{menuMethod:function(e){var t=e.$event,e=e.$table,n=e.getMergeCells(),a=e.getMergeFooterItems();e.clearMergeCells(),e.clearMergeFooterItems(),e.dispatchEvent("clear-merge",{mergeCells:n,mergeFooterItems:a},t)}},EDIT_CELL:{menuMethod:function(e){var t=e.$table,n=e.row,e=e.column;t.setEditCell?t.setEditCell(n,e):t.setActiveCell(n,e.field)}},EDIT_ROW:{menuMethod:function(e){var t=e.$table,e=e.row;t.setEditRow?t.setEditRow(e):t.setActiveRow(e)}},INSERT_ROW:{menuMethod:function(e){var t=e.$table,n=e.column,a=t.mouseConfig,o=t.computeMouseOpts;t.insert(e.menu.params||{}).then(function(e){e=e.rows;n&&a&&o.area&&t.setCellAreas([{startRow:u.default.first(e),endRow:u.default.last(e),startColumn:n,endColumn:n}])})}},INSERT_AT_ROW:{menuMethod:function(e){var t=e.$table,n=e.row,a=e.column,o=t.mouseConfig,l=t.computeMouseOpts;n&&t.insertAt(e.menu.params||{},n).then(function(e){e=e.rows;a&&o&&l.area&&t.setCellAreas([{startRow:u.default.first(e),endRow:u.default.last(e),startColumn:a,endColumn:a}])})}},BATCH_INSERT_AT_ROW:{menuMethod:function(e){var t=e.$table,n=e.menu,a=e.row,o=e.column,l=t.mouseConfig,r=t.computeMouseOpts;a&&f().then(function(e){e=e.size;e&&t.insertAt(u.default.range(0,e).map(function(){return Object.assign({},n.params)}),a).then(function(e){e=e.rows;o&&l&&r.area&&t.setCellAreas([{startRow:u.default.first(e),endRow:u.default.last(e),startColumn:o,endColumn:o}])})})}},INSERT_NEXT_AT_ROW:{menuMethod:function(e){var t=e.$table,n=e.row,a=e.column,o=t.mouseConfig,l=t.computeMouseOpts;n&&t.insertNextAt(e.menu.params||{},n).then(function(e){e=e.rows;a&&o&&l.area&&t.setCellAreas([{startRow:u.default.first(e),endRow:u.default.last(e),startColumn:a,endColumn:a}])})}},BATCH_INSERT_NEXT_AT_ROW:{menuMethod:function(e){var t=e.$table,n=e.menu,a=e.row,o=e.column,l=t.mouseConfig,r=t.computeMouseOpts;a&&f().then(function(e){e=e.size;e&&t.insertNextAt(u.default.range(0,e).map(function(){return Object.assign({},n.params)}),a).then(function(e){e=e.rows;o&&l&&r.area&&t.setCellAreas([{startRow:u.default.first(e),endRow:u.default.last(e),startColumn:o,endColumn:o}])})})}},INSERT_ACTIVED_ROW:{menuMethod:function(e){var t=e.$table,n=e.column,a=e.menu.params||[];t.insert(a[0]||{}).then(function(e){e=e.row;t.setEditCell?t.setEditCell(e,a[1]||n):t.setActiveCell(e,a[1]||n.field)})}},INSERT_EDIT_ROW:{menuMethod:function(e){var t=e.$table,n=e.column,a=e.menu.params||[];t.insert(a[0]||{}).then(function(e){e=e.row;t.setEditCell?t.setEditCell(e,a[1]||n):t.setActiveCell(e,a[1]||n.field)})}},INSERT_AT_ACTIVED_ROW:{menuMethod:function(e){var t,n=e.$table,a=e.row,o=e.column;a&&(t=e.menu.params||[],n.insertAt(t[0]||{},a).then(function(e){e=e.row;n.setEditCell?n.setEditCell(e,t[1]||o):n.setActiveCell(e,t[1]||o.field)}))}},INSERT_AT_EDIT_ROW:{menuMethod:function(e){var t,n=e.$table,a=e.row,o=e.column;a&&(t=e.menu.params||[],n.insertAt(t[0]||{},a).then(function(e){e=e.row;n.setEditCell?n.setEditCell(e,t[1]||o):n.setActiveCell(e,t[1]||o.field)}))}},BATCH_INSERT_AT_EDIT_ROW:{menuMethod:function(e){var t,n=e.$table,a=e.row,o=e.column;a&&(t=e.menu.params||[],f().then(function(e){e=e.size;e&&n.insertAt(u.default.range(0,e).map(function(){return Object.assign({},t[0])}),a).then(function(e){e=e.row;n.setEditCell?n.setEditCell(e,t[1]||o):n.setActiveCell(e,t[1]||o.field)})}))}},INSERT_NEXT_AT_EDIT_ROW:{menuMethod:function(e){var t,n=e.$table,a=e.row,o=e.column;a&&(t=e.menu.params||[],n.insertNextAt(t[0]||{},a).then(function(e){e=e.row;n.setEditCell?n.setEditCell(e,t[1]||o):n.setActiveCell(e,t[1]||o.field)}))}},BATCH_INSERT_NEXT_AT_EDIT_ROW:{menuMethod:function(e){var t,n=e.$table,a=e.row,o=e.column;a&&(t=e.menu.params||[],f().then(function(e){e=e.size;e&&n.insertNextAt(u.default.range(0,e).map(function(){return Object.assign({},t[0])}),a).then(function(e){e=e.row;n.setEditCell?n.setEditCell(e,t[1]||o):n.setActiveCell(e,t[1]||o.field)})}))}},DELETE_ROW:{menuMethod:function(e){var t=e.$table,e=e.row;e&&t.remove(e)}},DELETE_AREA_ROW:{menuMethod:function(e){var t=e.$table,e=e.row,n=t.mouseConfig,a=t.computeMouseOpts;n&&a.area?(n&&a.area?t.getCellAreas():[]).forEach(function(e){e=e.rows;t.remove(e)}):e&&t.remove(e)}},DELETE_CHECKBOX_ROW:{menuMethod:function(e){e.$table.removeCheckboxRow()}},DELETE_ALL:{menuMethod:function(e){e.$table.remove()}},CLEAR_SORT:{menuMethod:function(e){var t=e.$event,n=e.$table,e=e.column;e&&n.triggerSortEvent(t,e,null)}},CLEAR_ALL_SORT:{menuMethod:function(e){var t=e.$event,e=e.$table,n=e.getSortColumns();n.length&&(e.clearSort(),e.dispatchEvent("clear-sort",{sortList:n},t))}},SORT_ASC:{menuMethod:function(e){var t=e.$event,n=e.$table,e=e.column;e&&n.triggerSortEvent(t,e,"asc")}},SORT_DESC:{menuMethod:function(e){var t=e.$event,n=e.$table,e=e.column;e&&n.triggerSortEvent(t,e,"desc")}},CLEAR_FILTER:{menuMethod:function(e){var t=e.$event,n=e.$table,e=e.column;e&&(n.handleClearFilter(e),n.confirmFilterEvent(t))}},CLEAR_ALL_FILTER:{menuMethod:function(e){var t=e.$event,e=e.$table,n=e.getCheckedFilters();n.length&&(e.clearFilter(),e.dispatchEvent("clear-filter",{filterList:n},t))}},FILTER_CELL:{menuMethod:function(e){var t,n=e.$table,a=e.row,e=e.column;a&&e&&(t=e.field,(e=e.filters).length)&&((e=e[0]).data=u.default.get(a,t),e.checked=!0,n.updateData())}},EXPORT_ROW:{menuMethod:function(e){var t=e.$table,n=e.menu,e=e.row;e&&t.exportData(u.default.assign({},n.params?n.params[0]:{},{data:[e]}))}},EXPORT_CHECKBOX_ROW:{menuMethod:function(e){var t=e.$table,e=e.menu,n={data:t.getCheckboxRecords()};t.exportData(u.default.assign({},e.params?e.params[0]:{},n))}},EXPORT_ALL:{menuMethod:function(e){e.$table.exportData(e.menu.params)}},PRINT_ALL:{menuMethod:function(e){e.$table.print(e.menu.params)}},PRINT_CHECKBOX_ROW:{menuMethod:function(e){var t=e.$table,e=e.menu,n={data:t.getCheckboxRecords()};t.print(u.default.assign(n,e.params))}},OPEN_FIND:{menuMethod:function(e){var t=e.$event;e.$table.triggerFNROpenEvent(t,"find")}},OPEN_REPLACE:{menuMethod:function(e){var t=e.$event;e.$table.triggerFNROpenEvent(t,"replace")}},HIDDEN_COLUMN:{menuMethod:function(e){var t=e.$table,e=e.column;e&&t.hideColumn(e)}},FIXED_LEFT_COLUMN:n("left"),FIXED_RIGHT_COLUMN:n("right"),CLEAR_FIXED_COLUMN:n(null),RESET_COLUMN:{menuMethod:function(e){e.$table.resetColumn({visible:!0,resizable:!1})}},RESET_RESIZABLE:{menuMethod:function(e){e.$table.resetColumn({visible:!1,resizable:!0})}},RESET_ALL:{menuMethod:function(e){e.$table.resetColumn(!0)}}}),i.interceptor.add("event.showMenu",s)}};"undefined"!=typeof window&&window.VxeUI&&window.VxeUI.use&&window.VxeUI.use(t),e.default=t});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vxe-ui/plugin-menu",
3
- "version": "3.0.7",
3
+ "version": "3.0.9",
4
4
  "description": "Vxe UI plug-in supports context menu.",
5
5
  "scripts": {
6
6
  "lib": "gulp build"
@@ -50,8 +50,8 @@
50
50
  "sass": "^1.55.0",
51
51
  "typescript": "^4.6.4",
52
52
  "vue": "2.6.14",
53
- "vxe-pc-ui": "^3.6.0",
54
- "vxe-table": "^3.15.21"
53
+ "vxe-pc-ui": "^3.7.0",
54
+ "vxe-table": "^3.16.0"
55
55
  },
56
56
  "repository": {
57
57
  "type": "git",