@vxe-ui/plugin-menu 3.3.1 → 3.3.4
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/LICENSE +20 -20
- package/README.md +35 -35
- package/dist/index.umd.js +82 -4
- package/dist/index.umd.min.js +1 -1
- package/es/index.esm.js +83 -6
- package/es/index.js +83 -6
- package/lib/index.common.js +82 -4
- package/lib/index.js +82 -4
- package/lib/index.umd.js +82 -4
- package/lib/index.umd.min.js +1 -1
- package/package.json +76 -76
- package/src/index.ts +1548 -1474
- package/types/index.d.ts +15 -15
package/es/index.js
CHANGED
|
@@ -210,10 +210,14 @@ function checkPrivilege(item, params) {
|
|
|
210
210
|
}
|
|
211
211
|
case 'EDIT_CELL':
|
|
212
212
|
case 'CLEAR_CELL':
|
|
213
|
+
case 'CLEAR_AREA_CELL':
|
|
213
214
|
case 'CLEAR_ROW':
|
|
214
215
|
case 'COPY_CELL':
|
|
216
|
+
case 'COPY_AREA_CELL':
|
|
215
217
|
case 'CUT_CELL':
|
|
218
|
+
case 'CUT_AREA_CELL':
|
|
216
219
|
case 'PASTE_CELL':
|
|
220
|
+
case 'PASTE_AREA_CELL':
|
|
217
221
|
case 'MERGE_OR_CLEAR':
|
|
218
222
|
case 'MERGE_CELL':
|
|
219
223
|
case 'REVERT_CELL':
|
|
@@ -274,13 +278,17 @@ function checkPrivilege(item, params) {
|
|
|
274
278
|
break;
|
|
275
279
|
}
|
|
276
280
|
case 'COPY_CELL':
|
|
281
|
+
case 'COPY_AREA_CELL':
|
|
277
282
|
case 'CUT_CELL':
|
|
278
|
-
case '
|
|
283
|
+
case 'CUT_AREA_CELL':
|
|
284
|
+
case 'PASTE_CELL':
|
|
285
|
+
case 'PASTE_AREA_CELL': {
|
|
279
286
|
const cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
280
287
|
item.disabled = cellAreas.length > 1;
|
|
281
288
|
if (!item.disabled) {
|
|
282
289
|
switch (code) {
|
|
283
|
-
case 'PASTE_CELL':
|
|
290
|
+
case 'PASTE_CELL':
|
|
291
|
+
case 'PASTE_AREA_CELL': {
|
|
284
292
|
const clipboard = getClipboardObj();
|
|
285
293
|
item.disabled = !clipboard || !clipboard.text;
|
|
286
294
|
break;
|
|
@@ -424,12 +432,12 @@ export const VxeUIPluginMenu = {
|
|
|
424
432
|
const pVersion = 3;
|
|
425
433
|
const sVersion = 13;
|
|
426
434
|
if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
|
|
427
|
-
console.error(`[@vxe-ui/plugin-menu 3.3.
|
|
435
|
+
console.error(`[@vxe-ui/plugin-menu 3.3.4] ${VxeUI.getI18n('vxe.error.errorVersion', [`vxe-table@${VxeUI.tableVersion || '?'}`, `vxe-table v${pVersion}.${sVersion}+`])}`);
|
|
428
436
|
}
|
|
429
437
|
}
|
|
430
438
|
else {
|
|
431
439
|
if (!/^(3)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
|
|
432
|
-
console.error('[@vxe-ui/plugin-menu 3.3.
|
|
440
|
+
console.error('[@vxe-ui/plugin-menu 3.3.4] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-menu/install');
|
|
433
441
|
}
|
|
434
442
|
}
|
|
435
443
|
pluginConfig(options);
|
|
@@ -493,6 +501,35 @@ export const VxeUIPluginMenu = {
|
|
|
493
501
|
}
|
|
494
502
|
}
|
|
495
503
|
},
|
|
504
|
+
/**
|
|
505
|
+
* 清除单元格数据的值;如果启用 mouse-config.area 功能,则清除区域范围内的单元格数据
|
|
506
|
+
*/
|
|
507
|
+
CLEAR_AREA_CELL: {
|
|
508
|
+
tableMenuMethod(params) {
|
|
509
|
+
const { $table, row, column } = params;
|
|
510
|
+
if (row && column) {
|
|
511
|
+
const tableProps = $table;
|
|
512
|
+
const { mouseConfig } = tableProps;
|
|
513
|
+
const mouseOpts = $table.computeMouseOpts;
|
|
514
|
+
if (mouseConfig && mouseOpts.area) {
|
|
515
|
+
const cellAreas = $table.getCellAreas();
|
|
516
|
+
if (cellAreas && cellAreas.length) {
|
|
517
|
+
cellAreas.forEach(areaItem => {
|
|
518
|
+
const { rows, cols } = areaItem;
|
|
519
|
+
cols.forEach(column => {
|
|
520
|
+
rows.forEach(row => {
|
|
521
|
+
$table.clearData(row, column.field);
|
|
522
|
+
});
|
|
523
|
+
});
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
else {
|
|
528
|
+
$table.clearData(row, column.field);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
},
|
|
496
533
|
/**
|
|
497
534
|
* 清除行数据的值
|
|
498
535
|
*/
|
|
@@ -782,6 +819,14 @@ export const VxeUIPluginMenu = {
|
|
|
782
819
|
handleCopyOrCut(params);
|
|
783
820
|
}
|
|
784
821
|
},
|
|
822
|
+
/**
|
|
823
|
+
* 复制单元格数据的值;用于 mouse-config.area 功能,复制区域范围内的单元格数据,支持 Excel 和 WPS
|
|
824
|
+
*/
|
|
825
|
+
COPY_AREA_CELL: {
|
|
826
|
+
tableMenuMethod(params) {
|
|
827
|
+
handleCopyOrCut(params);
|
|
828
|
+
}
|
|
829
|
+
},
|
|
785
830
|
/**
|
|
786
831
|
* 剪贴单元格数据的值;如果启用 mouse-config.area 功能,则剪贴区域范围内的单元格数据,支持 Excel 和 WPS
|
|
787
832
|
*/
|
|
@@ -790,6 +835,14 @@ export const VxeUIPluginMenu = {
|
|
|
790
835
|
handleCopyOrCut(params, true);
|
|
791
836
|
}
|
|
792
837
|
},
|
|
838
|
+
/**
|
|
839
|
+
* 剪贴单元格数据的值;用于 mouse-config.area 功能,剪贴区域范围内的单元格数据,支持 Excel 和 WPS
|
|
840
|
+
*/
|
|
841
|
+
CUT_AREA_CELL: {
|
|
842
|
+
tableMenuMethod(params) {
|
|
843
|
+
handleCopyOrCut(params, true);
|
|
844
|
+
}
|
|
845
|
+
},
|
|
793
846
|
/**
|
|
794
847
|
* 粘贴从表格中被复制的数据;如果启用 mouse-config.area 功能,则粘贴区域范围内的单元格数据,不支持读取剪贴板
|
|
795
848
|
*/
|
|
@@ -811,6 +864,20 @@ export const VxeUIPluginMenu = {
|
|
|
811
864
|
}
|
|
812
865
|
}
|
|
813
866
|
},
|
|
867
|
+
/**
|
|
868
|
+
* 粘贴从表格中被复制的数据;用于 mouse-config.area 功能,粘贴区域范围内的单元格数据,不支持读取剪贴板
|
|
869
|
+
*/
|
|
870
|
+
PASTE_AREA_CELL: {
|
|
871
|
+
tableMenuMethod(params) {
|
|
872
|
+
const { $event, $table } = params;
|
|
873
|
+
const tableProps = $table;
|
|
874
|
+
const { mouseConfig } = tableProps;
|
|
875
|
+
const mouseOpts = $table.computeMouseOpts;
|
|
876
|
+
if (mouseConfig && mouseOpts.area) {
|
|
877
|
+
$table.triggerPasteCellAreaEvent($event);
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
},
|
|
814
881
|
/**
|
|
815
882
|
* 如果启用 mouse-config.area 功能,如果所选区域内已存在合并单元格,则取消临时合并,否则临时合并
|
|
816
883
|
*/
|
|
@@ -1360,7 +1427,12 @@ export const VxeUIPluginMenu = {
|
|
|
1360
1427
|
OPEN_FIND: {
|
|
1361
1428
|
tableMenuMethod(params) {
|
|
1362
1429
|
const { $event, $table } = params;
|
|
1363
|
-
$table.
|
|
1430
|
+
if ($table.triggerFnrOpenEvent) {
|
|
1431
|
+
$table.triggerFnrOpenEvent($event, 'find');
|
|
1432
|
+
}
|
|
1433
|
+
else {
|
|
1434
|
+
$table.triggerFNROpenEvent($event, 'find');
|
|
1435
|
+
}
|
|
1364
1436
|
}
|
|
1365
1437
|
},
|
|
1366
1438
|
/**
|
|
@@ -1369,7 +1441,12 @@ export const VxeUIPluginMenu = {
|
|
|
1369
1441
|
OPEN_REPLACE: {
|
|
1370
1442
|
tableMenuMethod(params) {
|
|
1371
1443
|
const { $event, $table } = params;
|
|
1372
|
-
$table.
|
|
1444
|
+
if ($table.triggerFnrOpenEvent) {
|
|
1445
|
+
$table.triggerFnrOpenEvent($event, 'replace');
|
|
1446
|
+
}
|
|
1447
|
+
else {
|
|
1448
|
+
$table.triggerFNROpenEvent($event, 'replace');
|
|
1449
|
+
}
|
|
1373
1450
|
}
|
|
1374
1451
|
},
|
|
1375
1452
|
/**
|
package/lib/index.common.js
CHANGED
|
@@ -246,10 +246,14 @@ function checkPrivilege(item, params) {
|
|
|
246
246
|
}
|
|
247
247
|
case 'EDIT_CELL':
|
|
248
248
|
case 'CLEAR_CELL':
|
|
249
|
+
case 'CLEAR_AREA_CELL':
|
|
249
250
|
case 'CLEAR_ROW':
|
|
250
251
|
case 'COPY_CELL':
|
|
252
|
+
case 'COPY_AREA_CELL':
|
|
251
253
|
case 'CUT_CELL':
|
|
254
|
+
case 'CUT_AREA_CELL':
|
|
252
255
|
case 'PASTE_CELL':
|
|
256
|
+
case 'PASTE_AREA_CELL':
|
|
253
257
|
case 'MERGE_OR_CLEAR':
|
|
254
258
|
case 'MERGE_CELL':
|
|
255
259
|
case 'REVERT_CELL':
|
|
@@ -318,14 +322,18 @@ function checkPrivilege(item, params) {
|
|
|
318
322
|
break;
|
|
319
323
|
}
|
|
320
324
|
case 'COPY_CELL':
|
|
325
|
+
case 'COPY_AREA_CELL':
|
|
321
326
|
case 'CUT_CELL':
|
|
327
|
+
case 'CUT_AREA_CELL':
|
|
322
328
|
case 'PASTE_CELL':
|
|
329
|
+
case 'PASTE_AREA_CELL':
|
|
323
330
|
{
|
|
324
331
|
var cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
325
332
|
item.disabled = cellAreas.length > 1;
|
|
326
333
|
if (!item.disabled) {
|
|
327
334
|
switch (code) {
|
|
328
335
|
case 'PASTE_CELL':
|
|
336
|
+
case 'PASTE_AREA_CELL':
|
|
329
337
|
{
|
|
330
338
|
var clipboard = getClipboardObj();
|
|
331
339
|
item.disabled = !clipboard || !clipboard.text;
|
|
@@ -469,11 +477,11 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
469
477
|
var pVersion = 3;
|
|
470
478
|
var sVersion = 13;
|
|
471
479
|
if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
|
|
472
|
-
console.error("[@vxe-ui/plugin-menu 3.3.
|
|
480
|
+
console.error("[@vxe-ui/plugin-menu 3.3.4] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")])));
|
|
473
481
|
}
|
|
474
482
|
} else {
|
|
475
483
|
if (!/^(3)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
|
|
476
|
-
console.error('[@vxe-ui/plugin-menu 3.3.
|
|
484
|
+
console.error('[@vxe-ui/plugin-menu 3.3.4] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-menu/install');
|
|
477
485
|
}
|
|
478
486
|
}
|
|
479
487
|
pluginConfig(options);
|
|
@@ -539,6 +547,37 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
539
547
|
}
|
|
540
548
|
}
|
|
541
549
|
},
|
|
550
|
+
/**
|
|
551
|
+
* 清除单元格数据的值;如果启用 mouse-config.area 功能,则清除区域范围内的单元格数据
|
|
552
|
+
*/
|
|
553
|
+
CLEAR_AREA_CELL: {
|
|
554
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
555
|
+
var $table = params.$table,
|
|
556
|
+
row = params.row,
|
|
557
|
+
column = params.column;
|
|
558
|
+
if (row && column) {
|
|
559
|
+
var tableProps = $table;
|
|
560
|
+
var mouseConfig = tableProps.mouseConfig;
|
|
561
|
+
var mouseOpts = $table.computeMouseOpts;
|
|
562
|
+
if (mouseConfig && mouseOpts.area) {
|
|
563
|
+
var cellAreas = $table.getCellAreas();
|
|
564
|
+
if (cellAreas && cellAreas.length) {
|
|
565
|
+
cellAreas.forEach(function (areaItem) {
|
|
566
|
+
var rows = areaItem.rows,
|
|
567
|
+
cols = areaItem.cols;
|
|
568
|
+
cols.forEach(function (column) {
|
|
569
|
+
rows.forEach(function (row) {
|
|
570
|
+
$table.clearData(row, column.field);
|
|
571
|
+
});
|
|
572
|
+
});
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
} else {
|
|
576
|
+
$table.clearData(row, column.field);
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
},
|
|
542
581
|
/**
|
|
543
582
|
* 清除行数据的值
|
|
544
583
|
*/
|
|
@@ -867,6 +906,14 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
867
906
|
handleCopyOrCut(params);
|
|
868
907
|
}
|
|
869
908
|
},
|
|
909
|
+
/**
|
|
910
|
+
* 复制单元格数据的值;用于 mouse-config.area 功能,复制区域范围内的单元格数据,支持 Excel 和 WPS
|
|
911
|
+
*/
|
|
912
|
+
COPY_AREA_CELL: {
|
|
913
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
914
|
+
handleCopyOrCut(params);
|
|
915
|
+
}
|
|
916
|
+
},
|
|
870
917
|
/**
|
|
871
918
|
* 剪贴单元格数据的值;如果启用 mouse-config.area 功能,则剪贴区域范围内的单元格数据,支持 Excel 和 WPS
|
|
872
919
|
*/
|
|
@@ -875,6 +922,14 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
875
922
|
handleCopyOrCut(params, true);
|
|
876
923
|
}
|
|
877
924
|
},
|
|
925
|
+
/**
|
|
926
|
+
* 剪贴单元格数据的值;用于 mouse-config.area 功能,剪贴区域范围内的单元格数据,支持 Excel 和 WPS
|
|
927
|
+
*/
|
|
928
|
+
CUT_AREA_CELL: {
|
|
929
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
930
|
+
handleCopyOrCut(params, true);
|
|
931
|
+
}
|
|
932
|
+
},
|
|
878
933
|
/**
|
|
879
934
|
* 粘贴从表格中被复制的数据;如果启用 mouse-config.area 功能,则粘贴区域范围内的单元格数据,不支持读取剪贴板
|
|
880
935
|
*/
|
|
@@ -898,6 +953,21 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
898
953
|
}
|
|
899
954
|
}
|
|
900
955
|
},
|
|
956
|
+
/**
|
|
957
|
+
* 粘贴从表格中被复制的数据;用于 mouse-config.area 功能,粘贴区域范围内的单元格数据,不支持读取剪贴板
|
|
958
|
+
*/
|
|
959
|
+
PASTE_AREA_CELL: {
|
|
960
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
961
|
+
var $event = params.$event,
|
|
962
|
+
$table = params.$table;
|
|
963
|
+
var tableProps = $table;
|
|
964
|
+
var mouseConfig = tableProps.mouseConfig;
|
|
965
|
+
var mouseOpts = $table.computeMouseOpts;
|
|
966
|
+
if (mouseConfig && mouseOpts.area) {
|
|
967
|
+
$table.triggerPasteCellAreaEvent($event);
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
},
|
|
901
971
|
/**
|
|
902
972
|
* 如果启用 mouse-config.area 功能,如果所选区域内已存在合并单元格,则取消临时合并,否则临时合并
|
|
903
973
|
*/
|
|
@@ -1586,7 +1656,11 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
1586
1656
|
tableMenuMethod: function tableMenuMethod(params) {
|
|
1587
1657
|
var $event = params.$event,
|
|
1588
1658
|
$table = params.$table;
|
|
1589
|
-
$table.
|
|
1659
|
+
if ($table.triggerFnrOpenEvent) {
|
|
1660
|
+
$table.triggerFnrOpenEvent($event, 'find');
|
|
1661
|
+
} else {
|
|
1662
|
+
$table.triggerFNROpenEvent($event, 'find');
|
|
1663
|
+
}
|
|
1590
1664
|
}
|
|
1591
1665
|
},
|
|
1592
1666
|
/**
|
|
@@ -1596,7 +1670,11 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
1596
1670
|
tableMenuMethod: function tableMenuMethod(params) {
|
|
1597
1671
|
var $event = params.$event,
|
|
1598
1672
|
$table = params.$table;
|
|
1599
|
-
$table.
|
|
1673
|
+
if ($table.triggerFnrOpenEvent) {
|
|
1674
|
+
$table.triggerFnrOpenEvent($event, 'replace');
|
|
1675
|
+
} else {
|
|
1676
|
+
$table.triggerFNROpenEvent($event, 'replace');
|
|
1677
|
+
}
|
|
1600
1678
|
}
|
|
1601
1679
|
},
|
|
1602
1680
|
/**
|
package/lib/index.js
CHANGED
|
@@ -246,10 +246,14 @@ function checkPrivilege(item, params) {
|
|
|
246
246
|
}
|
|
247
247
|
case 'EDIT_CELL':
|
|
248
248
|
case 'CLEAR_CELL':
|
|
249
|
+
case 'CLEAR_AREA_CELL':
|
|
249
250
|
case 'CLEAR_ROW':
|
|
250
251
|
case 'COPY_CELL':
|
|
252
|
+
case 'COPY_AREA_CELL':
|
|
251
253
|
case 'CUT_CELL':
|
|
254
|
+
case 'CUT_AREA_CELL':
|
|
252
255
|
case 'PASTE_CELL':
|
|
256
|
+
case 'PASTE_AREA_CELL':
|
|
253
257
|
case 'MERGE_OR_CLEAR':
|
|
254
258
|
case 'MERGE_CELL':
|
|
255
259
|
case 'REVERT_CELL':
|
|
@@ -318,14 +322,18 @@ function checkPrivilege(item, params) {
|
|
|
318
322
|
break;
|
|
319
323
|
}
|
|
320
324
|
case 'COPY_CELL':
|
|
325
|
+
case 'COPY_AREA_CELL':
|
|
321
326
|
case 'CUT_CELL':
|
|
327
|
+
case 'CUT_AREA_CELL':
|
|
322
328
|
case 'PASTE_CELL':
|
|
329
|
+
case 'PASTE_AREA_CELL':
|
|
323
330
|
{
|
|
324
331
|
var cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
325
332
|
item.disabled = cellAreas.length > 1;
|
|
326
333
|
if (!item.disabled) {
|
|
327
334
|
switch (code) {
|
|
328
335
|
case 'PASTE_CELL':
|
|
336
|
+
case 'PASTE_AREA_CELL':
|
|
329
337
|
{
|
|
330
338
|
var clipboard = getClipboardObj();
|
|
331
339
|
item.disabled = !clipboard || !clipboard.text;
|
|
@@ -469,11 +477,11 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
469
477
|
var pVersion = 3;
|
|
470
478
|
var sVersion = 13;
|
|
471
479
|
if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
|
|
472
|
-
console.error("[@vxe-ui/plugin-menu 3.3.
|
|
480
|
+
console.error("[@vxe-ui/plugin-menu 3.3.4] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")])));
|
|
473
481
|
}
|
|
474
482
|
} else {
|
|
475
483
|
if (!/^(3)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
|
|
476
|
-
console.error('[@vxe-ui/plugin-menu 3.3.
|
|
484
|
+
console.error('[@vxe-ui/plugin-menu 3.3.4] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-menu/install');
|
|
477
485
|
}
|
|
478
486
|
}
|
|
479
487
|
pluginConfig(options);
|
|
@@ -539,6 +547,37 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
539
547
|
}
|
|
540
548
|
}
|
|
541
549
|
},
|
|
550
|
+
/**
|
|
551
|
+
* 清除单元格数据的值;如果启用 mouse-config.area 功能,则清除区域范围内的单元格数据
|
|
552
|
+
*/
|
|
553
|
+
CLEAR_AREA_CELL: {
|
|
554
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
555
|
+
var $table = params.$table,
|
|
556
|
+
row = params.row,
|
|
557
|
+
column = params.column;
|
|
558
|
+
if (row && column) {
|
|
559
|
+
var tableProps = $table;
|
|
560
|
+
var mouseConfig = tableProps.mouseConfig;
|
|
561
|
+
var mouseOpts = $table.computeMouseOpts;
|
|
562
|
+
if (mouseConfig && mouseOpts.area) {
|
|
563
|
+
var cellAreas = $table.getCellAreas();
|
|
564
|
+
if (cellAreas && cellAreas.length) {
|
|
565
|
+
cellAreas.forEach(function (areaItem) {
|
|
566
|
+
var rows = areaItem.rows,
|
|
567
|
+
cols = areaItem.cols;
|
|
568
|
+
cols.forEach(function (column) {
|
|
569
|
+
rows.forEach(function (row) {
|
|
570
|
+
$table.clearData(row, column.field);
|
|
571
|
+
});
|
|
572
|
+
});
|
|
573
|
+
});
|
|
574
|
+
}
|
|
575
|
+
} else {
|
|
576
|
+
$table.clearData(row, column.field);
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
},
|
|
542
581
|
/**
|
|
543
582
|
* 清除行数据的值
|
|
544
583
|
*/
|
|
@@ -867,6 +906,14 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
867
906
|
handleCopyOrCut(params);
|
|
868
907
|
}
|
|
869
908
|
},
|
|
909
|
+
/**
|
|
910
|
+
* 复制单元格数据的值;用于 mouse-config.area 功能,复制区域范围内的单元格数据,支持 Excel 和 WPS
|
|
911
|
+
*/
|
|
912
|
+
COPY_AREA_CELL: {
|
|
913
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
914
|
+
handleCopyOrCut(params);
|
|
915
|
+
}
|
|
916
|
+
},
|
|
870
917
|
/**
|
|
871
918
|
* 剪贴单元格数据的值;如果启用 mouse-config.area 功能,则剪贴区域范围内的单元格数据,支持 Excel 和 WPS
|
|
872
919
|
*/
|
|
@@ -875,6 +922,14 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
875
922
|
handleCopyOrCut(params, true);
|
|
876
923
|
}
|
|
877
924
|
},
|
|
925
|
+
/**
|
|
926
|
+
* 剪贴单元格数据的值;用于 mouse-config.area 功能,剪贴区域范围内的单元格数据,支持 Excel 和 WPS
|
|
927
|
+
*/
|
|
928
|
+
CUT_AREA_CELL: {
|
|
929
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
930
|
+
handleCopyOrCut(params, true);
|
|
931
|
+
}
|
|
932
|
+
},
|
|
878
933
|
/**
|
|
879
934
|
* 粘贴从表格中被复制的数据;如果启用 mouse-config.area 功能,则粘贴区域范围内的单元格数据,不支持读取剪贴板
|
|
880
935
|
*/
|
|
@@ -898,6 +953,21 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
898
953
|
}
|
|
899
954
|
}
|
|
900
955
|
},
|
|
956
|
+
/**
|
|
957
|
+
* 粘贴从表格中被复制的数据;用于 mouse-config.area 功能,粘贴区域范围内的单元格数据,不支持读取剪贴板
|
|
958
|
+
*/
|
|
959
|
+
PASTE_AREA_CELL: {
|
|
960
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
961
|
+
var $event = params.$event,
|
|
962
|
+
$table = params.$table;
|
|
963
|
+
var tableProps = $table;
|
|
964
|
+
var mouseConfig = tableProps.mouseConfig;
|
|
965
|
+
var mouseOpts = $table.computeMouseOpts;
|
|
966
|
+
if (mouseConfig && mouseOpts.area) {
|
|
967
|
+
$table.triggerPasteCellAreaEvent($event);
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
},
|
|
901
971
|
/**
|
|
902
972
|
* 如果启用 mouse-config.area 功能,如果所选区域内已存在合并单元格,则取消临时合并,否则临时合并
|
|
903
973
|
*/
|
|
@@ -1586,7 +1656,11 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
1586
1656
|
tableMenuMethod: function tableMenuMethod(params) {
|
|
1587
1657
|
var $event = params.$event,
|
|
1588
1658
|
$table = params.$table;
|
|
1589
|
-
$table.
|
|
1659
|
+
if ($table.triggerFnrOpenEvent) {
|
|
1660
|
+
$table.triggerFnrOpenEvent($event, 'find');
|
|
1661
|
+
} else {
|
|
1662
|
+
$table.triggerFNROpenEvent($event, 'find');
|
|
1663
|
+
}
|
|
1590
1664
|
}
|
|
1591
1665
|
},
|
|
1592
1666
|
/**
|
|
@@ -1596,7 +1670,11 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
1596
1670
|
tableMenuMethod: function tableMenuMethod(params) {
|
|
1597
1671
|
var $event = params.$event,
|
|
1598
1672
|
$table = params.$table;
|
|
1599
|
-
$table.
|
|
1673
|
+
if ($table.triggerFnrOpenEvent) {
|
|
1674
|
+
$table.triggerFnrOpenEvent($event, 'replace');
|
|
1675
|
+
} else {
|
|
1676
|
+
$table.triggerFNROpenEvent($event, 'replace');
|
|
1677
|
+
}
|
|
1600
1678
|
}
|
|
1601
1679
|
},
|
|
1602
1680
|
/**
|
package/lib/index.umd.js
CHANGED
|
@@ -263,10 +263,14 @@
|
|
|
263
263
|
}
|
|
264
264
|
case 'EDIT_CELL':
|
|
265
265
|
case 'CLEAR_CELL':
|
|
266
|
+
case 'CLEAR_AREA_CELL':
|
|
266
267
|
case 'CLEAR_ROW':
|
|
267
268
|
case 'COPY_CELL':
|
|
269
|
+
case 'COPY_AREA_CELL':
|
|
268
270
|
case 'CUT_CELL':
|
|
271
|
+
case 'CUT_AREA_CELL':
|
|
269
272
|
case 'PASTE_CELL':
|
|
273
|
+
case 'PASTE_AREA_CELL':
|
|
270
274
|
case 'MERGE_OR_CLEAR':
|
|
271
275
|
case 'MERGE_CELL':
|
|
272
276
|
case 'REVERT_CELL':
|
|
@@ -335,14 +339,18 @@
|
|
|
335
339
|
break;
|
|
336
340
|
}
|
|
337
341
|
case 'COPY_CELL':
|
|
342
|
+
case 'COPY_AREA_CELL':
|
|
338
343
|
case 'CUT_CELL':
|
|
344
|
+
case 'CUT_AREA_CELL':
|
|
339
345
|
case 'PASTE_CELL':
|
|
346
|
+
case 'PASTE_AREA_CELL':
|
|
340
347
|
{
|
|
341
348
|
var cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
342
349
|
item.disabled = cellAreas.length > 1;
|
|
343
350
|
if (!item.disabled) {
|
|
344
351
|
switch (code) {
|
|
345
352
|
case 'PASTE_CELL':
|
|
353
|
+
case 'PASTE_AREA_CELL':
|
|
346
354
|
{
|
|
347
355
|
var clipboard = getClipboardObj();
|
|
348
356
|
item.disabled = !clipboard || !clipboard.text;
|
|
@@ -486,11 +494,11 @@
|
|
|
486
494
|
var pVersion = 3;
|
|
487
495
|
var sVersion = 13;
|
|
488
496
|
if (!VxeUI.checkVersion(VxeUI.tableVersion, pVersion, sVersion)) {
|
|
489
|
-
console.error("[@vxe-ui/plugin-menu 3.3.
|
|
497
|
+
console.error("[@vxe-ui/plugin-menu 3.3.4] ".concat(VxeUI.getI18n('vxe.error.errorVersion', ["vxe-table@".concat(VxeUI.tableVersion || '?'), "vxe-table v".concat(pVersion, ".").concat(sVersion, "+")])));
|
|
490
498
|
}
|
|
491
499
|
} else {
|
|
492
500
|
if (!/^(3)\./.test(VxeUI.uiVersion || VxeUI.tableVersion)) {
|
|
493
|
-
console.error('[@vxe-ui/plugin-menu 3.3.
|
|
501
|
+
console.error('[@vxe-ui/plugin-menu 3.3.4] Requires vxe-table 3.9.0+ version. https://vxeui.com/other3/#/plugin-menu/install');
|
|
494
502
|
}
|
|
495
503
|
}
|
|
496
504
|
pluginConfig(options);
|
|
@@ -556,6 +564,37 @@
|
|
|
556
564
|
}
|
|
557
565
|
}
|
|
558
566
|
},
|
|
567
|
+
/**
|
|
568
|
+
* 清除单元格数据的值;如果启用 mouse-config.area 功能,则清除区域范围内的单元格数据
|
|
569
|
+
*/
|
|
570
|
+
CLEAR_AREA_CELL: {
|
|
571
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
572
|
+
var $table = params.$table,
|
|
573
|
+
row = params.row,
|
|
574
|
+
column = params.column;
|
|
575
|
+
if (row && column) {
|
|
576
|
+
var tableProps = $table;
|
|
577
|
+
var mouseConfig = tableProps.mouseConfig;
|
|
578
|
+
var mouseOpts = $table.computeMouseOpts;
|
|
579
|
+
if (mouseConfig && mouseOpts.area) {
|
|
580
|
+
var cellAreas = $table.getCellAreas();
|
|
581
|
+
if (cellAreas && cellAreas.length) {
|
|
582
|
+
cellAreas.forEach(function (areaItem) {
|
|
583
|
+
var rows = areaItem.rows,
|
|
584
|
+
cols = areaItem.cols;
|
|
585
|
+
cols.forEach(function (column) {
|
|
586
|
+
rows.forEach(function (row) {
|
|
587
|
+
$table.clearData(row, column.field);
|
|
588
|
+
});
|
|
589
|
+
});
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
} else {
|
|
593
|
+
$table.clearData(row, column.field);
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
},
|
|
559
598
|
/**
|
|
560
599
|
* 清除行数据的值
|
|
561
600
|
*/
|
|
@@ -884,6 +923,14 @@
|
|
|
884
923
|
handleCopyOrCut(params);
|
|
885
924
|
}
|
|
886
925
|
},
|
|
926
|
+
/**
|
|
927
|
+
* 复制单元格数据的值;用于 mouse-config.area 功能,复制区域范围内的单元格数据,支持 Excel 和 WPS
|
|
928
|
+
*/
|
|
929
|
+
COPY_AREA_CELL: {
|
|
930
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
931
|
+
handleCopyOrCut(params);
|
|
932
|
+
}
|
|
933
|
+
},
|
|
887
934
|
/**
|
|
888
935
|
* 剪贴单元格数据的值;如果启用 mouse-config.area 功能,则剪贴区域范围内的单元格数据,支持 Excel 和 WPS
|
|
889
936
|
*/
|
|
@@ -892,6 +939,14 @@
|
|
|
892
939
|
handleCopyOrCut(params, true);
|
|
893
940
|
}
|
|
894
941
|
},
|
|
942
|
+
/**
|
|
943
|
+
* 剪贴单元格数据的值;用于 mouse-config.area 功能,剪贴区域范围内的单元格数据,支持 Excel 和 WPS
|
|
944
|
+
*/
|
|
945
|
+
CUT_AREA_CELL: {
|
|
946
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
947
|
+
handleCopyOrCut(params, true);
|
|
948
|
+
}
|
|
949
|
+
},
|
|
895
950
|
/**
|
|
896
951
|
* 粘贴从表格中被复制的数据;如果启用 mouse-config.area 功能,则粘贴区域范围内的单元格数据,不支持读取剪贴板
|
|
897
952
|
*/
|
|
@@ -915,6 +970,21 @@
|
|
|
915
970
|
}
|
|
916
971
|
}
|
|
917
972
|
},
|
|
973
|
+
/**
|
|
974
|
+
* 粘贴从表格中被复制的数据;用于 mouse-config.area 功能,粘贴区域范围内的单元格数据,不支持读取剪贴板
|
|
975
|
+
*/
|
|
976
|
+
PASTE_AREA_CELL: {
|
|
977
|
+
tableMenuMethod: function tableMenuMethod(params) {
|
|
978
|
+
var $event = params.$event,
|
|
979
|
+
$table = params.$table;
|
|
980
|
+
var tableProps = $table;
|
|
981
|
+
var mouseConfig = tableProps.mouseConfig;
|
|
982
|
+
var mouseOpts = $table.computeMouseOpts;
|
|
983
|
+
if (mouseConfig && mouseOpts.area) {
|
|
984
|
+
$table.triggerPasteCellAreaEvent($event);
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
},
|
|
918
988
|
/**
|
|
919
989
|
* 如果启用 mouse-config.area 功能,如果所选区域内已存在合并单元格,则取消临时合并,否则临时合并
|
|
920
990
|
*/
|
|
@@ -1603,7 +1673,11 @@
|
|
|
1603
1673
|
tableMenuMethod: function tableMenuMethod(params) {
|
|
1604
1674
|
var $event = params.$event,
|
|
1605
1675
|
$table = params.$table;
|
|
1606
|
-
$table.
|
|
1676
|
+
if ($table.triggerFnrOpenEvent) {
|
|
1677
|
+
$table.triggerFnrOpenEvent($event, 'find');
|
|
1678
|
+
} else {
|
|
1679
|
+
$table.triggerFNROpenEvent($event, 'find');
|
|
1680
|
+
}
|
|
1607
1681
|
}
|
|
1608
1682
|
},
|
|
1609
1683
|
/**
|
|
@@ -1613,7 +1687,11 @@
|
|
|
1613
1687
|
tableMenuMethod: function tableMenuMethod(params) {
|
|
1614
1688
|
var $event = params.$event,
|
|
1615
1689
|
$table = params.$table;
|
|
1616
|
-
$table.
|
|
1690
|
+
if ($table.triggerFnrOpenEvent) {
|
|
1691
|
+
$table.triggerFnrOpenEvent($event, 'replace');
|
|
1692
|
+
} else {
|
|
1693
|
+
$table.triggerFNROpenEvent($event, 'replace');
|
|
1694
|
+
}
|
|
1617
1695
|
}
|
|
1618
1696
|
},
|
|
1619
1697
|
/**
|