@vxe-ui/plugin-menu 4.0.0
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 +21 -0
- package/README.md +89 -0
- package/dist/index.common.js +1043 -0
- package/dist/index.umd.js +1057 -0
- package/dist/index.umd.min.js +1 -0
- package/dist/style.css +0 -0
- package/dist/style.min.css +0 -0
- package/package.json +72 -0
- package/types/index.d.ts +14 -0
|
@@ -0,0 +1,1057 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
if (typeof define === "function" && define.amd) {
|
|
3
|
+
define("@vxe-ui/plugin-menu", ["exports", "xe-utils"], factory);
|
|
4
|
+
} else if (typeof exports !== "undefined") {
|
|
5
|
+
factory(exports, require("xe-utils"));
|
|
6
|
+
} else {
|
|
7
|
+
var mod = {
|
|
8
|
+
exports: {}
|
|
9
|
+
};
|
|
10
|
+
factory(mod.exports, global.XEUtils);
|
|
11
|
+
global.VxeUIPluginExportPDF = mod.exports;
|
|
12
|
+
}
|
|
13
|
+
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _xeUtils) {
|
|
14
|
+
"use strict";
|
|
15
|
+
|
|
16
|
+
Object.defineProperty(_exports, "__esModule", {
|
|
17
|
+
value: true
|
|
18
|
+
});
|
|
19
|
+
_exports["default"] = _exports.VxeUIPluginMenu = void 0;
|
|
20
|
+
_xeUtils = _interopRequireDefault(_xeUtils);
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
22
|
+
var VxeUI;
|
|
23
|
+
var handleCopy;
|
|
24
|
+
var columnIndexOf = function columnIndexOf(cols, column) {
|
|
25
|
+
return _xeUtils["default"].findIndexOf(cols, function (item) {
|
|
26
|
+
return item.id === column.id;
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
var rowIndexOf = function rowIndexOf($table, rows, row) {
|
|
30
|
+
return $table.findRowIndexOf(rows, row);
|
|
31
|
+
};
|
|
32
|
+
function handleFixedColumn(fixed) {
|
|
33
|
+
return {
|
|
34
|
+
menuMethod: function menuMethod(params) {
|
|
35
|
+
var $table = params.$table,
|
|
36
|
+
column = params.column;
|
|
37
|
+
_xeUtils["default"].eachTree([column], function (column) {
|
|
38
|
+
column.fixed = fixed;
|
|
39
|
+
});
|
|
40
|
+
$table.refreshColumn();
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function getClipboardObj() {
|
|
45
|
+
var globalStore = VxeUI.globalStore;
|
|
46
|
+
if (globalStore) {
|
|
47
|
+
return globalStore.clipboard || '';
|
|
48
|
+
}
|
|
49
|
+
// 兼容老版本
|
|
50
|
+
var globalConfig = VxeUI.config;
|
|
51
|
+
if (globalConfig && globalConfig.clipboard) {
|
|
52
|
+
return globalConfig.clipboard;
|
|
53
|
+
}
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
function setClipboardConfig(clipObj) {
|
|
57
|
+
var globalStore = VxeUI.globalStore;
|
|
58
|
+
if (globalStore) {
|
|
59
|
+
globalStore.clipboard = clipObj;
|
|
60
|
+
} else if (VxeUI.config) {
|
|
61
|
+
// 兼容老版本
|
|
62
|
+
VxeUI.config.clipboard = clipObj;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
var copyElem;
|
|
66
|
+
function handleText(content) {
|
|
67
|
+
if (!copyElem) {
|
|
68
|
+
copyElem = document.createElement('textarea');
|
|
69
|
+
copyElem.id = '$XECopy';
|
|
70
|
+
var styles = copyElem.style;
|
|
71
|
+
styles.width = '48px';
|
|
72
|
+
styles.height = '24px';
|
|
73
|
+
styles.position = 'fixed';
|
|
74
|
+
styles.zIndex = '0';
|
|
75
|
+
styles.left = '-500px';
|
|
76
|
+
styles.top = '-500px';
|
|
77
|
+
document.body.appendChild(copyElem);
|
|
78
|
+
}
|
|
79
|
+
copyElem.value = content === null || content === undefined ? '' : '' + content;
|
|
80
|
+
}
|
|
81
|
+
function copyText(content) {
|
|
82
|
+
var result = false;
|
|
83
|
+
try {
|
|
84
|
+
handleText(content);
|
|
85
|
+
copyElem.select();
|
|
86
|
+
copyElem.setSelectionRange(0, copyElem.value.length);
|
|
87
|
+
result = document.execCommand('copy');
|
|
88
|
+
copyElem.blur();
|
|
89
|
+
} catch (e) {}
|
|
90
|
+
return result;
|
|
91
|
+
}
|
|
92
|
+
function handleCopyOrCut(params, isCut) {
|
|
93
|
+
var $event = params.$event,
|
|
94
|
+
$table = params.$table,
|
|
95
|
+
row = params.row,
|
|
96
|
+
column = params.column;
|
|
97
|
+
if (row && column) {
|
|
98
|
+
var props = $table.props;
|
|
99
|
+
var mouseConfig = props.mouseConfig;
|
|
100
|
+
var _$table$getComputeMap = $table.getComputeMaps(),
|
|
101
|
+
computeMouseOpts = _$table$getComputeMap.computeMouseOpts;
|
|
102
|
+
var mouseOpts = computeMouseOpts.value;
|
|
103
|
+
var text = '';
|
|
104
|
+
if (mouseConfig && mouseOpts.area) {
|
|
105
|
+
if (isCut) {
|
|
106
|
+
$table.triggerCutCellAreaEvent($event);
|
|
107
|
+
} else {
|
|
108
|
+
$table.triggerCopyCellAreaEvent($event);
|
|
109
|
+
}
|
|
110
|
+
var clipboard = getClipboardObj();
|
|
111
|
+
text = clipboard ? clipboard.text : '';
|
|
112
|
+
} else {
|
|
113
|
+
// 操作内置剪贴板
|
|
114
|
+
text = _xeUtils["default"].toValueString(_xeUtils["default"].get(row, column.field));
|
|
115
|
+
setClipboardConfig({
|
|
116
|
+
text: text,
|
|
117
|
+
html: ''
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
// 开始复制操作
|
|
121
|
+
if (_xeUtils["default"].isFunction(handleCopy)) {
|
|
122
|
+
handleCopy(text);
|
|
123
|
+
} else {
|
|
124
|
+
copyText(text);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
function checkCellOverlay(params, cellAreas) {
|
|
129
|
+
var $table = params.$table;
|
|
130
|
+
var _$table$getTableData = $table.getTableData(),
|
|
131
|
+
visibleData = _$table$getTableData.visibleData;
|
|
132
|
+
var _$table$getTableColum = $table.getTableColumn(),
|
|
133
|
+
visibleColumn = _$table$getTableColum.visibleColumn;
|
|
134
|
+
var indexMaps = {};
|
|
135
|
+
for (var aIndex = 0, areaSize = cellAreas.length; aIndex < areaSize; aIndex++) {
|
|
136
|
+
var areaItem = cellAreas[aIndex];
|
|
137
|
+
var rows = areaItem.rows,
|
|
138
|
+
cols = areaItem.cols;
|
|
139
|
+
for (var rIndex = 0, rowSize = rows.length; rIndex < rowSize; rIndex++) {
|
|
140
|
+
var offsetRow = rows[rIndex];
|
|
141
|
+
var orIndex = rowIndexOf($table, visibleData, offsetRow);
|
|
142
|
+
for (var cIndex = 0, colSize = cols.length; cIndex < colSize; cIndex++) {
|
|
143
|
+
var offsetColumn = cols[cIndex];
|
|
144
|
+
var ocIndex = columnIndexOf(visibleColumn, offsetColumn);
|
|
145
|
+
var key = orIndex + ':' + ocIndex;
|
|
146
|
+
if (indexMaps[key]) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
indexMaps[key] = true;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
function getBeenMerges(params) {
|
|
156
|
+
var $table = params.$table;
|
|
157
|
+
var props = $table.props;
|
|
158
|
+
var mouseConfig = props.mouseConfig;
|
|
159
|
+
var _$table$getComputeMap2 = $table.getComputeMaps(),
|
|
160
|
+
computeMouseOpts = _$table$getComputeMap2.computeMouseOpts;
|
|
161
|
+
var mouseOpts = computeMouseOpts.value;
|
|
162
|
+
var _$table$getTableData2 = $table.getTableData(),
|
|
163
|
+
visibleData = _$table$getTableData2.visibleData;
|
|
164
|
+
var _$table$getTableColum2 = $table.getTableColumn(),
|
|
165
|
+
visibleColumn = _$table$getTableColum2.visibleColumn;
|
|
166
|
+
var cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
167
|
+
var mergeList = $table.getMergeCells();
|
|
168
|
+
return mergeList.filter(function (_ref) {
|
|
169
|
+
var mergeRowIndex = _ref.row,
|
|
170
|
+
mergeColIndex = _ref.col,
|
|
171
|
+
mergeRowspan = _ref.rowspan,
|
|
172
|
+
mergeColspan = _ref.colspan;
|
|
173
|
+
return cellAreas.some(function (areaItem) {
|
|
174
|
+
var rows = areaItem.rows,
|
|
175
|
+
cols = areaItem.cols;
|
|
176
|
+
var startRowIndex = rowIndexOf($table, visibleData, rows[0]);
|
|
177
|
+
var endRowIndex = rowIndexOf($table, visibleData, rows[rows.length - 1]);
|
|
178
|
+
var startColIndex = columnIndexOf(visibleColumn, cols[0]);
|
|
179
|
+
var endColIndex = columnIndexOf(visibleColumn, cols[cols.length - 1]);
|
|
180
|
+
return mergeRowIndex >= startRowIndex && mergeRowIndex + mergeRowspan - 1 <= endRowIndex && mergeColIndex >= startColIndex && mergeColIndex + mergeColspan - 1 <= endColIndex;
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
function handleClearMergeCells(params) {
|
|
185
|
+
var $table = params.$table;
|
|
186
|
+
var beenMerges = getBeenMerges(params);
|
|
187
|
+
if (beenMerges.length) {
|
|
188
|
+
$table.removeMergeCells(beenMerges);
|
|
189
|
+
}
|
|
190
|
+
return beenMerges;
|
|
191
|
+
}
|
|
192
|
+
function checkPrivilege(item, params) {
|
|
193
|
+
var code = item.code;
|
|
194
|
+
var $table = params.$table,
|
|
195
|
+
row = params.row,
|
|
196
|
+
column = params.column;
|
|
197
|
+
var props = $table.props;
|
|
198
|
+
var editConfig = props.editConfig,
|
|
199
|
+
mouseConfig = props.mouseConfig;
|
|
200
|
+
switch (code) {
|
|
201
|
+
case 'CLEAR_ALL_SORT':
|
|
202
|
+
{
|
|
203
|
+
var sortList = $table.getSortColumns();
|
|
204
|
+
item.disabled = !sortList.length;
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
207
|
+
case 'CLEAR_ALL_FILTER':
|
|
208
|
+
{
|
|
209
|
+
var filterList = $table.getCheckedFilters();
|
|
210
|
+
item.disabled = !filterList.length;
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
case 'CLEAR_ALL_MERGE':
|
|
214
|
+
{
|
|
215
|
+
var mergeCells = $table.getMergeCells();
|
|
216
|
+
var mergeFooterItems = $table.getMergeFooterItems();
|
|
217
|
+
item.disabled = !mergeCells.length && !mergeFooterItems.length;
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
220
|
+
case 'CLEAR_MERGE_CELL':
|
|
221
|
+
{
|
|
222
|
+
var beenMerges = getBeenMerges(params);
|
|
223
|
+
item.disabled = !beenMerges.length;
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
case 'EDIT_CELL':
|
|
227
|
+
case 'CLEAR_CELL':
|
|
228
|
+
case 'CLEAR_ROW':
|
|
229
|
+
case 'COPY_CELL':
|
|
230
|
+
case 'CUT_CELL':
|
|
231
|
+
case 'PASTE_CELL':
|
|
232
|
+
case 'MERGE_OR_CLEAR':
|
|
233
|
+
case 'MERGE_CELL':
|
|
234
|
+
case 'REVERT_CELL':
|
|
235
|
+
case 'REVERT_ROW':
|
|
236
|
+
case 'INSERT_AT_ROW':
|
|
237
|
+
case 'INSERT_AT_ACTIVED_ROW':
|
|
238
|
+
case 'DELETE_ROW':
|
|
239
|
+
case 'DELETE_AREA_ROW':
|
|
240
|
+
case 'CLEAR_SORT':
|
|
241
|
+
case 'SORT_ASC':
|
|
242
|
+
case 'SORT_DESC':
|
|
243
|
+
case 'CLEAR_FILTER':
|
|
244
|
+
case 'FILTER_CELL':
|
|
245
|
+
case 'EXPORT_ROW':
|
|
246
|
+
case 'OPEN_FIND':
|
|
247
|
+
case 'OPEN_REPLACE':
|
|
248
|
+
case 'HIDDEN_COLUMN':
|
|
249
|
+
case 'FIXED_LEFT_COLUMN':
|
|
250
|
+
case 'FIXED_RIGHT_COLUMN':
|
|
251
|
+
case 'CLEAR_FIXED_COLUMN':
|
|
252
|
+
{
|
|
253
|
+
item.disabled = !column;
|
|
254
|
+
if (column) {
|
|
255
|
+
var _$table$getComputeMap3 = $table.getComputeMaps(),
|
|
256
|
+
computeMouseOpts = _$table$getComputeMap3.computeMouseOpts;
|
|
257
|
+
var mouseOpts = computeMouseOpts.value;
|
|
258
|
+
var isChildCol = !!column.parentId;
|
|
259
|
+
switch (code) {
|
|
260
|
+
case 'CLEAR_SORT':
|
|
261
|
+
{
|
|
262
|
+
item.disabled = !column.sortable || !column.order;
|
|
263
|
+
break;
|
|
264
|
+
}
|
|
265
|
+
case 'SORT_ASC':
|
|
266
|
+
case 'SORT_DESC':
|
|
267
|
+
item.disabled = !column.sortable;
|
|
268
|
+
break;
|
|
269
|
+
case 'FILTER_CELL':
|
|
270
|
+
case 'CLEAR_FILTER':
|
|
271
|
+
item.disabled = !column.filters || !column.filters.length;
|
|
272
|
+
if (!item.disabled) {
|
|
273
|
+
switch (code) {
|
|
274
|
+
case 'CLEAR_FILTER':
|
|
275
|
+
item.disabled = !column.filters.some(function (option) {
|
|
276
|
+
return option.checked;
|
|
277
|
+
});
|
|
278
|
+
break;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
break;
|
|
282
|
+
case 'REVERT_CELL':
|
|
283
|
+
{
|
|
284
|
+
item.disabled = !row || !column.field || !$table.isUpdateByRow(row, column.field);
|
|
285
|
+
break;
|
|
286
|
+
}
|
|
287
|
+
case 'REVERT_ROW':
|
|
288
|
+
{
|
|
289
|
+
item.disabled = !row || !column.field || !$table.isUpdateByRow(row);
|
|
290
|
+
break;
|
|
291
|
+
}
|
|
292
|
+
case 'OPEN_FIND':
|
|
293
|
+
case 'OPEN_REPLACE':
|
|
294
|
+
{
|
|
295
|
+
item.disabled = !(mouseConfig && mouseOpts.area);
|
|
296
|
+
break;
|
|
297
|
+
}
|
|
298
|
+
case 'EDIT_CELL':
|
|
299
|
+
{
|
|
300
|
+
item.disabled = !editConfig || !column.editRender;
|
|
301
|
+
break;
|
|
302
|
+
}
|
|
303
|
+
case 'COPY_CELL':
|
|
304
|
+
case 'CUT_CELL':
|
|
305
|
+
case 'PASTE_CELL':
|
|
306
|
+
{
|
|
307
|
+
var cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
308
|
+
item.disabled = cellAreas.length > 1;
|
|
309
|
+
if (!item.disabled) {
|
|
310
|
+
switch (code) {
|
|
311
|
+
case 'PASTE_CELL':
|
|
312
|
+
{
|
|
313
|
+
var clipboard = getClipboardObj();
|
|
314
|
+
item.disabled = !clipboard || !clipboard.text;
|
|
315
|
+
break;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
case 'MERGE_OR_CLEAR':
|
|
322
|
+
case 'MERGE_CELL':
|
|
323
|
+
{
|
|
324
|
+
var _cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
325
|
+
item.disabled = !_cellAreas.length || _cellAreas.length === 1 && _cellAreas[0].rows.length === 1 && _cellAreas[0].cols.length === 1 || !checkCellOverlay(params, _cellAreas);
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
case 'FIXED_LEFT_COLUMN':
|
|
329
|
+
item.disabled = isChildCol || column.fixed === 'left';
|
|
330
|
+
break;
|
|
331
|
+
case 'FIXED_RIGHT_COLUMN':
|
|
332
|
+
item.disabled = isChildCol || column.fixed === 'right';
|
|
333
|
+
break;
|
|
334
|
+
case 'CLEAR_FIXED_COLUMN':
|
|
335
|
+
item.disabled = isChildCol || !column.fixed;
|
|
336
|
+
break;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
function handlePrivilegeEvent(params) {
|
|
344
|
+
params.options.forEach(function (list) {
|
|
345
|
+
list.forEach(function (item) {
|
|
346
|
+
checkPrivilege(item, params);
|
|
347
|
+
if (item.children) {
|
|
348
|
+
item.children.forEach(function (child) {
|
|
349
|
+
checkPrivilege(child, params);
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
});
|
|
354
|
+
return true;
|
|
355
|
+
}
|
|
356
|
+
function pluginSetup(options) {
|
|
357
|
+
if (options && options.copy) {
|
|
358
|
+
handleCopy = options.copy;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
var VxeUIPluginMenu = _exports.VxeUIPluginMenu = {
|
|
362
|
+
setConfig: pluginSetup,
|
|
363
|
+
install: function install(core, options) {
|
|
364
|
+
VxeUI = core;
|
|
365
|
+
// 检查版本
|
|
366
|
+
if (!/^(4)\./.test(VxeUI.uiVersion)) {
|
|
367
|
+
console.error('[plugin-export-pdf 4.x] Version 4.x is required');
|
|
368
|
+
}
|
|
369
|
+
pluginSetup(options);
|
|
370
|
+
VxeUI.menus.mixin({
|
|
371
|
+
/**
|
|
372
|
+
* 清除单元格数据的值;如果启用 mouse-config.area 功能,则清除区域范围内的单元格数据
|
|
373
|
+
*/
|
|
374
|
+
CLEAR_CELL: {
|
|
375
|
+
menuMethod: function menuMethod(params) {
|
|
376
|
+
var $table = params.$table,
|
|
377
|
+
row = params.row,
|
|
378
|
+
column = params.column;
|
|
379
|
+
if (row && column) {
|
|
380
|
+
var props = $table.props;
|
|
381
|
+
var mouseConfig = props.mouseConfig;
|
|
382
|
+
var _$table$getComputeMap4 = $table.getComputeMaps(),
|
|
383
|
+
computeMouseOpts = _$table$getComputeMap4.computeMouseOpts;
|
|
384
|
+
var mouseOpts = computeMouseOpts.value;
|
|
385
|
+
if (mouseConfig && mouseOpts.area) {
|
|
386
|
+
var cellAreas = $table.getCellAreas();
|
|
387
|
+
if (cellAreas && cellAreas.length) {
|
|
388
|
+
cellAreas.forEach(function (areaItem) {
|
|
389
|
+
var rows = areaItem.rows,
|
|
390
|
+
cols = areaItem.cols;
|
|
391
|
+
cols.forEach(function (column) {
|
|
392
|
+
rows.forEach(function (row) {
|
|
393
|
+
$table.clearData(row, column.field);
|
|
394
|
+
});
|
|
395
|
+
});
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
} else {
|
|
399
|
+
$table.clearData(row, column.field);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
/**
|
|
405
|
+
* 清除行数据的值
|
|
406
|
+
*/
|
|
407
|
+
CLEAR_ROW: {
|
|
408
|
+
menuMethod: function menuMethod(params) {
|
|
409
|
+
var $table = params.$table,
|
|
410
|
+
row = params.row;
|
|
411
|
+
if (row) {
|
|
412
|
+
$table.clearData(row);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
/**
|
|
417
|
+
* 清除复选框选中行数据的值
|
|
418
|
+
*/
|
|
419
|
+
CLEAR_CHECKBOX_ROW: {
|
|
420
|
+
menuMethod: function menuMethod(params) {
|
|
421
|
+
var $table = params.$table;
|
|
422
|
+
$table.clearData($table.getCheckboxRecords());
|
|
423
|
+
}
|
|
424
|
+
},
|
|
425
|
+
/**
|
|
426
|
+
* 清除所有数据的值
|
|
427
|
+
*/
|
|
428
|
+
CLEAR_ALL: {
|
|
429
|
+
menuMethod: function menuMethod(params) {
|
|
430
|
+
var $table = params.$table;
|
|
431
|
+
$table.clearData();
|
|
432
|
+
}
|
|
433
|
+
},
|
|
434
|
+
/**
|
|
435
|
+
* 还原单元格数据的值;如果启用 mouse-config.area 功能,则还原区域范围内的单元格数据
|
|
436
|
+
*/
|
|
437
|
+
REVERT_CELL: {
|
|
438
|
+
menuMethod: function menuMethod(params) {
|
|
439
|
+
var $table = params.$table,
|
|
440
|
+
row = params.row,
|
|
441
|
+
column = params.column;
|
|
442
|
+
if (row && column) {
|
|
443
|
+
var props = $table.props;
|
|
444
|
+
var mouseConfig = props.mouseConfig;
|
|
445
|
+
var _$table$getComputeMap5 = $table.getComputeMaps(),
|
|
446
|
+
computeMouseOpts = _$table$getComputeMap5.computeMouseOpts;
|
|
447
|
+
var mouseOpts = computeMouseOpts.value;
|
|
448
|
+
if (mouseConfig && mouseOpts.area) {
|
|
449
|
+
var cellAreas = $table.getCellAreas();
|
|
450
|
+
if (cellAreas && cellAreas.length) {
|
|
451
|
+
cellAreas.forEach(function (areaItem) {
|
|
452
|
+
var rows = areaItem.rows,
|
|
453
|
+
cols = areaItem.cols;
|
|
454
|
+
cols.forEach(function (column) {
|
|
455
|
+
rows.forEach(function (row) {
|
|
456
|
+
$table.revertData(row, column.field);
|
|
457
|
+
});
|
|
458
|
+
});
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
} else {
|
|
462
|
+
$table.revertData(row, column.field);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
/**
|
|
468
|
+
* 还原行数据的值
|
|
469
|
+
*/
|
|
470
|
+
REVERT_ROW: {
|
|
471
|
+
menuMethod: function menuMethod(params) {
|
|
472
|
+
var $table = params.$table,
|
|
473
|
+
row = params.row;
|
|
474
|
+
if (row) {
|
|
475
|
+
$table.revertData(row);
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
/**
|
|
480
|
+
* 还原复选框选中行数据的值
|
|
481
|
+
*/
|
|
482
|
+
REVERT_CHECKBOX_ROW: {
|
|
483
|
+
menuMethod: function menuMethod(params) {
|
|
484
|
+
var $table = params.$table;
|
|
485
|
+
$table.revertData($table.getCheckboxRecords());
|
|
486
|
+
}
|
|
487
|
+
},
|
|
488
|
+
/**
|
|
489
|
+
* 还原所有数据的值
|
|
490
|
+
*/
|
|
491
|
+
REVERT_ALL: {
|
|
492
|
+
menuMethod: function menuMethod(params) {
|
|
493
|
+
var $table = params.$table;
|
|
494
|
+
$table.revertData();
|
|
495
|
+
}
|
|
496
|
+
},
|
|
497
|
+
/**
|
|
498
|
+
* 复制单元格数据的值;如果启用 mouse-config.area 功能,则复制区域范围内的单元格数据,支持 Excel 和 WPS
|
|
499
|
+
*/
|
|
500
|
+
COPY_CELL: {
|
|
501
|
+
menuMethod: function menuMethod(params) {
|
|
502
|
+
handleCopyOrCut(params);
|
|
503
|
+
}
|
|
504
|
+
},
|
|
505
|
+
/**
|
|
506
|
+
* 剪贴单元格数据的值;如果启用 mouse-config.area 功能,则剪贴区域范围内的单元格数据,支持 Excel 和 WPS
|
|
507
|
+
*/
|
|
508
|
+
CUT_CELL: {
|
|
509
|
+
menuMethod: function menuMethod(params) {
|
|
510
|
+
handleCopyOrCut(params, true);
|
|
511
|
+
}
|
|
512
|
+
},
|
|
513
|
+
/**
|
|
514
|
+
* 粘贴从表格中被复制的数据;如果启用 mouse-config.area 功能,则粘贴区域范围内的单元格数据,不支持读取剪贴板
|
|
515
|
+
*/
|
|
516
|
+
PASTE_CELL: {
|
|
517
|
+
menuMethod: function menuMethod(params) {
|
|
518
|
+
var $event = params.$event,
|
|
519
|
+
$table = params.$table,
|
|
520
|
+
row = params.row,
|
|
521
|
+
column = params.column;
|
|
522
|
+
var props = $table.props;
|
|
523
|
+
var mouseConfig = props.mouseConfig;
|
|
524
|
+
var _$table$getComputeMap6 = $table.getComputeMaps(),
|
|
525
|
+
computeMouseOpts = _$table$getComputeMap6.computeMouseOpts;
|
|
526
|
+
var mouseOpts = computeMouseOpts.value;
|
|
527
|
+
if (mouseConfig && mouseOpts.area) {
|
|
528
|
+
$table.triggerPasteCellAreaEvent($event);
|
|
529
|
+
} else {
|
|
530
|
+
var clipboard = getClipboardObj();
|
|
531
|
+
// 读取内置剪贴板
|
|
532
|
+
if (clipboard && clipboard.text) {
|
|
533
|
+
_xeUtils["default"].set(row, column.field, clipboard.text);
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
},
|
|
538
|
+
/**
|
|
539
|
+
* 如果启用 mouse-config.area 功能,如果所选区域内已存在合并单元格,则取消临时合并,否则临时合并
|
|
540
|
+
*/
|
|
541
|
+
MERGE_OR_CLEAR: {
|
|
542
|
+
menuMethod: function menuMethod(params) {
|
|
543
|
+
var $event = params.$event,
|
|
544
|
+
$table = params.$table;
|
|
545
|
+
var cellAreas = $table.getCellAreas();
|
|
546
|
+
var beenMerges = getBeenMerges(params);
|
|
547
|
+
var status = false;
|
|
548
|
+
if (beenMerges.length) {
|
|
549
|
+
$table.removeMergeCells(beenMerges);
|
|
550
|
+
} else {
|
|
551
|
+
status = true;
|
|
552
|
+
$table.setMergeCells(cellAreas.map(function (_ref2) {
|
|
553
|
+
var rows = _ref2.rows,
|
|
554
|
+
cols = _ref2.cols;
|
|
555
|
+
return {
|
|
556
|
+
row: rows[0],
|
|
557
|
+
col: cols[0],
|
|
558
|
+
rowspan: rows.length,
|
|
559
|
+
colspan: cols.length
|
|
560
|
+
};
|
|
561
|
+
}));
|
|
562
|
+
}
|
|
563
|
+
var targetAreas = cellAreas.map(function (_ref3) {
|
|
564
|
+
var rows = _ref3.rows,
|
|
565
|
+
cols = _ref3.cols;
|
|
566
|
+
return {
|
|
567
|
+
rows: rows,
|
|
568
|
+
cols: cols
|
|
569
|
+
};
|
|
570
|
+
});
|
|
571
|
+
$table.dispatchEvent('cell-area-merge', {
|
|
572
|
+
status: status,
|
|
573
|
+
targetAreas: targetAreas
|
|
574
|
+
}, $event);
|
|
575
|
+
}
|
|
576
|
+
},
|
|
577
|
+
/**
|
|
578
|
+
* 如果启用 mouse-config.area 功能,临时合并区域范围内的单元格,不管是否存在已合并
|
|
579
|
+
*/
|
|
580
|
+
MERGE_CELL: {
|
|
581
|
+
menuMethod: function menuMethod(params) {
|
|
582
|
+
var $event = params.$event,
|
|
583
|
+
$table = params.$table;
|
|
584
|
+
var _$table$getTableData3 = $table.getTableData(),
|
|
585
|
+
visibleData = _$table$getTableData3.visibleData;
|
|
586
|
+
var _$table$getTableColum3 = $table.getTableColumn(),
|
|
587
|
+
visibleColumn = _$table$getTableColum3.visibleColumn;
|
|
588
|
+
var cellAreas = $table.getCellAreas();
|
|
589
|
+
handleClearMergeCells(params);
|
|
590
|
+
if (cellAreas.some(function (_ref4) {
|
|
591
|
+
var rows = _ref4.rows,
|
|
592
|
+
cols = _ref4.cols;
|
|
593
|
+
return rows.length === visibleData.length || cols.length === visibleColumn.length;
|
|
594
|
+
})) {
|
|
595
|
+
if (VxeUI.modal) {
|
|
596
|
+
VxeUI.modal.message({
|
|
597
|
+
content: VxeUI.getI18n('vxe.pro.area.mergeErr'),
|
|
598
|
+
status: 'error',
|
|
599
|
+
id: 'operErr'
|
|
600
|
+
});
|
|
601
|
+
}
|
|
602
|
+
return;
|
|
603
|
+
}
|
|
604
|
+
$table.setMergeCells(cellAreas.map(function (_ref5) {
|
|
605
|
+
var rows = _ref5.rows,
|
|
606
|
+
cols = _ref5.cols;
|
|
607
|
+
return {
|
|
608
|
+
row: rows[0],
|
|
609
|
+
col: cols[0],
|
|
610
|
+
rowspan: rows.length,
|
|
611
|
+
colspan: cols.length
|
|
612
|
+
};
|
|
613
|
+
}));
|
|
614
|
+
var targetAreas = cellAreas.map(function (_ref6) {
|
|
615
|
+
var rows = _ref6.rows,
|
|
616
|
+
cols = _ref6.cols;
|
|
617
|
+
return {
|
|
618
|
+
rows: rows,
|
|
619
|
+
cols: cols
|
|
620
|
+
};
|
|
621
|
+
});
|
|
622
|
+
$table.dispatchEvent('cell-area-merge', {
|
|
623
|
+
status: true,
|
|
624
|
+
targetAreas: targetAreas
|
|
625
|
+
}, $event);
|
|
626
|
+
}
|
|
627
|
+
},
|
|
628
|
+
/**
|
|
629
|
+
* 如果启用 mouse-config.area 功能,清除区域范围内单元格的临时合并状态
|
|
630
|
+
*/
|
|
631
|
+
CLEAR_MERGE_CELL: {
|
|
632
|
+
menuMethod: function menuMethod(params) {
|
|
633
|
+
var $event = params.$event,
|
|
634
|
+
$table = params.$table;
|
|
635
|
+
var beenMerges = handleClearMergeCells(params);
|
|
636
|
+
if (beenMerges.length) {
|
|
637
|
+
$table.dispatchEvent('clear-cell-area-merge', {
|
|
638
|
+
mergeCells: beenMerges
|
|
639
|
+
}, $event);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
},
|
|
643
|
+
/**
|
|
644
|
+
* 清除所有单元格及表尾的临时合并状态
|
|
645
|
+
*/
|
|
646
|
+
CLEAR_ALL_MERGE: {
|
|
647
|
+
menuMethod: function menuMethod(params) {
|
|
648
|
+
var $event = params.$event,
|
|
649
|
+
$table = params.$table;
|
|
650
|
+
var mergeCells = $table.getMergeCells();
|
|
651
|
+
var mergeFooterItems = $table.getMergeFooterItems();
|
|
652
|
+
$table.clearMergeCells();
|
|
653
|
+
$table.clearMergeFooterItems();
|
|
654
|
+
$table.dispatchEvent('clear-merge', {
|
|
655
|
+
mergeCells: mergeCells,
|
|
656
|
+
mergeFooterItems: mergeFooterItems
|
|
657
|
+
}, $event);
|
|
658
|
+
}
|
|
659
|
+
},
|
|
660
|
+
/**
|
|
661
|
+
* 编辑单元格
|
|
662
|
+
*/
|
|
663
|
+
EDIT_CELL: {
|
|
664
|
+
menuMethod: function menuMethod(params) {
|
|
665
|
+
var $table = params.$table,
|
|
666
|
+
row = params.row,
|
|
667
|
+
column = params.column;
|
|
668
|
+
if ($table.setEditCell) {
|
|
669
|
+
$table.setEditCell(row, column);
|
|
670
|
+
} else {
|
|
671
|
+
// 兼容老版本
|
|
672
|
+
$table.setActiveCell(row, column.field);
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
},
|
|
676
|
+
/**
|
|
677
|
+
* 编辑行
|
|
678
|
+
*/
|
|
679
|
+
EDIT_ROW: {
|
|
680
|
+
menuMethod: function menuMethod(params) {
|
|
681
|
+
var $table = params.$table,
|
|
682
|
+
row = params.row;
|
|
683
|
+
if ($table.setEditRow) {
|
|
684
|
+
$table.setEditRow(row);
|
|
685
|
+
} else {
|
|
686
|
+
// 兼容老版本
|
|
687
|
+
$table.setActiveRow(row);
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
},
|
|
691
|
+
/**
|
|
692
|
+
* 插入数据
|
|
693
|
+
*/
|
|
694
|
+
INSERT_ROW: {
|
|
695
|
+
menuMethod: function menuMethod(params) {
|
|
696
|
+
var $table = params.$table,
|
|
697
|
+
menu = params.menu;
|
|
698
|
+
$table.insert(menu.params);
|
|
699
|
+
}
|
|
700
|
+
},
|
|
701
|
+
/**
|
|
702
|
+
* 插入数据并激活编辑状态
|
|
703
|
+
*/
|
|
704
|
+
INSERT_ACTIVED_ROW: {
|
|
705
|
+
menuMethod: function menuMethod(params) {
|
|
706
|
+
var $table = params.$table,
|
|
707
|
+
menu = params.menu,
|
|
708
|
+
column = params.column;
|
|
709
|
+
var args = menu.params || []; // [{}, 'field']
|
|
710
|
+
$table.insert(args[0]).then(function (_ref7) {
|
|
711
|
+
var row = _ref7.row;
|
|
712
|
+
if ($table.setEditCell) {
|
|
713
|
+
$table.setEditCell(row, args[1] || column);
|
|
714
|
+
} else {
|
|
715
|
+
// 兼容老版本
|
|
716
|
+
$table.setActiveCell(row, args[1] || column.field);
|
|
717
|
+
}
|
|
718
|
+
});
|
|
719
|
+
}
|
|
720
|
+
},
|
|
721
|
+
/**
|
|
722
|
+
* 插入数据到指定位置
|
|
723
|
+
*/
|
|
724
|
+
INSERT_AT_ROW: {
|
|
725
|
+
menuMethod: function menuMethod(params) {
|
|
726
|
+
var $table = params.$table,
|
|
727
|
+
menu = params.menu,
|
|
728
|
+
row = params.row;
|
|
729
|
+
if (row) {
|
|
730
|
+
$table.insertAt(menu.params, row);
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
},
|
|
734
|
+
/**
|
|
735
|
+
* 插入数据到指定位置并激活编辑状态
|
|
736
|
+
*/
|
|
737
|
+
INSERT_AT_ACTIVED_ROW: {
|
|
738
|
+
menuMethod: function menuMethod(params) {
|
|
739
|
+
var $table = params.$table,
|
|
740
|
+
menu = params.menu,
|
|
741
|
+
row = params.row,
|
|
742
|
+
column = params.column;
|
|
743
|
+
if (row) {
|
|
744
|
+
var args = menu.params || []; // [{}, 'field']
|
|
745
|
+
$table.insertAt(args[0], row).then(function (_ref8) {
|
|
746
|
+
var row = _ref8.row;
|
|
747
|
+
if ($table.setEditCell) {
|
|
748
|
+
$table.setEditCell(row, args[1] || column);
|
|
749
|
+
} else {
|
|
750
|
+
// 兼容老版本
|
|
751
|
+
$table.setActiveCell(row, args[1] || column.field);
|
|
752
|
+
}
|
|
753
|
+
});
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
},
|
|
757
|
+
/**
|
|
758
|
+
* 移除行数据
|
|
759
|
+
*/
|
|
760
|
+
DELETE_ROW: {
|
|
761
|
+
menuMethod: function menuMethod(params) {
|
|
762
|
+
var $table = params.$table,
|
|
763
|
+
row = params.row;
|
|
764
|
+
if (row) {
|
|
765
|
+
$table.remove(row);
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
},
|
|
769
|
+
/**
|
|
770
|
+
* 如果启用 mouse-config.area 功能,移除所选区域行数据
|
|
771
|
+
*/
|
|
772
|
+
DELETE_AREA_ROW: {
|
|
773
|
+
menuMethod: function menuMethod(params) {
|
|
774
|
+
var $table = params.$table;
|
|
775
|
+
var props = $table.props;
|
|
776
|
+
var mouseConfig = props.mouseConfig;
|
|
777
|
+
var _$table$getComputeMap7 = $table.getComputeMaps(),
|
|
778
|
+
computeMouseOpts = _$table$getComputeMap7.computeMouseOpts;
|
|
779
|
+
var mouseOpts = computeMouseOpts.value;
|
|
780
|
+
var cellAreas = mouseConfig && mouseOpts.area ? $table.getCellAreas() : [];
|
|
781
|
+
return cellAreas.forEach(function (areaItem) {
|
|
782
|
+
var rows = areaItem.rows;
|
|
783
|
+
$table.remove(rows);
|
|
784
|
+
});
|
|
785
|
+
}
|
|
786
|
+
},
|
|
787
|
+
/**
|
|
788
|
+
* 移除复选框选中行数据
|
|
789
|
+
*/
|
|
790
|
+
DELETE_CHECKBOX_ROW: {
|
|
791
|
+
menuMethod: function menuMethod(params) {
|
|
792
|
+
var $table = params.$table;
|
|
793
|
+
$table.removeCheckboxRow();
|
|
794
|
+
}
|
|
795
|
+
},
|
|
796
|
+
/**
|
|
797
|
+
* 移除所有行数据
|
|
798
|
+
*/
|
|
799
|
+
DELETE_ALL: {
|
|
800
|
+
menuMethod: function menuMethod(params) {
|
|
801
|
+
var $table = params.$table;
|
|
802
|
+
$table.remove();
|
|
803
|
+
}
|
|
804
|
+
},
|
|
805
|
+
/**
|
|
806
|
+
* 清除所选列排序条件
|
|
807
|
+
*/
|
|
808
|
+
CLEAR_SORT: {
|
|
809
|
+
menuMethod: function menuMethod(params) {
|
|
810
|
+
var $event = params.$event,
|
|
811
|
+
$table = params.$table,
|
|
812
|
+
column = params.column;
|
|
813
|
+
if (column) {
|
|
814
|
+
$table.triggerSortEvent($event, column, null);
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
},
|
|
818
|
+
/**
|
|
819
|
+
* 清除所有排序条件
|
|
820
|
+
*/
|
|
821
|
+
CLEAR_ALL_SORT: {
|
|
822
|
+
menuMethod: function menuMethod(params) {
|
|
823
|
+
var $event = params.$event,
|
|
824
|
+
$table = params.$table;
|
|
825
|
+
var sortList = $table.getSortColumns();
|
|
826
|
+
if (sortList.length) {
|
|
827
|
+
$table.clearSort();
|
|
828
|
+
$table.dispatchEvent('clear-sort', {
|
|
829
|
+
sortList: sortList
|
|
830
|
+
}, $event);
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
},
|
|
834
|
+
/**
|
|
835
|
+
* 按所选列的值升序
|
|
836
|
+
*/
|
|
837
|
+
SORT_ASC: {
|
|
838
|
+
menuMethod: function menuMethod(params) {
|
|
839
|
+
var $event = params.$event,
|
|
840
|
+
$table = params.$table,
|
|
841
|
+
column = params.column;
|
|
842
|
+
if (column) {
|
|
843
|
+
$table.triggerSortEvent($event, column, 'asc');
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
},
|
|
847
|
+
/**
|
|
848
|
+
* 按所选列的值倒序
|
|
849
|
+
*/
|
|
850
|
+
SORT_DESC: {
|
|
851
|
+
menuMethod: function menuMethod(params) {
|
|
852
|
+
var $event = params.$event,
|
|
853
|
+
$table = params.$table,
|
|
854
|
+
column = params.column;
|
|
855
|
+
if (column) {
|
|
856
|
+
$table.triggerSortEvent($event, column, 'desc');
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
},
|
|
860
|
+
/**
|
|
861
|
+
* 清除复选框选中列的筛选条件
|
|
862
|
+
*/
|
|
863
|
+
CLEAR_FILTER: {
|
|
864
|
+
menuMethod: function menuMethod(params) {
|
|
865
|
+
var $event = params.$event,
|
|
866
|
+
$table = params.$table,
|
|
867
|
+
column = params.column;
|
|
868
|
+
if (column) {
|
|
869
|
+
$table.handleClearFilter(column);
|
|
870
|
+
$table.confirmFilterEvent($event);
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
},
|
|
874
|
+
/**
|
|
875
|
+
* 清除所有列筛选条件
|
|
876
|
+
*/
|
|
877
|
+
CLEAR_ALL_FILTER: {
|
|
878
|
+
menuMethod: function menuMethod(params) {
|
|
879
|
+
var $event = params.$event,
|
|
880
|
+
$table = params.$table;
|
|
881
|
+
var filterList = $table.getCheckedFilters();
|
|
882
|
+
if (filterList.length) {
|
|
883
|
+
$table.clearFilter();
|
|
884
|
+
$table.dispatchEvent('clear-filter', {
|
|
885
|
+
filterList: filterList
|
|
886
|
+
}, $event);
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
},
|
|
890
|
+
/**
|
|
891
|
+
* 根据单元格值筛选
|
|
892
|
+
*/
|
|
893
|
+
FILTER_CELL: {
|
|
894
|
+
menuMethod: function menuMethod(params) {
|
|
895
|
+
var $table = params.$table,
|
|
896
|
+
row = params.row,
|
|
897
|
+
column = params.column;
|
|
898
|
+
if (row && column) {
|
|
899
|
+
var field = column.field,
|
|
900
|
+
filters = column.filters;
|
|
901
|
+
if (filters.length) {
|
|
902
|
+
var option = filters[0];
|
|
903
|
+
option.data = _xeUtils["default"].get(row, field);
|
|
904
|
+
option.checked = true;
|
|
905
|
+
$table.updateData();
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
},
|
|
910
|
+
/**
|
|
911
|
+
* 导出行数据
|
|
912
|
+
*/
|
|
913
|
+
EXPORT_ROW: {
|
|
914
|
+
menuMethod: function menuMethod(params) {
|
|
915
|
+
var $table = params.$table,
|
|
916
|
+
menu = params.menu,
|
|
917
|
+
row = params.row;
|
|
918
|
+
if (row) {
|
|
919
|
+
var opts = {
|
|
920
|
+
data: [row]
|
|
921
|
+
};
|
|
922
|
+
$table.exportData(_xeUtils["default"].assign(opts, menu.params[0]));
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
},
|
|
926
|
+
/**
|
|
927
|
+
* 导出复选框选中行数据
|
|
928
|
+
*/
|
|
929
|
+
EXPORT_CHECKBOX_ROW: {
|
|
930
|
+
menuMethod: function menuMethod(params) {
|
|
931
|
+
var $table = params.$table,
|
|
932
|
+
menu = params.menu;
|
|
933
|
+
var opts = {
|
|
934
|
+
data: $table.getCheckboxRecords()
|
|
935
|
+
};
|
|
936
|
+
$table.exportData(_xeUtils["default"].assign(opts, menu.params[0]));
|
|
937
|
+
}
|
|
938
|
+
},
|
|
939
|
+
/**
|
|
940
|
+
* 导出所有行数据
|
|
941
|
+
*/
|
|
942
|
+
EXPORT_ALL: {
|
|
943
|
+
menuMethod: function menuMethod(params) {
|
|
944
|
+
var $table = params.$table,
|
|
945
|
+
menu = params.menu;
|
|
946
|
+
$table.exportData(menu.params);
|
|
947
|
+
}
|
|
948
|
+
},
|
|
949
|
+
/**
|
|
950
|
+
* 打印所有行数据
|
|
951
|
+
*/
|
|
952
|
+
PRINT_ALL: {
|
|
953
|
+
menuMethod: function menuMethod(params) {
|
|
954
|
+
var $table = params.$table,
|
|
955
|
+
menu = params.menu;
|
|
956
|
+
$table.print(menu.params);
|
|
957
|
+
}
|
|
958
|
+
},
|
|
959
|
+
/**
|
|
960
|
+
* 打印复选框选中行
|
|
961
|
+
*/
|
|
962
|
+
PRINT_CHECKBOX_ROW: {
|
|
963
|
+
menuMethod: function menuMethod(params) {
|
|
964
|
+
var $table = params.$table,
|
|
965
|
+
menu = params.menu;
|
|
966
|
+
var opts = {
|
|
967
|
+
data: $table.getCheckboxRecords()
|
|
968
|
+
};
|
|
969
|
+
$table.print(_xeUtils["default"].assign(opts, menu.params));
|
|
970
|
+
}
|
|
971
|
+
},
|
|
972
|
+
/**
|
|
973
|
+
* 打开查找功能
|
|
974
|
+
*/
|
|
975
|
+
OPEN_FIND: {
|
|
976
|
+
menuMethod: function menuMethod(params) {
|
|
977
|
+
var $event = params.$event,
|
|
978
|
+
$table = params.$table;
|
|
979
|
+
$table.triggerFNROpenEvent($event, 'find');
|
|
980
|
+
}
|
|
981
|
+
},
|
|
982
|
+
/**
|
|
983
|
+
* 打开替换功能
|
|
984
|
+
*/
|
|
985
|
+
OPEN_REPLACE: {
|
|
986
|
+
menuMethod: function menuMethod(params) {
|
|
987
|
+
var $event = params.$event,
|
|
988
|
+
$table = params.$table;
|
|
989
|
+
$table.triggerFNROpenEvent($event, 'replace');
|
|
990
|
+
}
|
|
991
|
+
},
|
|
992
|
+
/**
|
|
993
|
+
* 隐藏当前列
|
|
994
|
+
*/
|
|
995
|
+
HIDDEN_COLUMN: {
|
|
996
|
+
menuMethod: function menuMethod(params) {
|
|
997
|
+
var $table = params.$table,
|
|
998
|
+
column = params.column;
|
|
999
|
+
if (column) {
|
|
1000
|
+
$table.hideColumn(column);
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
},
|
|
1004
|
+
/**
|
|
1005
|
+
* 将列固定到左侧
|
|
1006
|
+
*/
|
|
1007
|
+
FIXED_LEFT_COLUMN: handleFixedColumn('left'),
|
|
1008
|
+
/**
|
|
1009
|
+
* 将列固定到右侧
|
|
1010
|
+
*/
|
|
1011
|
+
FIXED_RIGHT_COLUMN: handleFixedColumn('right'),
|
|
1012
|
+
/**
|
|
1013
|
+
* 清除固定列
|
|
1014
|
+
*/
|
|
1015
|
+
CLEAR_FIXED_COLUMN: handleFixedColumn(null),
|
|
1016
|
+
/**
|
|
1017
|
+
* 重置列的可视状态
|
|
1018
|
+
*/
|
|
1019
|
+
RESET_COLUMN: {
|
|
1020
|
+
menuMethod: function menuMethod(params) {
|
|
1021
|
+
var $table = params.$table;
|
|
1022
|
+
$table.resetColumn({
|
|
1023
|
+
visible: true,
|
|
1024
|
+
resizable: false
|
|
1025
|
+
});
|
|
1026
|
+
}
|
|
1027
|
+
},
|
|
1028
|
+
/**
|
|
1029
|
+
* 重置列宽状态
|
|
1030
|
+
*/
|
|
1031
|
+
RESET_RESIZABLE: {
|
|
1032
|
+
menuMethod: function menuMethod(params) {
|
|
1033
|
+
var $table = params.$table;
|
|
1034
|
+
$table.resetColumn({
|
|
1035
|
+
visible: false,
|
|
1036
|
+
resizable: true
|
|
1037
|
+
});
|
|
1038
|
+
}
|
|
1039
|
+
},
|
|
1040
|
+
/**
|
|
1041
|
+
* 重置列的所有状态
|
|
1042
|
+
*/
|
|
1043
|
+
RESET_ALL: {
|
|
1044
|
+
menuMethod: function menuMethod(params) {
|
|
1045
|
+
var $table = params.$table;
|
|
1046
|
+
$table.resetColumn(true);
|
|
1047
|
+
}
|
|
1048
|
+
}
|
|
1049
|
+
});
|
|
1050
|
+
VxeUI.interceptor.add('event.showMenu', handlePrivilegeEvent);
|
|
1051
|
+
}
|
|
1052
|
+
};
|
|
1053
|
+
if (typeof window !== 'undefined' && window.VxeUI && window.VxeUI.use) {
|
|
1054
|
+
window.VxeUI.use(VxeUIPluginMenu);
|
|
1055
|
+
}
|
|
1056
|
+
var _default = _exports["default"] = VxeUIPluginMenu;
|
|
1057
|
+
});
|