vxe-table 4.7.3 → 4.7.5
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/es/colgroup/index.js +1 -1
- package/es/column/index.js +1 -1
- package/es/grid/index.js +1 -1
- package/es/grid/src/grid.js +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/index.js +1 -1
- package/es/table/module/custom/hook.js +19 -3
- package/es/table/module/custom/panel.js +264 -160
- package/es/table/module/edit/hook.js +1 -1
- package/es/table/module/export/export-panel.js +1 -1
- package/es/table/module/export/hook.js +1 -1
- package/es/table/module/export/import-panel.js +1 -1
- package/es/table/module/filter/hook.js +1 -1
- package/es/table/module/filter/panel.js +1 -1
- package/es/table/module/menu/hook.js +1 -1
- package/es/table/module/validator/hook.js +1 -1
- package/es/table/render/index.js +1 -1
- package/es/table/src/body.js +1 -1
- package/es/table/src/cell.js +1 -1
- package/es/table/src/columnInfo.js +3 -1
- package/es/table/src/props.js +1 -1
- package/es/table/src/table.js +9 -3
- package/es/table/style.css +69 -9
- package/es/table/style.min.css +1 -1
- package/es/toolbar/index.js +1 -1
- package/es/toolbar/src/toolbar.js +2 -2
- package/es/ui/index.js +4 -2
- package/es/vxe-table/style.css +69 -9
- package/es/vxe-table/style.min.css +1 -1
- package/lib/colgroup/index.js +4 -4
- package/lib/colgroup/index.min.js +1 -1
- package/lib/column/index.js +4 -4
- package/lib/column/index.min.js +1 -1
- package/lib/grid/index.js +3 -3
- package/lib/grid/index.min.js +1 -1
- package/lib/grid/src/grid.js +20 -20
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +864 -737
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/index.js +3 -3
- package/lib/table/index.min.js +1 -1
- package/lib/table/module/custom/hook.js +25 -4
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +178 -84
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +2 -2
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +2 -2
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/hook.js +20 -20
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/export/import-panel.js +2 -2
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/filter/hook.js +2 -2
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/filter/panel.js +2 -2
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/menu/hook.js +2 -2
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +2 -2
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +2 -2
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +2 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +2 -2
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +4 -2
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/props.js +2 -2
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +15 -6
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +69 -9
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/index.js +3 -3
- package/lib/toolbar/index.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +3 -3
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +4 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/vxe-table/style/style.css +69 -9
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/colgroup/index.ts +1 -1
- package/packages/column/index.ts +1 -1
- package/packages/grid/index.ts +1 -1
- package/packages/grid/src/grid.ts +1 -1
- package/packages/table/index.ts +1 -1
- package/packages/table/module/custom/hook.ts +20 -4
- package/packages/table/module/custom/panel.ts +273 -166
- package/packages/table/module/edit/hook.ts +1 -1
- package/packages/table/module/export/export-panel.ts +1 -1
- package/packages/table/module/export/hook.ts +1 -1
- package/packages/table/module/export/import-panel.ts +1 -1
- package/packages/table/module/filter/hook.ts +1 -1
- package/packages/table/module/filter/panel.ts +1 -1
- package/packages/table/module/menu/hook.ts +1 -1
- package/packages/table/module/validator/hook.ts +1 -1
- package/packages/table/render/index.ts +1 -1
- package/packages/table/src/body.ts +1 -1
- package/packages/table/src/cell.ts +1 -1
- package/packages/table/src/columnInfo.ts +5 -1
- package/packages/table/src/props.ts +1 -1
- package/packages/table/src/table.ts +9 -3
- package/packages/toolbar/index.ts +1 -1
- package/packages/toolbar/src/toolbar.ts +2 -2
- package/packages/ui/index.ts +2 -0
- package/styles/components/table-module/custom.scss +78 -4
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _vue = require("vue");
|
|
8
|
-
var
|
|
8
|
+
var _ui = require("../../../ui");
|
|
9
9
|
var _utils = require("../../../ui/src/utils");
|
|
10
10
|
var _dom = require("../../../ui/src/dom");
|
|
11
11
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
@@ -13,7 +13,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
13
13
|
const {
|
|
14
14
|
getI18n,
|
|
15
15
|
getIcon
|
|
16
|
-
} =
|
|
16
|
+
} = _ui.VxeUI;
|
|
17
17
|
var _default = exports.default = (0, _vue.defineComponent)({
|
|
18
18
|
name: 'TableCustomPanel',
|
|
19
19
|
props: {
|
|
@@ -25,6 +25,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
25
25
|
setup(props) {
|
|
26
26
|
const $xeTable = (0, _vue.inject)('$xeTable', {});
|
|
27
27
|
const {
|
|
28
|
+
props: tableProps,
|
|
28
29
|
reactData
|
|
29
30
|
} = $xeTable;
|
|
30
31
|
const {
|
|
@@ -51,37 +52,90 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
51
52
|
customStore.activeWrapper = false;
|
|
52
53
|
setTimeout(() => {
|
|
53
54
|
if (!customStore.activeBtn && !customStore.activeWrapper) {
|
|
54
|
-
$xeTable.
|
|
55
|
+
$xeTable.customCloseEvent(evnt);
|
|
55
56
|
}
|
|
56
57
|
}, 300);
|
|
57
58
|
};
|
|
59
|
+
const getStoreData = () => {
|
|
60
|
+
return {};
|
|
61
|
+
};
|
|
62
|
+
const handleSaveStore = type => {
|
|
63
|
+
const {
|
|
64
|
+
id
|
|
65
|
+
} = tableProps;
|
|
66
|
+
const customOpts = computeCustomOpts.value;
|
|
67
|
+
const {
|
|
68
|
+
storage,
|
|
69
|
+
updateStore
|
|
70
|
+
} = customOpts;
|
|
71
|
+
if (storage && id && updateStore) {
|
|
72
|
+
updateStore({
|
|
73
|
+
id,
|
|
74
|
+
type,
|
|
75
|
+
storeData: getStoreData()
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
};
|
|
58
79
|
const confirmCustomEvent = evnt => {
|
|
59
|
-
|
|
80
|
+
const {
|
|
81
|
+
customColumnList
|
|
82
|
+
} = reactData;
|
|
83
|
+
customColumnList.forEach((column, index) => {
|
|
84
|
+
const sortIndex = index + 1;
|
|
85
|
+
column.renderSortNumber = sortIndex;
|
|
86
|
+
column.fixed = column.renderFixed;
|
|
87
|
+
column.visible = column.renderVisible;
|
|
88
|
+
});
|
|
60
89
|
$xeTable.closeCustom();
|
|
61
90
|
$xeTable.emitCustomEvent('confirm', evnt);
|
|
91
|
+
handleSaveStore('confirm');
|
|
62
92
|
};
|
|
63
93
|
const cancelCustomEvent = evnt => {
|
|
94
|
+
const {
|
|
95
|
+
customStore
|
|
96
|
+
} = props;
|
|
97
|
+
const {
|
|
98
|
+
customColumnList
|
|
99
|
+
} = reactData;
|
|
100
|
+
const {
|
|
101
|
+
oldSortMaps,
|
|
102
|
+
oldFixedMaps,
|
|
103
|
+
oldVisibleMaps
|
|
104
|
+
} = customStore;
|
|
105
|
+
_xeUtils.default.eachTree(customColumnList, column => {
|
|
106
|
+
const colid = column.getKey();
|
|
107
|
+
const visible = !!oldVisibleMaps[colid];
|
|
108
|
+
const fixed = oldFixedMaps[colid] || '';
|
|
109
|
+
column.renderVisible = visible;
|
|
110
|
+
column.visible = visible;
|
|
111
|
+
column.renderFixed = fixed;
|
|
112
|
+
column.fixed = fixed;
|
|
113
|
+
column.renderSortNumber = oldSortMaps[colid] || 0;
|
|
114
|
+
}, {
|
|
115
|
+
children: 'children'
|
|
116
|
+
});
|
|
64
117
|
$xeTable.closeCustom();
|
|
65
118
|
$xeTable.emitCustomEvent('cancel', evnt);
|
|
66
119
|
};
|
|
67
|
-
const
|
|
120
|
+
const handleResetCustomEvent = evnt => {
|
|
68
121
|
$xeTable.resetColumn(true);
|
|
69
122
|
$xeTable.closeCustom();
|
|
70
123
|
$xeTable.emitCustomEvent('reset', evnt);
|
|
124
|
+
handleSaveStore('confirm');
|
|
71
125
|
};
|
|
72
|
-
const
|
|
73
|
-
if (
|
|
74
|
-
|
|
126
|
+
const resetCustomEvent = evnt => {
|
|
127
|
+
if (_ui.VxeUI.modal) {
|
|
128
|
+
_ui.VxeUI.modal.confirm({
|
|
75
129
|
content: getI18n('vxe.custom.cstmConfirmRestore'),
|
|
76
130
|
className: 'vxe-table--ignore-clear',
|
|
77
131
|
escClosable: true
|
|
78
132
|
}).then(type => {
|
|
79
133
|
if (type === 'confirm') {
|
|
80
|
-
|
|
134
|
+
handleResetCustomEvent(evnt);
|
|
81
135
|
}
|
|
82
136
|
});
|
|
83
137
|
} else {
|
|
84
|
-
|
|
138
|
+
handleResetCustomEvent(evnt);
|
|
85
139
|
}
|
|
86
140
|
};
|
|
87
141
|
const handleOptionCheck = column => {
|
|
@@ -94,17 +148,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
94
148
|
parent
|
|
95
149
|
} = matchObj;
|
|
96
150
|
if (parent.children && parent.children.length) {
|
|
97
|
-
parent.
|
|
98
|
-
parent.halfVisible = !parent.
|
|
151
|
+
parent.renderVisible = parent.children.every(column => column.renderVisible);
|
|
152
|
+
parent.halfVisible = !parent.renderVisible && parent.children.some(column => column.renderVisible || column.halfVisible);
|
|
99
153
|
handleOptionCheck(parent);
|
|
100
154
|
}
|
|
101
155
|
}
|
|
102
156
|
};
|
|
103
157
|
const changeCheckboxOption = column => {
|
|
104
|
-
const isChecked = !column.
|
|
158
|
+
const isChecked = !column.renderVisible;
|
|
105
159
|
const customOpts = computeCustomOpts.value;
|
|
106
160
|
_xeUtils.default.eachTree([column], item => {
|
|
107
|
-
item.
|
|
161
|
+
item.renderVisible = isChecked;
|
|
108
162
|
item.halfVisible = false;
|
|
109
163
|
});
|
|
110
164
|
handleOptionCheck(column);
|
|
@@ -115,20 +169,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
115
169
|
};
|
|
116
170
|
const changeFixedOption = (column, colFixed) => {
|
|
117
171
|
const isMaxFixedColumn = computeIsMaxFixedColumn.value;
|
|
118
|
-
if (column.
|
|
119
|
-
|
|
172
|
+
if (column.renderFixed === colFixed) {
|
|
173
|
+
column.renderFixed = '';
|
|
174
|
+
// $xeTable.clearColumnFixed(column)
|
|
120
175
|
} else {
|
|
121
|
-
if (!isMaxFixedColumn || column.
|
|
122
|
-
|
|
176
|
+
if (!isMaxFixedColumn || column.renderFixed) {
|
|
177
|
+
column.renderFixed = colFixed;
|
|
178
|
+
// $xeTable.setColumnFixed(column, colFixed)
|
|
123
179
|
}
|
|
124
180
|
}
|
|
125
181
|
};
|
|
126
|
-
const changePopupFixedOption =
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
182
|
+
// const changePopupFixedOption = () => {
|
|
183
|
+
// const isMaxFixedColumn = computeIsMaxFixedColumn.value
|
|
184
|
+
// if (!isMaxFixedColumn) {
|
|
185
|
+
// // $xeTable.setColumnFixed(column, column.fixed)
|
|
186
|
+
// }
|
|
187
|
+
// }
|
|
132
188
|
const allCustomEvent = () => {
|
|
133
189
|
const {
|
|
134
190
|
customStore
|
|
@@ -145,7 +201,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
145
201
|
if (!checkMethod || checkMethod({
|
|
146
202
|
column
|
|
147
203
|
})) {
|
|
148
|
-
column.
|
|
204
|
+
column.renderVisible = isAll;
|
|
149
205
|
column.halfVisible = false;
|
|
150
206
|
}
|
|
151
207
|
});
|
|
@@ -180,16 +236,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
180
236
|
evnt.dataTransfer.setDragImage(img, 0, 0);
|
|
181
237
|
}
|
|
182
238
|
};
|
|
183
|
-
const updateColumnSort = () => {
|
|
184
|
-
const {
|
|
185
|
-
customColumnList
|
|
186
|
-
} = reactData;
|
|
187
|
-
// 更新顺序
|
|
188
|
-
customColumnList.forEach((column, index) => {
|
|
189
|
-
const sortIndex = index + 1;
|
|
190
|
-
column.renderSortNumber = sortIndex;
|
|
191
|
-
});
|
|
192
|
-
};
|
|
193
239
|
const sortDragendEvent = evnt => {
|
|
194
240
|
const {
|
|
195
241
|
customColumnList
|
|
@@ -229,8 +275,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
229
275
|
}
|
|
230
276
|
(0, _dom.removeClass)(trEl, 'active--drag-target');
|
|
231
277
|
(0, _dom.removeClass)(trEl, 'active--drag-origin');
|
|
232
|
-
// 更新顺序
|
|
233
|
-
updateColumnSort();
|
|
234
278
|
};
|
|
235
279
|
const sortDragoverEvent = evnt => {
|
|
236
280
|
const trEl = evnt.currentTarget;
|
|
@@ -278,6 +322,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
278
322
|
const {
|
|
279
323
|
checkMethod,
|
|
280
324
|
visibleMethod,
|
|
325
|
+
allowSort,
|
|
326
|
+
allowFixed,
|
|
281
327
|
trigger
|
|
282
328
|
} = customOpts;
|
|
283
329
|
const isMaxFixedColumn = computeIsMaxFixedColumn.value;
|
|
@@ -293,7 +339,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
293
339
|
column
|
|
294
340
|
}) : true;
|
|
295
341
|
if (isVisible) {
|
|
296
|
-
const isChecked = column.
|
|
342
|
+
const isChecked = column.renderVisible;
|
|
297
343
|
const isIndeterminate = column.halfVisible;
|
|
298
344
|
const isColGroup = column.children && column.children.length;
|
|
299
345
|
const colTitle = (0, _utils.formatText)(column.getTitle(), 1);
|
|
@@ -302,16 +348,20 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
302
348
|
}) : false;
|
|
303
349
|
colVNs.push((0, _vue.h)('li', {
|
|
304
350
|
key: column.id,
|
|
351
|
+
colid: column.id,
|
|
305
352
|
class: ['vxe-table-custom--option', `level--${column.level}`, {
|
|
306
353
|
'is--group': isColGroup
|
|
307
|
-
}]
|
|
354
|
+
}],
|
|
355
|
+
onDragstart: sortDragstartEvent,
|
|
356
|
+
onDragend: sortDragendEvent,
|
|
357
|
+
onDragover: sortDragoverEvent
|
|
308
358
|
}, [(0, _vue.h)('div', {
|
|
309
|
-
title: colTitle,
|
|
310
359
|
class: ['vxe-table-custom--checkbox-option', {
|
|
311
360
|
'is--checked': isChecked,
|
|
312
361
|
'is--indeterminate': isIndeterminate,
|
|
313
362
|
'is--disabled': isDisabled
|
|
314
363
|
}],
|
|
364
|
+
title: getI18n('vxe.custom.setting.colVisible'),
|
|
315
365
|
onClick: () => {
|
|
316
366
|
if (!isDisabled) {
|
|
317
367
|
changeCheckboxOption(column);
|
|
@@ -319,29 +369,39 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
319
369
|
}
|
|
320
370
|
}, [(0, _vue.h)('span', {
|
|
321
371
|
class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
322
|
-
}), (0, _vue.h)('
|
|
323
|
-
class: 'vxe-
|
|
324
|
-
},
|
|
372
|
+
})]), allowSort && column.level === 1 ? (0, _vue.h)('div', {
|
|
373
|
+
class: 'vxe-table-custom--sort-option'
|
|
374
|
+
}, [(0, _vue.h)('span', {
|
|
375
|
+
class: 'vxe-table-custom--sort-btn',
|
|
376
|
+
title: getI18n('vxe.custom.setting.sortHelpTip'),
|
|
377
|
+
onMousedown: sortMousedownEvent,
|
|
378
|
+
onMouseup: sortMouseupEvent
|
|
379
|
+
}, [(0, _vue.h)('i', {
|
|
380
|
+
class: getIcon().TABLE_CUSTOM_SORT
|
|
381
|
+
})])]) : (0, _vue.createCommentVNode)(), (0, _vue.h)('div', {
|
|
382
|
+
class: 'vxe-table-custom--checkbox-label',
|
|
383
|
+
title: colTitle
|
|
384
|
+
}, colTitle), !parent && allowFixed ? (0, _vue.h)('div', {
|
|
325
385
|
class: 'vxe-table-custom--fixed-option'
|
|
326
386
|
}, [(0, _vue.h)('span', {
|
|
327
|
-
class: ['vxe-table-custom--fixed-left-option', column.
|
|
328
|
-
'is--checked': column.
|
|
329
|
-
'is--disabled': isMaxFixedColumn && !column.
|
|
387
|
+
class: ['vxe-table-custom--fixed-left-option', column.renderFixed === 'left' ? getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_LEFT, {
|
|
388
|
+
'is--checked': column.renderFixed === 'left',
|
|
389
|
+
'is--disabled': isMaxFixedColumn && !column.renderFixed
|
|
330
390
|
}],
|
|
331
|
-
title: getI18n(column.
|
|
391
|
+
title: getI18n(column.renderFixed === 'left' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedLeft'),
|
|
332
392
|
onClick: () => {
|
|
333
393
|
changeFixedOption(column, 'left');
|
|
334
394
|
}
|
|
335
395
|
}), (0, _vue.h)('span', {
|
|
336
|
-
class: ['vxe-table-custom--fixed-right-option', column.
|
|
337
|
-
'is--checked': column.
|
|
338
|
-
'is--disabled': isMaxFixedColumn && !column.
|
|
396
|
+
class: ['vxe-table-custom--fixed-right-option', column.renderFixed === 'right' ? getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE : getIcon().TOOLBAR_TOOLS_FIXED_RIGHT, {
|
|
397
|
+
'is--checked': column.renderFixed === 'right',
|
|
398
|
+
'is--disabled': isMaxFixedColumn && !column.renderFixed
|
|
339
399
|
}],
|
|
340
|
-
title: getI18n(column.
|
|
400
|
+
title: getI18n(column.renderFixed === 'right' ? 'vxe.toolbar.cancelFixed' : 'vxe.toolbar.fixedRight'),
|
|
341
401
|
onClick: () => {
|
|
342
402
|
changeFixedOption(column, 'right');
|
|
343
403
|
}
|
|
344
|
-
})]) :
|
|
404
|
+
})]) : (0, _vue.createCommentVNode)()]));
|
|
345
405
|
}
|
|
346
406
|
});
|
|
347
407
|
const isAllChecked = customStore.isAll;
|
|
@@ -352,7 +412,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
352
412
|
class: ['vxe-table-custom-wrapper', {
|
|
353
413
|
'is--active': customStore.visible
|
|
354
414
|
}]
|
|
355
|
-
}, [(0, _vue.h)('ul', {
|
|
415
|
+
}, customStore.visible ? [(0, _vue.h)('ul', {
|
|
356
416
|
class: 'vxe-table-custom--header'
|
|
357
417
|
}, [(0, _vue.h)('li', {
|
|
358
418
|
class: 'vxe-table-custom--option'
|
|
@@ -367,20 +427,33 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
367
427
|
class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
368
428
|
}), (0, _vue.h)('span', {
|
|
369
429
|
class: 'vxe-checkbox--label'
|
|
370
|
-
}, getI18n('vxe.toolbar.customAll'))])])]), (0, _vue.h)('
|
|
430
|
+
}, getI18n('vxe.toolbar.customAll'))])])]), (0, _vue.h)('div', {
|
|
431
|
+
ref: bodyElemRef,
|
|
432
|
+
class: 'vxe-table-custom--list-wrapper'
|
|
433
|
+
}, [(0, _vue.h)(_vue.TransitionGroup, Object.assign({
|
|
371
434
|
class: 'vxe-table-custom--body',
|
|
435
|
+
name: 'vxe-table-custom--list',
|
|
436
|
+
tag: 'ul',
|
|
372
437
|
style: maxHeight ? {
|
|
373
438
|
maxHeight: `${maxHeight}px`
|
|
374
439
|
} : {}
|
|
375
|
-
}, customWrapperOns),
|
|
440
|
+
}, customWrapperOns), {
|
|
441
|
+
default: () => colVNs
|
|
442
|
+
}), (0, _vue.h)('div', {
|
|
443
|
+
ref: dragHintElemRef,
|
|
444
|
+
class: 'vxe-table-custom-popup--drag-hint'
|
|
445
|
+
}, getI18n('vxe.custom.cstmDragTarget', [dragColumn.value ? dragColumn.value.getTitle() : '']))]), customOpts.showFooter ? (0, _vue.h)('div', {
|
|
376
446
|
class: 'vxe-table-custom--footer'
|
|
377
447
|
}, [(0, _vue.h)('button', {
|
|
378
448
|
class: 'btn--reset',
|
|
379
449
|
onClick: resetCustomEvent
|
|
380
|
-
}, customOpts.resetButtonText || getI18n('vxe.
|
|
450
|
+
}, customOpts.resetButtonText || getI18n('vxe.table.customRestore')), customOpts.immediate ? (0, _vue.createCommentVNode)() : (0, _vue.h)('button', {
|
|
451
|
+
class: 'btn--cancel',
|
|
452
|
+
onClick: cancelCustomEvent
|
|
453
|
+
}, customOpts.resetButtonText || getI18n('vxe.table.customCancel')), (0, _vue.h)('button', {
|
|
381
454
|
class: 'btn--confirm',
|
|
382
455
|
onClick: confirmCustomEvent
|
|
383
|
-
}, customOpts.confirmButtonText || getI18n('vxe.
|
|
456
|
+
}, customOpts.confirmButtonText || getI18n('vxe.table.customConfirm'))]) : null] : []);
|
|
384
457
|
};
|
|
385
458
|
const renderPopupPanel = () => {
|
|
386
459
|
const {
|
|
@@ -391,6 +464,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
391
464
|
} = reactData;
|
|
392
465
|
const customOpts = computeCustomOpts.value;
|
|
393
466
|
const {
|
|
467
|
+
allowSort,
|
|
468
|
+
allowFixed,
|
|
394
469
|
checkMethod,
|
|
395
470
|
visibleMethod
|
|
396
471
|
} = customOpts;
|
|
@@ -402,7 +477,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
402
477
|
column
|
|
403
478
|
}) : true;
|
|
404
479
|
if (isVisible) {
|
|
405
|
-
const isChecked = column.
|
|
480
|
+
const isChecked = column.renderVisible;
|
|
406
481
|
const isIndeterminate = column.halfVisible;
|
|
407
482
|
const colTitle = (0, _utils.formatText)(column.getTitle(), 1);
|
|
408
483
|
const isColGroup = column.children && column.children.length;
|
|
@@ -419,19 +494,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
419
494
|
onDragend: sortDragendEvent,
|
|
420
495
|
onDragover: sortDragoverEvent
|
|
421
496
|
}, [(0, _vue.h)('td', {
|
|
422
|
-
class: 'vxe-table-custom-popup--column-item col--sort'
|
|
423
|
-
}, [column.level === 1 ? (0, _vue.h)('span', {
|
|
424
|
-
class: 'vxe-table-custom-popup--column-sort-btn',
|
|
425
|
-
onMousedown: sortMousedownEvent,
|
|
426
|
-
onMouseup: sortMouseupEvent
|
|
427
|
-
}, [(0, _vue.h)('i', {
|
|
428
|
-
class: 'vxe-icon-sort'
|
|
429
|
-
})]) : null]), (0, _vue.h)('td', {
|
|
430
|
-
class: 'vxe-table-custom-popup--column-item col--name'
|
|
431
|
-
}, [(0, _vue.h)('div', {
|
|
432
|
-
class: 'vxe-table-custom-popup--name',
|
|
433
|
-
title: colTitle
|
|
434
|
-
}, colTitle)]), (0, _vue.h)('td', {
|
|
435
497
|
class: 'vxe-table-custom-popup--column-item col--visible'
|
|
436
498
|
}, [(0, _vue.h)('div', {
|
|
437
499
|
class: ['vxe-table-custom--checkbox-option', {
|
|
@@ -439,6 +501,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
439
501
|
'is--indeterminate': isIndeterminate,
|
|
440
502
|
'is--disabled': isDisabled
|
|
441
503
|
}],
|
|
504
|
+
title: getI18n('vxe.custom.setting.colVisible'),
|
|
442
505
|
onClick: () => {
|
|
443
506
|
if (!isDisabled) {
|
|
444
507
|
changeCheckboxOption(column);
|
|
@@ -446,10 +509,24 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
446
509
|
}
|
|
447
510
|
}, [(0, _vue.h)('span', {
|
|
448
511
|
class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
449
|
-
})])]), (0, _vue.h)('td', {
|
|
512
|
+
})])]), allowSort ? (0, _vue.h)('td', {
|
|
513
|
+
class: 'vxe-table-custom-popup--column-item col--sort'
|
|
514
|
+
}, [column.level === 1 ? (0, _vue.h)('span', {
|
|
515
|
+
class: 'vxe-table-custom-popup--column-sort-btn',
|
|
516
|
+
title: getI18n('vxe.custom.setting.sortHelpTip'),
|
|
517
|
+
onMousedown: sortMousedownEvent,
|
|
518
|
+
onMouseup: sortMouseupEvent
|
|
519
|
+
}, [(0, _vue.h)('i', {
|
|
520
|
+
class: getIcon().TABLE_CUSTOM_SORT
|
|
521
|
+
})]) : null]) : (0, _vue.createCommentVNode)(), (0, _vue.h)('td', {
|
|
522
|
+
class: 'vxe-table-custom-popup--column-item col--name'
|
|
523
|
+
}, [(0, _vue.h)('div', {
|
|
524
|
+
class: 'vxe-table-custom-popup--name',
|
|
525
|
+
title: colTitle
|
|
526
|
+
}, colTitle)]), allowFixed ? (0, _vue.h)('td', {
|
|
450
527
|
class: 'vxe-table-custom-popup--column-item col--fixed'
|
|
451
|
-
}, [!parent
|
|
452
|
-
modelValue: column.
|
|
528
|
+
}, [!parent ? (0, _vue.h)((0, _vue.resolveComponent)('vxe-radio-group'), {
|
|
529
|
+
modelValue: column.renderFixed || '',
|
|
453
530
|
type: 'button',
|
|
454
531
|
size: 'mini',
|
|
455
532
|
options: [{
|
|
@@ -465,14 +542,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
465
542
|
disabled: isMaxFixedColumn
|
|
466
543
|
}],
|
|
467
544
|
'onUpdate:modelValue'(value) {
|
|
468
|
-
column.
|
|
469
|
-
},
|
|
470
|
-
onChange() {
|
|
471
|
-
changePopupFixedOption(column);
|
|
545
|
+
column.renderFixed = value;
|
|
472
546
|
}
|
|
473
|
-
|
|
547
|
+
// onChange () {
|
|
548
|
+
// changePopupFixedOption(column)
|
|
549
|
+
// }
|
|
550
|
+
}) : null]) : (0, _vue.createCommentVNode)()]));
|
|
474
551
|
}
|
|
475
552
|
});
|
|
553
|
+
const isAllChecked = customStore.isAll;
|
|
554
|
+
const isAllIndeterminate = customStore.isIndeterminate;
|
|
476
555
|
return (0, _vue.h)((0, _vue.resolveComponent)('vxe-modal'), {
|
|
477
556
|
key: 'popup',
|
|
478
557
|
className: 'vxe-table-custom-popup-wrapper vxe-table--ignore-clear',
|
|
@@ -502,15 +581,30 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
502
581
|
style: {
|
|
503
582
|
width: '80px'
|
|
504
583
|
}
|
|
505
|
-
}),
|
|
584
|
+
}), allowSort ? (0, _vue.h)('col', {
|
|
506
585
|
style: {
|
|
507
586
|
width: '80px'
|
|
508
587
|
}
|
|
509
|
-
}), (0, _vue.h)('col', {
|
|
588
|
+
}) : (0, _vue.createCommentVNode)(), (0, _vue.h)('col', {
|
|
589
|
+
style: {
|
|
590
|
+
minWidth: '120px'
|
|
591
|
+
}
|
|
592
|
+
}), allowFixed ? (0, _vue.h)('col', {
|
|
510
593
|
style: {
|
|
511
594
|
width: '200px'
|
|
512
595
|
}
|
|
513
|
-
})]), (0, _vue.h)('thead', {}, [(0, _vue.h)('tr', {}, [(0, _vue.h)('th', {}, [(0, _vue.h)('
|
|
596
|
+
}) : (0, _vue.createCommentVNode)()]), (0, _vue.h)('thead', {}, [(0, _vue.h)('tr', {}, [(0, _vue.h)('th', {}, [(0, _vue.h)('div', {
|
|
597
|
+
class: ['vxe-table-custom--checkbox-option', {
|
|
598
|
+
'is--checked': isAllChecked,
|
|
599
|
+
'is--indeterminate': isAllIndeterminate
|
|
600
|
+
}],
|
|
601
|
+
title: getI18n('vxe.table.allTitle'),
|
|
602
|
+
onClick: allCustomEvent
|
|
603
|
+
}, [(0, _vue.h)('span', {
|
|
604
|
+
class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
|
|
605
|
+
}), (0, _vue.h)('span', {
|
|
606
|
+
class: 'vxe-checkbox--label'
|
|
607
|
+
}, getI18n('vxe.toolbar.customAll'))])]), allowSort ? (0, _vue.h)('th', {}, [(0, _vue.h)('span', {
|
|
514
608
|
class: 'vxe-table-custom-popup--table-sort-help-title'
|
|
515
609
|
}, getI18n('vxe.custom.setting.colSort')), (0, _vue.h)((0, _vue.resolveComponent)('vxe-tooltip'), {
|
|
516
610
|
enterable: true,
|
|
@@ -521,7 +615,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
521
615
|
class: 'vxe-table-custom-popup--table-sort-help-icon vxe-icon-question-circle-fill'
|
|
522
616
|
});
|
|
523
617
|
}
|
|
524
|
-
})])
|
|
618
|
+
})]) : (0, _vue.createCommentVNode)(), (0, _vue.h)('th', {}, getI18n('vxe.custom.setting.colTitle')), allowFixed ? (0, _vue.h)('th', {}, getI18n('vxe.custom.setting.colFixed', [columnOpts.maxFixedSize || 0])) : (0, _vue.createCommentVNode)()])]), (0, _vue.h)(_vue.TransitionGroup, {
|
|
525
619
|
class: 'vxe-table-custom--body',
|
|
526
620
|
tag: 'tbody',
|
|
527
621
|
name: 'vxe-table-custom--list'
|
|
@@ -537,7 +631,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
537
631
|
class: 'vxe-table-custom-popup--footer'
|
|
538
632
|
}, [(0, _vue.h)((0, _vue.resolveComponent)('vxe-button'), {
|
|
539
633
|
content: customOpts.resetButtonText || getI18n('vxe.custom.cstmRestore'),
|
|
540
|
-
onClick:
|
|
634
|
+
onClick: resetCustomEvent
|
|
541
635
|
}), (0, _vue.h)((0, _vue.resolveComponent)('vxe-button'), {
|
|
542
636
|
content: customOpts.resetButtonText || getI18n('vxe.custom.cstmCancel'),
|
|
543
637
|
onClick: cancelCustomEvent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_vxePcUi=require("vxe-pc-ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon}=_vxePcUi.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(c){const n=(0,_vue.inject)("$xeTable",{}),f=n["reactData"],{computeCustomOpts:C,computeColumnOpts:I,computeIsMaxFixedColumn:T}=n.getComputeMaps(),E=(0,_vue.ref)(),k=(0,_vue.ref)(),B=(0,_vue.ref)(),O=(0,_vue.ref)();let r;const y=e=>{var t=c["customStore"];t.activeWrapper=!0,n.customOpenEvent(e)},A=e=>{const t=c["customStore"];t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||n.customColseEvent(e)},300)},L=e=>{v(),n.closeCustom(),n.emitCustomEvent("confirm",e)},H=e=>{n.closeCustom(),n.emitCustomEvent("cancel",e)},D=e=>{n.resetColumn(!0),n.closeCustom(),n.emitCustomEvent("reset",e)},U=t=>{_vxePcUi.VxeUI.modal?_vxePcUi.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&D(t)}):D(t)},l=t=>{var e=f["customColumnList"],e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e["parent"],e.children)&&e.children.length&&(e.visible=e.children.every(e=>e.visible),e.halfVisible=!e.visible&&e.children.some(e=>e.visible||e.halfVisible),l(e))},F=e=>{const t=!e.visible;var o=C.value;_xeUtils.default.eachTree([e],e=>{e.visible=t,e.halfVisible=!1}),l(e),o.immediate&&n.handleCustom(),n.checkCustomStatus()},M=(e,t)=>{var o=T.value;e.fixed===t?n.clearColumnFixed(e):o&&!e.fixed||n.setColumnFixed(e,t)},R=e=>{T.value||n.setColumnFixed(e,e.fixed)},N=()=>{var e=c["customStore"],t=f["customColumnList"];const o=C.value["checkMethod"],l=!e.isAll;_xeUtils.default.eachTree(t,e=>{o&&!o({column:e})||(e.visible=l,e.halfVisible=!1)}),e.isAll=l,n.checkCustomStatus()},V=e=>{var e=e.currentTarget.parentNode.parentNode,t=e.getAttribute("colid"),t=n.getColumnById(t);e.draggable=!0,O.value=t,(0,_dom.addClass)(e,"active--drag-origin")},w=e=>{var e=e.currentTarget.parentNode.parentNode,t=B.value;e.draggable=!1,(O.value=null,_dom.removeClass)(e,"active--drag-origin"),t&&(t.style.display="")},K=e=>{var t=new Image;e.dataTransfer&&e.dataTransfer.setDragImage(t,0,0)},v=()=>{var e=f["customColumnList"];e.forEach((e,t)=>{e.renderSortNumber=t+1})},S=e=>{var t=f["customColumnList"],e=e.currentTarget,o=B.value;if(r){if(r!==e){var l=r.getAttribute("drag-pos"),s=e.getAttribute("colid");const a=n.getColumnById(s);if(!a)return;var s=_xeUtils.default.findIndexOf(t,e=>e.id===a.id),i=r.getAttribute("colid");const u=n.getColumnById(i);if(!u)return;t.splice(s,1);i=_xeUtils.default.findIndexOf(t,e=>e.id===u.id);t.splice(i+("bottom"===l?1:0),0,a)}r.draggable=!1,r.removeAttribute("drag-pos"),(0,_dom.removeClass)(r,"active--drag-target")}O.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),o&&(o.style.display=""),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin"),v()},X=e=>{var t=e.currentTarget,o=(r!==t&&(0,_dom.removeClass)(r,"active--drag-target"),t.getAttribute("colid")),o=n.getColumnById(o);o&&1===o.level&&(e.preventDefault(),o=e.clientY-t.getBoundingClientRect().y<t.clientHeight/2?"top":"bottom",(0,_dom.addClass)(t,"active--drag-target"),t.setAttribute("drag-pos",o),r=t);{o=e;var l=B.value,s=k.value;s&&l&&(e=(t=s.parentNode).getBoundingClientRect(),l.style.display="block",l.style.top=Math.min(t.clientHeight-t.scrollTop-l.clientHeight,o.clientY-e.y)+"px",l.style.left=Math.min(t.clientWidth-t.scrollLeft-l.clientWidth-16,o.clientX-e.x)+"px")}};return()=>{if("popup"===C.value.mode){const i=c["customStore"];var e=f["customColumnList"];const r=C.value,{checkMethod:v,visibleMethod:d}=r,a=I.value,m=T.value,p=[];return _xeUtils.default.eachTree(e,(t,e,o,l,s)=>{if(!d||d({column:t})){var i=t.visible,a=t.halfVisible,u=(0,_utils.formatText)(t.getTitle(),1),c=t.children&&t.children.length;const n=!!v&&!v({column:t});p.push((0,_vue.h)("tr",{key:t.id,colid:t.id,class:["vxe-table-custom-popup--row level--"+t.level,{"is--group":c}],onDragstart:K,onDragend:S,onDragover:X},[(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--sort"},[1===t.level?(0,_vue.h)("span",{class:"vxe-table-custom-popup--column-sort-btn",onMousedown:V,onMouseup:w},[(0,_vue.h)("i",{class:"vxe-icon-sort"})]):null]),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name",title:u},u)]),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":a,"is--disabled":n}],onClick:()=>{n||F(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[!s&&r.allowFixed?(0,_vue.h)((0,_vue.resolveComponent)("vxe-radio-group"),{modelValue:t.fixed||"",type:"button",size:"mini",options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:m},{label:getI18n("vxe.custom.setting.fixedUnset"),value:""},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:m}],"onUpdate:modelValue"(e){t.fixed=e},onChange(){R(t)}}):null])]))}}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-modal"),{key:"popup",className:"vxe-table-custom-popup-wrapper vxe-table--ignore-clear",modelValue:i.visible,title:getI18n("vxe.custom.cstmTitle"),width:"40vw",minWidth:520,height:"50vh",minHeight:300,mask:!0,lockView:!0,showFooter:!0,resize:!0,escClosable:!0,destroyOnClose:!0,"onUpdate:modelValue"(e){i.visible=e}},{default:()=>(0,_vue.h)("div",{ref:k,class:"vxe-table-custom-popup--body"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[(0,_vue.h)("col",{style:{width:"80px"}}),(0,_vue.h)("col",{}),(0,_vue.h)("col",{style:{width:"80px"}}),(0,_vue.h)("col",{style:{width:"200px"}})]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[(0,_vue.h)("th",{},[(0,_vue.h)("span",{class:"vxe-table-custom-popup--table-sort-help-title"},getI18n("vxe.custom.setting.colSort")),(0,_vue.h)((0,_vue.resolveComponent)("vxe-tooltip"),{enterable:!0,content:getI18n("vxe.custom.setting.sortHelpTip")},{default:()=>(0,_vue.h)("i",{class:"vxe-table-custom-popup--table-sort-help-icon vxe-icon-question-circle-fill"})})]),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colVisible")),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colFixed",[a.maxFixedSize||0]))])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--body",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>p})])]),(0,_vue.h)("div",{ref:B,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[O.value?O.value.getTitle():""]))]),footer:()=>(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:r.resetButtonText||getI18n("vxe.custom.cstmRestore"),onClick:U}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:r.resetButtonText||getI18n("vxe.custom.cstmCancel"),onClick:H}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{status:"primary",content:r.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:L})])})}{var e=c["customStore"],t=f["customColumnList"];const x=C.value;var o=e["maxHeight"];const{checkMethod:h,visibleMethod:g,trigger:u}=x,_=T.value,b=[];var l={},t=("hover"===u&&(l.onMouseenter=y,l.onMouseleave=A),_xeUtils.default.eachTree(t,(e,t,o,l,s)=>{if(!g||g({column:e})){var i=e.visible,a=e.halfVisible,u=e.children&&e.children.length,c=(0,_utils.formatText)(e.getTitle(),1);const n=!!h&&!h({column:e});b.push((0,_vue.h)("li",{key:e.id,class:["vxe-table-custom--option","level--"+e.level,{"is--group":u}]},[(0,_vue.h)("div",{title:c,class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":a,"is--disabled":n}],onClick:()=>{n||F(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},c)]),!s&&x.allowFixed?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[(0,_vue.h)("span",{class:["vxe-table-custom--fixed-left-option","left"===e.fixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,{"is--checked":"left"===e.fixed,"is--disabled":_&&!e.fixed}],title:getI18n("left"===e.fixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{M(e,"left")}}),(0,_vue.h)("span",{class:["vxe-table-custom--fixed-right-option","right"===e.fixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,{"is--checked":"right"===e.fixed,"is--disabled":_&&!e.fixed}],title:getI18n("right"===e.fixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{M(e,"right")}})]):null]))}}),e.isAll),s=e.isIndeterminate;return(0,_vue.h)("div",{ref:E,key:"simple",class:["vxe-table-custom-wrapper",{"is--active":e.visible}]},[(0,_vue.h)("ul",{class:"vxe-table-custom--header"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":t,"is--indeterminate":s}],title:getI18n("vxe.table.allTitle"),onClick:N},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:t?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])])]),(0,_vue.h)("ul",Object.assign({class:"vxe-table-custom--body",style:o?{maxHeight:o+"px"}:{}},l),b),x.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},[(0,_vue.h)("button",{class:"btn--reset",onClick:D},x.resetButtonText||getI18n("vxe.toolbar.customRestore")),(0,_vue.h)("button",{class:"btn--confirm",onClick:L},x.confirmButtonText||getI18n("vxe.toolbar.customConfirm"))]):null]);return}}}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(E){const r=(0,_vue.inject)("$xeTable",{}),{props:s,reactData:B}=r,{computeCustomOpts:k,computeColumnOpts:O,computeIsMaxFixedColumn:V}=r.getComputeMaps(),A=(0,_vue.ref)(),y=(0,_vue.ref)(),L=(0,_vue.ref)(),F=(0,_vue.ref)();let u;const H=e=>{var t=E["customStore"];t.activeWrapper=!0,r.customOpenEvent(e)},D=e=>{const t=E["customStore"];t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||r.customCloseEvent(e)},300)},o=e=>{var t=s["id"],{storage:o,updateStore:l}=k.value;o&&t&&l&&l({id:t,type:e,storeData:{}})},N=e=>{var t=B["customColumnList"];t.forEach((e,t)=>{e.renderSortNumber=t+1,e.fixed=e.renderFixed,e.visible=e.renderVisible}),r.closeCustom(),r.emitCustomEvent("confirm",e),o("confirm")},M=e=>{var t=E["customStore"],o=B["customColumnList"];const{oldSortMaps:s,oldFixedMaps:i,oldVisibleMaps:a}=t;_xeUtils.default.eachTree(o,e=>{var t=e.getKey(),o=!!a[t],l=i[t]||"";e.renderVisible=o,e.visible=o,e.renderFixed=l,e.fixed=l,e.renderSortNumber=s[t]||0},{children:"children"}),r.closeCustom(),r.emitCustomEvent("cancel",e)},l=e=>{r.resetColumn(!0),r.closeCustom(),r.emitCustomEvent("reset",e),o("confirm")},S=t=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},i=t=>{var e=B["customColumnList"],e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e["parent"],e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),i(e))},K=e=>{const t=!e.renderVisible;var o=k.value;_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),i(e),o.immediate&&r.handleCustom(),r.checkCustomStatus()},R=(e,t)=>{var o=V.value;e.renderFixed===t?e.renderFixed="":o&&!e.renderFixed||(e.renderFixed=t)},U=()=>{var e=E["customStore"],t=B["customColumnList"];const o=k.value["checkMethod"],l=!e.isAll;_xeUtils.default.eachTree(t,e=>{o&&!o({column:e})||(e.renderVisible=l,e.halfVisible=!1)}),e.isAll=l,r.checkCustomStatus()},w=e=>{var e=e.currentTarget.parentNode.parentNode,t=e.getAttribute("colid"),t=r.getColumnById(t);e.draggable=!0,F.value=t,(0,_dom.addClass)(e,"active--drag-origin")},X=e=>{var e=e.currentTarget.parentNode.parentNode,t=L.value;e.draggable=!1,(F.value=null,_dom.removeClass)(e,"active--drag-origin"),t&&(t.style.display="")},q=e=>{var t=new Image;e.dataTransfer&&e.dataTransfer.setDragImage(t,0,0)},W=e=>{var t=B["customColumnList"],e=e.currentTarget,o=L.value;if(u){if(u!==e){var l=u.getAttribute("drag-pos"),s=e.getAttribute("colid");const a=r.getColumnById(s);if(!a)return;var s=_xeUtils.default.findIndexOf(t,e=>e.id===a.id),i=u.getAttribute("colid");const n=r.getColumnById(i);if(!n)return;t.splice(s,1);i=_xeUtils.default.findIndexOf(t,e=>e.id===n.id);t.splice(i+("bottom"===l?1:0),0,a)}u.draggable=!1,u.removeAttribute("drag-pos"),(0,_dom.removeClass)(u,"active--drag-target")}F.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),o&&(o.style.display=""),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},j=e=>{var t=e.currentTarget,o=(u!==t&&(0,_dom.removeClass)(u,"active--drag-target"),t.getAttribute("colid")),o=r.getColumnById(o);o&&1===o.level&&(e.preventDefault(),o=e.clientY-t.getBoundingClientRect().y<t.clientHeight/2?"top":"bottom",(0,_dom.addClass)(t,"active--drag-target"),t.setAttribute("drag-pos",o),u=t);{o=e;var l=L.value,s=y.value;s&&l&&(e=(t=s.parentNode).getBoundingClientRect(),l.style.display="block",l.style.top=Math.min(t.clientHeight-t.scrollTop-l.clientHeight,o.clientY-e.y)+"px",l.style.left=Math.min(t.clientWidth-t.scrollLeft-l.clientWidth-16,o.clientX-e.x)+"px")}};return()=>{if("popup"===k.value.mode){const a=E["customStore"];var e=B["customColumnList"];const n=k.value,{allowSort:c,allowFixed:v,checkMethod:d,visibleMethod:m}=n,r=O.value,p=V.value,x=[],u=(_xeUtils.default.eachTree(e,(t,e,o,l,s)=>{if(!m||m({column:t})){var i=t.renderVisible,a=t.halfVisible,n=(0,_utils.formatText)(t.getTitle(),1),r=t.children&&t.children.length;const u=!!d&&!d({column:t});x.push((0,_vue.h)("tr",{key:t.id,colid:t.id,class:["vxe-table-custom-popup--row level--"+t.level,{"is--group":r}],onDragstart:q,onDragend:W,onDragover:j},[(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":a,"is--disabled":u}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{u||K(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]),c?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--sort"},[1===t.level?(0,_vue.h)("span",{class:"vxe-table-custom-popup--column-sort-btn",title:getI18n("vxe.custom.setting.sortHelpTip"),onMousedown:w,onMouseup:X},[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):null]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name",title:n},n)]),v?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?null:(0,_vue.h)((0,_vue.resolveComponent)("vxe-radio-group"),{modelValue:t.renderFixed||"",type:"button",size:"mini",options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:p},{label:getI18n("vxe.custom.setting.fixedUnset"),value:""},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:p}],"onUpdate:modelValue"(e){t.renderFixed=e}})]):(0,_vue.createCommentVNode)()]))}}),a.isAll),_=a.isIndeterminate;return(0,_vue.h)((0,_vue.resolveComponent)("vxe-modal"),{key:"popup",className:"vxe-table-custom-popup-wrapper vxe-table--ignore-clear",modelValue:a.visible,title:getI18n("vxe.custom.cstmTitle"),width:"40vw",minWidth:520,height:"50vh",minHeight:300,mask:!0,lockView:!0,showFooter:!0,resize:!0,escClosable:!0,destroyOnClose:!0,"onUpdate:modelValue"(e){a.visible=e}},{default:()=>(0,_vue.h)("div",{ref:y,class:"vxe-table-custom-popup--body"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[(0,_vue.h)("col",{style:{width:"80px"}}),c?(0,_vue.h)("col",{style:{width:"80px"}}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{style:{minWidth:"120px"}}),v?(0,_vue.h)("col",{style:{width:"200px"}}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":u,"is--indeterminate":_}],title:getI18n("vxe.table.allTitle"),onClick:U},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",_?getIcon().TABLE_CHECKBOX_INDETERMINATE:u?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]),c?(0,_vue.h)("th",{},[(0,_vue.h)("span",{class:"vxe-table-custom-popup--table-sort-help-title"},getI18n("vxe.custom.setting.colSort")),(0,_vue.h)((0,_vue.resolveComponent)("vxe-tooltip"),{enterable:!0,content:getI18n("vxe.custom.setting.sortHelpTip")},{default:()=>(0,_vue.h)("i",{class:"vxe-table-custom-popup--table-sort-help-icon vxe-icon-question-circle-fill"})})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),v?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colFixed",[r.maxFixedSize||0])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--body",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>x})])]),(0,_vue.h)("div",{ref:L,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[F.value?F.value.getTitle():""]))]),footer:()=>(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:n.resetButtonText||getI18n("vxe.custom.cstmRestore"),onClick:S}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:n.resetButtonText||getI18n("vxe.custom.cstmCancel"),onClick:M}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{status:"primary",content:n.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:N})])})}{var e=E["customStore"],t=B["customColumnList"],o=k.value,l=e["maxHeight"];const{checkMethod:h,visibleMethod:g,allowSort:b,allowFixed:C,trigger:f}=o,T=V.value,I=[];var s={},t=("hover"===f&&(s.onMouseenter=H,s.onMouseleave=D),_xeUtils.default.eachTree(t,(e,t,o,l,s)=>{if(!g||g({column:e})){var i=e.renderVisible,a=e.halfVisible,n=e.children&&e.children.length,r=(0,_utils.formatText)(e.getTitle(),1);const u=!!h&&!h({column:e});I.push((0,_vue.h)("li",{key:e.id,colid:e.id,class:["vxe-table-custom--option","level--"+e.level,{"is--group":n}],onDragstart:q,onDragend:W,onDragover:j},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":i,"is--indeterminate":a,"is--disabled":u}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{u||K(e)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",a?getIcon().TABLE_CHECKBOX_INDETERMINATE:i?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]),b&&1===e.level?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",{class:"vxe-table-custom--sort-btn",title:getI18n("vxe.custom.setting.sortHelpTip"),onMousedown:w,onMouseup:X},[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--checkbox-label",title:r},r),!s&&C?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[(0,_vue.h)("span",{class:["vxe-table-custom--fixed-left-option","left"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,{"is--checked":"left"===e.renderFixed,"is--disabled":T&&!e.renderFixed}],title:getI18n("left"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{R(e,"left")}}),(0,_vue.h)("span",{class:["vxe-table-custom--fixed-right-option","right"===e.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,{"is--checked":"right"===e.renderFixed,"is--disabled":T&&!e.renderFixed}],title:getI18n("right"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{R(e,"right")}})]):(0,_vue.createCommentVNode)()]))}}),e.isAll),i=e.isIndeterminate;return(0,_vue.h)("div",{ref:A,key:"simple",class:["vxe-table-custom-wrapper",{"is--active":e.visible}]},e.visible?[(0,_vue.h)("ul",{class:"vxe-table-custom--header"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":t,"is--indeterminate":i}],title:getI18n("vxe.table.allTitle"),onClick:U},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:t?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])])]),(0,_vue.h)("div",{ref:y,class:"vxe-table-custom--list-wrapper"},[(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--body",name:"vxe-table-custom--list",tag:"ul",style:l?{maxHeight:l+"px"}:{}},s),{default:()=>I}),(0,_vue.h)("div",{ref:L,class:"vxe-table-custom-popup--drag-hint"},getI18n("vxe.custom.cstmDragTarget",[F.value?F.value.getTitle():""]))]),o.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},[(0,_vue.h)("button",{class:"btn--reset",onClick:S},o.resetButtonText||getI18n("vxe.table.customRestore")),o.immediate?(0,_vue.createCommentVNode)():(0,_vue.h)("button",{class:"btn--cancel",onClick:M},o.resetButtonText||getI18n("vxe.table.customCancel")),(0,_vue.h)("button",{class:"btn--confirm",onClick:N},o.confirmButtonText||getI18n("vxe.table.customConfirm"))]):null]:[]);return}}}});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _vue = require("vue");
|
|
4
4
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
5
|
-
var
|
|
5
|
+
var _ui = require("../../../ui");
|
|
6
6
|
var _utils = require("../../../ui/src/utils");
|
|
7
7
|
var _util = require("../../src/util");
|
|
8
8
|
var _dom = require("../../../ui/src/dom");
|
|
@@ -13,7 +13,7 @@ const {
|
|
|
13
13
|
hooks,
|
|
14
14
|
log,
|
|
15
15
|
getI18n
|
|
16
|
-
} =
|
|
16
|
+
} = _ui.VxeUI;
|
|
17
17
|
const tableEditMethodKeys = ['insert', 'insertAt', 'insertNextAt', 'remove', 'removeCheckboxRow', 'removeRadioRow', 'removeCurrentRow', 'getRecordset', 'getInsertRecords', 'getRemoveRecords', 'getUpdateRecords', 'getEditRecord', 'getActiveRecord', 'getSelectedCell', 'clearEdit', 'clearActived', 'clearSelected', 'isEditByRow', 'isActiveByRow', 'setEditRow', 'setActiveRow', 'setEditCell', 'setActiveCell', 'setSelectCell'];
|
|
18
18
|
hooks.add('tableEditModule', {
|
|
19
19
|
setupTable($xeTable) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,hooks,log,getI18n}=_vxePcUi.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(E){const{props:I,reactData:b,internalData:F}=E,o=E.getRefMaps()["refElem"],{computeMouseOpts:u,computeEditOpts:f,computeCheckboxOpts:x,computeTreeOpts:S}=E.getComputeMaps();let h={},m={};const p=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},n=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")};function a(){var{editStore:e,tableColumn:t}=b,l=f.value,e=e["actived"];const{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>n(r,e)):n(r,o))}function A(e,t){const{tableFullTreeData:a,afterFullData:i,fullDataRowIdData:d,fullAllDataRowIdData:c}=F;var l=S.value;const{rowField:s,parentField:u,mapChildrenField:v}=l,w=l.children||l.childrenField,g=t?"push":"unshift";e.forEach(l=>{const t=l[u];var r=(0,_util.getRowid)(E,l),o=t?_xeUtils.default.findTree(a,e=>t===e[s],{children:v}):null;if(o){var o=o["item"],n=c[(0,_util.getRowid)(E,o)],n=n?n.level:0;let e=o[w],t=o[v];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[w]=[]),e[g](l),t[g](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:o,level:n+1};d[r]=o,c[r]=o}else{"development"===process.env.NODE_ENV&&t&&log.warn("vxe.error.unableInsert"),i[g](l),a[g](l);n={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0};d[r]=n,c[r]=n}})}const r=(t,l,o)=>{const n=I["treeConfig"];var{mergeList:e,editStore:r}=b;const{tableFullTreeData:a,afterFullData:i,tableFullData:d,fullDataRowIdData:c,fullAllDataRowIdData:s}=F,u=S.value,{transform:v,rowField:w,mapChildrenField:g}=u,f=u.children||u.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(E.defineField(t.map(e=>Object.assign(n&&v?{[g]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))n&&v?A(m,!1):(i.unshift(...m),d.unshift(...m),e.forEach(e=>{var t=e["row"];0<t&&(e.row=t+m.length)}));else if(-1===l)n&&v?A(m,!0):(i.push(...m),d.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+m.length)}));else if(n&&v){const h=_xeUtils.default.findTree(a,e=>l[w]===e[w],{children:g});if(h){const R=h["parent"],C=R?R[g]:a;t=s[(0,_util.getRowid)(E,R)];const _=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(E,e);"development"===process.env.NODE_ENV&&e[u.parentField]&&R&&e[u.parentField]!==R[w]&&log.err("vxe.error.errProp",[u.parentField+"="+e[u.parentField],u.parentField+"="+R[w]]),R&&(e[u.parentField]=R[w]);let r=h.index+t;o&&(r+=1),C.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:C,parent:R,level:_+1};c[l]=t,s[l]=t}),R){t=_xeUtils.default.findTree(a,e=>l[w]===e[w],{children:f});if(t){var p=t.items;let e=t.index;o&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&log.warn("vxe.error.unableInsert"),A(m,!0)}else{if(n)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=E.findRowIndexOf(i,l),-1===(r=o?Math.min(i.length,r+1):r))throw new Error(log.err("vxe.error.unableInsert"));i.splice(r,0,...m),d.splice(E.findRowIndexOf(d,l),0,...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}const x=r["insertMaps"];return m.forEach(e=>{var t=(0,_util.getRowid)(E,e);x[t]=e}),E.cacheRowMap(),E.updateScrollYStatus(),E.handleTableData(n&&v),n&&v||E.updateAfterDataIndex(),E.updateFooter(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))};return h={insert(e){return r(e,null)},insertAt(e,t){return r(e,t)},insertNextAt(e,t){return r(e,t,!0)},remove(e){var t=I["treeConfig"];const{mergeList:l,editStore:r,selectCheckboxMaps:o}=b,{tableFullTreeData:n,afterFullData:a,tableFullData:i}=F;var d=x.value,c=S.value;const{transform:s,mapChildrenField:u}=c,v=c.children||c.childrenField,{actived:w,removeMaps:g,insertMaps:f}=r;c=d.checkField;let m=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(e=>{var t;E.isInsertByRow(e)||(t=(0,_util.getRowid)(E,e),g[t]=e)}),!c){const p=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(E,e);p[e]&&delete p[e]}),b.selectCheckboxMaps=p}return i===e?(e=m=i.slice(0),F.tableFullData=[],F.afterFullData=[],E.clearMergeCells()):t&&s?e.forEach(e=>{const t=(0,_util.getRowid)(E,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:u}),l=(l&&(l=l.items.splice(l.index,1),m.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:v})),l=(l&&l.items.splice(l.index,1),E.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=E.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),m.push(t[0]));const r=E.findRowIndexOf(a,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),w.row&&-1<E.findRowIndexOf(e,w.row)&&h.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(E,e);f[e]&&delete f[e]}),E.updateFooter(),E.cacheRowMap(),E.handleTableData(t&&s),t&&s||E.updateAfterDataIndex(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))},removeCheckboxRow(){return h.remove(E.getCheckboxRecords()).then(e=>(E.clearCheckboxRow(),e))},removeRadioRow(){var e=E.getRadioRecord();return h.remove(e||[]).then(e=>(E.clearRadioRow(),e))},removeCurrentRow(){var e=E.getCurrentRecord();return h.remove(e||[]).then(e=>(E.clearCurrentRow(),e))},getRecordset(){return{insertRecords:h.getInsertRecords(),removeRecords:h.getRemoveRecords(),updateRecords:h.getUpdateRecords(),pendingRecords:E.getPendingRecords()}},getInsertRecords(){var e=b["editStore"];const l=F["fullAllDataRowIdData"];e=e.insertMaps;const r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b["editStore"],e=e["removeMaps"];const t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,l=F["tableFullData"],r=S.value;return e?(a(),t?_xeUtils.default.filterTree(l,e=>E.isUpdateByRow(e),r):l.filter(e=>E.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=b["editStore"],t=F["afterFullData"],l=o.value,{args:e,row:r}=e.actived;return e&&-1<E.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=b["editStore"],{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){var t=b["editStore"],{actived:t,focused:l}=t,{row:r,column:o}=t;return(r||o)&&(a(),t.args=null,t.row=null,t.column=null,E.updateFooter(),E.dispatchEvent("edit-closed",{row:r,rowIndex:E.getRowIndex(r),$rowIndex:E.getVMRowIndex(r),column:o,columnIndex:E.getColumnIndex(o),$columnIndex:E.getVMColumnIndex(o)},e||null)),"obsolete"===getConfig().cellVaildMode&&E.clearValidate?E.clearValidate():(l.row=null,(l.column=null,_vue.nextTick)())},clearSelected(){var e=b["editStore"],e=e["selected"];return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=b["editStore"];return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["setActiveRow","setEditRow"]),h.setEditRow(e)},setEditRow(e,t){var l=F["visibleColumn"];let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?E.getColumnByField(t):t),E.setEditCell(e,r)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["setActiveCell","setEditCell"]),h.setEditCell(e,t)},setEditCell(t,e){var l=I["editConfig"];const r=_xeUtils.default.isString(e)?E.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?E.scrollToRow(t,r).then(()=>{var e=E.getCell(t,r);return e&&(m.handleActived({row:t,rowIndex:E.getRowIndex(t),column:r,columnIndex:E.getColumnIndex(r),cell:e,$table:E}),F._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell(e,t){var l=b["tableData"],r=f.value,t=_xeUtils.default.isString(t)?E.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=E.findRowIndexOf(l,e))&&t&&(l=E.getCell(e,t),e={row:e,rowIndex:r,column:t,columnIndex:E.getColumnIndex(t),cell:l},E.handleSelected(e,{})),(0,_vue.nextTick)()}},m={handleActived(t,l){var{editConfig:e,mouseConfig:r}=I,{editStore:o,tableColumn:n}=b,a=f.value,i=a["mode"],{actived:o,focused:d}=o;const{row:c,column:s}=t;var u=s["editRender"],v=t.cell||E.getCell(c,s),w=a.beforeEditMethod||a.activeMethod;if((t.cell=v)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!E.hasPendingByRow(c)){if(o.row!==c||"cell"===i&&o.column!==s){let e="edit-disabled";if(!w||w(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))){r&&(h.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),E.closeTooltip(),o.column&&h.clearEdit(l),e="edit-activated",s.renderHeight=v.offsetHeight,o.args=t,o.row=c,o.column=s,"row"===i?n.forEach(e=>p(c,e)):p(c,s);const g=a.afterEditMethod;(0,_vue.nextTick)(()=>{m.handleFocus(t,l),g&&g(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))})}E.dispatchEvent(e,{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l),"edit-activated"===e&&E.dispatchEvent("edit-actived",{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l)}else{e=o["column"];r&&(h.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),e!==s&&(u=e["model"],u.update&&(0,_util.setCellValue)(c,e,u.value),E.clearValidate)&&E.clearValidate(c,s),s.renderHeight=v.offsetHeight,o.args=t,o.column=s,setTimeout(()=>{m.handleFocus(t,l)})}d.column=null,d.row=null,E.focus()}return(0,_vue.nextTick)()},handleFocus(r){var{row:o,column:n,cell:a}=r,i=n["editRender"];if((0,_utils.isEnableConf)(i)){var d=renderer.get(i.name);let{autofocus:e,autoselect:t}=i,l;!e&&d&&(e=d.autofocus),!t&&d&&(t=d.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=a.querySelector(e))&&l.focus(),l?t?l.select():_dom.browse.msie&&((i=l.createTextRange()).collapse(!1),i.select()):E.scrollToRow(o,n)}},handleSelected(e,t){var l=I["mouseConfig"],r=b["editStore"],o=u.value;const n=f.value,{actived:a,selected:i}=r,{row:d,column:c}=e,s=l&&o.selected;return!s||i.row===d&&i.column===c||(a.row!==d||"cell"===n.mode&&a.column!==c)&&(h.clearEdit(t),h.clearSelected(),E.clearCellAreas&&(E.clearCellAreas(),E.clearCopyCellArea()),i.args=e,i.row=d,i.column=c,s&&m.addCellSelectedClass(),E.focus(),t)&&E.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=b["editStore"],e=e["selected"],{row:e,column:t}=e;l(),e&&t&&(e=E.getCell(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},h),m)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,hooks,log,getI18n}=_ui.VxeUI,tableEditMethodKeys=["insert","insertAt","insertNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];hooks.add("tableEditModule",{setupTable(E){const{props:I,reactData:b,internalData:F}=E,o=E.getRefMaps()["refElem"],{computeMouseOpts:u,computeEditOpts:f,computeCheckboxOpts:x,computeTreeOpts:S}=E.getComputeMaps();let h={},m={};const p=(e,t)=>{var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},n=(e,t)=>{var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},l=()=>{var e=o.value;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")};function a(){var{editStore:e,tableColumn:t}=b,l=f.value,e=e["actived"];const{row:r,column:o}=e;(r||o)&&("row"===l.mode?t.forEach(e=>n(r,e)):n(r,o))}function A(e,t){const{tableFullTreeData:a,afterFullData:i,fullDataRowIdData:d,fullAllDataRowIdData:c}=F;var l=S.value;const{rowField:s,parentField:u,mapChildrenField:v}=l,w=l.children||l.childrenField,g=t?"push":"unshift";e.forEach(l=>{const t=l[u];var r=(0,_util.getRowid)(E,l),o=t?_xeUtils.default.findTree(a,e=>t===e[s],{children:v}):null;if(o){var o=o["item"],n=c[(0,_util.getRowid)(E,o)],n=n?n.level:0;let e=o[w],t=o[v];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[w]=[]),e[g](l),t[g](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:o,level:n+1};d[r]=o,c[r]=o}else{"development"===process.env.NODE_ENV&&t&&log.warn("vxe.error.unableInsert"),i[g](l),a[g](l);n={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0};d[r]=n,c[r]=n}})}const r=(t,l,o)=>{const n=I["treeConfig"];var{mergeList:e,editStore:r}=b;const{tableFullTreeData:a,afterFullData:i,tableFullData:d,fullDataRowIdData:c,fullAllDataRowIdData:s}=F,u=S.value,{transform:v,rowField:w,mapChildrenField:g}=u,f=u.children||u.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),(0,_vue.reactive)(E.defineField(t.map(e=>Object.assign(n&&v?{[g]:[],[f]:[]}:{},e)))));if(_xeUtils.default.eqNull(l))n&&v?A(m,!1):(i.unshift(...m),d.unshift(...m),e.forEach(e=>{var t=e["row"];0<t&&(e.row=t+m.length)}));else if(-1===l)n&&v?A(m,!0):(i.push(...m),d.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>i.length&&(e.rowspan=l+m.length)}));else if(n&&v){const h=_xeUtils.default.findTree(a,e=>l[w]===e[w],{children:g});if(h){const R=h["parent"],C=R?R[g]:a;t=s[(0,_util.getRowid)(E,R)];const _=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(E,e);"development"===process.env.NODE_ENV&&e[u.parentField]&&R&&e[u.parentField]!==R[w]&&log.err("vxe.error.errProp",[u.parentField+"="+e[u.parentField],u.parentField+"="+R[w]]),R&&(e[u.parentField]=R[w]);let r=h.index+t;o&&(r+=1),C.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:C,parent:R,level:_+1};c[l]=t,s[l]=t}),R){t=_xeUtils.default.findTree(a,e=>l[w]===e[w],{children:f});if(t){var p=t.items;let e=t.index;o&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&log.warn("vxe.error.unableInsert"),A(m,!0)}else{if(n)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=E.findRowIndexOf(i,l),-1===(r=o?Math.min(i.length,r+1):r))throw new Error(log.err("vxe.error.unableInsert"));i.splice(r,0,...m),d.splice(E.findRowIndexOf(d,l),0,...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}const x=r["insertMaps"];return m.forEach(e=>{var t=(0,_util.getRowid)(E,e);x[t]=e}),E.cacheRowMap(),E.updateScrollYStatus(),E.handleTableData(n&&v),n&&v||E.updateAfterDataIndex(),E.updateFooter(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))};return h={insert(e){return r(e,null)},insertAt(e,t){return r(e,t)},insertNextAt(e,t){return r(e,t,!0)},remove(e){var t=I["treeConfig"];const{mergeList:l,editStore:r,selectCheckboxMaps:o}=b,{tableFullTreeData:n,afterFullData:a,tableFullData:i}=F;var d=x.value,c=S.value;const{transform:s,mapChildrenField:u}=c,v=c.children||c.childrenField,{actived:w,removeMaps:g,insertMaps:f}=r;c=d.checkField;let m=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(e=>{var t;E.isInsertByRow(e)||(t=(0,_util.getRowid)(E,e),g[t]=e)}),!c){const p=Object.assign({},o);e.forEach(e=>{e=(0,_util.getRowid)(E,e);p[e]&&delete p[e]}),b.selectCheckboxMaps=p}return i===e?(e=m=i.slice(0),F.tableFullData=[],F.afterFullData=[],E.clearMergeCells()):t&&s?e.forEach(e=>{const t=(0,_util.getRowid)(E,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:u}),l=(l&&(l=l.items.splice(l.index,1),m.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(E,e),{children:v})),l=(l&&l.items.splice(l.index,1),E.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):e.forEach(e=>{var t=E.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),m.push(t[0]));const r=E.findRowIndexOf(a,e);-1<r&&(l.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),w.row&&-1<E.findRowIndexOf(e,w.row)&&h.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(E,e);f[e]&&delete f[e]}),E.updateFooter(),E.cacheRowMap(),E.handleTableData(t&&s),t&&s||E.updateAfterDataIndex(),E.checkSelectionStatus(),b.scrollYLoad&&E.updateScrollYSpace(),(0,_vue.nextTick)().then(()=>(E.updateCellAreas(),E.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))},removeCheckboxRow(){return h.remove(E.getCheckboxRecords()).then(e=>(E.clearCheckboxRow(),e))},removeRadioRow(){var e=E.getRadioRecord();return h.remove(e||[]).then(e=>(E.clearRadioRow(),e))},removeCurrentRow(){var e=E.getCurrentRecord();return h.remove(e||[]).then(e=>(E.clearCurrentRow(),e))},getRecordset(){return{insertRecords:h.getInsertRecords(),removeRecords:h.getRemoveRecords(),updateRecords:h.getUpdateRecords(),pendingRecords:E.getPendingRecords()}},getInsertRecords(){var e=b["editStore"];const l=F["fullAllDataRowIdData"];e=e.insertMaps;const r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},getRemoveRecords(){var e=b["editStore"],e=e["removeMaps"];const t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},getUpdateRecords(){var{keepSource:e,treeConfig:t}=I,l=F["tableFullData"],r=S.value;return e?(a(),t?_xeUtils.default.filterTree(l,e=>E.isUpdateByRow(e),r):l.filter(e=>E.isUpdateByRow(e))):[]},getActiveRecord(){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},getEditRecord(){var e=b["editStore"],t=F["afterFullData"],l=o.value,{args:e,row:r}=e.actived;return e&&-1<E.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},getSelectedCell(){var e=b["editStore"],{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},clearActived(e){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},clearEdit(e){var t=b["editStore"],{actived:t,focused:l}=t,{row:r,column:o}=t;return(r||o)&&(a(),t.args=null,t.row=null,t.column=null,E.updateFooter(),E.dispatchEvent("edit-closed",{row:r,rowIndex:E.getRowIndex(r),$rowIndex:E.getVMRowIndex(r),column:o,columnIndex:E.getColumnIndex(o),$columnIndex:E.getVMColumnIndex(o)},e||null)),"obsolete"===getConfig().cellVaildMode&&E.clearValidate?E.clearValidate():(l.row=null,(l.column=null,_vue.nextTick)())},clearSelected(){var e=b["editStore"],e=e["selected"];return e.row=null,e.column=null,l(),(0,_vue.nextTick)()},isActiveByRow(e){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},isEditByRow(e){var t=b["editStore"];return t.actived.row===e},setActiveRow(e){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["setActiveRow","setEditRow"]),h.setEditRow(e)},setEditRow(e,t){var l=F["visibleColumn"];let r=_xeUtils.default.find(l,e=>(0,_utils.isEnableConf)(e.editRender));return t&&(r=_xeUtils.default.isString(t)?E.getColumnByField(t):t),E.setEditCell(e,r)},setActiveCell(e,t){return"development"===process.env.NODE_ENV&&log.warn("vxe.error.delFunc",["setActiveCell","setEditCell"]),h.setEditCell(e,t)},setEditCell(t,e){var l=I["editConfig"];const r=_xeUtils.default.isString(e)?E.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?E.scrollToRow(t,r).then(()=>{var e=E.getCell(t,r);return e&&(m.handleActived({row:t,rowIndex:E.getRowIndex(t),column:r,columnIndex:E.getColumnIndex(r),cell:e,$table:E}),F._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell(e,t){var l=b["tableData"],r=f.value,t=_xeUtils.default.isString(t)?E.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=E.findRowIndexOf(l,e))&&t&&(l=E.getCell(e,t),e={row:e,rowIndex:r,column:t,columnIndex:E.getColumnIndex(t),cell:l},E.handleSelected(e,{})),(0,_vue.nextTick)()}},m={handleActived(t,l){var{editConfig:e,mouseConfig:r}=I,{editStore:o,tableColumn:n}=b,a=f.value,i=a["mode"],{actived:o,focused:d}=o;const{row:c,column:s}=t;var u=s["editRender"],v=t.cell||E.getCell(c,s),w=a.beforeEditMethod||a.activeMethod;if((t.cell=v)&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!E.hasPendingByRow(c)){if(o.row!==c||"cell"===i&&o.column!==s){let e="edit-disabled";if(!w||w(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))){r&&(h.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),E.closeTooltip(),o.column&&h.clearEdit(l),e="edit-activated",s.renderHeight=v.offsetHeight,o.args=t,o.row=c,o.column=s,"row"===i?n.forEach(e=>p(c,e)):p(c,s);const g=a.afterEditMethod;(0,_vue.nextTick)(()=>{m.handleFocus(t,l),g&&g(Object.assign(Object.assign({},t),{$table:E,$grid:E.xegrid}))})}E.dispatchEvent(e,{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l),"edit-activated"===e&&E.dispatchEvent("edit-actived",{row:c,rowIndex:E.getRowIndex(c),$rowIndex:E.getVMRowIndex(c),column:s,columnIndex:E.getColumnIndex(s),$columnIndex:E.getVMColumnIndex(s)},l)}else{e=o["column"];r&&(h.clearSelected(),E.clearCellAreas)&&(E.clearCellAreas(),E.clearCopyCellArea()),e!==s&&(u=e["model"],u.update&&(0,_util.setCellValue)(c,e,u.value),E.clearValidate)&&E.clearValidate(c,s),s.renderHeight=v.offsetHeight,o.args=t,o.column=s,setTimeout(()=>{m.handleFocus(t,l)})}d.column=null,d.row=null,E.focus()}return(0,_vue.nextTick)()},handleFocus(r){var{row:o,column:n,cell:a}=r,i=n["editRender"];if((0,_utils.isEnableConf)(i)){var d=renderer.get(i.name);let{autofocus:e,autoselect:t}=i,l;!e&&d&&(e=d.autofocus),!t&&d&&(t=d.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=a.querySelector(e))&&l.focus(),l?t?l.select():_dom.browse.msie&&((i=l.createTextRange()).collapse(!1),i.select()):E.scrollToRow(o,n)}},handleSelected(e,t){var l=I["mouseConfig"],r=b["editStore"],o=u.value;const n=f.value,{actived:a,selected:i}=r,{row:d,column:c}=e,s=l&&o.selected;return!s||i.row===d&&i.column===c||(a.row!==d||"cell"===n.mode&&a.column!==c)&&(h.clearEdit(t),h.clearSelected(),E.clearCellAreas&&(E.clearCellAreas(),E.clearCopyCellArea()),i.args=e,i.row=d,i.column=c,s&&m.addCellSelectedClass(),E.focus(),t)&&E.dispatchEvent("cell-selected",e,t),(0,_vue.nextTick)()},addCellSelectedClass(){var e=b["editStore"],e=e["selected"],{row:e,column:t}=e;l(),e&&t&&(e=E.getCell(e,t))&&(0,_dom.addClass)(e,"col--selected")}},Object.assign(Object.assign({},h),m)},setupGrid(e){return e.extendTableMethods(tableEditMethodKeys)}});
|