vxe-table 4.4.6 → 4.5.0-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/es/edit/src/hook.js +2 -2
- package/es/export/src/hook.js +21 -12
- package/es/icon/style/{iconfont.1688790429861.ttf → iconfont.1689121467376.ttf} +0 -0
- package/es/icon/style/iconfont.1689121467376.woff +0 -0
- package/es/icon/style/iconfont.1689121467376.woff2 +0 -0
- package/es/icon/style.css +25 -1
- package/{lib/icon/style/iconfont.1688790429861.ttf → es/iconfont.1689121467376.ttf} +0 -0
- package/es/iconfont.1689121467376.woff +0 -0
- package/es/iconfont.1689121467376.woff2 +0 -0
- package/es/locale/lang/en-US.js +6 -2
- package/es/locale/lang/es-ES.js +9 -5
- package/es/locale/lang/ja-JP.js +5 -2
- package/es/locale/lang/zh-CN.js +6 -2
- package/es/locale/lang/zh-TC.js +6 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +7 -7
- package/es/table/src/columnInfo.js +7 -0
- package/es/table/src/table.js +121 -65
- package/es/table/src/util.js +16 -0
- package/es/table/style.css +6 -12
- package/es/toolbar/src/toolbar.js +86 -39
- package/es/toolbar/style.css +45 -14
- package/es/tools/log.js +1 -1
- package/es/v-x-e-table/index.js +1 -1
- package/es/v-x-e-table/src/conf.js +19 -11
- package/es/v-x-e-table/style.css +25 -1
- package/es/validator/src/hook.js +61 -31
- package/es/vxe-icon/style.css +25 -1
- package/es/vxe-table/style.css +6 -12
- package/es/vxe-toolbar/style.css +45 -14
- package/helper/vetur/attributes.json +57 -13
- package/helper/vetur/tags.json +12 -1
- package/lib/edit/src/hook.js +2 -2
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/src/hook.js +23 -12
- package/lib/export/src/hook.min.js +1 -1
- package/lib/{iconfont.1688790429861.ttf → icon/style/iconfont.1689121467376.ttf} +0 -0
- package/lib/icon/style/iconfont.1689121467376.woff +0 -0
- package/lib/icon/style/iconfont.1689121467376.woff2 +0 -0
- package/lib/icon/style/style.css +25 -1
- package/lib/icon/style/style.min.css +25 -1
- package/{es/iconfont.1688790429861.ttf → lib/iconfont.1689121467376.ttf} +0 -0
- package/lib/iconfont.1689121467376.woff +0 -0
- package/lib/iconfont.1689121467376.woff2 +0 -0
- package/lib/index.umd.js +314 -147
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +6 -2
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +6 -2
- package/lib/locale/lang/es-ES.js +9 -5
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +9 -5
- package/lib/locale/lang/ja-JP.js +5 -2
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +5 -2
- package/lib/locale/lang/zh-CN.js +6 -2
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +6 -2
- package/lib/locale/lang/zh-HK.min.js +1 -1
- package/lib/locale/lang/zh-HK.umd.js +6 -2
- package/lib/locale/lang/zh-MO.min.js +1 -1
- package/lib/locale/lang/zh-MO.umd.js +6 -2
- package/lib/locale/lang/zh-TC.js +6 -2
- package/lib/locale/lang/zh-TC.min.js +1 -1
- package/lib/locale/lang/zh-TC.umd.js +6 -2
- package/lib/locale/lang/zh-TW.min.js +1 -1
- package/lib/locale/lang/zh-TW.umd.js +6 -2
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +8 -8
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/columnInfo.js +7 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/table.js +122 -73
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +17 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +6 -12
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/src/toolbar.js +54 -14
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/toolbar/style/style.css +45 -14
- package/lib/toolbar/style/style.min.css +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +12 -3
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/v-x-e-table/style/style.css +25 -1
- package/lib/v-x-e-table/style/style.min.css +1 -1
- package/lib/validator/src/hook.js +62 -33
- package/lib/validator/src/hook.min.js +1 -1
- package/lib/vxe-icon/style/style.css +25 -1
- package/lib/vxe-icon/style/style.min.css +1 -1
- package/lib/vxe-table/style/style.css +6 -12
- package/lib/vxe-table/style/style.min.css +1 -1
- package/lib/vxe-toolbar/style/style.css +45 -14
- package/lib/vxe-toolbar/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/edit/src/hook.ts +2 -2
- package/packages/export/src/hook.ts +21 -12
- package/packages/locale/lang/en-US.ts +6 -2
- package/packages/locale/lang/es-ES.ts +9 -5
- package/packages/locale/lang/ja-JP.ts +5 -2
- package/packages/locale/lang/zh-CN.ts +6 -2
- package/packages/locale/lang/zh-TC.ts +6 -2
- package/packages/table/src/body.ts +7 -7
- package/packages/table/src/columnInfo.ts +8 -1
- package/packages/table/src/table.ts +113 -53
- package/packages/table/src/util.ts +17 -0
- package/packages/toolbar/src/toolbar.ts +87 -40
- package/packages/v-x-e-table/src/conf.ts +11 -3
- package/packages/validator/src/hook.ts +71 -30
- package/styles/icon/iconfont.ttf +0 -0
- package/styles/icon/iconfont.woff +0 -0
- package/styles/icon/iconfont.woff2 +0 -0
- package/styles/icon.scss +25 -1
- package/styles/table.scss +7 -21
- package/styles/toolbar.scss +36 -9
- package/types/column.d.ts +1 -0
- package/types/table.d.ts +23 -6
- package/types/toolbar.d.ts +9 -1
- package/types/validator.d.ts +2 -3
- package/es/icon/style/iconfont.1688790429861.woff +0 -0
- package/es/icon/style/iconfont.1688790429861.woff2 +0 -0
- package/es/iconfont.1688790429861.woff +0 -0
- package/es/iconfont.1688790429861.woff2 +0 -0
- package/lib/icon/style/iconfont.1688790429861.woff +0 -0
- package/lib/icon/style/iconfont.1688790429861.woff2 +0 -0
- package/lib/iconfont.1688790429861.woff +0 -0
- package/lib/iconfont.1688790429861.woff2 +0 -0
package/es/table/src/body.js
CHANGED
|
@@ -131,7 +131,7 @@ export default defineComponent({
|
|
|
131
131
|
var renderColumn = function (seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
|
|
132
132
|
var _a;
|
|
133
133
|
var columnKey = tableProps.columnKey, allColumnOverflow = tableProps.showOverflow, allCellClassName = tableProps.cellClassName, cellStyle = tableProps.cellStyle, allAlign = tableProps.align, spanMethod = tableProps.spanMethod, mouseConfig = tableProps.mouseConfig, editConfig = tableProps.editConfig, editRules = tableProps.editRules, tooltipConfig = tableProps.tooltipConfig;
|
|
134
|
-
var tableData = tableReactData.tableData, overflowX = tableReactData.overflowX, scrollYLoad = tableReactData.scrollYLoad, currentColumn = tableReactData.currentColumn, mergeList = tableReactData.mergeList, editStore = tableReactData.editStore,
|
|
134
|
+
var tableData = tableReactData.tableData, overflowX = tableReactData.overflowX, scrollYLoad = tableReactData.scrollYLoad, currentColumn = tableReactData.currentColumn, mergeList = tableReactData.mergeList, editStore = tableReactData.editStore, isAllOverflow = tableReactData.isAllOverflow, validErrorMaps = tableReactData.validErrorMaps;
|
|
135
135
|
var afterFullData = tableInternalData.afterFullData;
|
|
136
136
|
var validOpts = computeValidOpts.value;
|
|
137
137
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
@@ -161,7 +161,7 @@ export default defineComponent({
|
|
|
161
161
|
var isDirty;
|
|
162
162
|
var tdOns = {};
|
|
163
163
|
var cellAlign = align || allAlign;
|
|
164
|
-
var
|
|
164
|
+
var errorValidItem = validErrorMaps["".concat(rowid, ":").concat(column.id)];
|
|
165
165
|
var showValidTip = editRules && validOpts.showMessage;
|
|
166
166
|
var attrs = { colid: column.id };
|
|
167
167
|
var params = { $table: $xetable, $grid: $xetable.xegrid, seq: seq, rowid: rowid, row: row, rowIndex: rowIndex, $rowIndex: $rowIndex, _rowIndex: _rowIndex, column: column, columnIndex: columnIndex, $columnIndex: $columnIndex, _columnIndex: _columnIndex, fixed: fixedType, type: renderType, isHidden: fixedHiddenColumn, level: rowLevel, visibleData: afterFullData, data: tableData, items: items };
|
|
@@ -276,16 +276,16 @@ export default defineComponent({
|
|
|
276
276
|
},
|
|
277
277
|
title: showTitle ? $xetable.getCellLabel(row, column) : null
|
|
278
278
|
}, column.renderCell(params))], false));
|
|
279
|
-
if (showValidTip &&
|
|
279
|
+
if (showValidTip && errorValidItem) {
|
|
280
280
|
tdVNs.push(h('div', {
|
|
281
281
|
class: 'vxe-cell--valid',
|
|
282
|
-
style:
|
|
283
|
-
width: "".concat(
|
|
282
|
+
style: errorValidItem.rule && errorValidItem.rule.maxWidth ? {
|
|
283
|
+
width: "".concat(errorValidItem.rule.maxWidth, "px")
|
|
284
284
|
} : null
|
|
285
285
|
}, [
|
|
286
286
|
h('span', {
|
|
287
287
|
class: 'vxe-cell--valid-msg'
|
|
288
|
-
},
|
|
288
|
+
}, errorValidItem.content)
|
|
289
289
|
]));
|
|
290
290
|
}
|
|
291
291
|
}
|
|
@@ -302,7 +302,7 @@ export default defineComponent({
|
|
|
302
302
|
_a['fixed--hidden'] = fixedHiddenColumn,
|
|
303
303
|
_a['col--dirty'] = isDirty,
|
|
304
304
|
_a['col--actived'] = editConfig && isEdit && (actived.row === row && (actived.column === column || editOpts.mode === 'row')),
|
|
305
|
-
_a['col--valid-error'] =
|
|
305
|
+
_a['col--valid-error'] = !!errorValidItem,
|
|
306
306
|
_a['col--current'] = currentColumn === column,
|
|
307
307
|
_a),
|
|
308
308
|
getPropClass(compCellClassName, params),
|
|
@@ -102,11 +102,18 @@ var ColumnInfo = /** @class */ (function () {
|
|
|
102
102
|
checked: false,
|
|
103
103
|
halfChecked: false,
|
|
104
104
|
disabled: false,
|
|
105
|
+
// 分组层级
|
|
105
106
|
level: 1,
|
|
107
|
+
// 跨行
|
|
106
108
|
rowSpan: 1,
|
|
109
|
+
// 跨列
|
|
107
110
|
colSpan: 1,
|
|
111
|
+
// 数据排序-自定义排序
|
|
108
112
|
order: null,
|
|
113
|
+
// 数据排序-用于多列的先后顺序
|
|
109
114
|
sortTime: 0,
|
|
115
|
+
// 列排序
|
|
116
|
+
customOrder: 0,
|
|
110
117
|
renderWidth: 0,
|
|
111
118
|
renderHeight: 0,
|
|
112
119
|
resizeWidth: 0,
|
package/es/table/src/table.js
CHANGED
|
@@ -35,7 +35,7 @@ import TableFooterComponent from '../../footer';
|
|
|
35
35
|
import tableProps from './props';
|
|
36
36
|
import tableEmits from './emits';
|
|
37
37
|
import VxeLoading from '../../loading/index';
|
|
38
|
-
import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, restoreScrollListener } from './util';
|
|
38
|
+
import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, restoreScrollListener, getRootColumn } from './util';
|
|
39
39
|
import { getSlotVNs } from '../../tools/vn';
|
|
40
40
|
var isWebkit = browse['-webkit'] && !browse.edge;
|
|
41
41
|
var resizableStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_WIDTH';
|
|
@@ -194,13 +194,9 @@ export default defineComponent({
|
|
|
194
194
|
},
|
|
195
195
|
// 存放数据校验相关信息
|
|
196
196
|
validStore: {
|
|
197
|
-
visible: false
|
|
198
|
-
row: null,
|
|
199
|
-
column: null,
|
|
200
|
-
content: '',
|
|
201
|
-
rule: null,
|
|
202
|
-
isArrow: false
|
|
197
|
+
visible: false
|
|
203
198
|
},
|
|
199
|
+
validErrorMaps: {},
|
|
204
200
|
// 导入相关信息
|
|
205
201
|
importStore: {
|
|
206
202
|
inited: false,
|
|
@@ -304,6 +300,7 @@ export default defineComponent({
|
|
|
304
300
|
// 总的缓存数据集
|
|
305
301
|
fullAllDataRowIdData: {},
|
|
306
302
|
// 渲染中缓存数据
|
|
303
|
+
sourceDataRowIdData: {},
|
|
307
304
|
fullDataRowIdData: {},
|
|
308
305
|
fullColumnIdData: {},
|
|
309
306
|
fullColumnFieldData: {},
|
|
@@ -467,6 +464,25 @@ export default defineComponent({
|
|
|
467
464
|
var computeCustomOpts = computed(function () {
|
|
468
465
|
return Object.assign({}, GlobalConfig.table.customConfig, props.customConfig);
|
|
469
466
|
});
|
|
467
|
+
var computeFixedColumnSize = computed(function () {
|
|
468
|
+
var tableFullColumn = internalData.tableFullColumn;
|
|
469
|
+
var fixedSize = 0;
|
|
470
|
+
tableFullColumn.forEach(function (column) {
|
|
471
|
+
if (column.fixed) {
|
|
472
|
+
fixedSize++;
|
|
473
|
+
}
|
|
474
|
+
});
|
|
475
|
+
return fixedSize;
|
|
476
|
+
});
|
|
477
|
+
var computeIsMaxFixedColumn = computed(function () {
|
|
478
|
+
var fixedColumnSize = computeFixedColumnSize.value;
|
|
479
|
+
var columnOpts = computeColumnOpts.value;
|
|
480
|
+
var maxFixedSize = columnOpts.maxFixedSize;
|
|
481
|
+
if (maxFixedSize) {
|
|
482
|
+
return fixedColumnSize >= maxFixedSize;
|
|
483
|
+
}
|
|
484
|
+
return false;
|
|
485
|
+
});
|
|
470
486
|
var computeTableBorder = computed(function () {
|
|
471
487
|
var border = props.border;
|
|
472
488
|
if (border === true) {
|
|
@@ -550,6 +566,8 @@ export default defineComponent({
|
|
|
550
566
|
computeEmptyOpts: computeEmptyOpts,
|
|
551
567
|
computeLoadingOpts: computeLoadingOpts,
|
|
552
568
|
computeCustomOpts: computeCustomOpts,
|
|
569
|
+
computeFixedColumnSize: computeFixedColumnSize,
|
|
570
|
+
computeIsMaxFixedColumn: computeIsMaxFixedColumn,
|
|
553
571
|
computeIsAllCheckboxDisabled: computeIsAllCheckboxDisabled
|
|
554
572
|
};
|
|
555
573
|
var $xetable = {
|
|
@@ -798,8 +816,8 @@ export default defineComponent({
|
|
|
798
816
|
if (isCustomResizable) {
|
|
799
817
|
var columnWidthStorage = getCustomStorageMap(resizableStorageKey)[id];
|
|
800
818
|
if (columnWidthStorage) {
|
|
801
|
-
XEUtils.each(columnWidthStorage, function (resizeWidth,
|
|
802
|
-
customMap_1[
|
|
819
|
+
XEUtils.each(columnWidthStorage, function (resizeWidth, colKey) {
|
|
820
|
+
customMap_1[colKey] = { resizeWidth: resizeWidth };
|
|
803
821
|
});
|
|
804
822
|
}
|
|
805
823
|
}
|
|
@@ -809,12 +827,12 @@ export default defineComponent({
|
|
|
809
827
|
if (columnFixedStorage) {
|
|
810
828
|
var colFixeds = columnFixedStorage.split(',');
|
|
811
829
|
colFixeds.forEach(function (fixConf) {
|
|
812
|
-
var _a = fixConf.split('|'),
|
|
813
|
-
if (customMap_1[
|
|
814
|
-
customMap_1[
|
|
830
|
+
var _a = fixConf.split('|'), colKey = _a[0], fixed = _a[1];
|
|
831
|
+
if (customMap_1[colKey]) {
|
|
832
|
+
customMap_1[colKey].fixed = fixed;
|
|
815
833
|
}
|
|
816
834
|
else {
|
|
817
|
-
customMap_1[
|
|
835
|
+
customMap_1[colKey] = { fixed: fixed };
|
|
818
836
|
}
|
|
819
837
|
});
|
|
820
838
|
}
|
|
@@ -823,7 +841,15 @@ export default defineComponent({
|
|
|
823
841
|
if (isCustomOrder) {
|
|
824
842
|
var columnOrderStorage = getCustomStorageMap(orderStorageKey)[id];
|
|
825
843
|
if (columnOrderStorage) {
|
|
826
|
-
//
|
|
844
|
+
// const colOrderSeqs = columnOrderStorage.split(',')
|
|
845
|
+
// colOrderSeqs.forEach((orderConf: any) => {
|
|
846
|
+
// const [colKey, order] = orderConf.split('|')
|
|
847
|
+
// if (customMap[colKey]) {
|
|
848
|
+
// customMap[colKey].order = order
|
|
849
|
+
// } else {
|
|
850
|
+
// customMap[colKey] = { order }
|
|
851
|
+
// }
|
|
852
|
+
// })
|
|
827
853
|
}
|
|
828
854
|
}
|
|
829
855
|
// 自定义隐藏列
|
|
@@ -833,20 +859,20 @@ export default defineComponent({
|
|
|
833
859
|
var colVisibles = columnVisibleStorage.split('|');
|
|
834
860
|
var colHides = colVisibles[0] ? colVisibles[0].split(',') : [];
|
|
835
861
|
var colShows = colVisibles[1] ? colVisibles[1].split(',') : [];
|
|
836
|
-
colHides.forEach(function (
|
|
837
|
-
if (customMap_1[
|
|
838
|
-
customMap_1[
|
|
862
|
+
colHides.forEach(function (colKey) {
|
|
863
|
+
if (customMap_1[colKey]) {
|
|
864
|
+
customMap_1[colKey].visible = false;
|
|
839
865
|
}
|
|
840
866
|
else {
|
|
841
|
-
customMap_1[
|
|
867
|
+
customMap_1[colKey] = { visible: false };
|
|
842
868
|
}
|
|
843
869
|
});
|
|
844
|
-
colShows.forEach(function (
|
|
845
|
-
if (customMap_1[
|
|
846
|
-
customMap_1[
|
|
870
|
+
colShows.forEach(function (colKey) {
|
|
871
|
+
if (customMap_1[colKey]) {
|
|
872
|
+
customMap_1[colKey].visible = true;
|
|
847
873
|
}
|
|
848
874
|
else {
|
|
849
|
-
customMap_1[
|
|
875
|
+
customMap_1[colKey] = { visible: true };
|
|
850
876
|
}
|
|
851
877
|
});
|
|
852
878
|
}
|
|
@@ -858,9 +884,9 @@ export default defineComponent({
|
|
|
858
884
|
keyMap_1[colKey] = column;
|
|
859
885
|
}
|
|
860
886
|
});
|
|
861
|
-
XEUtils.each(customMap_1, function (_a,
|
|
862
|
-
var visible = _a.visible, resizeWidth = _a.resizeWidth, fixed = _a.fixed;
|
|
863
|
-
var column = keyMap_1[
|
|
887
|
+
XEUtils.each(customMap_1, function (_a, colKey) {
|
|
888
|
+
var visible = _a.visible, resizeWidth = _a.resizeWidth, fixed = _a.fixed, order = _a.order;
|
|
889
|
+
var column = keyMap_1[colKey];
|
|
864
890
|
if (column) {
|
|
865
891
|
if (XEUtils.isNumber(resizeWidth)) {
|
|
866
892
|
column.resizeWidth = resizeWidth;
|
|
@@ -871,6 +897,9 @@ export default defineComponent({
|
|
|
871
897
|
if (fixed) {
|
|
872
898
|
column.fixed = fixed;
|
|
873
899
|
}
|
|
900
|
+
if (order) {
|
|
901
|
+
column.customOrder = order;
|
|
902
|
+
}
|
|
874
903
|
}
|
|
875
904
|
});
|
|
876
905
|
}
|
|
@@ -2114,7 +2143,7 @@ export default defineComponent({
|
|
|
2114
2143
|
internalData.tableSynchData = datas;
|
|
2115
2144
|
// 克隆原数据,用于显示编辑状态,与编辑值做对比
|
|
2116
2145
|
if (keepSource) {
|
|
2117
|
-
|
|
2146
|
+
tablePrivateMethods.cacheSourceMap(fullData);
|
|
2118
2147
|
}
|
|
2119
2148
|
if (process.env.NODE_ENV === 'development') {
|
|
2120
2149
|
if (sYLoad) {
|
|
@@ -2866,35 +2895,22 @@ export default defineComponent({
|
|
|
2866
2895
|
* @param {String} field 字段名
|
|
2867
2896
|
*/
|
|
2868
2897
|
isUpdateByRow: function (row, field) {
|
|
2869
|
-
var
|
|
2870
|
-
var
|
|
2871
|
-
var visibleColumn = internalData.visibleColumn, tableSourceData = internalData.tableSourceData, fullDataRowIdData = internalData.fullDataRowIdData;
|
|
2872
|
-
var treeOpts = computeTreeOpts.value;
|
|
2898
|
+
var keepSource = props.keepSource;
|
|
2899
|
+
var tableFullColumn = internalData.tableFullColumn, fullDataRowIdData = internalData.fullDataRowIdData, sourceDataRowIdData = internalData.sourceDataRowIdData;
|
|
2873
2900
|
if (keepSource) {
|
|
2874
|
-
var
|
|
2875
|
-
var rowid_2 = getRowid($xetable, row);
|
|
2901
|
+
var rowid = getRowid($xetable, row);
|
|
2876
2902
|
// 新增的数据不需要检测
|
|
2877
|
-
if (!fullDataRowIdData[
|
|
2903
|
+
if (!fullDataRowIdData[rowid]) {
|
|
2878
2904
|
return false;
|
|
2879
2905
|
}
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
var
|
|
2883
|
-
row = Object.assign({}, row, (_a = {}, _a[children] = null, _a));
|
|
2884
|
-
if (matchObj) {
|
|
2885
|
-
oRow = Object.assign({}, matchObj.item, (_b = {}, _b[children] = null, _b));
|
|
2886
|
-
}
|
|
2887
|
-
}
|
|
2888
|
-
else {
|
|
2889
|
-
var oRowIndex = fullDataRowIdData[rowid_2].index;
|
|
2890
|
-
oRow = tableSourceData[oRowIndex];
|
|
2891
|
-
}
|
|
2892
|
-
if (oRow) {
|
|
2906
|
+
var oldRest = sourceDataRowIdData[rowid];
|
|
2907
|
+
if (oldRest) {
|
|
2908
|
+
var oRow = oldRest.row;
|
|
2893
2909
|
if (arguments.length > 1) {
|
|
2894
2910
|
return !eqCellValue(oRow, row, field);
|
|
2895
2911
|
}
|
|
2896
|
-
for (var index = 0, len =
|
|
2897
|
-
property =
|
|
2912
|
+
for (var index = 0, len = tableFullColumn.length; index < len; index++) {
|
|
2913
|
+
var property = tableFullColumn[index].field;
|
|
2898
2914
|
if (property && !eqCellValue(oRow, row, property)) {
|
|
2899
2915
|
return true;
|
|
2900
2916
|
}
|
|
@@ -3033,8 +3049,20 @@ export default defineComponent({
|
|
|
3033
3049
|
*/
|
|
3034
3050
|
setColumnFixed: function (fieldOrColumn, fixed) {
|
|
3035
3051
|
var column = handleFieldOrColumn($xetable, fieldOrColumn);
|
|
3036
|
-
|
|
3037
|
-
|
|
3052
|
+
var targetColumn = getRootColumn($xetable, column);
|
|
3053
|
+
var isMaxFixedColumn = computeIsMaxFixedColumn.value;
|
|
3054
|
+
if (targetColumn && targetColumn.fixed !== fixed) {
|
|
3055
|
+
// 是否超过最大固定列数量
|
|
3056
|
+
if (!targetColumn.fixed && isMaxFixedColumn) {
|
|
3057
|
+
if (VXETable.modal) {
|
|
3058
|
+
VXETable.modal.message({
|
|
3059
|
+
status: 'error',
|
|
3060
|
+
content: GlobalConfig.i18n('vxe.table.maxFixedCol')
|
|
3061
|
+
});
|
|
3062
|
+
}
|
|
3063
|
+
return nextTick();
|
|
3064
|
+
}
|
|
3065
|
+
XEUtils.eachTree([targetColumn], function (column) {
|
|
3038
3066
|
column.fixed = fixed;
|
|
3039
3067
|
});
|
|
3040
3068
|
tablePrivateMethods.saveCustomFixed();
|
|
@@ -3047,8 +3075,9 @@ export default defineComponent({
|
|
|
3047
3075
|
*/
|
|
3048
3076
|
clearColumnFixed: function (fieldOrColumn) {
|
|
3049
3077
|
var column = handleFieldOrColumn($xetable, fieldOrColumn);
|
|
3050
|
-
|
|
3051
|
-
|
|
3078
|
+
var targetColumn = getRootColumn($xetable, column);
|
|
3079
|
+
if (targetColumn && targetColumn.fixed) {
|
|
3080
|
+
XEUtils.eachTree([targetColumn], function (column) {
|
|
3052
3081
|
column.fixed = null;
|
|
3053
3082
|
});
|
|
3054
3083
|
tablePrivateMethods.saveCustomFixed();
|
|
@@ -3106,7 +3135,7 @@ export default defineComponent({
|
|
|
3106
3135
|
* 如果已关联工具栏,则会同步更新
|
|
3107
3136
|
*/
|
|
3108
3137
|
resetColumn: function (options) {
|
|
3109
|
-
var
|
|
3138
|
+
var collectColumn = internalData.collectColumn;
|
|
3110
3139
|
var customOpts = computeCustomOpts.value;
|
|
3111
3140
|
var checkMethod = customOpts.checkMethod;
|
|
3112
3141
|
var opts = Object.assign({
|
|
@@ -3114,7 +3143,7 @@ export default defineComponent({
|
|
|
3114
3143
|
resizable: options === true,
|
|
3115
3144
|
fixed: options === true
|
|
3116
3145
|
}, options);
|
|
3117
|
-
|
|
3146
|
+
XEUtils.eachTree(collectColumn, function (column) {
|
|
3118
3147
|
if (opts.resizable) {
|
|
3119
3148
|
column.resizeWidth = 0;
|
|
3120
3149
|
}
|
|
@@ -3294,22 +3323,22 @@ export default defineComponent({
|
|
|
3294
3323
|
var radioOpts = computeRadioOpts.value;
|
|
3295
3324
|
var treeOpts = computeTreeOpts.value;
|
|
3296
3325
|
if (radioOpts.reserve && radioReserveRow) {
|
|
3297
|
-
var
|
|
3326
|
+
var rowid_2 = getRowid($xetable, radioReserveRow);
|
|
3298
3327
|
if (isFull) {
|
|
3299
|
-
if (!fullDataRowIdData[
|
|
3328
|
+
if (!fullDataRowIdData[rowid_2]) {
|
|
3300
3329
|
return radioReserveRow;
|
|
3301
3330
|
}
|
|
3302
3331
|
}
|
|
3303
3332
|
else {
|
|
3304
3333
|
var rowkey_2 = getRowkey($xetable);
|
|
3305
3334
|
if (treeConfig) {
|
|
3306
|
-
var matchObj = XEUtils.findTree(afterFullData, function (row) { return
|
|
3335
|
+
var matchObj = XEUtils.findTree(afterFullData, function (row) { return rowid_2 === XEUtils.get(row, rowkey_2); }, treeOpts);
|
|
3307
3336
|
if (matchObj) {
|
|
3308
3337
|
return radioReserveRow;
|
|
3309
3338
|
}
|
|
3310
3339
|
}
|
|
3311
3340
|
else {
|
|
3312
|
-
if (!afterFullData.some(function (row) { return
|
|
3341
|
+
if (!afterFullData.some(function (row) { return rowid_2 === XEUtils.get(row, rowkey_2); })) {
|
|
3313
3342
|
return radioReserveRow;
|
|
3314
3343
|
}
|
|
3315
3344
|
}
|
|
@@ -3459,16 +3488,16 @@ export default defineComponent({
|
|
|
3459
3488
|
var selectRow = reactData.selectRow;
|
|
3460
3489
|
var treeOpts = computeTreeOpts.value;
|
|
3461
3490
|
if (selectRow) {
|
|
3462
|
-
var
|
|
3491
|
+
var rowid_3 = getRowid($xetable, selectRow);
|
|
3463
3492
|
if (isFull) {
|
|
3464
|
-
if (!fullDataRowIdData[
|
|
3493
|
+
if (!fullDataRowIdData[rowid_3]) {
|
|
3465
3494
|
return selectRow;
|
|
3466
3495
|
}
|
|
3467
3496
|
}
|
|
3468
3497
|
else {
|
|
3469
3498
|
if (treeConfig) {
|
|
3470
3499
|
var rowkey_3 = getRowkey($xetable);
|
|
3471
|
-
var matchObj = XEUtils.findTree(afterFullData, function (row) { return
|
|
3500
|
+
var matchObj = XEUtils.findTree(afterFullData, function (row) { return rowid_3 === XEUtils.get(row, rowkey_3); }, treeOpts);
|
|
3472
3501
|
if (matchObj) {
|
|
3473
3502
|
return selectRow;
|
|
3474
3503
|
}
|
|
@@ -4043,7 +4072,7 @@ export default defineComponent({
|
|
|
4043
4072
|
if (customVal && validStore.visible) {
|
|
4044
4073
|
setCellValue(row_1, column_3, cellValue);
|
|
4045
4074
|
}
|
|
4046
|
-
$xetable.clearValidate();
|
|
4075
|
+
$xetable.clearValidate(row_1, column_3);
|
|
4047
4076
|
})
|
|
4048
4077
|
.catch(function (_a) {
|
|
4049
4078
|
var rule = _a.rule;
|
|
@@ -4794,7 +4823,7 @@ export default defineComponent({
|
|
|
4794
4823
|
var fullDataRowIdData = internalData.fullDataRowIdData, fullAllDataRowIdData = internalData.fullAllDataRowIdData, tableFullData = internalData.tableFullData, tableFullTreeData = internalData.tableFullTreeData;
|
|
4795
4824
|
var rowkey = getRowkey($xetable);
|
|
4796
4825
|
var isLazy = treeConfig && treeOpts.lazy;
|
|
4797
|
-
var
|
|
4826
|
+
var handleRow = function (row, index, items, path, parent, nodes) {
|
|
4798
4827
|
var rowid = getRowid($xetable, row);
|
|
4799
4828
|
var seq = treeConfig && path ? toTreePathSeq(path) : index + 1;
|
|
4800
4829
|
var level = nodes ? nodes.length - 1 : 0;
|
|
@@ -4816,11 +4845,38 @@ export default defineComponent({
|
|
|
4816
4845
|
}
|
|
4817
4846
|
fullAllDataRowIdData = internalData.fullAllDataRowIdData = {};
|
|
4818
4847
|
if (treeConfig) {
|
|
4819
|
-
XEUtils.eachTree(tableFullTreeData,
|
|
4848
|
+
XEUtils.eachTree(tableFullTreeData, handleRow, treeOpts);
|
|
4849
|
+
}
|
|
4850
|
+
else {
|
|
4851
|
+
tableFullData.forEach(handleRow);
|
|
4852
|
+
}
|
|
4853
|
+
},
|
|
4854
|
+
cacheSourceMap: function (fullData) {
|
|
4855
|
+
var treeConfig = props.treeConfig;
|
|
4856
|
+
var treeOpts = computeTreeOpts.value;
|
|
4857
|
+
var sourceDataRowIdData = internalData.sourceDataRowIdData;
|
|
4858
|
+
var sourceData = XEUtils.clone(fullData, true);
|
|
4859
|
+
var rowkey = getRowkey($xetable);
|
|
4860
|
+
sourceDataRowIdData = internalData.sourceDataRowIdData = {};
|
|
4861
|
+
var handleSourceRow = function (row) {
|
|
4862
|
+
var rowid = getRowid($xetable, row);
|
|
4863
|
+
if (eqEmptyValue(rowid)) {
|
|
4864
|
+
rowid = getRowUniqueId();
|
|
4865
|
+
XEUtils.set(row, rowkey, rowid);
|
|
4866
|
+
}
|
|
4867
|
+
sourceDataRowIdData[rowid] = {
|
|
4868
|
+
row: row,
|
|
4869
|
+
rowid: rowid
|
|
4870
|
+
};
|
|
4871
|
+
};
|
|
4872
|
+
// 源数据缓存
|
|
4873
|
+
if (treeConfig && !treeOpts.transform) {
|
|
4874
|
+
XEUtils.eachTree(sourceData, handleSourceRow, treeOpts);
|
|
4820
4875
|
}
|
|
4821
4876
|
else {
|
|
4822
|
-
|
|
4877
|
+
sourceData.forEach(handleSourceRow);
|
|
4823
4878
|
}
|
|
4879
|
+
internalData.tableSourceData = sourceData;
|
|
4824
4880
|
},
|
|
4825
4881
|
/**
|
|
4826
4882
|
* 指定列宽的列进行拆分
|
package/es/table/src/util.js
CHANGED
|
@@ -205,6 +205,22 @@ export function destroyColumn($xetable, column) {
|
|
|
205
205
|
}
|
|
206
206
|
reactData.staticColumns = staticColumns.slice(0);
|
|
207
207
|
}
|
|
208
|
+
export function getRootColumn($xetable, column) {
|
|
209
|
+
var internalData = $xetable.internalData;
|
|
210
|
+
var fullColumnIdData = internalData.fullColumnIdData;
|
|
211
|
+
if (!column) {
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
214
|
+
var parentColId = column.parentId;
|
|
215
|
+
while (fullColumnIdData[parentColId]) {
|
|
216
|
+
var column_1 = fullColumnIdData[parentColId].column;
|
|
217
|
+
parentColId = column_1.parentId;
|
|
218
|
+
if (!parentColId) {
|
|
219
|
+
return column_1;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return column;
|
|
223
|
+
}
|
|
208
224
|
export function mergeBodyMethod(mergeList, _rowIndex, _columnIndex) {
|
|
209
225
|
for (var mIndex = 0; mIndex < mergeList.length; mIndex++) {
|
|
210
226
|
var _a = mergeList[mIndex], mergeRowIndex = _a.row, mergeColIndex = _a.col, mergeRowspan = _a.rowspan, mergeColspan = _a.colspan;
|
package/es/table/style.css
CHANGED
|
@@ -1222,15 +1222,17 @@
|
|
|
1222
1222
|
position: relative;
|
|
1223
1223
|
}
|
|
1224
1224
|
.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid {
|
|
1225
|
-
width:
|
|
1225
|
+
width: 100%;
|
|
1226
1226
|
position: absolute;
|
|
1227
1227
|
left: 50%;
|
|
1228
1228
|
font-size: 12px;
|
|
1229
1229
|
line-height: 1.2em;
|
|
1230
1230
|
transform: translateX(-50%);
|
|
1231
|
-
text-align:
|
|
1231
|
+
text-align: left;
|
|
1232
1232
|
pointer-events: none;
|
|
1233
1233
|
z-index: 4;
|
|
1234
|
+
padding-left: var(--vxe-table-cell-padding-left);
|
|
1235
|
+
padding-right: var(--vxe-table-cell-padding-right);
|
|
1234
1236
|
}
|
|
1235
1237
|
.vxe-table--render-default .vxe-body--column.col--valid-error .vxe-cell--valid .vxe-cell--valid-msg {
|
|
1236
1238
|
display: inline-block;
|
|
@@ -1247,16 +1249,8 @@
|
|
|
1247
1249
|
border-color: var(--vxe-table-validate-error-color);
|
|
1248
1250
|
}
|
|
1249
1251
|
.vxe-table--render-default .vxe-body--row:last-child .vxe-cell--valid {
|
|
1250
|
-
top: -1.3em;
|
|
1251
|
-
}
|
|
1252
|
-
.vxe-table--render-default .vxe-body--row:first-child:last-child .vxe-cell--valid {
|
|
1253
1252
|
top: calc(100% - 1.3em);
|
|
1254
1253
|
}
|
|
1255
|
-
.vxe-table--render-default .vxe-body--column:first-child .vxe-cell--valid {
|
|
1256
|
-
left: 10px;
|
|
1257
|
-
transform: translateX(0);
|
|
1258
|
-
text-align: left;
|
|
1259
|
-
}
|
|
1260
1254
|
.vxe-table--render-default .vxe-body--row.row--new > .vxe-body--column {
|
|
1261
1255
|
position: relative;
|
|
1262
1256
|
}
|
|
@@ -1275,8 +1269,8 @@
|
|
|
1275
1269
|
}
|
|
1276
1270
|
.vxe-table--render-default .vxe-body--column.col--dirty:before {
|
|
1277
1271
|
content: "";
|
|
1278
|
-
top: var(--vxe-table-cell-dirty-width);
|
|
1279
|
-
left: var(--vxe-table-cell-dirty-width);
|
|
1272
|
+
top: calc(var(--vxe-table-cell-dirty-width) * -1);
|
|
1273
|
+
left: calc(var(--vxe-table-cell-dirty-width) * -1);
|
|
1280
1274
|
position: absolute;
|
|
1281
1275
|
border-width: var(--vxe-table-cell-dirty-width);
|
|
1282
1276
|
border-style: solid;
|