vxe-table 4.1.4 → 4.1.7
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/edit/src/hook.js +189 -69
- package/es/form/src/form.js +2 -2
- package/es/input/src/input.js +8 -2
- package/es/table/src/body.js +6 -3
- package/es/table/src/props.js +6 -6
- package/es/table/src/table.js +53 -42
- package/es/v-x-e-table/src/conf.js +4 -1
- package/es/validator/src/hook.js +3 -3
- package/lib/edit/src/hook.js +243 -70
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/form/src/form.js +2 -2
- package/lib/form/src/form.min.js +1 -1
- package/lib/index.umd.js +340 -224
- package/lib/index.umd.min.js +2 -1
- package/lib/input/src/input.js +10 -2
- package/lib/input/src/input.min.js +1 -1
- package/lib/table/src/body.js +6 -3
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/props.js +6 -6
- package/lib/table/src/table.js +57 -45
- package/lib/table/src/table.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +4 -1
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/validator/src/hook.js +3 -3
- package/lib/validator/src/hook.min.js +1 -1
- package/package.json +3 -26
- package/packages/edit/src/hook.ts +183 -69
- package/packages/form/src/form.ts +2 -2
- package/packages/input/src/input.ts +9 -2
- package/packages/table/src/body.ts +6 -3
- package/packages/table/src/props.ts +6 -6
- package/packages/table/src/table.ts +52 -40
- package/packages/v-x-e-table/src/conf.ts +4 -1
- package/packages/v-x-e-table/src/renderer.ts +1 -1
- package/packages/validator/src/hook.ts +3 -3
- package/types/edit.d.ts +6 -3
- package/types/plugins/pro.d.ts +6 -6
- package/types/table.d.ts +9 -0
- package/types/v-x-e-table/renderer.d.ts +4 -2
package/lib/edit/src/hook.js
CHANGED
|
@@ -113,6 +113,69 @@ var editHook = {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
+
function insertTreeRow(newRecords, isAppend) {
|
|
117
|
+
var treeFullData = internalData.treeFullData,
|
|
118
|
+
afterFullData = internalData.afterFullData,
|
|
119
|
+
fullDataRowIdData = internalData.fullDataRowIdData,
|
|
120
|
+
fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
121
|
+
var treeOpts = computeTreeOpts.value;
|
|
122
|
+
var funcName = isAppend ? 'push' : 'unshift';
|
|
123
|
+
newRecords.forEach(function (item) {
|
|
124
|
+
var parentRowId = item[treeOpts.parentField];
|
|
125
|
+
var rowid = (0, _util.getRowid)($xetable, item);
|
|
126
|
+
var matchObj = parentRowId ? _xeUtils.default.findTree(treeFullData, function (item) {
|
|
127
|
+
return parentRowId === item[treeOpts.rowField];
|
|
128
|
+
}, treeOpts) : null;
|
|
129
|
+
|
|
130
|
+
if (matchObj) {
|
|
131
|
+
var parentRow = matchObj.item;
|
|
132
|
+
var parentRest = fullAllDataRowIdData[(0, _util.getRowid)($xetable, parentRow)];
|
|
133
|
+
var parentLevel = parentRest ? parentRest.level : 0;
|
|
134
|
+
var parentChilds = parentRow[treeOpts.children];
|
|
135
|
+
|
|
136
|
+
if (!_xeUtils.default.isArray(parentChilds)) {
|
|
137
|
+
parentChilds = parentRow[treeOpts.children] = [];
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
parentChilds[funcName](item);
|
|
141
|
+
var rest = {
|
|
142
|
+
row: item,
|
|
143
|
+
rowid: rowid,
|
|
144
|
+
index: -1,
|
|
145
|
+
_index: -1,
|
|
146
|
+
$index: -1,
|
|
147
|
+
items: parentChilds,
|
|
148
|
+
parent: parent,
|
|
149
|
+
level: parentLevel + 1
|
|
150
|
+
};
|
|
151
|
+
fullDataRowIdData[rowid] = rest;
|
|
152
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
153
|
+
} else {
|
|
154
|
+
if (process.env.NODE_ENV === 'development') {
|
|
155
|
+
if (parentRowId) {
|
|
156
|
+
(0, _utils.warnLog)('vxe.error.unableInsert');
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
afterFullData[funcName](item);
|
|
161
|
+
treeFullData[funcName](item);
|
|
162
|
+
var rest = {
|
|
163
|
+
row: item,
|
|
164
|
+
rowid: rowid,
|
|
165
|
+
index: -1,
|
|
166
|
+
_index: -1,
|
|
167
|
+
$index: -1,
|
|
168
|
+
items: treeFullData,
|
|
169
|
+
parent: null,
|
|
170
|
+
level: 0
|
|
171
|
+
};
|
|
172
|
+
fullDataRowIdData[rowid] = rest;
|
|
173
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
$xetable.updateVirtualTreeData();
|
|
177
|
+
}
|
|
178
|
+
|
|
116
179
|
editMethods = {
|
|
117
180
|
/**
|
|
118
181
|
* 往表格中插入临时数据
|
|
@@ -125,9 +188,9 @@ var editHook = {
|
|
|
125
188
|
|
|
126
189
|
/**
|
|
127
190
|
* 往表格指定行中插入临时数据
|
|
128
|
-
* 如果 row
|
|
129
|
-
* 如果 row 为 -1
|
|
130
|
-
* 如果 row
|
|
191
|
+
* 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标节点顶部
|
|
192
|
+
* 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部
|
|
193
|
+
* 如果 row 为有效行则插入到该行的位置,如果为树结构,则有插入到效的目标节点该行的位置
|
|
131
194
|
* @param {Object/Array} records 新的数据
|
|
132
195
|
* @param {Row} row 指定行
|
|
133
196
|
*/
|
|
@@ -138,9 +201,14 @@ var editHook = {
|
|
|
138
201
|
var mergeList = reactData.mergeList,
|
|
139
202
|
editStore = reactData.editStore,
|
|
140
203
|
scrollYLoad = reactData.scrollYLoad;
|
|
141
|
-
var
|
|
142
|
-
|
|
204
|
+
var treeFullData = internalData.treeFullData,
|
|
205
|
+
afterFullData = internalData.afterFullData,
|
|
206
|
+
tableFullData = internalData.tableFullData,
|
|
207
|
+
fullDataRowIdData = internalData.fullDataRowIdData,
|
|
208
|
+
fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
143
209
|
var sYOpts = computeSYOpts.value;
|
|
210
|
+
var treeOpts = computeTreeOpts.value;
|
|
211
|
+
var transform = treeOpts.transform;
|
|
144
212
|
|
|
145
213
|
if (!_xeUtils.default.isArray(records)) {
|
|
146
214
|
records = [records];
|
|
@@ -151,53 +219,113 @@ var editHook = {
|
|
|
151
219
|
});
|
|
152
220
|
|
|
153
221
|
if (!row) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
if (mergeRowIndex > 0) {
|
|
161
|
-
mergeItem.row = mergeRowIndex + newRecords.length;
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
} else {
|
|
165
|
-
if (row === -1) {
|
|
166
|
-
afterFullData.push.apply(afterFullData, newRecords);
|
|
167
|
-
tableFullData.push.apply(tableFullData, newRecords); // 刷新单元格合并
|
|
222
|
+
// 如果为虚拟树
|
|
223
|
+
if (treeConfig && transform) {
|
|
224
|
+
insertTreeRow(newRecords, false);
|
|
225
|
+
} else {
|
|
226
|
+
afterFullData.unshift.apply(afterFullData, newRecords);
|
|
227
|
+
tableFullData.unshift.apply(tableFullData, newRecords); // 刷新单元格合并
|
|
168
228
|
|
|
169
229
|
mergeList.forEach(function (mergeItem) {
|
|
170
|
-
var mergeRowIndex = mergeItem.row
|
|
171
|
-
mergeRowspan = mergeItem.rowspan;
|
|
230
|
+
var mergeRowIndex = mergeItem.row;
|
|
172
231
|
|
|
173
|
-
if (mergeRowIndex
|
|
174
|
-
mergeItem.
|
|
232
|
+
if (mergeRowIndex > 0) {
|
|
233
|
+
mergeItem.row = mergeRowIndex + newRecords.length;
|
|
175
234
|
}
|
|
176
235
|
});
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
236
|
+
}
|
|
237
|
+
} else {
|
|
238
|
+
if (row === -1) {
|
|
239
|
+
// 如果为虚拟树
|
|
240
|
+
if (treeConfig && transform) {
|
|
241
|
+
insertTreeRow(newRecords, true);
|
|
242
|
+
} else {
|
|
243
|
+
afterFullData.push.apply(afterFullData, newRecords);
|
|
244
|
+
tableFullData.push.apply(tableFullData, newRecords); // 刷新单元格合并
|
|
181
245
|
|
|
182
|
-
|
|
246
|
+
mergeList.forEach(function (mergeItem) {
|
|
247
|
+
var mergeRowIndex = mergeItem.row,
|
|
248
|
+
mergeRowspan = mergeItem.rowspan;
|
|
183
249
|
|
|
184
|
-
|
|
185
|
-
|
|
250
|
+
if (mergeRowIndex + mergeRowspan > afterFullData.length) {
|
|
251
|
+
mergeItem.rowspan = mergeRowspan + newRecords.length;
|
|
252
|
+
}
|
|
253
|
+
});
|
|
186
254
|
}
|
|
255
|
+
} else {
|
|
256
|
+
// 如果为虚拟树
|
|
257
|
+
if (treeConfig && transform) {
|
|
258
|
+
var matchObj_1 = _xeUtils.default.findTree(treeFullData, function (item) {
|
|
259
|
+
return row[treeOpts.rowField] === item[treeOpts.rowField];
|
|
260
|
+
}, treeOpts);
|
|
261
|
+
|
|
262
|
+
if (matchObj_1) {
|
|
263
|
+
var parentRow_1 = matchObj_1.parent;
|
|
264
|
+
var parentChilds_1 = matchObj_1.items;
|
|
265
|
+
var parentRest = fullAllDataRowIdData[(0, _util.getRowid)($xetable, parentRow_1)];
|
|
266
|
+
var parentLevel_1 = parentRest ? parentRest.level : 0;
|
|
267
|
+
newRecords.forEach(function (item, i) {
|
|
268
|
+
var rowid = (0, _util.getRowid)($xetable, item);
|
|
269
|
+
|
|
270
|
+
if (process.env.NODE_ENV === 'development') {
|
|
271
|
+
if (item[treeOpts.parentField]) {
|
|
272
|
+
if (parentRow_1 && item[treeOpts.parentField] !== parentRow_1[treeOpts.rowField]) {
|
|
273
|
+
(0, _utils.errLog)('vxe.error.errProp', [treeOpts.parentField + "=" + item[treeOpts.parentField], treeOpts.parentField + "=" + parentRow_1[treeOpts.rowField]]);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
if (parentRow_1) {
|
|
279
|
+
item[treeOpts.parentField] = parentRow_1[treeOpts.rowField];
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
parentChilds_1.splice(matchObj_1.index + i, 0, item);
|
|
283
|
+
var rest = {
|
|
284
|
+
row: item,
|
|
285
|
+
rowid: rowid,
|
|
286
|
+
index: -1,
|
|
287
|
+
_index: -1,
|
|
288
|
+
$index: -1,
|
|
289
|
+
items: parentChilds_1,
|
|
290
|
+
parent: parentRow_1,
|
|
291
|
+
level: parentLevel_1 + 1
|
|
292
|
+
};
|
|
293
|
+
fullDataRowIdData[rowid] = rest;
|
|
294
|
+
fullAllDataRowIdData[rowid] = rest;
|
|
295
|
+
});
|
|
296
|
+
$xetable.updateVirtualTreeData();
|
|
297
|
+
} else {
|
|
298
|
+
if (process.env.NODE_ENV === 'development') {
|
|
299
|
+
(0, _utils.warnLog)('vxe.error.unableInsert');
|
|
300
|
+
}
|
|
187
301
|
|
|
188
|
-
|
|
189
|
-
|
|
302
|
+
insertTreeRow(newRecords, true);
|
|
303
|
+
}
|
|
304
|
+
} else {
|
|
305
|
+
if (treeConfig) {
|
|
306
|
+
throw new Error((0, _utils.getLog)('vxe.error.noTree', ['insert']));
|
|
307
|
+
}
|
|
190
308
|
|
|
191
|
-
|
|
192
|
-
var mergeRowIndex = mergeItem.row,
|
|
193
|
-
mergeRowspan = mergeItem.rowspan;
|
|
309
|
+
var afIndex_1 = $xetable.findRowIndexOf(afterFullData, row);
|
|
194
310
|
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
} else if (mergeRowIndex + mergeRowspan > afIndex_1) {
|
|
198
|
-
mergeItem.rowspan = mergeRowspan + newRecords.length;
|
|
311
|
+
if (afIndex_1 === -1) {
|
|
312
|
+
throw new Error((0, _utils.errLog)('vxe.error.unableInsert'));
|
|
199
313
|
}
|
|
200
|
-
|
|
314
|
+
|
|
315
|
+
afterFullData.splice.apply(afterFullData, __spreadArray([afIndex_1, 0], newRecords));
|
|
316
|
+
tableFullData.splice.apply(tableFullData, __spreadArray([$xetable.findRowIndexOf(tableFullData, row), 0], newRecords)); // 刷新单元格合并
|
|
317
|
+
|
|
318
|
+
mergeList.forEach(function (mergeItem) {
|
|
319
|
+
var mergeRowIndex = mergeItem.row,
|
|
320
|
+
mergeRowspan = mergeItem.rowspan;
|
|
321
|
+
|
|
322
|
+
if (mergeRowIndex > afIndex_1) {
|
|
323
|
+
mergeItem.row = mergeRowIndex + newRecords.length;
|
|
324
|
+
} else if (mergeRowIndex + mergeRowspan > afIndex_1) {
|
|
325
|
+
mergeItem.rowspan = mergeRowspan + newRecords.length;
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
}
|
|
201
329
|
}
|
|
202
330
|
}
|
|
203
331
|
|
|
@@ -206,7 +334,7 @@ var editHook = {
|
|
|
206
334
|
reactData.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length;
|
|
207
335
|
$xetable.updateFooter();
|
|
208
336
|
$xetable.cacheRowMap();
|
|
209
|
-
$xetable.handleTableData();
|
|
337
|
+
$xetable.handleTableData(transform);
|
|
210
338
|
$xetable.updateAfterDataIndex();
|
|
211
339
|
$xetable.checkSelectionStatus();
|
|
212
340
|
|
|
@@ -237,10 +365,13 @@ var editHook = {
|
|
|
237
365
|
editStore = reactData.editStore,
|
|
238
366
|
selection = reactData.selection,
|
|
239
367
|
scrollYLoad = reactData.scrollYLoad;
|
|
240
|
-
var
|
|
368
|
+
var treeFullData = internalData.treeFullData,
|
|
369
|
+
afterFullData = internalData.afterFullData,
|
|
241
370
|
tableFullData = internalData.tableFullData;
|
|
242
371
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
243
372
|
var sYOpts = computeSYOpts.value;
|
|
373
|
+
var treeOpts = computeTreeOpts.value;
|
|
374
|
+
var transform = treeOpts.transform;
|
|
244
375
|
var actived = editStore.actived,
|
|
245
376
|
removeList = editStore.removeList,
|
|
246
377
|
insertList = editStore.insertList;
|
|
@@ -277,31 +408,55 @@ var editHook = {
|
|
|
277
408
|
internalData.afterFullData = [];
|
|
278
409
|
$xetable.clearMergeCells();
|
|
279
410
|
} else {
|
|
280
|
-
|
|
281
|
-
|
|
411
|
+
// 如果为虚拟树
|
|
412
|
+
if (treeConfig && transform) {
|
|
413
|
+
rows.forEach(function (row) {
|
|
414
|
+
var rowid = (0, _util.getRowid)($xetable, row);
|
|
415
|
+
|
|
416
|
+
var matchObj = _xeUtils.default.findTree(treeFullData, function (item) {
|
|
417
|
+
return rowid === (0, _util.getRowid)($xetable, item);
|
|
418
|
+
}, treeOpts);
|
|
419
|
+
|
|
420
|
+
if (matchObj) {
|
|
421
|
+
var rItems = matchObj.items.splice(matchObj.index, 1);
|
|
422
|
+
rest.push(rItems[0]);
|
|
423
|
+
}
|
|
282
424
|
|
|
283
|
-
|
|
284
|
-
var rItems = tableFullData.splice(tfIndex, 1);
|
|
285
|
-
rest.push(rItems[0]);
|
|
286
|
-
}
|
|
425
|
+
var afIndex = $xetable.findRowIndexOf(afterFullData, row);
|
|
287
426
|
|
|
288
|
-
|
|
427
|
+
if (afIndex > -1) {
|
|
428
|
+
afterFullData.splice(afIndex, 1);
|
|
429
|
+
}
|
|
289
430
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
431
|
+
$xetable.updateVirtualTreeData();
|
|
432
|
+
});
|
|
433
|
+
} else {
|
|
434
|
+
rows.forEach(function (row) {
|
|
435
|
+
var tfIndex = $xetable.findRowIndexOf(tableFullData, row);
|
|
295
436
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
437
|
+
if (tfIndex > -1) {
|
|
438
|
+
var rItems = tableFullData.splice(tfIndex, 1);
|
|
439
|
+
rest.push(rItems[0]);
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
var afIndex = $xetable.findRowIndexOf(afterFullData, row);
|
|
443
|
+
|
|
444
|
+
if (afIndex > -1) {
|
|
445
|
+
// 刷新单元格合并
|
|
446
|
+
mergeList.forEach(function (mergeItem) {
|
|
447
|
+
var mergeRowIndex = mergeItem.row,
|
|
448
|
+
mergeRowspan = mergeItem.rowspan;
|
|
449
|
+
|
|
450
|
+
if (mergeRowIndex > afIndex) {
|
|
451
|
+
mergeItem.row = mergeRowIndex - 1;
|
|
452
|
+
} else if (mergeRowIndex + mergeRowspan > afIndex) {
|
|
453
|
+
mergeItem.rowspan = mergeRowspan - 1;
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
afterFullData.splice(afIndex, 1);
|
|
457
|
+
}
|
|
458
|
+
});
|
|
459
|
+
}
|
|
305
460
|
} // 如果当前行被激活编辑,则清除激活状态
|
|
306
461
|
|
|
307
462
|
|
|
@@ -320,7 +475,7 @@ var editHook = {
|
|
|
320
475
|
reactData.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length;
|
|
321
476
|
$xetable.updateFooter();
|
|
322
477
|
$xetable.cacheRowMap();
|
|
323
|
-
$xetable.handleTableData();
|
|
478
|
+
$xetable.handleTableData(transform);
|
|
324
479
|
$xetable.updateAfterDataIndex();
|
|
325
480
|
$xetable.checkSelectionStatus();
|
|
326
481
|
|
|
@@ -386,17 +541,35 @@ var editHook = {
|
|
|
386
541
|
* 获取新增的临时数据
|
|
387
542
|
*/
|
|
388
543
|
getInsertRecords: function getInsertRecords() {
|
|
544
|
+
var treeConfig = props.treeConfig;
|
|
389
545
|
var editStore = reactData.editStore;
|
|
390
|
-
var
|
|
546
|
+
var treeFullData = internalData.treeFullData,
|
|
547
|
+
tableFullData = internalData.tableFullData;
|
|
548
|
+
var treeOpts = computeTreeOpts.value;
|
|
391
549
|
var insertList = editStore.insertList;
|
|
392
550
|
var insertRecords = [];
|
|
393
551
|
|
|
394
552
|
if (insertList.length) {
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
553
|
+
// 如果为虚拟树
|
|
554
|
+
if (treeConfig && treeOpts.transform) {
|
|
555
|
+
insertList.forEach(function (row) {
|
|
556
|
+
var rowid = (0, _util.getRowid)($xetable, row);
|
|
557
|
+
|
|
558
|
+
var matchObj = _xeUtils.default.findTree(treeFullData, function (item) {
|
|
559
|
+
return rowid === (0, _util.getRowid)($xetable, item);
|
|
560
|
+
}, treeOpts);
|
|
561
|
+
|
|
562
|
+
if (matchObj) {
|
|
563
|
+
insertRecords.push(row);
|
|
564
|
+
}
|
|
565
|
+
});
|
|
566
|
+
} else {
|
|
567
|
+
insertList.forEach(function (row) {
|
|
568
|
+
if ($xetable.findRowIndexOf(tableFullData, row) > -1) {
|
|
569
|
+
insertRecords.push(row);
|
|
570
|
+
}
|
|
571
|
+
});
|
|
572
|
+
}
|
|
400
573
|
}
|
|
401
574
|
|
|
402
575
|
return insertRecords;
|
package/lib/edit/src/hook.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(g){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var p=g.props,w=g.reactData,m=g.internalData,o=g.getRefMaps().refElem,e=g.getComputeMaps(),s=e.computeMouseOpts,h=e.computeEditOpts,R=e.computeCheckboxOpts,C=e.computeSYOpts,a=e.computeTreeOpts,x={},_={};function u(){var e=w.editStore,t=w.tableColumn,r=h.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}return x={insert:function(e){return x.insertAt(e,null)},insertAt:function(e,t){var r=p.treeConfig,l=w.mergeList,n=w.editStore,o=w.scrollYLoad,a=m.afterFullData,u=m.tableFullData,c=C.value,i=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return g.defineField(Object.assign({},e))});if(t)if(-1===t)a.push.apply(a,i),u.push.apply(u,i),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+i.length)});else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var d=g.findRowIndexOf(a,t);if(-1===d)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([d,0],i)),u.splice.apply(u,__spreadArray([g.findRowIndexOf(u,t),0],i)),l.forEach(function(e){var t=e.row,r=e.rowspan;d<t?e.row=t+i.length:d<t+r&&(e.rowspan=r+i.length)})}else a.unshift.apply(a,i),u.unshift.apply(u,i),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+i.length)});return(n=n.insertList).unshift.apply(n,i),w.scrollYLoad=!r&&-1<c.gt&&c.gt<u.length,g.updateFooter(),g.cacheRowMap(),g.handleTableData(),g.updateAfterDataIndex(),g.checkSelectionStatus(),o&&g.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return g.updateCellAreas(),g.recalculate()}).then(function(){return{row:i.length?i[i.length-1]:null,rows:i}})},remove:function(e){var t=p.treeConfig,r=w.mergeList,l=w.editStore,n=w.selection,o=w.scrollYLoad,a=m.afterFullData,u=m.tableFullData,c=R.value,i=C.value,d=l.actived,s=l.removeList,f=l.insertList,c=c.checkField,v=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(function(e){g.isInsertByRow(e)||s.push(e)}),c||e.forEach(function(e){e=g.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),u===e?(e=v=u.slice(0),m.tableFullData=[],m.afterFullData=[],g.clearMergeCells()):e.forEach(function(e){var t=g.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),v.push(t[0]));var l=g.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),d.row&&-1<g.findRowIndexOf(e,d.row)&&x.clearActived(),e.forEach(function(e){e=g.findRowIndexOf(f,e);-1<e&&f.splice(e,1)}),w.scrollYLoad=!t&&-1<i.gt&&i.gt<u.length,g.updateFooter(),g.cacheRowMap(),g.handleTableData(),g.updateAfterDataIndex(),g.checkSelectionStatus(),o&&g.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return g.updateCellAreas(),g.recalculate()}).then(function(){return{row:v.length?v[v.length-1]:null,rows:v}})},removeCheckboxRow:function(){return x.remove(g.getCheckboxRecords()).then(function(e){return g.clearCheckboxRow(),e})},removeRadioRow:function(){var e=g.getRadioRecord();return x.remove(e||[]).then(function(e){return g.clearRadioRow(),e})},removeCurrentRow:function(){var e=g.getCurrentRecord();return x.remove(e||[]).then(function(e){return g.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:x.getInsertRecords(),removeRecords:x.getRemoveRecords(),updateRecords:x.getUpdateRecords()}},getInsertRecords:function(){var e=w.editStore,t=m.tableFullData,r=e.insertList,l=[];return r.length&&t.forEach(function(e){-1<g.findRowIndexOf(r,e)&&l.push(e)}),l},getRemoveRecords:function(){return w.editStore.removeList},getUpdateRecords:function(){var e=p.keepSource,t=p.treeConfig,r=m.tableFullData,l=a.value;return e?(u(),t?_xeUtils.default.filterTree(r,function(e){return g.isUpdateByRow(e)},l):r.filter(function(e){return g.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=w.editStore,t=m.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<g.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=w.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=w.editStore.actived,r=t.row,l=t.column;return(r||l)&&(u(),t.args=null,t.row=null,t.column=null,g.updateFooter(),g.dispatchEvent("edit-closed",{row:r,rowIndex:g.getRowIndex(r),$rowIndex:g.getVMRowIndex(r),column:l,columnIndex:g.getColumnIndex(l),$columnIndex:g.getVMColumnIndex(l)},e||null)),(g.clearValidate?g.clearValidate():(0,_vue.nextTick)()).then(function(){return g.recalculate()})},clearSelected:function(){var e=w.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return w.editStore.actived.row===e},setActiveRow:function(e){var t=m.visibleColumn;return g.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=p.editConfig,l=_xeUtils.default.isString(e)?g.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?g.scrollToRow(t,l).then(function(){var e=g.getCell(t,l);return e&&(_.handleActived({row:t,rowIndex:g.getRowIndex(t),column:l,columnIndex:g.getColumnIndex(l),cell:e,$table:g}),m._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=w.tableData,l=m.visibleColumn,n=h.value,t=_xeUtils.default.isString(t)?g.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=g.findRowIndexOf(r,e))&&t&&(r=g.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},g.handleSelected(r,{}))),(0,_vue.nextTick)()}},_={handleActived:function(e,t){var r,l=p.editConfig,n=p.mouseConfig,o=w.editStore,a=w.tableColumn,u=h.value,c=u.mode,i=u.activeMethod,d=o.actived,s=e.row,f=e.column,u=f.editRender,o=e.cell=e.cell||g.getCell(s,f);return(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(u)&&o&&(d.row!==s||"cell"===c&&d.column!==f?(r="edit-disabled",i&&!i(e)||(n&&(x.clearSelected(),g.clearCellAreas&&(g.clearCellAreas(),g.clearCopyCellArea())),g.closeTooltip(),x.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===c?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){_.handleFocus(e,t)})),g.dispatchEvent(r,{row:s,rowIndex:g.getRowIndex(s),$rowIndex:g.getVMRowIndex(s),column:f,columnIndex:g.getColumnIndex(f),$columnIndex:g.getVMColumnIndex(f)},t)):(r=d.column,n&&(x.clearSelected(),g.clearCellAreas&&(g.clearCellAreas(),g.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),g.clearValidate&&g.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){_.handleFocus(e,t)})),g.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):g.scrollToRow(l,n))},handleSelected:function(e,t){var r=p.mouseConfig,l=w.editStore,n=s.value,o=h.value,a=l.actived,u=l.selected,c=e.row,i=e.column,d=r&&n.selected;return!d||u.row===c&&u.column===i||(a.row!==c||"cell"===o.mode&&a.column!==i)&&(x.clearActived(t),x.clearSelected(),g.clearCellAreas&&(g.clearCellAreas(),g.clearCopyCellArea()),u.args=e,u.row=c,u.column=i,d&&_.addCellSelectedClass(),g.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=w.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=g.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},x),_)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(R){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var _=R.props,C=R.reactData,I=R.internalData,o=R.getRefMaps().refElem,e=R.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,m=e.computeCheckboxOpts,b=e.computeSYOpts,S=e.computeTreeOpts,h={},w={};function a(){var e=C.editStore,t=C.tableColumn,r=p.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}function A(e,t){var a=I.treeFullData,i=I.afterFullData,u=I.fullDataRowIdData,c=I.fullAllDataRowIdData,d=S.value,s=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[d.parentField],n=(0,_util.getRowid)(R,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d.rowField]},d):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(R,t)])?r.level:0,r=t[d.children],(r=!_xeUtils.default.isArray(r)?t[d.children]=[]:r)[s](e),{row:e,rowid:n,index:-1,_index:-1,$index:-1,items:r,parent:parent,level:o+1}):("development"===process.env.NODE_ENV&&l&&(0,_utils.warnLog)("vxe.error.unableInsert"),i[s](e),a[s](e),{row:e,rowid:n,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e}),R.updateVirtualTreeData()}return h={insert:function(e){return h.insertAt(e,null)},insertAt:function(e,t){var r=_.treeConfig,l=C.mergeList,n=C.editStore,o=C.scrollYLoad,a=I.treeFullData,i=I.afterFullData,u=I.tableFullData,c=I.fullDataRowIdData,d=I.fullAllDataRowIdData,s=b.value,f=S.value,v=f.transform,p=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return R.defineField(Object.assign({},e))});if(t)if(-1===t)r&&v?A(p,!0):(i.push.apply(i,p),u.push.apply(u,p),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>i.length&&(e.rowspan=r+p.length)}));else if(r&&v){var w,g,m,h=_xeUtils.default.findTree(a,function(e){return t[f.rowField]===e[f.rowField]},f);h?(w=h.parent,g=h.items,a=d[(0,_util.getRowid)(R,w)],m=a?a.level:0,p.forEach(function(e,t){var r=(0,_util.getRowid)(R,e);"development"===process.env.NODE_ENV&&e[f.parentField]&&w&&e[f.parentField]!==w[f.rowField]&&(0,_utils.errLog)("vxe.error.errProp",[f.parentField+"="+e[f.parentField],f.parentField+"="+w[f.rowField]]),w&&(e[f.parentField]=w[f.rowField]),g.splice(h.index+t,0,e);e={row:e,rowid:r,index:-1,_index:-1,$index:-1,items:g,parent:w,level:m+1};c[r]=e,d[r]=e}),R.updateVirtualTreeData()):("development"===process.env.NODE_ENV&&(0,_utils.warnLog)("vxe.error.unableInsert"),A(p,!0))}else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var x=R.findRowIndexOf(i,t);if(-1===x)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));i.splice.apply(i,__spreadArray([x,0],p)),u.splice.apply(u,__spreadArray([R.findRowIndexOf(u,t),0],p)),l.forEach(function(e){var t=e.row,r=e.rowspan;x<t?e.row=t+p.length:x<t+r&&(e.rowspan=r+p.length)})}else r&&v?A(p,!1):(i.unshift.apply(i,p),u.unshift.apply(u,p),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+p.length)}));return(n=n.insertList).unshift.apply(n,p),C.scrollYLoad=!r&&-1<s.gt&&s.gt<u.length,R.updateFooter(),R.cacheRowMap(),R.handleTableData(v),R.updateAfterDataIndex(),R.checkSelectionStatus(),o&&R.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return R.updateCellAreas(),R.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},remove:function(e){var t=_.treeConfig,r=C.mergeList,l=C.editStore,n=C.selection,o=C.scrollYLoad,a=I.treeFullData,i=I.afterFullData,u=I.tableFullData,c=m.value,d=b.value,s=S.value,f=s.transform,v=l.actived,p=l.removeList,w=l.insertList,c=c.checkField,g=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(function(e){R.isInsertByRow(e)||p.push(e)}),c||e.forEach(function(e){e=R.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),u===e?(e=g=u.slice(0),I.tableFullData=[],I.afterFullData=[],R.clearMergeCells()):t&&f?e.forEach(function(e){var t=(0,_util.getRowid)(R,e),r=_xeUtils.default.findTree(a,function(e){return t===(0,_util.getRowid)(R,e)},s);r&&(r=r.items.splice(r.index,1),g.push(r[0]));e=R.findRowIndexOf(i,e);-1<e&&i.splice(e,1),R.updateVirtualTreeData()}):e.forEach(function(e){var t=R.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),g.push(t[0]));var l=R.findRowIndexOf(i,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),i.splice(l,1))}),v.row&&-1<R.findRowIndexOf(e,v.row)&&h.clearActived(),e.forEach(function(e){e=R.findRowIndexOf(w,e);-1<e&&w.splice(e,1)}),C.scrollYLoad=!t&&-1<d.gt&&d.gt<u.length,R.updateFooter(),R.cacheRowMap(),R.handleTableData(f),R.updateAfterDataIndex(),R.checkSelectionStatus(),o&&R.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return R.updateCellAreas(),R.recalculate()}).then(function(){return{row:g.length?g[g.length-1]:null,rows:g}})},removeCheckboxRow:function(){return h.remove(R.getCheckboxRecords()).then(function(e){return R.clearCheckboxRow(),e})},removeRadioRow:function(){var e=R.getRadioRecord();return h.remove(e||[]).then(function(e){return R.clearRadioRow(),e})},removeCurrentRow:function(){var e=R.getCurrentRecord();return h.remove(e||[]).then(function(e){return R.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:h.getInsertRecords(),removeRecords:h.getRemoveRecords(),updateRecords:h.getUpdateRecords()}},getInsertRecords:function(){var e=_.treeConfig,t=C.editStore,r=I.treeFullData,l=I.tableFullData,n=S.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(R,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(R,e)},n)&&o.push(e)}):t.forEach(function(e){-1<R.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return C.editStore.removeList},getUpdateRecords:function(){var e=_.keepSource,t=_.treeConfig,r=I.tableFullData,l=S.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return R.isUpdateByRow(e)},l):r.filter(function(e){return R.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=C.editStore,t=I.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<R.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=C.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=C.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,R.updateFooter(),R.dispatchEvent("edit-closed",{row:r,rowIndex:R.getRowIndex(r),$rowIndex:R.getVMRowIndex(r),column:l,columnIndex:R.getColumnIndex(l),$columnIndex:R.getVMColumnIndex(l)},e||null)),(R.clearValidate?R.clearValidate():(0,_vue.nextTick)()).then(function(){return R.recalculate()})},clearSelected:function(){var e=C.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return C.editStore.actived.row===e},setActiveRow:function(e){var t=I.visibleColumn;return R.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=_.editConfig,l=_xeUtils.default.isString(e)?R.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?R.scrollToRow(t,l).then(function(){var e=R.getCell(t,l);return e&&(w.handleActived({row:t,rowIndex:R.getRowIndex(t),column:l,columnIndex:R.getColumnIndex(l),cell:e,$table:R}),I._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=C.tableData,l=I.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?R.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=R.findRowIndexOf(r,e))&&t&&(r=R.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},R.handleSelected(r,{}))),(0,_vue.nextTick)()}},w={handleActived:function(e,t){var r,l=_.editConfig,n=_.mouseConfig,o=C.editStore,a=C.tableColumn,i=p.value,u=i.mode,c=i.activeMethod,d=o.actived,s=e.row,f=e.column,i=f.editRender,o=e.cell=e.cell||R.getCell(s,f);return(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i)&&o&&(d.row!==s||"cell"===u&&d.column!==f?(r="edit-disabled",c&&!c(e)||(n&&(h.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea())),R.closeTooltip(),h.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===u?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){w.handleFocus(e,t)})),R.dispatchEvent(r,{row:s,rowIndex:R.getRowIndex(s),$rowIndex:R.getVMRowIndex(s),column:f,columnIndex:R.getColumnIndex(f),$columnIndex:R.getVMColumnIndex(f)},t)):(r=d.column,n&&(h.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),R.clearValidate&&R.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){w.handleFocus(e,t)})),R.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):R.scrollToRow(l,n))},handleSelected:function(e,t){var r=_.mouseConfig,l=C.editStore,n=s.value,o=p.value,a=l.actived,i=l.selected,u=e.row,c=e.column,d=r&&n.selected;return!d||i.row===u&&i.column===c||(a.row!==u||"cell"===o.mode&&a.column!==c)&&(h.clearActived(t),h.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&w.addCellSelectedClass(),R.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=C.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=R.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},h),w)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
|
package/lib/form/src/form.js
CHANGED
|
@@ -563,7 +563,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
563
563
|
callback();
|
|
564
564
|
}
|
|
565
565
|
}).catch(function () {
|
|
566
|
-
return new Promise(function (resolve
|
|
566
|
+
return new Promise(function (resolve) {
|
|
567
567
|
showErrTime = window.setTimeout(function () {
|
|
568
568
|
itemList.forEach(function (item) {
|
|
569
569
|
if (item.errRule) {
|
|
@@ -582,7 +582,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
582
582
|
callback(validRest);
|
|
583
583
|
resolve();
|
|
584
584
|
} else {
|
|
585
|
-
|
|
585
|
+
resolve(validRest);
|
|
586
586
|
}
|
|
587
587
|
});
|
|
588
588
|
});
|
package/lib/form/src/form.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_dom=require("../../tools/dom"),_util=require("./util"),_render=require("./render"),_size=require("../../hooks/size");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},Rule=function(){function e(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return Object.defineProperty(e.prototype,"content",{get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this.content},enumerable:!1,configurable:!0}),e}(),validErrorRuleValue=function(e,t){var i=e.type,n=e.min,r=e.max,l=e.pattern,e="number"===i,i=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(n)&&i<_xeUtils.default.toNumber(n)||(!_xeUtils.default.eqNull(r)&&i>_xeUtils.default.toNumber(r)||!(!l||(_xeUtils.default.isRegExp(l)?l:new RegExp(l)).test(t))))};function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}var _default2=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:function(){return _conf.default.form.size||_conf.default.size}},span:{type:[String,Number],default:function(){return _conf.default.form.span}},align:{type:String,default:function(){return _conf.default.form.align}},titleAlign:{type:String,default:function(){return _conf.default.form.titleAlign}},titleWidth:{type:[String,Number],default:function(){return _conf.default.form.titleWidth}},titleColon:{type:Boolean,default:function(){return _conf.default.form.titleColon}},titleAsterisk:{type:Boolean,default:function(){return _conf.default.form.titleAsterisk}},titleOverflow:{type:[Boolean,String],default:null},className:[String,Function],items:Array,rules:Object,preventSubmit:{type:Boolean,default:function(){return _conf.default.form.preventSubmit}},validConfig:Object,tooltipConfig:Object,customLayout:{type:Boolean,default:function(){return _conf.default.form.customLayout}}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup:function(V,e){function t(){var e=b.value;return setTimeout(function(){a.tooltipActive||h.closeTooltip()},e.leaveDelay),!1}function i(e){return e.length&&("development"===process.env.NODE_ENV&&e.forEach(function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||v[e]||(0,_utils.errLog)("vxe.error.notSlot",[e])})}),p.staticItems=_xeUtils.default.mapTree(e,function(e){return(0,_util.createItem)(A,e)},{children:"children"})),(0,_vue.nextTick)()}function n(){return p.collapseAll}function r(){var e=!n();return p.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()}function c(e){e.preventDefault(),R(),h.dispatchEvent("reset",{data:V.data},e)}function f(t){t.preventDefault(),V.preventSubmit||N(T()).then(function(){h.dispatchEvent("submit",{data:V.data},t)}).catch(function(e){h.dispatchEvent("submit-invalid",{data:V.data,errMap:e},t)})}function o(){var e=a.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t&&t.close()),(0,_vue.nextTick)()}function q(e){var S=V.data,w=V.rules,N=V.titleOverflow,O=p.collapseAll,C=x.value;return e.map(function(e,t){var i=e.slots,n=e.title,r=e.visible,l=e.folding,o=e.visibleMethod,u=e.field,a=e.collapseNode,s=e.itemRender,c=e.showError,f=e.errRule,d=e.className,v=e.titleOverflow,m=e.children,p=(0,_utils.isEnableConf)(s)?_vXETable.VXETable.renderer.get(s.name):null,_=i?i.default:null,g=i?i.title:null,h=e.span||V.span,x=e.align||V.align,b=e.titleAlign||V.titleAlign,y=e.titleWidth||V.titleWidth,E=_xeUtils.default.isUndefined(v)||_xeUtils.default.isNull(v)?N:v,T="title"===E,i=!0===E||"tooltip"===E,v=T||i||"ellipsis"===E,E=o,U={data:S,property:u,item:e,$form:A};if(!1===r)return(0,_vue.createCommentVNode)();o=!1;if(!w||(r=w[u])&&(o=r.some(function(e){return e.required})),m&&0<m.length){var R=q(e.children);return R.length?(0,_vue.h)("div",{class:["vxe-form--gather vxe-row",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:""]},R):(0,_vue.createCommentVNode)()}!E&&p&&p.itemVisibleMethod&&(E=p.itemVisibleMethod);R=[];_?R=j(_,U):p&&p.renderItemContent?R=p.renderItemContent(s,U):u&&(R=[""+_xeUtils.default.get(S,u)]),a&&R.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:M},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},O?_conf.default.i18n("vxe.form.unfolding"):_conf.default.i18n("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",O?_conf.default.icon.FORM_FOLDING:_conf.default.icon.FORM_UNFOLDING]})])),f&&C.showMessage&&R.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:f.maxWidth?{width:f.maxWidth+"px"}:null},f.content));i=i?{onMouseenter:function(e){I(e,U)},onMouseleave:D}:{};return(0,_vue.h)("div",{class:["vxe-form--item",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:"",{"is--title":n,"is--required":o,"is--hidden":l&&O,"is--active":!E||E(U),"is--error":c}],key:t},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[n||g?(0,_vue.h)("div",__assign({class:["vxe-form--item-title",b?"align--"+b:null,{"is--ellipsis":v}],style:y?{width:isNaN(y)?y:y+"px"}:null,title:T?(0,_utils.getFuncText)(n):null},i),(0,_render.renderTitle)(A,e)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",x?"align--"+x:null]},R)])])})}var s,d=_vXETable.VXETable.tooltip,v=e.slots,l=e.emit,u=_xeUtils.default.uniqueId(),m=(0,_size.useSize)(V),p=(0,_vue.reactive)({collapseAll:V.collapseStatus,staticItems:[],formItems:[]}),a=(0,_vue.reactive)({tooltipTimeout:null,tooltipActive:!1,tooltipStore:{item:null,visible:!1}}),_=(0,_vue.ref)(),g=(0,_vue.ref)(),h={},x=(0,_vue.computed)(function(){return Object.assign({},_conf.default.form.validConfig,V.validConfig)}),b=(0,_vue.ref)(),b=(0,_vue.computed)(function(){var e=Object.assign({leaveDelay:300},_conf.default.form.tooltipConfig,V.tooltipConfig);return e.enterable&&(e.leaveMethod=t),e}),y={refElem:_},E={computeSize:m,computeValidOpts:x,computeTooltipOpts:b},A={xID:u,props:V,context:e,reactData:p,getRefMaps:function(){return y},getComputeMaps:function(){return E}},j=function(e,t){return e&&(_xeUtils.default.isString(e)&&(e=v[e]||null),_xeUtils.default.isFunction(e))?e(t):[]},T=function(){var t=[];return _xeUtils.default.eachTree(p.formItems,function(e){t.push(e)},{children:"children"}),t},M=function(e){r();var t=n();h.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:V.data},e),h.dispatchEvent("collapse",{status:t,collapse:t,data:V.data},e)},U=function(t){var e,i=T();return t?(e=i.find(function(e){return e.field===t}))&&(e.showError=!1):i.forEach(function(e){e.showError=!1}),(0,_vue.nextTick)()},R=function(){var r=V.data,e=T();return r&&e.forEach(function(e){var t=e.field,i=e.resetValue,n=e.itemRender;(0,_utils.isEnableConf)(n)&&((n=_vXETable.VXETable.renderer.get(n.name))&&n.itemResetMethod?n.itemResetMethod({data:r,property:t,item:e,$form:A}):t&&_xeUtils.default.set(r,t,null===i?getResetValue(_xeUtils.default.get(r,t),void 0):i))}),U()},S=function(e){var o=T(),u=_.value;e.some(function(t,e){var i=o.find(function(e){return e.field===t});if(i&&(0,_utils.isEnableConf)(i.itemRender)){var n=i.itemRender,r=_vXETable.VXETable.renderer.get(n.name),l=null;if(e||(0,_dom.scrollToView)(u.querySelector("."+i.id)),l=!(l=n.autofocus?u.querySelector("."+i.id+" "+n.autofocus):l)&&r&&r.autofocus?u.querySelector("."+i.id+" "+r.autofocus):l)return l.focus(),!0}})},w=function(l,o,e){var u,a,s=V.data,t=V.rules,c=[],f=[];return o&&t&&((u=_xeUtils.default.get(t,o))&&(a=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(s,o):e,u.forEach(function(t){var e,i=t.type,n=t.trigger,r=t.required;"all"!==l&&n&&l!==n||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({itemValue:a,rule:t,rules:u,data:s,property:o,$form:A}))&&(_xeUtils.default.isError(e)?c.push(new Rule({type:"custom",trigger:n,content:e.message,rule:new Rule(t)})):e.catch&&f.push(e.catch(function(e){c.push(new Rule({type:"custom",trigger:n,content:e?e.message:t.content||t.message,rule:new Rule(t)}))}))):(i="array"===i?!_xeUtils.default.isArray(a)||!a.length:(0,_utils.eqEmptyValue)(a),(r?i||validErrorRuleValue(t,a):!i&&validErrorRuleValue(t,a))&&c.push(new Rule(t))))}))),Promise.all(f).then(function(){if(c.length){var e={rules:c,rule:c[0]};return Promise.reject(e)}})},N=function(i,e,n){var r=V.data,t=V.rules,l=x.value,o={},u=[],a=[];return U(),clearTimeout(s),r&&t?(i.forEach(function(i){var n=i.field;n&&a.push(w(e||"all",n).then(function(){i.errRule=null}).catch(function(e){var t=e.rule,e={rule:t,rules:e.rules,data:r,property:n,$form:A};return o[n]||(o[n]=[]),o[n].push(e),u.push(n),i.errRule=t,Promise.reject(e)}))}),Promise.all(a).then(function(){n&&n()}).catch(function(){return new Promise(function(e,t){s=window.setTimeout(function(){i.forEach(function(e){e.errRule&&(e.showError=!0)})},20),!1!==l.autoPos&&(0,_vue.nextTick)(function(){S(u)}),n?(n(o),e()):t(o)})})):(n&&n(),Promise.resolve())},I=function(e,t){var i=t.item,n=a.tooltipStore,r=g.value,l=e.currentTarget.children[0],t=(l.textContent||"").trim(),e=l.scrollWidth>l.clientWidth;clearTimeout(a.tooltipTimeout),a.tooltipActive=!0,o(),t&&e&&(Object.assign(n,{item:i,visible:!0}),r&&r.open(l,t))},D=function(){var e=b.value;a.tooltipActive=!1,e.enterable?a.tooltipTimeout=setTimeout(function(){var e=g.value;e&&!e.reactData.isHover&&o()},e.leaveDelay):o()},h={dispatchEvent:function(e,t,i){l(e,Object.assign({$form:A,$event:i},t))},reset:R,validate:function(e){return N(T(),"",e)},validateField:function(t,e){return N(T().filter(function(e){return e.field===t}),"",e)},clearValidate:U,updateStatus:function(e,t){var i=e.property;i&&w("change",i,t).then(function(){U(i)}).catch(function(e){var t=e.rule,e=T().find(function(e){return e.field===i});e&&(e.showError=!0,e.errRule=t)})},toggleCollapse:r,getItems:T,closeTooltip:o};Object.assign(A,h,{callSlot:j,toggleCollapseEvent:M,triggerHeaderHelpEvent:I,handleTargetLeaveEvent:D}),(0,_vue.watch)(function(){return p.staticItems},function(e){p.formItems=e}),(0,_vue.watch)(function(){return V.items},function(e){i(e||[])}),(0,_vue.watch)(function(){return V.collapseStatus},function(e){p.collapseAll=!!e}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){"development"===process.env.NODE_ENV&&V.customLayout&&V.items&&(0,_utils.errLog)("vxe.error.errConflicts",["custom-layout","items"]),i(V.items||[])})});return A.renderVN=function(){var e=V.loading,t=V.className,i=V.data,n=V.titleColon,r=V.titleAsterisk,l=V.customLayout,o=p.formItems,u=m.value,a=b.value,s=v.default;return(0,_vue.h)("form",{ref:_,class:["vxe-form",t?_xeUtils.default.isFunction(t)?t({items:o,data:i,$form:A}):t:"",((t={})["size--"+u]=u,t["is--colon"]=n,t["is--asterisk"]=r,t["is--loading"]=e,t)],onSubmit:f,onReset:c},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-row"},l?s?s({}):[]:q(o)),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!l&&s?s({}):[]),(0,_vue.h)("div",{class:["vxe-loading",{"is--visible":e}]},[(0,_vue.h)("div",{class:"vxe-loading--spinner"})]),d?(0,_vue.h)((0,_vue.resolveComponent)("vxe-tooltip"),__assign({ref:g},a)):(0,_vue.createCommentVNode)()])},(0,_vue.provide)("$xeform",A),A},render:function(){return this.renderVN()}});exports.default=_default2;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_dom=require("../../tools/dom"),_util=require("./util"),_render=require("./render"),_size=require("../../hooks/size");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},Rule=function(){function e(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return Object.defineProperty(e.prototype,"content",{get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this.content},enumerable:!1,configurable:!0}),e}(),validErrorRuleValue=function(e,t){var i=e.type,n=e.min,r=e.max,l=e.pattern,e="number"===i,i=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(n)&&i<_xeUtils.default.toNumber(n)||(!_xeUtils.default.eqNull(r)&&i>_xeUtils.default.toNumber(r)||!(!l||(_xeUtils.default.isRegExp(l)?l:new RegExp(l)).test(t))))};function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}var _default2=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:function(){return _conf.default.form.size||_conf.default.size}},span:{type:[String,Number],default:function(){return _conf.default.form.span}},align:{type:String,default:function(){return _conf.default.form.align}},titleAlign:{type:String,default:function(){return _conf.default.form.titleAlign}},titleWidth:{type:[String,Number],default:function(){return _conf.default.form.titleWidth}},titleColon:{type:Boolean,default:function(){return _conf.default.form.titleColon}},titleAsterisk:{type:Boolean,default:function(){return _conf.default.form.titleAsterisk}},titleOverflow:{type:[Boolean,String],default:null},className:[String,Function],items:Array,rules:Object,preventSubmit:{type:Boolean,default:function(){return _conf.default.form.preventSubmit}},validConfig:Object,tooltipConfig:Object,customLayout:{type:Boolean,default:function(){return _conf.default.form.customLayout}}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup:function(V,e){function t(){var e=b.value;return setTimeout(function(){a.tooltipActive||h.closeTooltip()},e.leaveDelay),!1}function i(e){return e.length&&("development"===process.env.NODE_ENV&&e.forEach(function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||v[e]||(0,_utils.errLog)("vxe.error.notSlot",[e])})}),p.staticItems=_xeUtils.default.mapTree(e,function(e){return(0,_util.createItem)(A,e)},{children:"children"})),(0,_vue.nextTick)()}function n(){return p.collapseAll}function r(){var e=!n();return p.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()}function c(e){e.preventDefault(),R(),h.dispatchEvent("reset",{data:V.data},e)}function f(t){t.preventDefault(),V.preventSubmit||N(T()).then(function(){h.dispatchEvent("submit",{data:V.data},t)}).catch(function(e){h.dispatchEvent("submit-invalid",{data:V.data,errMap:e},t)})}function o(){var e=a.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t&&t.close()),(0,_vue.nextTick)()}function q(e){var S=V.data,w=V.rules,N=V.titleOverflow,O=p.collapseAll,C=x.value;return e.map(function(e,t){var i=e.slots,n=e.title,r=e.visible,l=e.folding,o=e.visibleMethod,u=e.field,a=e.collapseNode,s=e.itemRender,c=e.showError,f=e.errRule,d=e.className,v=e.titleOverflow,m=e.children,p=(0,_utils.isEnableConf)(s)?_vXETable.VXETable.renderer.get(s.name):null,_=i?i.default:null,g=i?i.title:null,h=e.span||V.span,x=e.align||V.align,b=e.titleAlign||V.titleAlign,y=e.titleWidth||V.titleWidth,E=_xeUtils.default.isUndefined(v)||_xeUtils.default.isNull(v)?N:v,T="title"===E,i=!0===E||"tooltip"===E,v=T||i||"ellipsis"===E,E=o,U={data:S,property:u,item:e,$form:A};if(!1===r)return(0,_vue.createCommentVNode)();o=!1;if(!w||(r=w[u])&&(o=r.some(function(e){return e.required})),m&&0<m.length){var R=q(e.children);return R.length?(0,_vue.h)("div",{class:["vxe-form--gather vxe-row",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:""]},R):(0,_vue.createCommentVNode)()}!E&&p&&p.itemVisibleMethod&&(E=p.itemVisibleMethod);R=[];_?R=j(_,U):p&&p.renderItemContent?R=p.renderItemContent(s,U):u&&(R=[""+_xeUtils.default.get(S,u)]),a&&R.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:M},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},O?_conf.default.i18n("vxe.form.unfolding"):_conf.default.i18n("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",O?_conf.default.icon.FORM_FOLDING:_conf.default.icon.FORM_UNFOLDING]})])),f&&C.showMessage&&R.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:f.maxWidth?{width:f.maxWidth+"px"}:null},f.content));i=i?{onMouseenter:function(e){I(e,U)},onMouseleave:D}:{};return(0,_vue.h)("div",{class:["vxe-form--item",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:"",{"is--title":n,"is--required":o,"is--hidden":l&&O,"is--active":!E||E(U),"is--error":c}],key:t},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[n||g?(0,_vue.h)("div",__assign({class:["vxe-form--item-title",b?"align--"+b:null,{"is--ellipsis":v}],style:y?{width:isNaN(y)?y:y+"px"}:null,title:T?(0,_utils.getFuncText)(n):null},i),(0,_render.renderTitle)(A,e)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",x?"align--"+x:null]},R)])])})}var s,d=_vXETable.VXETable.tooltip,v=e.slots,l=e.emit,u=_xeUtils.default.uniqueId(),m=(0,_size.useSize)(V),p=(0,_vue.reactive)({collapseAll:V.collapseStatus,staticItems:[],formItems:[]}),a=(0,_vue.reactive)({tooltipTimeout:null,tooltipActive:!1,tooltipStore:{item:null,visible:!1}}),_=(0,_vue.ref)(),g=(0,_vue.ref)(),h={},x=(0,_vue.computed)(function(){return Object.assign({},_conf.default.form.validConfig,V.validConfig)}),b=(0,_vue.ref)(),b=(0,_vue.computed)(function(){var e=Object.assign({leaveDelay:300},_conf.default.form.tooltipConfig,V.tooltipConfig);return e.enterable&&(e.leaveMethod=t),e}),y={refElem:_},E={computeSize:m,computeValidOpts:x,computeTooltipOpts:b},A={xID:u,props:V,context:e,reactData:p,getRefMaps:function(){return y},getComputeMaps:function(){return E}},j=function(e,t){return e&&(_xeUtils.default.isString(e)&&(e=v[e]||null),_xeUtils.default.isFunction(e))?e(t):[]},T=function(){var t=[];return _xeUtils.default.eachTree(p.formItems,function(e){t.push(e)},{children:"children"}),t},M=function(e){r();var t=n();h.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:V.data},e),h.dispatchEvent("collapse",{status:t,collapse:t,data:V.data},e)},U=function(t){var e,i=T();return t?(e=i.find(function(e){return e.field===t}))&&(e.showError=!1):i.forEach(function(e){e.showError=!1}),(0,_vue.nextTick)()},R=function(){var r=V.data,e=T();return r&&e.forEach(function(e){var t=e.field,i=e.resetValue,n=e.itemRender;(0,_utils.isEnableConf)(n)&&((n=_vXETable.VXETable.renderer.get(n.name))&&n.itemResetMethod?n.itemResetMethod({data:r,property:t,item:e,$form:A}):t&&_xeUtils.default.set(r,t,null===i?getResetValue(_xeUtils.default.get(r,t),void 0):i))}),U()},S=function(e){var o=T(),u=_.value;e.some(function(t,e){var i=o.find(function(e){return e.field===t});if(i&&(0,_utils.isEnableConf)(i.itemRender)){var n=i.itemRender,r=_vXETable.VXETable.renderer.get(n.name),l=null;if(e||(0,_dom.scrollToView)(u.querySelector("."+i.id)),l=!(l=n.autofocus?u.querySelector("."+i.id+" "+n.autofocus):l)&&r&&r.autofocus?u.querySelector("."+i.id+" "+r.autofocus):l)return l.focus(),!0}})},w=function(l,o,e){var u,a,s=V.data,t=V.rules,c=[],f=[];return o&&t&&((u=_xeUtils.default.get(t,o))&&(a=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(s,o):e,u.forEach(function(t){var e,i=t.type,n=t.trigger,r=t.required;"all"!==l&&n&&l!==n||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({itemValue:a,rule:t,rules:u,data:s,property:o,$form:A}))&&(_xeUtils.default.isError(e)?c.push(new Rule({type:"custom",trigger:n,content:e.message,rule:new Rule(t)})):e.catch&&f.push(e.catch(function(e){c.push(new Rule({type:"custom",trigger:n,content:e?e.message:t.content||t.message,rule:new Rule(t)}))}))):(i="array"===i?!_xeUtils.default.isArray(a)||!a.length:(0,_utils.eqEmptyValue)(a),(r?i||validErrorRuleValue(t,a):!i&&validErrorRuleValue(t,a))&&c.push(new Rule(t))))}))),Promise.all(f).then(function(){if(c.length){var e={rules:c,rule:c[0]};return Promise.reject(e)}})},N=function(t,e,i){var r=V.data,n=V.rules,l=x.value,o={},u=[],a=[];return U(),clearTimeout(s),r&&n?(t.forEach(function(i){var n=i.field;n&&a.push(w(e||"all",n).then(function(){i.errRule=null}).catch(function(e){var t=e.rule,e={rule:t,rules:e.rules,data:r,property:n,$form:A};return o[n]||(o[n]=[]),o[n].push(e),u.push(n),i.errRule=t,Promise.reject(e)}))}),Promise.all(a).then(function(){i&&i()}).catch(function(){return new Promise(function(e){s=window.setTimeout(function(){t.forEach(function(e){e.errRule&&(e.showError=!0)})},20),!1!==l.autoPos&&(0,_vue.nextTick)(function(){S(u)}),i?(i(o),e()):e(o)})})):(i&&i(),Promise.resolve())},I=function(e,t){var i=t.item,n=a.tooltipStore,r=g.value,l=e.currentTarget.children[0],t=(l.textContent||"").trim(),e=l.scrollWidth>l.clientWidth;clearTimeout(a.tooltipTimeout),a.tooltipActive=!0,o(),t&&e&&(Object.assign(n,{item:i,visible:!0}),r&&r.open(l,t))},D=function(){var e=b.value;a.tooltipActive=!1,e.enterable?a.tooltipTimeout=setTimeout(function(){var e=g.value;e&&!e.reactData.isHover&&o()},e.leaveDelay):o()},h={dispatchEvent:function(e,t,i){l(e,Object.assign({$form:A,$event:i},t))},reset:R,validate:function(e){return N(T(),"",e)},validateField:function(t,e){return N(T().filter(function(e){return e.field===t}),"",e)},clearValidate:U,updateStatus:function(e,t){var i=e.property;i&&w("change",i,t).then(function(){U(i)}).catch(function(e){var t=e.rule,e=T().find(function(e){return e.field===i});e&&(e.showError=!0,e.errRule=t)})},toggleCollapse:r,getItems:T,closeTooltip:o};Object.assign(A,h,{callSlot:j,toggleCollapseEvent:M,triggerHeaderHelpEvent:I,handleTargetLeaveEvent:D}),(0,_vue.watch)(function(){return p.staticItems},function(e){p.formItems=e}),(0,_vue.watch)(function(){return V.items},function(e){i(e||[])}),(0,_vue.watch)(function(){return V.collapseStatus},function(e){p.collapseAll=!!e}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){"development"===process.env.NODE_ENV&&V.customLayout&&V.items&&(0,_utils.errLog)("vxe.error.errConflicts",["custom-layout","items"]),i(V.items||[])})});return A.renderVN=function(){var e=V.loading,t=V.className,i=V.data,n=V.titleColon,r=V.titleAsterisk,l=V.customLayout,o=p.formItems,u=m.value,a=b.value,s=v.default;return(0,_vue.h)("form",{ref:_,class:["vxe-form",t?_xeUtils.default.isFunction(t)?t({items:o,data:i,$form:A}):t:"",((t={})["size--"+u]=u,t["is--colon"]=n,t["is--asterisk"]=r,t["is--loading"]=e,t)],onSubmit:f,onReset:c},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-row"},l?s?s({}):[]:q(o)),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!l&&s?s({}):[]),(0,_vue.h)("div",{class:["vxe-loading",{"is--visible":e}]},[(0,_vue.h)("div",{class:"vxe-loading--spinner"})]),d?(0,_vue.h)((0,_vue.resolveComponent)("vxe-tooltip"),__assign({ref:g},a)):(0,_vue.createCommentVNode)()])},(0,_vue.provide)("$xeform",A),A},render:function(){return this.renderVN()}});exports.default=_default2;
|