@vxe-ui/plugin-menu 4.0.0 → 4.0.1

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
@@ -1,6 +1,6 @@
1
- # @vxe-ui/plugin-export-pdf
1
+ # @vxe-ui/plugin-menu
2
2
 
3
- [Vxe UI](https://vxeui.com/) plug-in supports pdf file export. use [jspdf](https://github.com/MrRio/jsPDF).
3
+ [Vxe UI](https://vxeui.com/) plug-in supports context menu.
4
4
 
5
5
  ## Compatibility
6
6
 
@@ -9,7 +9,7 @@ It corresponds to [vxe-table v4](https://www.npmjs.com/package/vxe-table) or [vx
9
9
  ## Installing
10
10
 
11
11
  ```shell
12
- npm install @vxe-ui/plugin-export-pdf jspdf
12
+ npm install @vxe-ui/plugin-menu
13
13
  ```
14
14
 
15
15
  ```javascript
@@ -18,40 +18,76 @@ npm install @vxe-ui/plugin-export-pdf jspdf
18
18
  import { VxeUI } from 'vxe-pc-ui'
19
19
  // Use vxe-table
20
20
  // import { VxeUI } from 'vxe-table'
21
- import VxeUIPluginExportPDF from '@vxe-ui/plugin-export-pdf'
22
- import { jsPDF } from 'jspdf'
21
+ import VxeUIPluginMenu from '@vxe-ui/plugin-menu'
23
22
  // ...
24
23
 
25
- // 1:NPM install, inject jsPDF objects
26
- VxeUI.use(VxeUIPluginExportPDF, {
27
- jsPDF,
28
- // 支持中文字体
29
- // fontName: 'SourceHanSans-Normal',
30
- // fonts: [
31
- // {
32
- // fontName: 'SourceHanSans-Normal',
33
- // fontUrl: 'https://cdn.jsdelivr.net/npm/vxe-table-plugin-export-pdf/fonts/source-han-sans-normal.js'
34
- // }
35
- // ]
36
- })
37
-
38
- // 2:CDN install, just make sure window.jsPDF exists
39
- // VxeUI.use(VxeUIPluginExportPDF)
24
+ VxeUI.use(VxeUIPluginMenu)
40
25
  ```
41
26
 
27
+ ## API
28
+
29
+ ### Context menu codes
30
+
31
+ | code 编码 | describe 描述 | params 参数 |
32
+ |------|------|------|
33
+ | CLEAR_CELL | 清除单元格数据的值;如果启用 mouse-config.area 功能,则清除区域范围内的单元格数据 | — |
34
+ | CLEAR_ROW | 清除行数据的值 | — |
35
+ | CLEAR_CHECKBOX_ROW | 清除复选框选中行数据的值 | — |
36
+ | CLEAR_ALL | 清除所有数据的值 | — |
37
+ | REVERT_CELL | 还原单元格数据的值;如果启用 mouse-config.area 功能,则还原区域范围内的单元格数据 | — |
38
+ | REVERT_ROW | 还原行数据的值 | — |
39
+ | REVERT_CHECKBOX_ROW | 还原复选框选中行数据的值 | — |
40
+ | REVERT_ALL | 还原所有数据的值 | — |
41
+ | MERGE_OR_CLEAR | 如果启用 mouse-config.area 功能,如果所选区域内已存在合并单元格,则取消临时合并,否则临时合并 | — |
42
+ | MERGE_CELL | 如果启用 mouse-config.area 功能,临时合并区域范围内的单元格,不管是否存在已合并 | — |
43
+ | CLEAR_MERGE_CELL | 如果启用 mouse-config.area 功能,清除区域范围内单元格的临时合并状态 | — |
44
+ | CLEAR_ALL_MERGE | 清除所有单元格及表尾的临时合并状态 | — |
45
+ | COPY_CELL | 复制单元格数据的值;如果启用 mouse-config.area 功能,则复制区域范围内的单元格数据,支持 Excel 和 WPS | — |
46
+ | CUT_CELL | 剪贴单元格数据的值;如果启用 mouse-config.area 功能,则剪贴区域范围内的单元格数据,支持 Excel 和 WPS | — |
47
+ | PASTE_CELL | (仅支持在单表区域内操作)粘贴从表格中被复制的数据;如果启用 mouse-config.area 功能,则粘贴区域范围内的单元格数据,不支持读取剪贴板 | — |
48
+ | EDIT_CELL | 编辑选中单元格 | — |
49
+ | EDIT_ROW | 编辑选中行并激活选中单元格 | — |
50
+ | INSERT_ROW | 插入数据 | records |
51
+ | INSERT_EDIT_ROW | 插入数据并激活编辑状态 | Array\<records, field\> |
52
+ | INSERT_AT_ROW | 插入数据到指定位置 | records |
53
+ | INSERT_AT_EDIT_ROW | 插入数据到指定位置并激活编辑状态 | Array\<records, field\> |
54
+ | DELETE_ROW | 移除行数据 | — |
55
+ | DELETE_AREA_ROW | 如果启用 mouse-config.area 功能,移除所选区域行数据 | — |
56
+ | DELETE_CHECKBOX_ROW | 移除复选框选中行数据 | — |
57
+ | DELETE_ALL | 移除所有行数据 | — |
58
+ | CLEAR_SORT | 清除所选列排序条件 | — |
59
+ | CLEAR_ALL_SORT | 清除所有排序条件 | — |
60
+ | SORT_ASC | 按所选列的值升序 | — |
61
+ | SORT_DESC | 按所选列的值倒序 | — |
62
+ | CLEAR_FILTER | 清除选中列的筛选条件 | — |
63
+ | CLEAR_ALL_FILTER | 清除所有列筛选条件 | — |
64
+ | FILTER_CELL | 根据单元格值筛选 | — |
65
+ | EXPORT_ROW | 导出行数据 | options |
66
+ | EXPORT_CHECKBOX_ROW | 导出复选框选中行数据 | options |
67
+ | EXPORT_ALL | 导出所有行数据 | options |
68
+ | PRINT_ALL | 打印所有行数据 | options |
69
+ | PRINT_CHECKBOX_ROW | 打印复选框选中行 | options |
70
+ | OPEN_FIND | 如果启用 mouse-config.area 功能,打开单元格查找功能 | — |
71
+ | OPEN_REPLACE | 如果启用 mouse-config.area 功能,打开单元格替换功能 | — |
72
+ | FIXED_LEFT_COLUMN | 将列固定到左侧 | — |
73
+ | FIXED_RIGHT_COLUMN | 将列固定到右侧 | — |
74
+ | CLEAR_FIXED_COLUMN | 清除固定列 | — |
75
+ | HIDDEN_COLUMN | 隐藏当前列 | — |
76
+ | RESET_COLUMN | 重置列的可视状态 | — |
77
+ | RESET_RESIZABLE | 重置列宽状态 | — |
78
+ | RESET_ALL | 重置列的所有状态 | — |
79
+
42
80
  ## Demo
43
81
 
44
82
  ```html
45
- <vxe-button @click="exportEvent">Export.pdf</vxe-button>
46
-
47
83
  <vxe-table
48
- ref="tableRef"
49
- :height="600"
50
- :data="tableData">
84
+ :data="tableData"
85
+ :context-menu="contextMenu"
86
+ :edit-config="{trigger: 'click', mode: 'cell'}">
51
87
  <vxe-column type="seq" width="60"></vxe-column>
52
- <vxe-column field="name" title="Name"></vxe-column>
53
- <vxe-column field="age" title="Age"></vxe-column>
54
- <vxe-column field="date" title="Date"></vxe-column>
88
+ <vxe-column field="name" title="Name" :edit-render="{name: 'input'}"></vxe-column>
89
+ <vxe-column field="sex" title="sex" :edit-render="{name: 'input'}"></vxe-column>
90
+ <vxe-column field="age" title="Age" :edit-render="{name: 'input'}"></vxe-column>
55
91
  </vxe-table>
56
92
  ```
57
93
 
@@ -60,19 +96,20 @@ export default {
60
96
  data () {
61
97
  return {
62
98
  tableData: [
63
- { id: 100, name: 'test', age: 26, date: '2019-01-01' },
64
- { id: 101, name: 'test1', age: 30, date: '2019-01-01' },
65
- { id: 102, name: 'test2', age: 34, date: '2019-01-01' }
66
- ]
67
- }
68
- },
69
- methods: {
70
- exportEvent() {
71
- this.$refs.tableRef.exportData({
72
- filename: 'export',
73
- sheetName: 'Sheet1',
74
- type: 'pdf'
75
- })
99
+ { id: 100, name: 'test1', age: 28, sex: '1' },
100
+ { id: 101, name: 'test2', age: 32, sex: '0' },
101
+ { id: 102, name: 'test3', age: 36, sex: '1' }
102
+ ],
103
+ contextMenu: {
104
+ body: {
105
+ options: [
106
+ [
107
+ { code: 'EXPORT_ALL', name: '导出.csv' },
108
+ { code: 'INSERT_EDIT_ROW', name: '新增' }
109
+ ]
110
+ ]
111
+ }
112
+ }
76
113
  }
77
114
  }
78
115
  }
@@ -351,7 +351,7 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
351
351
  VxeUI = core;
352
352
  // 检查版本
353
353
  if (!/^(4)\./.test(VxeUI.uiVersion)) {
354
- console.error('[plugin-export-pdf 4.x] Version 4.x is required');
354
+ console.error('[plugin-menu 4.x] Version 4.x is required');
355
355
  }
356
356
  pluginSetup(options);
357
357
  VxeUI.menus.mixin({
@@ -687,6 +687,7 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
687
687
  },
688
688
  /**
689
689
  * 插入数据并激活编辑状态
690
+ * @deprecated
690
691
  */
691
692
  INSERT_ACTIVED_ROW: {
692
693
  menuMethod: function menuMethod(params) {
@@ -705,6 +706,27 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
705
706
  });
706
707
  }
707
708
  },
709
+ /**
710
+ * 插入数据并激活编辑状态
711
+ * @deprecated
712
+ */
713
+ INSERT_EDIT_ROW: {
714
+ menuMethod: function menuMethod(params) {
715
+ var $table = params.$table,
716
+ menu = params.menu,
717
+ column = params.column;
718
+ var args = menu.params || []; // [{}, 'field']
719
+ $table.insert(args[0]).then(function (_ref8) {
720
+ var row = _ref8.row;
721
+ if ($table.setEditCell) {
722
+ $table.setEditCell(row, args[1] || column);
723
+ } else {
724
+ // 兼容老版本
725
+ $table.setActiveCell(row, args[1] || column.field);
726
+ }
727
+ });
728
+ }
729
+ },
708
730
  /**
709
731
  * 插入数据到指定位置
710
732
  */
@@ -729,8 +751,31 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
729
751
  column = params.column;
730
752
  if (row) {
731
753
  var args = menu.params || []; // [{}, 'field']
732
- $table.insertAt(args[0], row).then(function (_ref8) {
733
- var row = _ref8.row;
754
+ $table.insertAt(args[0], row).then(function (_ref9) {
755
+ var row = _ref9.row;
756
+ if ($table.setEditCell) {
757
+ $table.setEditCell(row, args[1] || column);
758
+ } else {
759
+ // 兼容老版本
760
+ $table.setActiveCell(row, args[1] || column.field);
761
+ }
762
+ });
763
+ }
764
+ }
765
+ },
766
+ /**
767
+ * 插入数据到指定位置并激活编辑状态
768
+ */
769
+ INSERT_AT_EDIT_ROW: {
770
+ menuMethod: function menuMethod(params) {
771
+ var $table = params.$table,
772
+ menu = params.menu,
773
+ row = params.row,
774
+ column = params.column;
775
+ if (row) {
776
+ var args = menu.params || []; // [{}, 'field']
777
+ $table.insertAt(args[0], row).then(function (_ref10) {
778
+ var row = _ref10.row;
734
779
  if ($table.setEditCell) {
735
780
  $table.setEditCell(row, args[1] || column);
736
781
  } else {
@@ -906,7 +951,7 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
906
951
  var opts = {
907
952
  data: [row]
908
953
  };
909
- $table.exportData(_xeUtils["default"].assign(opts, menu.params[0]));
954
+ $table.exportData(_xeUtils["default"].assign({}, menu.params ? menu.params[0] : {}, opts));
910
955
  }
911
956
  }
912
957
  },
@@ -920,7 +965,7 @@ var VxeUIPluginMenu = exports.VxeUIPluginMenu = {
920
965
  var opts = {
921
966
  data: $table.getCheckboxRecords()
922
967
  };
923
- $table.exportData(_xeUtils["default"].assign(opts, menu.params[0]));
968
+ $table.exportData(_xeUtils["default"].assign({}, menu.params ? menu.params[0] : {}, opts));
924
969
  }
925
970
  },
926
971
  /**
package/dist/index.umd.js CHANGED
@@ -364,7 +364,7 @@
364
364
  VxeUI = core;
365
365
  // 检查版本
366
366
  if (!/^(4)\./.test(VxeUI.uiVersion)) {
367
- console.error('[plugin-export-pdf 4.x] Version 4.x is required');
367
+ console.error('[plugin-menu 4.x] Version 4.x is required');
368
368
  }
369
369
  pluginSetup(options);
370
370
  VxeUI.menus.mixin({
@@ -700,6 +700,7 @@
700
700
  },
701
701
  /**
702
702
  * 插入数据并激活编辑状态
703
+ * @deprecated
703
704
  */
704
705
  INSERT_ACTIVED_ROW: {
705
706
  menuMethod: function menuMethod(params) {
@@ -718,6 +719,27 @@
718
719
  });
719
720
  }
720
721
  },
722
+ /**
723
+ * 插入数据并激活编辑状态
724
+ * @deprecated
725
+ */
726
+ INSERT_EDIT_ROW: {
727
+ menuMethod: function menuMethod(params) {
728
+ var $table = params.$table,
729
+ menu = params.menu,
730
+ column = params.column;
731
+ var args = menu.params || []; // [{}, 'field']
732
+ $table.insert(args[0]).then(function (_ref8) {
733
+ var row = _ref8.row;
734
+ if ($table.setEditCell) {
735
+ $table.setEditCell(row, args[1] || column);
736
+ } else {
737
+ // 兼容老版本
738
+ $table.setActiveCell(row, args[1] || column.field);
739
+ }
740
+ });
741
+ }
742
+ },
721
743
  /**
722
744
  * 插入数据到指定位置
723
745
  */
@@ -742,8 +764,31 @@
742
764
  column = params.column;
743
765
  if (row) {
744
766
  var args = menu.params || []; // [{}, 'field']
745
- $table.insertAt(args[0], row).then(function (_ref8) {
746
- var row = _ref8.row;
767
+ $table.insertAt(args[0], row).then(function (_ref9) {
768
+ var row = _ref9.row;
769
+ if ($table.setEditCell) {
770
+ $table.setEditCell(row, args[1] || column);
771
+ } else {
772
+ // 兼容老版本
773
+ $table.setActiveCell(row, args[1] || column.field);
774
+ }
775
+ });
776
+ }
777
+ }
778
+ },
779
+ /**
780
+ * 插入数据到指定位置并激活编辑状态
781
+ */
782
+ INSERT_AT_EDIT_ROW: {
783
+ menuMethod: function menuMethod(params) {
784
+ var $table = params.$table,
785
+ menu = params.menu,
786
+ row = params.row,
787
+ column = params.column;
788
+ if (row) {
789
+ var args = menu.params || []; // [{}, 'field']
790
+ $table.insertAt(args[0], row).then(function (_ref10) {
791
+ var row = _ref10.row;
747
792
  if ($table.setEditCell) {
748
793
  $table.setEditCell(row, args[1] || column);
749
794
  } else {
@@ -919,7 +964,7 @@
919
964
  var opts = {
920
965
  data: [row]
921
966
  };
922
- $table.exportData(_xeUtils["default"].assign(opts, menu.params[0]));
967
+ $table.exportData(_xeUtils["default"].assign({}, menu.params ? menu.params[0] : {}, opts));
923
968
  }
924
969
  }
925
970
  },
@@ -933,7 +978,7 @@
933
978
  var opts = {
934
979
  data: $table.getCheckboxRecords()
935
980
  };
936
- $table.exportData(_xeUtils["default"].assign(opts, menu.params[0]));
981
+ $table.exportData(_xeUtils["default"].assign({}, menu.params ? menu.params[0] : {}, opts));
937
982
  }
938
983
  },
939
984
  /**
@@ -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.VxeUIPluginExportPDF=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})},_=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 C(){var e=i.globalStore;return e?e.clipboard||"":(e=i.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,s=e.row,e=e.column;s&&e&&(n=l.props.mouseConfig,o=l.getComputeMaps().computeMouseOpts.value,a="",n&&o.area?(t?l.triggerCutCellAreaEvent(r):l.triggerCopyCellAreaEvent(r),a=(n=C())?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:E)(a))}function m(e){var u=e.$table,e=u.props.mouseConfig,t=u.getComputeMaps().computeMouseOpts.value,i=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,s=e.colspan;return n.some(function(e){var t=e.rows,e=e.cols,n=_(u,i,t[0]),t=_(u,i,t[t.length-1]),a=g(c,e[0]),e=g(c,e[e.length-1]);return n<=o&&o+l-1<=t&&a<=r&&r+s-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=a.props,s=l.editConfig,u=l.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=m(t);e.disabled=!i.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"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.getComputeMaps().computeMouseOpts.value,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=!s||!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=C(),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,s=t.length;l<s;l++)for(var u=t[l],i=u.rows,c=u.cols,E=0,d=i.length;E<d;E++)for(var f=i[E],C=_(n,a,f),m=0,L=c.length;m<L;m++){var R=c[m],R=C+":"+g(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 s(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){i=e,/^(4)\./.test(i.uiVersion)||console.error("[plugin-export-pdf 4.x] Version 4.x is required"),d(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.props.mouseConfig,t=a.getComputeMaps().computeMouseOpts.value,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.props.mouseConfig,t=a.getComputeMaps().computeMouseOpts.value,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.props.mouseConfig,r=n.getComputeMaps().computeMouseOpts.value;o&&r.area?n.triggerPasteCellAreaEvent(t):(o=C())&&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=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})?i.modal&&i.modal.message({content:i.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_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)}))}},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.props.mouseConfig,n=t.getComputeMaps().computeMouseOpts.value;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=u.default.get(a,t),e.checked=!0,n.updateData())}},EXPORT_ROW:{menuMethod:function(e){var t=e.$table,n=e.row;n&&t.exportData(u.default.assign({data:[n]},e.menu.params[0]))}},EXPORT_CHECKBOX_ROW:{menuMethod:function(e){var t=e.$table,e=e.menu,n={data:t.getCheckboxRecords()};t.exportData(u.default.assign(n,e.params[0]))}},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});
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.VxeUIPluginExportPDF=t)})("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,function(e,i){var u,c;Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VxeUIPluginMenu=void 0,i=(t=i)&&t.__esModule?t:{default:t};var a,_=function(e,t){return i.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;i.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,s=e.row,e=e.column;s&&e&&(n=l.props.mouseConfig,o=l.getComputeMaps().computeMouseOpts.value,a="",n&&o.area?(t?l.triggerCutCellAreaEvent(r):l.triggerCopyCellAreaEvent(r),a=(n=C())?n.text:""):(a=i.default.toValueString(i.default.get(s,e.field)),o={text:a,html:""},(t=u.globalStore)?t.clipboard=o:u.config&&(u.config.clipboard=o)),(i.default.isFunction(c)?c:E)(a))}function m(e){var i=e.$table,e=i.props.mouseConfig,t=i.getComputeMaps().computeMouseOpts.value,u=i.getTableData().visibleData,c=i.getTableColumn().visibleColumn,n=e&&t.area?i.getCellAreas():[];return i.getMergeCells().filter(function(e){var o=e.row,r=e.col,l=e.rowspan,s=e.colspan;return n.some(function(e){var t=e.rows,e=e.cols,n=g(i,u,t[0]),t=g(i,u,t[t.length-1]),a=_(c,e[0]),e=_(c,e[e.length-1]);return n<=o&&o+l-1<=t&&a<=r&&r+s-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=a.props,s=l.editConfig,i=l.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"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"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.getComputeMaps().computeMouseOpts.value,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=!(i&&E.area);break;case"EDIT_CELL":e.disabled=!s||!r.editRender;break;case"COPY_CELL":case"CUT_CELL":case"PASTE_CELL":var f=i&&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=i&&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,s=t.length;l<s;l++)for(var i=t[l],u=i.rows,c=i.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 L=c[m],L=C+":"+_(o,L);if(r[L])return;r[L]=!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 s(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,/^(4)\./.test(u.uiVersion)||console.error("[plugin-menu 4.x] Version 4.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.props.mouseConfig,t=a.getComputeMaps().computeMouseOpts.value,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.props.mouseConfig,t=a.getComputeMaps().computeMouseOpts.value,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.props.mouseConfig,r=n.getComputeMaps().computeMouseOpts.value;o&&r.area?n.triggerPasteCellAreaEvent(t):(o=C())&&o.text&&i.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=t.props.mouseConfig,n=t.getComputeMaps().computeMouseOpts.value;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=i.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(i.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(i.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(i.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",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": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "Vxe UI plug-in supports context menu.",
5
5
  "scripts": {
6
6
  "lib": "gulp build"
@@ -49,9 +49,9 @@
49
49
  "prettier": "^2.1.2",
50
50
  "sass": "^1.55.0",
51
51
  "typescript": "^4.6.4",
52
- "vue": "3.4.27",
53
- "vxe-pc-ui": "^4.1.13",
54
- "vxe-table": "^4.7.74"
52
+ "vue": "^3.4.27",
53
+ "vxe-pc-ui": "^4.2.18",
54
+ "vxe-table": "^4.7.86"
55
55
  },
56
56
  "repository": {
57
57
  "type": "git",