vxe-table 4.1.17-beta.2 → 4.1.18-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +3 -1
- package/README.md +3 -1
- package/README.zh-TW.md +3 -1
- package/es/edit/src/hook.js +20 -10
- package/es/export/src/hook.js +16 -9
- package/es/footer/src/footer.js +12 -10
- package/es/grid/src/grid.js +3 -2
- package/es/header/src/header.js +15 -13
- package/es/input/src/input.js +11 -21
- package/es/modal/src/modal.js +1 -1
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/emits.js +3 -1
- package/es/table/src/table.js +9 -8
- package/lib/edit/src/hook.js +30 -12
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/src/hook.js +15 -10
- package/lib/export/src/hook.min.js +1 -1
- package/lib/footer/src/footer.js +11 -9
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/grid/src/grid.js +3 -2
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/header/src/header.js +14 -12
- package/lib/header/src/header.min.js +1 -1
- package/lib/index.umd.js +115 -78
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +15 -21
- package/lib/input/src/input.min.js +1 -1
- package/lib/modal/src/modal.js +1 -2
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/table/src/columnInfo.js +1 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/table.js +21 -8
- package/lib/table/src/table.min.js +1 -1
- package/package.json +2 -2
- package/packages/edit/src/hook.ts +19 -10
- package/packages/export/src/hook.ts +26 -19
- package/packages/footer/src/footer.ts +12 -10
- package/packages/grid/src/grid.ts +3 -2
- package/packages/header/src/header.ts +15 -13
- package/packages/input/src/input.ts +12 -18
- package/packages/modal/src/modal.ts +1 -1
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/emits.ts +3 -1
- package/packages/table/src/table.ts +10 -8
- package/types/grid.d.ts +1 -0
- package/types/plugins/pro.d.ts +143 -0
- package/types/table.d.ts +14 -2
package/README.en.md
CHANGED
|
@@ -103,13 +103,15 @@ createApp(App).use(VXETable).mount('#app')
|
|
|
103
103
|
|
|
104
104
|
### CDN
|
|
105
105
|
|
|
106
|
+
It is not recommended to use the public CDN address for production, because the connection may fail at any time, causing the project to hang up;
|
|
107
|
+
Remember to lock the version number by using CDN to avoid being affected by incompatible updates.
|
|
108
|
+
|
|
106
109
|
```HTML
|
|
107
110
|
<!-- Style -->
|
|
108
111
|
<link rel="stylesheet" href="https://unpkg.com/vxe-table@next/lib/style.css">
|
|
109
112
|
<!-- Script -->
|
|
110
113
|
<script src="https://unpkg.com/xe-utils"></script>
|
|
111
114
|
<script src="https://unpkg.com/vxe-table@next"></script>
|
|
112
|
-
<!-- It is recommended that users introduced by CDN lock the version on the link address to avoid the impact of incompatible updates -->
|
|
113
115
|
```
|
|
114
116
|
|
|
115
117
|
## Example
|
package/README.md
CHANGED
|
@@ -108,13 +108,15 @@ createApp(App).use(VXETable).mount('#app')
|
|
|
108
108
|
|
|
109
109
|
### CDN
|
|
110
110
|
|
|
111
|
+
不建议将公共的 CDN 地址用于生产,因为该连接随时都可能会失效,导致项目挂掉;
|
|
112
|
+
使用 CDN 方式记得锁定版本号,避免受到非兼容性更新的影响
|
|
113
|
+
|
|
111
114
|
```HTML
|
|
112
115
|
<!-- 引入样式 -->
|
|
113
116
|
<link rel="stylesheet" href="https://unpkg.com/vxe-table@next/lib/style.css">
|
|
114
117
|
<!-- 引入脚本 -->
|
|
115
118
|
<script src="https://unpkg.com/xe-utils"></script>
|
|
116
119
|
<script src="https://unpkg.com/vxe-table@next"></script>
|
|
117
|
-
<!-- 建议使用 CDN 方式引入的用户在链接地址上锁定版本,避免受到非兼容性更新的影响 -->
|
|
118
120
|
```
|
|
119
121
|
|
|
120
122
|
## 示例
|
package/README.zh-TW.md
CHANGED
|
@@ -106,13 +106,15 @@ createApp(App).use(VXETable).mount('#app')
|
|
|
106
106
|
|
|
107
107
|
### CDN
|
|
108
108
|
|
|
109
|
+
不建議將公共的CDN地址用於生產,因為該連接隨時都可能會失效,導致項目掛掉;
|
|
110
|
+
使用CDN管道記得鎖定版本號,避免受到非相容性更新的影響
|
|
111
|
+
|
|
109
112
|
```HTML
|
|
110
113
|
<!-- 引入樣式 -->
|
|
111
114
|
<link rel="stylesheet" href="https://unpkg.com/vxe-table@next/lib/style.css">
|
|
112
115
|
<!-- 引入腳本 -->
|
|
113
116
|
<script src="https://unpkg.com/xe-utils"></script>
|
|
114
117
|
<script src="https://unpkg.com/vxe-table@next"></script>
|
|
115
|
-
<!-- 建議使用 CDN 管道引入的用戶在連結位址上鎖定版本,避免受到非相容性更新的影響 -->
|
|
116
118
|
```
|
|
117
119
|
|
|
118
120
|
## 示例
|
package/es/edit/src/hook.js
CHANGED
|
@@ -69,18 +69,19 @@ var editHook = {
|
|
|
69
69
|
function insertTreeRow(newRecords, isAppend) {
|
|
70
70
|
var tableFullTreeData = internalData.tableFullTreeData, afterFullData = internalData.afterFullData, fullDataRowIdData = internalData.fullDataRowIdData, fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
71
71
|
var treeOpts = computeTreeOpts.value;
|
|
72
|
+
var rowField = treeOpts.rowField, parentField = treeOpts.parentField, children = treeOpts.children, mapChildren = treeOpts.mapChildren;
|
|
72
73
|
var funcName = isAppend ? 'push' : 'unshift';
|
|
73
74
|
newRecords.forEach(function (item) {
|
|
74
|
-
var parentRowId = item[
|
|
75
|
+
var parentRowId = item[parentField];
|
|
75
76
|
var rowid = getRowid($xetable, item);
|
|
76
|
-
var matchObj = parentRowId ? XEUtils.findTree(tableFullTreeData, function (item) { return parentRowId === item[
|
|
77
|
+
var matchObj = parentRowId ? XEUtils.findTree(tableFullTreeData, function (item) { return parentRowId === item[rowField]; }, { children: mapChildren }) : null;
|
|
77
78
|
if (matchObj) {
|
|
78
79
|
var parentRow = matchObj.item;
|
|
79
80
|
var parentRest = fullAllDataRowIdData[getRowid($xetable, parentRow)];
|
|
80
81
|
var parentLevel = parentRest ? parentRest.level : 0;
|
|
81
|
-
var parentChilds = parentRow[
|
|
82
|
+
var parentChilds = parentRow[children];
|
|
82
83
|
if (!XEUtils.isArray(parentChilds)) {
|
|
83
|
-
parentChilds = parentRow[
|
|
84
|
+
parentChilds = parentRow[children] = [];
|
|
84
85
|
}
|
|
85
86
|
parentChilds[funcName](item);
|
|
86
87
|
var rest = { row: item, rowid: rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parent, level: parentLevel + 1 };
|
|
@@ -124,7 +125,7 @@ var editHook = {
|
|
|
124
125
|
var mergeList = reactData.mergeList, editStore = reactData.editStore;
|
|
125
126
|
var tableFullTreeData = internalData.tableFullTreeData, afterFullData = internalData.afterFullData, tableFullData = internalData.tableFullData, fullDataRowIdData = internalData.fullDataRowIdData, fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
126
127
|
var treeOpts = computeTreeOpts.value;
|
|
127
|
-
var transform = treeOpts.transform;
|
|
128
|
+
var transform = treeOpts.transform, rowField = treeOpts.rowField, mapChildren = treeOpts.mapChildren;
|
|
128
129
|
if (!XEUtils.isArray(records)) {
|
|
129
130
|
records = [records];
|
|
130
131
|
}
|
|
@@ -167,7 +168,7 @@ var editHook = {
|
|
|
167
168
|
else {
|
|
168
169
|
// 如果为虚拟树
|
|
169
170
|
if (treeConfig && transform) {
|
|
170
|
-
var matchObj_1 = XEUtils.findTree(tableFullTreeData, function (item) { return row[
|
|
171
|
+
var matchObj_1 = XEUtils.findTree(tableFullTreeData, function (item) { return row[rowField] === item[rowField]; }, { children: mapChildren });
|
|
171
172
|
if (matchObj_1) {
|
|
172
173
|
var parentRow_1 = matchObj_1.parent;
|
|
173
174
|
var parentChilds_1 = matchObj_1.items;
|
|
@@ -177,13 +178,13 @@ var editHook = {
|
|
|
177
178
|
var rowid = getRowid($xetable, item);
|
|
178
179
|
if (process.env.NODE_ENV === 'development') {
|
|
179
180
|
if (item[treeOpts.parentField]) {
|
|
180
|
-
if (parentRow_1 && item[treeOpts.parentField] !== parentRow_1[
|
|
181
|
-
errLog('vxe.error.errProp', [treeOpts.parentField + "=" + item[treeOpts.parentField], treeOpts.parentField + "=" + parentRow_1[
|
|
181
|
+
if (parentRow_1 && item[treeOpts.parentField] !== parentRow_1[rowField]) {
|
|
182
|
+
errLog('vxe.error.errProp', [treeOpts.parentField + "=" + item[treeOpts.parentField], treeOpts.parentField + "=" + parentRow_1[rowField]]);
|
|
182
183
|
}
|
|
183
184
|
}
|
|
184
185
|
}
|
|
185
186
|
if (parentRow_1) {
|
|
186
|
-
item[treeOpts.parentField] = parentRow_1[
|
|
187
|
+
item[treeOpts.parentField] = parentRow_1[rowField];
|
|
187
188
|
}
|
|
188
189
|
parentChilds_1.splice(matchObj_1.index + i, 0, item);
|
|
189
190
|
var rest = { row: item, rowid: rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds_1, parent: parentRow_1, level: parentLevel_1 + 1 };
|
|
@@ -202,7 +203,16 @@ var editHook = {
|
|
|
202
203
|
if (treeConfig) {
|
|
203
204
|
throw new Error(getLog('vxe.error.noTree', ['insert']));
|
|
204
205
|
}
|
|
205
|
-
var afIndex_1 =
|
|
206
|
+
var afIndex_1 = -1;
|
|
207
|
+
// 如果是可视索引
|
|
208
|
+
if (XEUtils.isNumber(row)) {
|
|
209
|
+
if (row < afterFullData.length) {
|
|
210
|
+
afIndex_1 = row;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
afIndex_1 = $xetable.findRowIndexOf(afterFullData, row);
|
|
215
|
+
}
|
|
206
216
|
if (afIndex_1 === -1) {
|
|
207
217
|
throw new Error(errLog('vxe.error.unableInsert'));
|
|
208
218
|
}
|
package/es/export/src/hook.js
CHANGED
|
@@ -265,11 +265,18 @@ var tableExportHook = {
|
|
|
265
265
|
var treeOpts = computeTreeOpts.value;
|
|
266
266
|
return row[treeOpts.children] && row[treeOpts.children].length;
|
|
267
267
|
};
|
|
268
|
-
var getSeq = function (row, rowIndex, column, columnIndex) {
|
|
268
|
+
var getSeq = function (row, $rowIndex, column, $columnIndex) {
|
|
269
269
|
var seqOpts = computeSeqOpts.value;
|
|
270
270
|
var seqMethod = seqOpts.seqMethod || column.seqMethod;
|
|
271
271
|
if (seqMethod) {
|
|
272
|
-
return seqMethod({
|
|
272
|
+
return seqMethod({
|
|
273
|
+
row: row,
|
|
274
|
+
rowIndex: $xetable.getRowIndex(row),
|
|
275
|
+
$rowIndex: $rowIndex,
|
|
276
|
+
column: column,
|
|
277
|
+
columnIndex: $xetable.getColumnIndex(column),
|
|
278
|
+
$columnIndex: $columnIndex
|
|
279
|
+
});
|
|
273
280
|
}
|
|
274
281
|
return $xetable.getRowSeq(row);
|
|
275
282
|
};
|
|
@@ -277,7 +284,7 @@ var tableExportHook = {
|
|
|
277
284
|
return XEUtils.isBoolean(cellValue) ? (cellValue ? 'TRUE' : 'FALSE') : cellValue;
|
|
278
285
|
};
|
|
279
286
|
var getLabelData = function (opts, columns, datas) {
|
|
280
|
-
var isAllExpand = opts.isAllExpand;
|
|
287
|
+
var isAllExpand = opts.isAllExpand, mode = opts.mode;
|
|
281
288
|
var treeConfig = props.treeConfig;
|
|
282
289
|
var radioOpts = computeRadioOpts.value;
|
|
283
290
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
@@ -289,7 +296,7 @@ var tableExportHook = {
|
|
|
289
296
|
// 如果是树表格只允许导出数据源
|
|
290
297
|
var rest_1 = [];
|
|
291
298
|
var expandMaps_1 = new Map();
|
|
292
|
-
XEUtils.eachTree(datas, function (item, rowIndex, items, path, parent, nodes) {
|
|
299
|
+
XEUtils.eachTree(datas, function (item, $rowIndex, items, path, parent, nodes) {
|
|
293
300
|
var row = item._row || item;
|
|
294
301
|
var parentRow = parent && parent._row ? parent._row : parent;
|
|
295
302
|
if ((isAllExpand || !parentRow || (expandMaps_1.has(parentRow) && $xetable.isTreeExpandByRow(parentRow)))) {
|
|
@@ -300,7 +307,7 @@ var tableExportHook = {
|
|
|
300
307
|
_hasChild: hasRowChild,
|
|
301
308
|
_expand: hasRowChild && $xetable.isTreeExpandByRow(row)
|
|
302
309
|
};
|
|
303
|
-
columns.forEach(function (column, columnIndex) {
|
|
310
|
+
columns.forEach(function (column, $columnIndex) {
|
|
304
311
|
var cellValue = '';
|
|
305
312
|
var renderOpts = column.editRender || column.cellRender;
|
|
306
313
|
var exportLabelMethod = column.exportMethod;
|
|
@@ -316,7 +323,7 @@ var tableExportHook = {
|
|
|
316
323
|
else {
|
|
317
324
|
switch (column.type) {
|
|
318
325
|
case 'seq':
|
|
319
|
-
cellValue = getSeq(row, rowIndex, column, columnIndex);
|
|
326
|
+
cellValue = mode === 'all' ? path.map(function (num, i) { return i % 2 === 0 ? (Number(num) + 1) : '.'; }).join('') : getSeq(row, $rowIndex, column, $columnIndex);
|
|
320
327
|
break;
|
|
321
328
|
case 'checkbox':
|
|
322
329
|
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row));
|
|
@@ -355,11 +362,11 @@ var tableExportHook = {
|
|
|
355
362
|
}, treeOpts);
|
|
356
363
|
return rest_1;
|
|
357
364
|
}
|
|
358
|
-
return datas.map(function (row, rowIndex) {
|
|
365
|
+
return datas.map(function (row, $rowIndex) {
|
|
359
366
|
var item = {
|
|
360
367
|
_row: row
|
|
361
368
|
};
|
|
362
|
-
columns.forEach(function (column, columnIndex) {
|
|
369
|
+
columns.forEach(function (column, $columnIndex) {
|
|
363
370
|
var cellValue = '';
|
|
364
371
|
var renderOpts = column.editRender || column.cellRender;
|
|
365
372
|
var exportLabelMethod = column.exportMethod;
|
|
@@ -375,7 +382,7 @@ var tableExportHook = {
|
|
|
375
382
|
else {
|
|
376
383
|
switch (column.type) {
|
|
377
384
|
case 'seq':
|
|
378
|
-
cellValue = getSeq(row, rowIndex, column, columnIndex);
|
|
385
|
+
cellValue = mode === 'all' ? $rowIndex + 1 : getSeq(row, $rowIndex, column, $columnIndex);
|
|
379
386
|
break;
|
|
380
387
|
case 'checkbox':
|
|
381
388
|
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row));
|
package/es/footer/src/footer.js
CHANGED
|
@@ -9,7 +9,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import { createCommentVNode, defineComponent, h, ref, inject, nextTick } from 'vue';
|
|
12
|
+
import { createCommentVNode, defineComponent, h, ref, inject, nextTick, onMounted } from 'vue';
|
|
13
13
|
import XEUtils from 'xe-utils';
|
|
14
14
|
import { getPropClass } from '../../table/src/util';
|
|
15
15
|
import { updateCellTitle } from '../../tools/dom';
|
|
@@ -78,15 +78,17 @@ export default defineComponent({
|
|
|
78
78
|
}
|
|
79
79
|
$xetable.dispatchEvent('scroll', { type: renderType, fixed: fixedType, scrollTop: bodyElem.scrollTop, scrollLeft: scrollLeft, isX: isX, isY: false }, evnt);
|
|
80
80
|
};
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
81
|
+
onMounted(function () {
|
|
82
|
+
nextTick(function () {
|
|
83
|
+
var fixedType = props.fixedType;
|
|
84
|
+
var elemStore = tableInternalData.elemStore;
|
|
85
|
+
var prefix = (fixedType || 'main') + "-footer-";
|
|
86
|
+
elemStore[prefix + "wrapper"] = refElem.value;
|
|
87
|
+
elemStore[prefix + "table"] = refFooterTable.value;
|
|
88
|
+
elemStore[prefix + "colgroup"] = refFooterColgroup.value;
|
|
89
|
+
elemStore[prefix + "list"] = refFooterTFoot.value;
|
|
90
|
+
elemStore[prefix + "xSpace"] = refFooterXSpace.value;
|
|
91
|
+
});
|
|
90
92
|
});
|
|
91
93
|
var renderVN = function () {
|
|
92
94
|
var fixedType = props.fixedType, fixedColumn = props.fixedColumn, tableColumn = props.tableColumn, footerTableData = props.footerTableData;
|
package/es/grid/src/grid.js
CHANGED
|
@@ -25,7 +25,7 @@ import tableComponentEmits from '../../table/src/emits';
|
|
|
25
25
|
import { useSize } from '../../hooks/size';
|
|
26
26
|
import { GlobalEvent, hasEventKey, EVENT_KEYS } from '../../tools/event';
|
|
27
27
|
var tableComponentPropKeys = Object.keys(tableComponentProps);
|
|
28
|
-
var tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'createData', 'createRow', 'revertData', 'clearData', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getData', 'getCheckboxRecords', 'getRowById', 'getRowid', 'getTableData', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'isCheckedByCheckboxRow', 'isIndeterminateByCheckboxRow', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'setRadioRow', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'sort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'focus', 'blur', 'connect'];
|
|
28
|
+
var tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'createData', 'createRow', 'revertData', 'clearData', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getData', 'getCheckboxRecords', 'getParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'isCheckedByCheckboxRow', 'isIndeterminateByCheckboxRow', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'setRadioRow', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'sort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'openTooltip', 'focus', 'blur', 'connect'];
|
|
29
29
|
var gridComponentEmits = __spreadArray(__spreadArray([], tableComponentEmits), [
|
|
30
30
|
'page-change',
|
|
31
31
|
'form-submit',
|
|
@@ -689,6 +689,7 @@ export default defineComponent({
|
|
|
689
689
|
}
|
|
690
690
|
sortList = defaultSort.map(function (item) {
|
|
691
691
|
return {
|
|
692
|
+
field: item.field,
|
|
692
693
|
property: item.field,
|
|
693
694
|
order: item.order
|
|
694
695
|
};
|
|
@@ -1059,7 +1060,7 @@ export default defineComponent({
|
|
|
1059
1060
|
var proxyOpts = computeProxyOpts.value;
|
|
1060
1061
|
var formOpts = computeFormOpts.value;
|
|
1061
1062
|
if (proxyConfig && (data || (proxyOpts.form && formOpts.data))) {
|
|
1062
|
-
errLog('errConflicts', ['grid.data', 'grid.proxy-config']);
|
|
1063
|
+
errLog('vxe.error.errConflicts', ['grid.data', 'grid.proxy-config']);
|
|
1063
1064
|
}
|
|
1064
1065
|
if (columns && columns.length) {
|
|
1065
1066
|
$xegrid.loadColumn(columns);
|
package/es/header/src/header.js
CHANGED
|
@@ -9,7 +9,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import { createCommentVNode, defineComponent, h, ref, inject, nextTick, watch } from 'vue';
|
|
12
|
+
import { createCommentVNode, defineComponent, h, ref, inject, nextTick, watch, onMounted } from 'vue';
|
|
13
13
|
import XEUtils from 'xe-utils';
|
|
14
14
|
import { convertToRows } from './util';
|
|
15
15
|
import { getColMinWidth } from '../../table/src/util';
|
|
@@ -130,18 +130,20 @@ export default defineComponent({
|
|
|
130
130
|
}
|
|
131
131
|
};
|
|
132
132
|
watch(function () { return props.tableColumn; }, uploadColumn);
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
133
|
+
onMounted(function () {
|
|
134
|
+
nextTick(function () {
|
|
135
|
+
var fixedType = props.fixedType;
|
|
136
|
+
var internalData = $xetable.internalData;
|
|
137
|
+
var elemStore = internalData.elemStore;
|
|
138
|
+
var prefix = (fixedType || 'main') + "-header-";
|
|
139
|
+
elemStore[prefix + "wrapper"] = refElem.value;
|
|
140
|
+
elemStore[prefix + "table"] = refHeaderTable.value;
|
|
141
|
+
elemStore[prefix + "colgroup"] = refHeaderColgroup.value;
|
|
142
|
+
elemStore[prefix + "list"] = refHeaderTHead.value;
|
|
143
|
+
elemStore[prefix + "xSpace"] = refHeaderXSpace.value;
|
|
144
|
+
elemStore[prefix + "repair"] = refHeaderBorderRepair.value;
|
|
145
|
+
uploadColumn();
|
|
146
|
+
});
|
|
145
147
|
});
|
|
146
148
|
var renderVN = function () {
|
|
147
149
|
var fixedType = props.fixedType, fixedColumn = props.fixedColumn, tableColumn = props.tableColumn;
|
package/es/input/src/input.js
CHANGED
|
@@ -137,6 +137,13 @@ export default defineComponent({
|
|
|
137
137
|
getRefMaps: function () { return refMaps; }
|
|
138
138
|
};
|
|
139
139
|
var inputMethods = {};
|
|
140
|
+
var parseDate = function (value, format) {
|
|
141
|
+
var type = props.type;
|
|
142
|
+
if (type === 'time') {
|
|
143
|
+
return toStringTimeDate(value);
|
|
144
|
+
}
|
|
145
|
+
return XEUtils.toStringDate(value, format);
|
|
146
|
+
};
|
|
140
147
|
var computeIsDateTimeType = computed(function () {
|
|
141
148
|
var type = props.type;
|
|
142
149
|
return type === 'time' || type === 'datetime';
|
|
@@ -187,18 +194,12 @@ export default defineComponent({
|
|
|
187
194
|
return type === 'time' ? 'HH:mm:ss' : (props.valueFormat || (type === 'datetime' ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd'));
|
|
188
195
|
});
|
|
189
196
|
var computeDateValue = computed(function () {
|
|
190
|
-
var modelValue = props.modelValue
|
|
197
|
+
var modelValue = props.modelValue;
|
|
191
198
|
var isDatePickerType = computeIsDatePickerType.value;
|
|
192
199
|
var dateValueFormat = computeDateValueFormat.value;
|
|
193
200
|
var val = null;
|
|
194
201
|
if (modelValue && isDatePickerType) {
|
|
195
|
-
var date =
|
|
196
|
-
if (type === 'time') {
|
|
197
|
-
date = toStringTimeDate(modelValue);
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
date = XEUtils.toStringDate(modelValue, dateValueFormat);
|
|
201
|
-
}
|
|
202
|
+
var date = parseDate(modelValue, dateValueFormat);
|
|
202
203
|
if (XEUtils.isValidDate(date)) {
|
|
203
204
|
val = date;
|
|
204
205
|
}
|
|
@@ -618,12 +619,7 @@ export default defineComponent({
|
|
|
618
619
|
var dValue = null;
|
|
619
620
|
var dLabel = '';
|
|
620
621
|
if (value) {
|
|
621
|
-
|
|
622
|
-
dValue = toStringTimeDate(value);
|
|
623
|
-
}
|
|
624
|
-
else {
|
|
625
|
-
dValue = XEUtils.toStringDate(value, valueFormat);
|
|
626
|
-
}
|
|
622
|
+
dValue = parseDate(value, valueFormat);
|
|
627
623
|
}
|
|
628
624
|
if (XEUtils.isValidDate(dValue)) {
|
|
629
625
|
dLabel = XEUtils.toDateString(dValue, dateLabelFormat, { firstDay: firstDayOfWeek });
|
|
@@ -742,13 +738,7 @@ export default defineComponent({
|
|
|
742
738
|
}
|
|
743
739
|
else if (isDatePickerType) {
|
|
744
740
|
if (inputValue) {
|
|
745
|
-
var inpDateVal =
|
|
746
|
-
if (type === 'time') {
|
|
747
|
-
inpDateVal = toStringTimeDate(inputValue);
|
|
748
|
-
}
|
|
749
|
-
else {
|
|
750
|
-
inpDateVal = XEUtils.toStringDate(inputValue, dateLabelFormat);
|
|
751
|
-
}
|
|
741
|
+
var inpDateVal = parseDate(inputValue, dateLabelFormat);
|
|
752
742
|
if (XEUtils.isValidDate(inpDateVal)) {
|
|
753
743
|
if (type === 'time') {
|
|
754
744
|
inpDateVal = XEUtils.toDateString(inpDateVal, dateLabelFormat);
|
package/es/modal/src/modal.js
CHANGED
|
@@ -285,7 +285,7 @@ export default defineComponent({
|
|
|
285
285
|
var maximize = function () {
|
|
286
286
|
return nextTick().then(function () {
|
|
287
287
|
if (!reactData.zoomLocat) {
|
|
288
|
-
var marginSize = XEUtils.toNumber(props.marginSize);
|
|
288
|
+
var marginSize = Math.max(0, XEUtils.toNumber(props.marginSize));
|
|
289
289
|
var boxElem = getBox();
|
|
290
290
|
var _a = getDomNode(), visibleHeight = _a.visibleHeight, visibleWidth = _a.visibleWidth;
|
|
291
291
|
reactData.zoomLocat = {
|
package/es/table/src/emits.js
CHANGED
package/es/table/src/table.js
CHANGED
|
@@ -1169,7 +1169,7 @@ export default defineComponent({
|
|
|
1169
1169
|
var filterColumns_1 = [];
|
|
1170
1170
|
var orderColumns_1 = [];
|
|
1171
1171
|
tableFullColumn.forEach(function (column) {
|
|
1172
|
-
var sortable = column.sortable, order = column.order, filters = column.filters;
|
|
1172
|
+
var property = column.property, sortable = column.sortable, order = column.order, filters = column.filters;
|
|
1173
1173
|
if (!allRemoteFilter && filters && filters.length) {
|
|
1174
1174
|
var valueList_1 = [];
|
|
1175
1175
|
var itemList_1 = [];
|
|
@@ -1184,7 +1184,7 @@ export default defineComponent({
|
|
|
1184
1184
|
}
|
|
1185
1185
|
}
|
|
1186
1186
|
if (!allRemoteSort && sortable && order) {
|
|
1187
|
-
orderColumns_1.push({ column: column, property:
|
|
1187
|
+
orderColumns_1.push({ column: column, field: property, property: property, order: order });
|
|
1188
1188
|
}
|
|
1189
1189
|
});
|
|
1190
1190
|
// 处理筛选
|
|
@@ -2741,15 +2741,16 @@ export default defineComponent({
|
|
|
2741
2741
|
*/
|
|
2742
2742
|
getCheckboxRecords: function (isFull) {
|
|
2743
2743
|
var treeConfig = props.treeConfig;
|
|
2744
|
-
var tableFullData = internalData.tableFullData, afterFullData = internalData.afterFullData;
|
|
2744
|
+
var tableFullData = internalData.tableFullData, afterFullData = internalData.afterFullData, afterTreeFullData = internalData.afterTreeFullData, tableFullTreeData = internalData.tableFullTreeData;
|
|
2745
2745
|
var treeOpts = computeTreeOpts.value;
|
|
2746
2746
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
2747
|
+
var transform = treeOpts.transform, children = treeOpts.children, mapChildren = treeOpts.mapChildren;
|
|
2747
2748
|
var property = checkboxOpts.checkField;
|
|
2748
2749
|
var rowList = [];
|
|
2749
|
-
var currTableData = isFull ? tableFullData : afterFullData;
|
|
2750
|
+
var currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData);
|
|
2750
2751
|
if (property) {
|
|
2751
2752
|
if (treeConfig) {
|
|
2752
|
-
rowList = XEUtils.filterTree(currTableData, function (row) { return XEUtils.get(row, property); },
|
|
2753
|
+
rowList = XEUtils.filterTree(currTableData, function (row) { return XEUtils.get(row, property); }, { children: transform ? mapChildren : children });
|
|
2753
2754
|
}
|
|
2754
2755
|
else {
|
|
2755
2756
|
rowList = currTableData.filter(function (row) { return XEUtils.get(row, property); });
|
|
@@ -2758,7 +2759,7 @@ export default defineComponent({
|
|
|
2758
2759
|
else {
|
|
2759
2760
|
var selection_1 = reactData.selection;
|
|
2760
2761
|
if (treeConfig) {
|
|
2761
|
-
rowList = XEUtils.filterTree(currTableData, function (row) { return $xetable.findRowIndexOf(selection_1, row) > -1; },
|
|
2762
|
+
rowList = XEUtils.filterTree(currTableData, function (row) { return $xetable.findRowIndexOf(selection_1, row) > -1; }, { children: transform ? mapChildren : children });
|
|
2762
2763
|
}
|
|
2763
2764
|
else {
|
|
2764
2765
|
rowList = currTableData.filter(function (row) { return $xetable.findRowIndexOf(selection_1, row) > -1; });
|
|
@@ -3414,9 +3415,9 @@ export default defineComponent({
|
|
|
3414
3415
|
var sortList = [];
|
|
3415
3416
|
var tableFullColumn = internalData.tableFullColumn;
|
|
3416
3417
|
tableFullColumn.forEach(function (column) {
|
|
3417
|
-
var order = column.order;
|
|
3418
|
+
var property = column.property, order = column.order;
|
|
3418
3419
|
if (column.sortable && order) {
|
|
3419
|
-
sortList.push({ column: column, property:
|
|
3420
|
+
sortList.push({ column: column, field: property, property: property, order: order });
|
|
3420
3421
|
}
|
|
3421
3422
|
});
|
|
3422
3423
|
return sortList;
|
package/lib/edit/src/hook.js
CHANGED
|
@@ -118,22 +118,28 @@ var editHook = {
|
|
|
118
118
|
fullDataRowIdData = internalData.fullDataRowIdData,
|
|
119
119
|
fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
120
120
|
var treeOpts = computeTreeOpts.value;
|
|
121
|
+
var rowField = treeOpts.rowField,
|
|
122
|
+
parentField = treeOpts.parentField,
|
|
123
|
+
children = treeOpts.children,
|
|
124
|
+
mapChildren = treeOpts.mapChildren;
|
|
121
125
|
var funcName = isAppend ? 'push' : 'unshift';
|
|
122
126
|
newRecords.forEach(function (item) {
|
|
123
|
-
var parentRowId = item[
|
|
127
|
+
var parentRowId = item[parentField];
|
|
124
128
|
var rowid = (0, _util.getRowid)($xetable, item);
|
|
125
129
|
var matchObj = parentRowId ? _xeUtils.default.findTree(tableFullTreeData, function (item) {
|
|
126
|
-
return parentRowId === item[
|
|
127
|
-
},
|
|
130
|
+
return parentRowId === item[rowField];
|
|
131
|
+
}, {
|
|
132
|
+
children: mapChildren
|
|
133
|
+
}) : null;
|
|
128
134
|
|
|
129
135
|
if (matchObj) {
|
|
130
136
|
var parentRow = matchObj.item;
|
|
131
137
|
var parentRest = fullAllDataRowIdData[(0, _util.getRowid)($xetable, parentRow)];
|
|
132
138
|
var parentLevel = parentRest ? parentRest.level : 0;
|
|
133
|
-
var parentChilds = parentRow[
|
|
139
|
+
var parentChilds = parentRow[children];
|
|
134
140
|
|
|
135
141
|
if (!_xeUtils.default.isArray(parentChilds)) {
|
|
136
|
-
parentChilds = parentRow[
|
|
142
|
+
parentChilds = parentRow[children] = [];
|
|
137
143
|
}
|
|
138
144
|
|
|
139
145
|
parentChilds[funcName](item);
|
|
@@ -206,7 +212,9 @@ var editHook = {
|
|
|
206
212
|
fullDataRowIdData = internalData.fullDataRowIdData,
|
|
207
213
|
fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
208
214
|
var treeOpts = computeTreeOpts.value;
|
|
209
|
-
var transform = treeOpts.transform
|
|
215
|
+
var transform = treeOpts.transform,
|
|
216
|
+
rowField = treeOpts.rowField,
|
|
217
|
+
mapChildren = treeOpts.mapChildren;
|
|
210
218
|
|
|
211
219
|
if (!_xeUtils.default.isArray(records)) {
|
|
212
220
|
records = [records];
|
|
@@ -254,8 +262,10 @@ var editHook = {
|
|
|
254
262
|
// 如果为虚拟树
|
|
255
263
|
if (treeConfig && transform) {
|
|
256
264
|
var matchObj_1 = _xeUtils.default.findTree(tableFullTreeData, function (item) {
|
|
257
|
-
return row[
|
|
258
|
-
},
|
|
265
|
+
return row[rowField] === item[rowField];
|
|
266
|
+
}, {
|
|
267
|
+
children: mapChildren
|
|
268
|
+
});
|
|
259
269
|
|
|
260
270
|
if (matchObj_1) {
|
|
261
271
|
var parentRow_1 = matchObj_1.parent;
|
|
@@ -267,14 +277,14 @@ var editHook = {
|
|
|
267
277
|
|
|
268
278
|
if (process.env.NODE_ENV === 'development') {
|
|
269
279
|
if (item[treeOpts.parentField]) {
|
|
270
|
-
if (parentRow_1 && item[treeOpts.parentField] !== parentRow_1[
|
|
271
|
-
(0, _utils.errLog)('vxe.error.errProp', [treeOpts.parentField + "=" + item[treeOpts.parentField], treeOpts.parentField + "=" + parentRow_1[
|
|
280
|
+
if (parentRow_1 && item[treeOpts.parentField] !== parentRow_1[rowField]) {
|
|
281
|
+
(0, _utils.errLog)('vxe.error.errProp', [treeOpts.parentField + "=" + item[treeOpts.parentField], treeOpts.parentField + "=" + parentRow_1[rowField]]);
|
|
272
282
|
}
|
|
273
283
|
}
|
|
274
284
|
}
|
|
275
285
|
|
|
276
286
|
if (parentRow_1) {
|
|
277
|
-
item[treeOpts.parentField] = parentRow_1[
|
|
287
|
+
item[treeOpts.parentField] = parentRow_1[rowField];
|
|
278
288
|
}
|
|
279
289
|
|
|
280
290
|
parentChilds_1.splice(matchObj_1.index + i, 0, item);
|
|
@@ -304,7 +314,15 @@ var editHook = {
|
|
|
304
314
|
throw new Error((0, _utils.getLog)('vxe.error.noTree', ['insert']));
|
|
305
315
|
}
|
|
306
316
|
|
|
307
|
-
var afIndex_1 =
|
|
317
|
+
var afIndex_1 = -1; // 如果是可视索引
|
|
318
|
+
|
|
319
|
+
if (_xeUtils.default.isNumber(row)) {
|
|
320
|
+
if (row < afterFullData.length) {
|
|
321
|
+
afIndex_1 = row;
|
|
322
|
+
}
|
|
323
|
+
} else {
|
|
324
|
+
afIndex_1 = $xetable.findRowIndexOf(afterFullData, row);
|
|
325
|
+
}
|
|
308
326
|
|
|
309
327
|
if (afIndex_1 === -1) {
|
|
310
328
|
throw new Error((0, _utils.errLog)('vxe.error.unableInsert'));
|
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(x){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 h=x.props,R=x.reactData,_=x.internalData,o=x.getRefMaps().refElem,e=x.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,w=e.computeCheckboxOpts,C=e.computeTreeOpts,g={},m={};function a(){var e=R.editStore,t=R.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 b(e,t){var a=_.tableFullTreeData,i=_.afterFullData,u=_.fullDataRowIdData,c=_.fullAllDataRowIdData,d=C.value,s=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[d.parentField],n=(0,_util.getRowid)(x,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)(x,t)])?r.level:0,r=t[d.children],(r=!_xeUtils.default.isArray(r)?t[d.children]=[]:r)[s](e),{row:e,rowid:n,seq:-1,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,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e})}return g={insert:function(e){return g.insertAt(e,null)},insertAt:function(e,t){var r=h.treeConfig,l=R.mergeList,n=R.editStore,o=_.tableFullTreeData,a=_.afterFullData,i=_.tableFullData,u=_.fullDataRowIdData,c=_.fullAllDataRowIdData,d=C.value,s=d.transform,f=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return x.defineField(Object.assign({},e))});if(t)if(-1===t)r&&s?b(f,!0):(a.push.apply(a,f),i.push.apply(i,f),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+f.length)}));else if(r&&s){var v,p,w,g=_xeUtils.default.findTree(o,function(e){return t[d.rowField]===e[d.rowField]},d);g?(v=g.parent,p=g.items,o=c[(0,_util.getRowid)(x,v)],w=o?o.level:0,f.forEach(function(e,t){var r=(0,_util.getRowid)(x,e);"development"===process.env.NODE_ENV&&e[d.parentField]&&v&&e[d.parentField]!==v[d.rowField]&&(0,_utils.errLog)("vxe.error.errProp",[d.parentField+"="+e[d.parentField],d.parentField+"="+v[d.rowField]]),v&&(e[d.parentField]=v[d.rowField]),p.splice(g.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:p,parent:v,level:w+1};u[r]=e,c[r]=e})):("development"===process.env.NODE_ENV&&(0,_utils.warnLog)("vxe.error.unableInsert"),b(f,!0))}else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var m=x.findRowIndexOf(a,t);if(-1===m)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([m,0],f)),i.splice.apply(i,__spreadArray([x.findRowIndexOf(i,t),0],f)),l.forEach(function(e){var t=e.row,r=e.rowspan;m<t?e.row=t+f.length:m<t+r&&(e.rowspan=r+f.length)})}else r&&s?b(f,!1):(a.unshift.apply(a,f),i.unshift.apply(i,f),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+f.length)}));return(n=n.insertList).unshift.apply(n,f),x.updateFooter(),x.cacheRowMap(),x.handleTableData(r&&s),r&&s||x.updateAfterDataIndex(),x.checkSelectionStatus(),R.scrollYLoad&&x.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return x.updateCellAreas(),x.recalculate()}).then(function(){return{row:f.length?f[f.length-1]:null,rows:f}})},remove:function(e){var t=h.treeConfig,r=R.mergeList,l=R.editStore,n=R.selection,o=_.tableFullTreeData,a=_.afterFullData,i=_.tableFullData,u=w.value,c=C.value,d=c.transform,s=l.actived,f=l.removeList,v=l.insertList,u=u.checkField,p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(function(e){x.isInsertByRow(e)||f.push(e)}),u||e.forEach(function(e){e=x.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),i===e?(e=p=i.slice(0),_.tableFullData=[],_.afterFullData=[],x.clearMergeCells()):t&&d?e.forEach(function(e){var t=(0,_util.getRowid)(x,e),r=_xeUtils.default.findTree(o,function(e){return t===(0,_util.getRowid)(x,e)},c);r&&(r=r.items.splice(r.index,1),p.push(r[0]));e=x.findRowIndexOf(a,e);-1<e&&a.splice(e,1)}):e.forEach(function(e){var t=x.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),p.push(t[0]));var l=x.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))}),s.row&&-1<x.findRowIndexOf(e,s.row)&&g.clearActived(),e.forEach(function(e){e=x.findRowIndexOf(v,e);-1<e&&v.splice(e,1)}),x.updateFooter(),x.cacheRowMap(),x.handleTableData(t&&d),t&&d||x.updateAfterDataIndex(),x.checkSelectionStatus(),R.scrollYLoad&&x.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return x.updateCellAreas(),x.recalculate()}).then(function(){return{row:p.length?p[p.length-1]:null,rows:p}})},removeCheckboxRow:function(){return g.remove(x.getCheckboxRecords()).then(function(e){return x.clearCheckboxRow(),e})},removeRadioRow:function(){var e=x.getRadioRecord();return g.remove(e||[]).then(function(e){return x.clearRadioRow(),e})},removeCurrentRow:function(){var e=x.getCurrentRecord();return g.remove(e||[]).then(function(e){return x.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:g.getInsertRecords(),removeRecords:g.getRemoveRecords(),updateRecords:g.getUpdateRecords()}},getInsertRecords:function(){var e=h.treeConfig,t=R.editStore,r=_.tableFullTreeData,l=_.tableFullData,n=C.value,t=t.insertList,o=[];return t.length&&(e&&n.transform?t.forEach(function(e){var t=(0,_util.getRowid)(x,e);_xeUtils.default.findTree(r,function(e){return t===(0,_util.getRowid)(x,e)},n)&&o.push(e)}):t.forEach(function(e){-1<x.findRowIndexOf(l,e)&&o.push(e)})),o},getRemoveRecords:function(){return R.editStore.removeList},getUpdateRecords:function(){var e=h.keepSource,t=h.treeConfig,r=_.tableFullData,l=C.value;return e?(a(),t?_xeUtils.default.filterTree(r,function(e){return x.isUpdateByRow(e)},l):r.filter(function(e){return x.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=R.editStore,t=_.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<x.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=R.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=R.editStore.actived,r=t.row,l=t.column;return(r||l)&&(a(),t.args=null,t.row=null,t.column=null,x.updateFooter(),x.dispatchEvent("edit-closed",{row:r,rowIndex:x.getRowIndex(r),$rowIndex:x.getVMRowIndex(r),column:l,columnIndex:x.getColumnIndex(l),$columnIndex:x.getVMColumnIndex(l)},e||null)),(x.clearValidate?x.clearValidate():(0,_vue.nextTick)()).then(function(){return x.recalculate()})},clearSelected:function(){var e=R.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return R.editStore.actived.row===e},setActiveRow:function(e){var t=_.visibleColumn;return x.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=h.editConfig,l=_xeUtils.default.isString(e)?x.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?x.scrollToRow(t,l).then(function(){var e=x.getCell(t,l);return e&&(m.handleActived({row:t,rowIndex:x.getRowIndex(t),column:l,columnIndex:x.getColumnIndex(l),cell:e,$table:x}),_._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=R.tableData,l=_.visibleColumn,n=p.value,t=_xeUtils.default.isString(t)?x.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=x.findRowIndexOf(r,e))&&t&&(r=x.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},x.handleSelected(r,{}))),(0,_vue.nextTick)()}},m={handleActived:function(e,t){var r,l=h.editConfig,n=h.mouseConfig,o=R.editStore,a=R.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||x.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&&(g.clearSelected(),x.clearCellAreas&&(x.clearCellAreas(),x.clearCopyCellArea())),x.closeTooltip(),g.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(){m.handleFocus(e,t)})),x.dispatchEvent(r,{row:s,rowIndex:x.getRowIndex(s),$rowIndex:x.getVMRowIndex(s),column:f,columnIndex:x.getColumnIndex(f),$columnIndex:x.getVMColumnIndex(f)},t)):(r=d.column,n&&(g.clearSelected(),x.clearCellAreas&&(x.clearCellAreas(),x.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),x.clearValidate&&x.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){m.handleFocus(e,t)})),x.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())):x.scrollToRow(l,n))},handleSelected:function(e,t){var r=h.mouseConfig,l=R.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)&&(g.clearActived(t),g.clearSelected(),x.clearCellAreas&&(x.clearCellAreas(),x.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&m.addCellSelectedClass(),x.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=R.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=x.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},g),m)},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,b=R.internalData,o=R.getRefMaps().refElem,e=R.getComputeMaps(),s=e.computeMouseOpts,p=e.computeEditOpts,w=e.computeCheckboxOpts,I=e.computeTreeOpts,g={},m={};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=b.tableFullTreeData,i=b.afterFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,r=I.value,d=r.rowField,s=r.parentField,f=r.children,v=r.mapChildren,p=t?"push":"unshift";e.forEach(function(e){var t,r,l=e[s],n=(0,_util.getRowid)(R,e),o=l?_xeUtils.default.findTree(a,function(e){return l===e[d]},{children:v}):null;e=o?(t=o.item,o=(r=c[(0,_util.getRowid)(R,t)])?r.level:0,r=t[f],(r=!_xeUtils.default.isArray(r)?t[f]=[]:r)[p](e),{row:e,rowid:n,seq:-1,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[p](e),a[p](e),{row:e,rowid:n,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0}),u[n]=e,c[n]=e})}return g={insert:function(e){return g.insertAt(e,null)},insertAt:function(e,t){var r=_.treeConfig,l=C.mergeList,n=C.editStore,o=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=b.fullDataRowIdData,c=b.fullAllDataRowIdData,d=I.value,s=d.transform,f=d.rowField,v=d.mapChildren,p=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return R.defineField(Object.assign({},e))});if(t)if(-1===t)r&&s?A(p,!0):(a.push.apply(a,p),i.push.apply(i,p),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+p.length)}));else if(r&&s){var w,g,m,h=_xeUtils.default.findTree(o,function(e){return t[f]===e[f]},{children:v});h?(w=h.parent,g=h.items,v=c[(0,_util.getRowid)(R,w)],m=v?v.level:0,p.forEach(function(e,t){var r=(0,_util.getRowid)(R,e);"development"===process.env.NODE_ENV&&e[d.parentField]&&w&&e[d.parentField]!==w[f]&&(0,_utils.errLog)("vxe.error.errProp",[d.parentField+"="+e[d.parentField],d.parentField+"="+w[f]]),w&&(e[d.parentField]=w[f]),g.splice(h.index+t,0,e);e={row:e,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,items:g,parent:w,level:m+1};u[r]=e,c[r]=e})):("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=-1;if(_xeUtils.default.isNumber(t)?t<a.length&&(x=t):x=R.findRowIndexOf(a,t),-1===x)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([x,0],p)),i.splice.apply(i,__spreadArray([R.findRowIndexOf(i,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&&s?A(p,!1):(a.unshift.apply(a,p),i.unshift.apply(i,p),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+p.length)}));return(n=n.insertList).unshift.apply(n,p),R.updateFooter(),R.cacheRowMap(),R.handleTableData(r&&s),r&&s||R.updateAfterDataIndex(),R.checkSelectionStatus(),C.scrollYLoad&&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=b.tableFullTreeData,a=b.afterFullData,i=b.tableFullData,u=w.value,c=I.value,d=c.transform,s=l.actived,f=l.removeList,v=l.insertList,u=u.checkField,p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=i,e.forEach(function(e){R.isInsertByRow(e)||f.push(e)}),u||e.forEach(function(e){e=R.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),i===e?(e=p=i.slice(0),b.tableFullData=[],b.afterFullData=[],R.clearMergeCells()):t&&d?e.forEach(function(e){var t=(0,_util.getRowid)(R,e),r=_xeUtils.default.findTree(o,function(e){return t===(0,_util.getRowid)(R,e)},c);r&&(r=r.items.splice(r.index,1),p.push(r[0]));e=R.findRowIndexOf(a,e);-1<e&&a.splice(e,1)}):e.forEach(function(e){var t=R.findRowIndexOf(i,e);-1<t&&(t=i.splice(t,1),p.push(t[0]));var l=R.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))}),s.row&&-1<R.findRowIndexOf(e,s.row)&&g.clearActived(),e.forEach(function(e){e=R.findRowIndexOf(v,e);-1<e&&v.splice(e,1)}),R.updateFooter(),R.cacheRowMap(),R.handleTableData(t&&d),t&&d||R.updateAfterDataIndex(),R.checkSelectionStatus(),C.scrollYLoad&&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}})},removeCheckboxRow:function(){return g.remove(R.getCheckboxRecords()).then(function(e){return R.clearCheckboxRow(),e})},removeRadioRow:function(){var e=R.getRadioRecord();return g.remove(e||[]).then(function(e){return R.clearRadioRow(),e})},removeCurrentRow:function(){var e=R.getCurrentRecord();return g.remove(e||[]).then(function(e){return R.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:g.getInsertRecords(),removeRecords:g.getRemoveRecords(),updateRecords:g.getUpdateRecords()}},getInsertRecords:function(){var e=_.treeConfig,t=C.editStore,r=b.tableFullTreeData,l=b.tableFullData,n=I.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=b.tableFullData,l=I.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=b.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=b.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&&(m.handleActived({row:t,rowIndex:R.getRowIndex(t),column:l,columnIndex:R.getColumnIndex(l),cell:e,$table:R}),b._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=C.tableData,l=b.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)()}},m={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&&(g.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea())),R.closeTooltip(),g.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(){m.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&&(g.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(){m.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)&&(g.clearActived(t),g.clearSelected(),R.clearCellAreas&&(R.clearCellAreas(),R.clearCopyCellArea()),i.args=e,i.row=u,i.column=c,d&&m.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({},g),m)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
|