@vxe-ui/plugin-menu 3.0.1 → 3.0.3
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 +3 -1
- package/dist/index.common.js +66 -7
- package/dist/index.umd.js +66 -7
- package/dist/index.umd.min.js +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -33,6 +33,7 @@ VxeUI.use(VxeUIPluginMenu)
|
|
|
33
33
|
| CLEAR_CELL | 清除单元格数据的值;如果启用 mouse-config.area 功能,则清除区域范围内的单元格数据 | — |
|
|
34
34
|
| CLEAR_ROW | 清除行数据的值 | — |
|
|
35
35
|
| CLEAR_CHECKBOX_ROW | 清除复选框选中行数据的值 | — |
|
|
36
|
+
| CLEAR_AREA_ROW | 如果启用 mouse-config.area 功能,清除区域选择范围内数据的值,否则清除行数据的值 | — |
|
|
36
37
|
| CLEAR_ALL | 清除所有数据的值 | — |
|
|
37
38
|
| REVERT_CELL | 还原单元格数据的值;如果启用 mouse-config.area 功能,则还原区域范围内的单元格数据 | — |
|
|
38
39
|
| REVERT_ROW | 还原行数据的值 | — |
|
|
@@ -42,6 +43,7 @@ VxeUI.use(VxeUIPluginMenu)
|
|
|
42
43
|
| MERGE_CELL | 如果启用 mouse-config.area 功能,临时合并区域范围内的单元格,不管是否存在已合并 | — |
|
|
43
44
|
| CLEAR_MERGE_CELL | 如果启用 mouse-config.area 功能,清除区域范围内单元格的临时合并状态 | — |
|
|
44
45
|
| CLEAR_ALL_MERGE | 清除所有单元格及表尾的临时合并状态 | — |
|
|
46
|
+
| COPY_TITLE | 复制列头标题 | — |
|
|
45
47
|
| COPY_CELL | 复制单元格数据的值;如果启用 mouse-config.area 功能,则复制区域范围内的单元格数据,支持 Excel 和 WPS | — |
|
|
46
48
|
| CUT_CELL | 剪贴单元格数据的值;如果启用 mouse-config.area 功能,则剪贴区域范围内的单元格数据,支持 Excel 和 WPS | — |
|
|
47
49
|
| PASTE_CELL | (仅支持在单表区域内操作)粘贴从表格中被复制的数据;如果启用 mouse-config.area 功能,则粘贴区域范围内的单元格数据,不支持读取剪贴板 | — |
|
|
@@ -52,7 +54,7 @@ VxeUI.use(VxeUIPluginMenu)
|
|
|
52
54
|
| INSERT_AT_ROW | 插入数据到指定位置 | records |
|
|
53
55
|
| INSERT_AT_EDIT_ROW | 插入数据到指定位置并激活编辑状态 | Array\<records, field\> |
|
|
54
56
|
| DELETE_ROW | 移除行数据 | — |
|
|
55
|
-
| DELETE_AREA_ROW | 如果启用 mouse-config.area
|
|
57
|
+
| DELETE_AREA_ROW | 如果启用 mouse-config.area 功能,移除所选区域行数据;否则删除当前行 | — |
|
|
56
58
|
| DELETE_CHECKBOX_ROW | 移除复选框选中行数据 | — |
|
|
57
59
|
| DELETE_ALL | 移除所有行数据 | — |
|
|
58
60
|
| CLEAR_SORT | 清除所选列排序条件 | — |
|
package/dist/index.common.js
CHANGED
|
@@ -176,7 +176,8 @@ function checkPrivilege(item, params) {
|
|
|
176
176
|
var code = item.code;
|
|
177
177
|
var $table = params.$table,
|
|
178
178
|
row = params.row,
|
|
179
|
-
column = params.column
|
|
179
|
+
column = params.column,
|
|
180
|
+
type = params.type;
|
|
180
181
|
var tableProps = $table;
|
|
181
182
|
var editConfig = tableProps.editConfig,
|
|
182
183
|
mouseConfig = tableProps.mouseConfig;
|
|
@@ -206,6 +207,11 @@ function checkPrivilege(item, params) {
|
|
|
206
207
|
item.disabled = !beenMerges.length;
|
|
207
208
|
break;
|
|
208
209
|
}
|
|
210
|
+
case 'COPY_TITLE':
|
|
211
|
+
{
|
|
212
|
+
item.disabled = !column || type !== 'header';
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
209
215
|
case 'EDIT_CELL':
|
|
210
216
|
case 'CLEAR_CELL':
|
|
211
217
|
case 'CLEAR_ROW':
|
|
@@ -402,6 +408,35 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
402
408
|
$table.clearData($table.getCheckboxRecords());
|
|
403
409
|
}
|
|
404
410
|
},
|
|
411
|
+
/**
|
|
412
|
+
* 清除区域选择范围内数据的值
|
|
413
|
+
*/
|
|
414
|
+
CLEAR_AREA_ROW: {
|
|
415
|
+
menuMethod: function menuMethod(params) {
|
|
416
|
+
var $table = params.$table,
|
|
417
|
+
row = params.row,
|
|
418
|
+
column = params.column;
|
|
419
|
+
var tableProps = $table;
|
|
420
|
+
var mouseConfig = tableProps.mouseConfig;
|
|
421
|
+
var mouseOpts = $table.computeMouseOpts;
|
|
422
|
+
if (mouseConfig && mouseOpts.area) {
|
|
423
|
+
var cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
424
|
+
cellAreas.forEach(function (areaItem) {
|
|
425
|
+
var rows = areaItem.rows,
|
|
426
|
+
cols = areaItem.cols;
|
|
427
|
+
rows.forEach(function (row) {
|
|
428
|
+
cols.forEach(function (column) {
|
|
429
|
+
$table.clearData(row);
|
|
430
|
+
});
|
|
431
|
+
});
|
|
432
|
+
});
|
|
433
|
+
} else {
|
|
434
|
+
if (row && column) {
|
|
435
|
+
$table.clearData(row);
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
},
|
|
405
440
|
/**
|
|
406
441
|
* 清除所有数据的值
|
|
407
442
|
*/
|
|
@@ -472,6 +507,23 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
472
507
|
$table.revertData();
|
|
473
508
|
}
|
|
474
509
|
},
|
|
510
|
+
/**
|
|
511
|
+
* 复制列头标题
|
|
512
|
+
*/
|
|
513
|
+
COPY_TITLE: {
|
|
514
|
+
menuMethod: function menuMethod(params) {
|
|
515
|
+
var column = params.column;
|
|
516
|
+
var text = column.getTitle();
|
|
517
|
+
if (text) {
|
|
518
|
+
// 开始复制操作
|
|
519
|
+
if (_xeUtils["default"].isFunction(handleCopy)) {
|
|
520
|
+
handleCopy(text);
|
|
521
|
+
} else {
|
|
522
|
+
copyText(text);
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
},
|
|
475
527
|
/**
|
|
476
528
|
* 复制单元格数据的值;如果启用 mouse-config.area 功能,则复制区域范围内的单元格数据,支持 Excel 和 WPS
|
|
477
529
|
*/
|
|
@@ -792,15 +844,22 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
|
|
|
792
844
|
*/
|
|
793
845
|
DELETE_AREA_ROW: {
|
|
794
846
|
menuMethod: function menuMethod(params) {
|
|
795
|
-
var $table = params.$table
|
|
847
|
+
var $table = params.$table,
|
|
848
|
+
row = params.row;
|
|
796
849
|
var tableProps = $table;
|
|
797
850
|
var mouseConfig = tableProps.mouseConfig;
|
|
798
851
|
var mouseOpts = $table.computeMouseOpts;
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
852
|
+
if (mouseConfig && mouseOpts.area) {
|
|
853
|
+
var cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
854
|
+
cellAreas.forEach(function (areaItem) {
|
|
855
|
+
var rows = areaItem.rows;
|
|
856
|
+
$table.remove(rows);
|
|
857
|
+
});
|
|
858
|
+
} else {
|
|
859
|
+
if (row) {
|
|
860
|
+
$table.remove(row);
|
|
861
|
+
}
|
|
862
|
+
}
|
|
804
863
|
}
|
|
805
864
|
},
|
|
806
865
|
/**
|
package/dist/index.umd.js
CHANGED
|
@@ -189,7 +189,8 @@
|
|
|
189
189
|
var code = item.code;
|
|
190
190
|
var $table = params.$table,
|
|
191
191
|
row = params.row,
|
|
192
|
-
column = params.column
|
|
192
|
+
column = params.column,
|
|
193
|
+
type = params.type;
|
|
193
194
|
var tableProps = $table;
|
|
194
195
|
var editConfig = tableProps.editConfig,
|
|
195
196
|
mouseConfig = tableProps.mouseConfig;
|
|
@@ -219,6 +220,11 @@
|
|
|
219
220
|
item.disabled = !beenMerges.length;
|
|
220
221
|
break;
|
|
221
222
|
}
|
|
223
|
+
case 'COPY_TITLE':
|
|
224
|
+
{
|
|
225
|
+
item.disabled = !column || type !== 'header';
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
222
228
|
case 'EDIT_CELL':
|
|
223
229
|
case 'CLEAR_CELL':
|
|
224
230
|
case 'CLEAR_ROW':
|
|
@@ -415,6 +421,35 @@
|
|
|
415
421
|
$table.clearData($table.getCheckboxRecords());
|
|
416
422
|
}
|
|
417
423
|
},
|
|
424
|
+
/**
|
|
425
|
+
* 清除区域选择范围内数据的值
|
|
426
|
+
*/
|
|
427
|
+
CLEAR_AREA_ROW: {
|
|
428
|
+
menuMethod: function menuMethod(params) {
|
|
429
|
+
var $table = params.$table,
|
|
430
|
+
row = params.row,
|
|
431
|
+
column = params.column;
|
|
432
|
+
var tableProps = $table;
|
|
433
|
+
var mouseConfig = tableProps.mouseConfig;
|
|
434
|
+
var mouseOpts = $table.computeMouseOpts;
|
|
435
|
+
if (mouseConfig && mouseOpts.area) {
|
|
436
|
+
var cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
437
|
+
cellAreas.forEach(function (areaItem) {
|
|
438
|
+
var rows = areaItem.rows,
|
|
439
|
+
cols = areaItem.cols;
|
|
440
|
+
rows.forEach(function (row) {
|
|
441
|
+
cols.forEach(function (column) {
|
|
442
|
+
$table.clearData(row);
|
|
443
|
+
});
|
|
444
|
+
});
|
|
445
|
+
});
|
|
446
|
+
} else {
|
|
447
|
+
if (row && column) {
|
|
448
|
+
$table.clearData(row);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
},
|
|
418
453
|
/**
|
|
419
454
|
* 清除所有数据的值
|
|
420
455
|
*/
|
|
@@ -485,6 +520,23 @@
|
|
|
485
520
|
$table.revertData();
|
|
486
521
|
}
|
|
487
522
|
},
|
|
523
|
+
/**
|
|
524
|
+
* 复制列头标题
|
|
525
|
+
*/
|
|
526
|
+
COPY_TITLE: {
|
|
527
|
+
menuMethod: function menuMethod(params) {
|
|
528
|
+
var column = params.column;
|
|
529
|
+
var text = column.getTitle();
|
|
530
|
+
if (text) {
|
|
531
|
+
// 开始复制操作
|
|
532
|
+
if (_xeUtils["default"].isFunction(handleCopy)) {
|
|
533
|
+
handleCopy(text);
|
|
534
|
+
} else {
|
|
535
|
+
copyText(text);
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
},
|
|
488
540
|
/**
|
|
489
541
|
* 复制单元格数据的值;如果启用 mouse-config.area 功能,则复制区域范围内的单元格数据,支持 Excel 和 WPS
|
|
490
542
|
*/
|
|
@@ -805,15 +857,22 @@
|
|
|
805
857
|
*/
|
|
806
858
|
DELETE_AREA_ROW: {
|
|
807
859
|
menuMethod: function menuMethod(params) {
|
|
808
|
-
var $table = params.$table
|
|
860
|
+
var $table = params.$table,
|
|
861
|
+
row = params.row;
|
|
809
862
|
var tableProps = $table;
|
|
810
863
|
var mouseConfig = tableProps.mouseConfig;
|
|
811
864
|
var mouseOpts = $table.computeMouseOpts;
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
865
|
+
if (mouseConfig && mouseOpts.area) {
|
|
866
|
+
var cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
867
|
+
cellAreas.forEach(function (areaItem) {
|
|
868
|
+
var rows = areaItem.rows;
|
|
869
|
+
$table.remove(rows);
|
|
870
|
+
});
|
|
871
|
+
} else {
|
|
872
|
+
if (row) {
|
|
873
|
+
$table.remove(row);
|
|
874
|
+
}
|
|
875
|
+
}
|
|
817
876
|
}
|
|
818
877
|
},
|
|
819
878
|
/**
|
package/dist/index.umd.min.js
CHANGED
|
@@ -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,s){var u,c;Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VxeUIPluginMenu=void 0,s=(t=s)&&t.__esModule?t:{default:t};var a,L=function(e,t){return s.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;s.default.eachTree([e.column],function(e){e.fixed=n}),t.refreshColumn()}}}function f(){var e=u.globalStore;return e?e.clipboard||"":(e=u.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=f())?n.text:""):(a=s.default.toValueString(s.default.get(i,e.field)),o={text:a,html:""},(t=u.globalStore)?t.clipboard=o:u.config&&(u.config.clipboard=o)),(s.default.isFunction(c)?c:E)(a))}function C(e){var s=e.$table,e=s.mouseConfig,t=s.computeMouseOpts,u=s.getTableData().visibleData,c=s.getTableColumn().visibleColumn,n=e&&t.area?s.getCellAreas():[];return s.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(s,u,t[0]),t=g(s,u,t[t.length-1]),a=L(c,e[0]),e=L(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=a.editConfig,i=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(),u=a.getMergeFooterItems();e.disabled=!s.length&&!u.length;break;case"CLEAR_MERGE_CELL":s=C(t);e.disabled=!s.length;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 c=a.computeMouseOpts,E=!!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=!(i&&c.area);break;case"EDIT_CELL":e.disabled=!l||!r.editRender;break;case"COPY_CELL":case"CUT_CELL":case"PASTE_CELL":var d=i&&c.area?a.getCellAreas():[];e.disabled=1<d.length,e.disabled||"PASTE_CELL"===n&&(d=f(),e.disabled=!d||!d.text);break;case"MERGE_OR_CLEAR":case"MERGE_CELL":d=i&&c.area?a.getCellAreas():[];e.disabled=!d.length||1===d.length&&1===d[0].rows.length&&1===d[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 s=t[l],u=s.rows,c=s.cols,E=0,d=u.length;E<d;E++)for(var f=u[E],C=g(n,a,f),m=0,R=c.length;m<R;m++){var _=c[m],_=C+":"+L(o,_);if(r[_])return;r[_]=!0}return 1})(t,d);break;case"FIXED_LEFT_COLUMN":e.disabled=E||"left"===r.fixed;break;case"FIXED_RIGHT_COLUMN":e.disabled=E||"right"===r.fixed;break;case"CLEAR_FIXED_COLUMN":e.disabled=E||!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(e){e&&e.copy&&(c=e.copy)}var t=e.VxeUIPluginMenu={setConfig:d,install:function(e,t){u=e,/^(3)\./.test(u.uiVersion)||console.error("[plugin-menu 3.x] Version 3.x is required"),d(t),u.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_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_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=f())&&o.text&&s.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})?u.modal&&u.modal.message({content:u.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)}},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)}))}},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=t.mouseConfig,n=t.computeMouseOpts;return(e&&n.area?t.getCellAreas():[]).forEach(function(e){e=e.rows;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=s.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(s.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(s.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(s.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)}}}),u.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,s){var u,c;Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VxeUIPluginMenu=void 0,s=(t=s)&&t.__esModule?t:{default:t};var a,L=function(e,t){return s.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;s.default.eachTree([e.column],function(e){e.fixed=n}),t.refreshColumn()}}}function C(){var e=u.globalStore;return e?e.clipboard||"":(e=u.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=C())?n.text:""):(a=s.default.toValueString(s.default.get(i,e.field)),o={text:a,html:""},(t=u.globalStore)?t.clipboard=o:u.config&&(u.config.clipboard=o)),(s.default.isFunction(c)?c:E)(a))}function m(e){var s=e.$table,e=s.mouseConfig,t=s.computeMouseOpts,u=s.getTableData().visibleData,c=s.getTableColumn().visibleColumn,n=e&&t.area?s.getCellAreas():[];return s.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=h(s,u,t[0]),t=h(s,u,t[t.length-1]),a=L(c,e[0]),e=L(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=m(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,s=a.mouseConfig;switch(n){case"CLEAR_ALL_SORT":var u=a.getSortColumns();e.disabled=!u.length;break;case"CLEAR_ALL_FILTER":u=a.getCheckedFilters();e.disabled=!u.length;break;case"CLEAR_ALL_MERGE":var u=a.getMergeCells(),c=a.getMergeFooterItems();e.disabled=!u.length&&!c.length;break;case"CLEAR_MERGE_CELL":u=m(t);e.disabled=!u.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=!(s&&E.area);break;case"EDIT_CELL":e.disabled=!i||!r.editRender;break;case"COPY_CELL":case"CUT_CELL":case"PASTE_CELL":var f=s&&E.area?a.getCellAreas():[];e.disabled=1<f.length,e.disabled||"PASTE_CELL"===n&&(f=C(),e.disabled=!f||!f.text);break;case"MERGE_OR_CLEAR":case"MERGE_CELL":f=s&&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 s=t[l],u=s.rows,c=s.cols,E=0,d=u.length;E<d;E++)for(var f=u[E],C=h(n,a,f),m=0,R=c.length;m<R;m++){var _=c[m],_=C+":"+L(o,_);if(r[_])return;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(e){e&&e.copy&&(c=e.copy)}var t=e.VxeUIPluginMenu={setConfig:d,install:function(e,t){u=e,/^(3)\./.test(u.uiVersion)||console.error("[plugin-menu 3.x] Version 3.x is required"),d(t),u.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&&(s.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=C())&&o.text&&s.default.set(a,e.field,o.text)}},MERGE_OR_CLEAR:{menuMethod:function(e){var t=e.$event,n=e.$table,a=n.getCellAreas(),e=m(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})?u.modal&&u.modal.message({content:u.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)}},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)}))}},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=s.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(s.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(s.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(s.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)}}}),u.interceptor.add("event.showMenu",i)}};"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.
|
|
3
|
+
"version": "3.0.3",
|
|
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.
|
|
54
|
-
"vxe-table": "^3.9
|
|
53
|
+
"vxe-pc-ui": "^3.3.9",
|
|
54
|
+
"vxe-table": "^3.11.9"
|
|
55
55
|
},
|
|
56
56
|
"repository": {
|
|
57
57
|
"type": "git",
|