vxe-table 3.12.12 → 3.12.14
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/mixin.js +5 -6
- package/es/table/module/validator/mixin.js +13 -1
- package/es/table/render/index.js +104 -43
- package/es/table/src/header.js +4 -2
- package/es/table/src/methods.js +35 -28
- package/es/table/src/table.js +68 -28
- package/es/table/style.css +33 -2
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +5 -3
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +33 -2
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +232 -106
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/mixin.js +5 -6
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +18 -4
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/render/index.js +109 -41
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/header.js +4 -2
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +46 -40
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +44 -9
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +33 -2
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +5 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +33 -2
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/mixin.ts +5 -6
- package/packages/table/module/validator/mixin.ts +15 -2
- package/packages/table/render/index.ts +120 -51
- package/packages/table/src/header.ts +4 -2
- package/packages/table/src/methods.ts +42 -30
- package/packages/table/src/table.ts +71 -28
- package/packages/ui/index.ts +4 -2
- package/styles/components/table.scss +31 -2
- /package/es/{iconfont.1739010705633.ttf → iconfont.1739181382716.ttf} +0 -0
- /package/es/{iconfont.1739010705633.woff → iconfont.1739181382716.woff} +0 -0
- /package/es/{iconfont.1739010705633.woff2 → iconfont.1739181382716.woff2} +0 -0
- /package/lib/{iconfont.1739010705633.ttf → iconfont.1739181382716.ttf} +0 -0
- /package/lib/{iconfont.1739010705633.woff → iconfont.1739181382716.woff} +0 -0
- /package/lib/{iconfont.1739010705633.woff2 → iconfont.1739181382716.woff2} +0 -0
package/es/table/render/index.js
CHANGED
|
@@ -92,10 +92,11 @@ function getCellLabelVNs(h, renderOpts, params, cellLabel) {
|
|
|
92
92
|
* @param modelFunc
|
|
93
93
|
* @param changeFunc
|
|
94
94
|
*/
|
|
95
|
-
function getNativeElementOns(renderOpts, params,
|
|
95
|
+
function getNativeElementOns(renderOpts, params, eFns) {
|
|
96
96
|
const { events } = renderOpts;
|
|
97
97
|
const modelEvent = getModelEvent(renderOpts);
|
|
98
98
|
const changeEvent = getChangeEvent(renderOpts);
|
|
99
|
+
const { model: modelFunc, change: changeFunc, blur: blurFunc } = eFns || {};
|
|
99
100
|
const isSameEvent = changeEvent === modelEvent;
|
|
100
101
|
const ons = {};
|
|
101
102
|
if (events) {
|
|
@@ -117,15 +118,24 @@ function getNativeElementOns(renderOpts, params, modelFunc, changeFunc) {
|
|
|
117
118
|
};
|
|
118
119
|
}
|
|
119
120
|
if (!isSameEvent && changeFunc) {
|
|
120
|
-
ons[getOnName(changeEvent)] = function (
|
|
121
|
-
changeFunc(
|
|
121
|
+
ons[getOnName(changeEvent)] = function (evnt) {
|
|
122
|
+
changeFunc(evnt);
|
|
122
123
|
if (events && events[changeEvent]) {
|
|
123
|
-
events[changeEvent](params,
|
|
124
|
+
events[changeEvent](params, evnt);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
if (blurFunc) {
|
|
129
|
+
ons[getOnName(blurEvent)] = function (evnt) {
|
|
130
|
+
blurFunc(evnt);
|
|
131
|
+
if (events && events[blurEvent]) {
|
|
132
|
+
events[blurEvent](params, evnt);
|
|
124
133
|
}
|
|
125
134
|
};
|
|
126
135
|
}
|
|
127
136
|
return ons;
|
|
128
137
|
}
|
|
138
|
+
const blurEvent = 'blur';
|
|
129
139
|
/**
|
|
130
140
|
* 组件事件处理
|
|
131
141
|
* @param renderOpts
|
|
@@ -133,10 +143,11 @@ function getNativeElementOns(renderOpts, params, modelFunc, changeFunc) {
|
|
|
133
143
|
* @param modelFunc
|
|
134
144
|
* @param changeFunc
|
|
135
145
|
*/
|
|
136
|
-
function getComponentOns(renderOpts, params,
|
|
146
|
+
function getComponentOns(renderOpts, params, eFns) {
|
|
137
147
|
const { events } = renderOpts;
|
|
138
148
|
const modelEvent = getModelEvent(renderOpts);
|
|
139
149
|
const changeEvent = getChangeEvent(renderOpts);
|
|
150
|
+
const { model: modelFunc, change: changeFunc, blur: blurFunc } = eFns || {};
|
|
140
151
|
const ons = {};
|
|
141
152
|
XEUtils.objectEach(events, (func, key) => {
|
|
142
153
|
ons[getOnName(key)] = function (...args) {
|
|
@@ -164,6 +175,14 @@ function getComponentOns(renderOpts, params, modelFunc, changeFunc) {
|
|
|
164
175
|
}
|
|
165
176
|
};
|
|
166
177
|
}
|
|
178
|
+
if (blurFunc) {
|
|
179
|
+
ons[getOnName(blurEvent)] = function (...args) {
|
|
180
|
+
blurFunc(...args);
|
|
181
|
+
if (events && events[blurEvent]) {
|
|
182
|
+
events[blurEvent](params, ...args);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
}
|
|
167
186
|
return ons;
|
|
168
187
|
}
|
|
169
188
|
function getEditOns(renderOpts, params) {
|
|
@@ -171,59 +190,101 @@ function getEditOns(renderOpts, params) {
|
|
|
171
190
|
const { name } = renderOpts;
|
|
172
191
|
const { model } = column;
|
|
173
192
|
const isImmediate = isImmediateCell(renderOpts, params);
|
|
174
|
-
return getComponentOns(renderOpts, params,
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
model.value = cellValue;
|
|
178
|
-
if (isImmediate) {
|
|
179
|
-
setCellValue(row, column, cellValue);
|
|
180
|
-
}
|
|
181
|
-
}, (eventParams) => {
|
|
182
|
-
// 处理 change 事件相关逻辑
|
|
183
|
-
if (!isImmediate && (['VxeInput', 'VxeNumberInput', 'VxeTextarea', '$input', '$textarea'].includes(name))) {
|
|
184
|
-
const cellValue = eventParams.value;
|
|
193
|
+
return getComponentOns(renderOpts, params, {
|
|
194
|
+
model(cellValue) {
|
|
195
|
+
// 处理 model 值双向绑定
|
|
185
196
|
model.update = true;
|
|
186
197
|
model.value = cellValue;
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
198
|
+
if (isImmediate) {
|
|
199
|
+
setCellValue(row, column, cellValue);
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
change(eventParams) {
|
|
203
|
+
// 处理 change 事件相关逻辑
|
|
204
|
+
if (!isImmediate && name && (['VxeInput', 'VxeNumberInput', 'VxeTextarea', '$input', '$textarea'].includes(name))) {
|
|
205
|
+
const cellValue = eventParams.value;
|
|
206
|
+
model.update = true;
|
|
207
|
+
model.value = cellValue;
|
|
208
|
+
$table.updateStatus(params, cellValue);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
$table.updateStatus(params);
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
blur() {
|
|
215
|
+
if (isImmediate) {
|
|
216
|
+
$table.handleCellRuleUpdateStatus('blur', params);
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
$table.handleCellRuleUpdateStatus('blur', params, model.value);
|
|
220
|
+
}
|
|
191
221
|
}
|
|
192
222
|
});
|
|
193
223
|
}
|
|
194
224
|
function getFilterOns(renderOpts, params, option) {
|
|
195
|
-
return getComponentOns(renderOpts, params,
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
225
|
+
return getComponentOns(renderOpts, params, {
|
|
226
|
+
model(value) {
|
|
227
|
+
// 处理 model 值双向绑定
|
|
228
|
+
option.data = value;
|
|
229
|
+
},
|
|
230
|
+
change() {
|
|
231
|
+
handleConfirmFilter(params, !XEUtils.eqNull(option.data), option);
|
|
232
|
+
},
|
|
233
|
+
blur() {
|
|
234
|
+
handleConfirmFilter(params, !XEUtils.eqNull(option.data), option);
|
|
235
|
+
}
|
|
200
236
|
});
|
|
201
237
|
}
|
|
202
238
|
function getNativeEditOns(renderOpts, params) {
|
|
203
239
|
const { $table, row, column } = params;
|
|
204
240
|
const { model } = column;
|
|
205
|
-
return getNativeElementOns(renderOpts, params,
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
241
|
+
return getNativeElementOns(renderOpts, params, {
|
|
242
|
+
model(evnt) {
|
|
243
|
+
// 处理 model 值双向绑定
|
|
244
|
+
const targetEl = evnt.target;
|
|
245
|
+
if (targetEl) {
|
|
246
|
+
const cellValue = targetEl.value;
|
|
247
|
+
if (isImmediateCell(renderOpts, params)) {
|
|
248
|
+
setCellValue(row, column, cellValue);
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
model.update = true;
|
|
252
|
+
model.value = cellValue;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
change(evnt) {
|
|
257
|
+
// 处理 change 事件相关逻辑
|
|
258
|
+
const targetEl = evnt.target;
|
|
259
|
+
if (targetEl) {
|
|
260
|
+
const cellValue = targetEl.value;
|
|
261
|
+
$table.updateStatus(params, cellValue);
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
blur(evnt) {
|
|
265
|
+
const targetEl = evnt.target;
|
|
266
|
+
if (targetEl) {
|
|
267
|
+
const cellValue = targetEl.value;
|
|
268
|
+
$table.updateStatus(params, cellValue);
|
|
269
|
+
}
|
|
214
270
|
}
|
|
215
|
-
}, (evnt) => {
|
|
216
|
-
// 处理 change 事件相关逻辑
|
|
217
|
-
const cellValue = evnt.target.value;
|
|
218
|
-
$table.updateStatus(params, cellValue);
|
|
219
271
|
});
|
|
220
272
|
}
|
|
221
273
|
function getNativeFilterOns(renderOpts, params, option) {
|
|
222
|
-
return getNativeElementOns(renderOpts, params,
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
274
|
+
return getNativeElementOns(renderOpts, params, {
|
|
275
|
+
model(evnt) {
|
|
276
|
+
// 处理 model 值双向绑定
|
|
277
|
+
const targetEl = evnt.target;
|
|
278
|
+
if (targetEl) {
|
|
279
|
+
option.data = targetEl.value;
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
change() {
|
|
283
|
+
handleConfirmFilter(params, !XEUtils.eqNull(option.data), option);
|
|
284
|
+
},
|
|
285
|
+
blur() {
|
|
286
|
+
handleConfirmFilter(params, !XEUtils.eqNull(option.data), option);
|
|
287
|
+
}
|
|
227
288
|
});
|
|
228
289
|
}
|
|
229
290
|
/**
|
package/es/table/src/header.js
CHANGED
|
@@ -81,8 +81,10 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
81
81
|
const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable));
|
|
82
82
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
83
83
|
let isVNPreEmptyStatus = false;
|
|
84
|
-
if (
|
|
85
|
-
|
|
84
|
+
if (!isGroup) {
|
|
85
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
86
|
+
isVNPreEmptyStatus = true;
|
|
87
|
+
}
|
|
86
88
|
}
|
|
87
89
|
const tcStyle = {};
|
|
88
90
|
if (hasEllipsis) {
|
package/es/table/src/methods.js
CHANGED
|
@@ -6041,8 +6041,8 @@ const Methods = {
|
|
|
6041
6041
|
const $xeTable = this;
|
|
6042
6042
|
const sortOpts = $xeTable.computeSortOpts;
|
|
6043
6043
|
const { multiple, allowClear } = sortOpts;
|
|
6044
|
-
const { field, sortable
|
|
6045
|
-
if (sortable || remoteSort) {
|
|
6044
|
+
const { field, sortable } = column;
|
|
6045
|
+
if (sortable || column.remoteSort) {
|
|
6046
6046
|
if (!order || column.order === order) {
|
|
6047
6047
|
if (allowClear) {
|
|
6048
6048
|
$xeTable.clearSort(multiple ? column : null);
|
|
@@ -6054,6 +6054,34 @@ const Methods = {
|
|
|
6054
6054
|
$xeTable.handleColumnSortEvent(evnt, column);
|
|
6055
6055
|
}
|
|
6056
6056
|
},
|
|
6057
|
+
handleCellRuleUpdateStatus(type, cellParams, cellValue) {
|
|
6058
|
+
const $xeTable = this;
|
|
6059
|
+
const reactData = $xeTable;
|
|
6060
|
+
const { validStore } = reactData;
|
|
6061
|
+
const { row, column } = cellParams;
|
|
6062
|
+
if ($xeTable.hasCellRules) {
|
|
6063
|
+
if ($xeTable.hasCellRules(type, row, column)) {
|
|
6064
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
6065
|
+
if (cell) {
|
|
6066
|
+
const customVal = !XEUtils.isUndefined(cellValue);
|
|
6067
|
+
return $xeTable.validCellRules(type, row, column, cellValue)
|
|
6068
|
+
.then(() => {
|
|
6069
|
+
if (customVal && validStore.visible) {
|
|
6070
|
+
setCellValue(row, column, cellValue);
|
|
6071
|
+
}
|
|
6072
|
+
$xeTable.clearValidate(row, column);
|
|
6073
|
+
})
|
|
6074
|
+
.catch(({ rule }) => {
|
|
6075
|
+
if (customVal) {
|
|
6076
|
+
setCellValue(row, column, cellValue);
|
|
6077
|
+
}
|
|
6078
|
+
$xeTable.showValidTooltip({ rule, row, column, cell });
|
|
6079
|
+
});
|
|
6080
|
+
}
|
|
6081
|
+
}
|
|
6082
|
+
}
|
|
6083
|
+
return $xeTable.$nextTick();
|
|
6084
|
+
},
|
|
6057
6085
|
/**
|
|
6058
6086
|
* 表头单元格按下事件
|
|
6059
6087
|
*/
|
|
@@ -8341,33 +8369,12 @@ const Methods = {
|
|
|
8341
8369
|
* 如果单元格配置了校验规则,则会进行校验
|
|
8342
8370
|
*/
|
|
8343
8371
|
updateStatus(slotParams, cellValue) {
|
|
8344
|
-
const
|
|
8372
|
+
const $xeTable = this;
|
|
8373
|
+
const props = $xeTable;
|
|
8345
8374
|
return this.$nextTick().then(() => {
|
|
8346
|
-
const {
|
|
8347
|
-
|
|
8348
|
-
|
|
8349
|
-
const { row, column } = slotParams;
|
|
8350
|
-
const type = 'change';
|
|
8351
|
-
if (this.hasCellRules) {
|
|
8352
|
-
if (this.hasCellRules(type, row, column)) {
|
|
8353
|
-
const cell = this.getCellElement(row, column);
|
|
8354
|
-
if (cell) {
|
|
8355
|
-
return this.validCellRules(type, row, column, cellValue)
|
|
8356
|
-
.then(() => {
|
|
8357
|
-
if (customVal && validStore.visible) {
|
|
8358
|
-
setCellValue(row, column, cellValue);
|
|
8359
|
-
}
|
|
8360
|
-
this.clearValidate(row, column);
|
|
8361
|
-
})
|
|
8362
|
-
.catch(({ rule }) => {
|
|
8363
|
-
if (customVal) {
|
|
8364
|
-
setCellValue(row, column, cellValue);
|
|
8365
|
-
}
|
|
8366
|
-
this.showValidTooltip({ rule, row, column, cell });
|
|
8367
|
-
});
|
|
8368
|
-
}
|
|
8369
|
-
}
|
|
8370
|
-
}
|
|
8375
|
+
const { editRules } = props;
|
|
8376
|
+
if (slotParams && editRules) {
|
|
8377
|
+
return $xeTable.handleCellRuleUpdateStatus('change', slotParams, cellValue);
|
|
8371
8378
|
}
|
|
8372
8379
|
});
|
|
8373
8380
|
},
|
package/es/table/src/table.js
CHANGED
|
@@ -115,7 +115,7 @@ const renderDragTipContents = (h, $xeTable) => {
|
|
|
115
115
|
};
|
|
116
116
|
const renderDragTip = (h, $xeTable) => {
|
|
117
117
|
const reactData = $xeTable;
|
|
118
|
-
const { dragRow } = reactData;
|
|
118
|
+
const { dragRow, dragCol } = reactData;
|
|
119
119
|
const rowOpts = $xeTable.computeRowOpts;
|
|
120
120
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
121
121
|
const rowDragOpts = $xeTable.computeRowDragOpts;
|
|
@@ -136,31 +136,33 @@ const renderDragTip = (h, $xeTable) => {
|
|
|
136
136
|
'is--guides': columnDragOpts.showGuidesStatus
|
|
137
137
|
}]
|
|
138
138
|
}),
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
h('div', {
|
|
144
|
-
class: 'vxe-table--drag-sort-tip-wrapper'
|
|
139
|
+
(dragRow && rowDragOpts.showDragTip) || (dragCol && columnDragOpts.showDragTip)
|
|
140
|
+
? h('div', {
|
|
141
|
+
ref: 'refDragTipElem',
|
|
142
|
+
class: 'vxe-table--drag-sort-tip'
|
|
145
143
|
}, [
|
|
146
144
|
h('div', {
|
|
147
|
-
class: 'vxe-table--drag-sort-tip-
|
|
145
|
+
class: 'vxe-table--drag-sort-tip-wrapper'
|
|
148
146
|
}, [
|
|
149
|
-
h('
|
|
150
|
-
class:
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
147
|
+
h('div', {
|
|
148
|
+
class: 'vxe-table--drag-sort-tip-status'
|
|
149
|
+
}, [
|
|
150
|
+
h('span', {
|
|
151
|
+
class: ['vxe-table--drag-sort-tip-normal-status', dragRow ? getIcon().TABLE_DRAG_STATUS_ROW : getIcon().TABLE_DRAG_STATUS_COLUMN]
|
|
152
|
+
}),
|
|
153
|
+
h('span', {
|
|
154
|
+
class: ['vxe-table--drag-sort-tip-sub-status', getIcon().TABLE_DRAG_STATUS_SUB_ROW]
|
|
155
|
+
}),
|
|
156
|
+
h('span', {
|
|
157
|
+
class: ['vxe-table--drag-sort-tip-disabled-status', getIcon().TABLE_DRAG_DISABLED]
|
|
158
|
+
})
|
|
159
|
+
]),
|
|
160
|
+
h('div', {
|
|
161
|
+
class: 'vxe-table--drag-sort-tip-content'
|
|
162
|
+
}, renderDragTipContents(h, $xeTable))
|
|
163
|
+
])
|
|
162
164
|
])
|
|
163
|
-
|
|
165
|
+
: renderEmptyElement($xeTable)
|
|
164
166
|
]);
|
|
165
167
|
}
|
|
166
168
|
return renderEmptyElement($xeTable);
|
|
@@ -552,6 +554,12 @@ export default {
|
|
|
552
554
|
isHeader: false,
|
|
553
555
|
isFooter: false
|
|
554
556
|
},
|
|
557
|
+
rowHeightStore: {
|
|
558
|
+
default: 48,
|
|
559
|
+
medium: 44,
|
|
560
|
+
small: 40,
|
|
561
|
+
mini: 36
|
|
562
|
+
},
|
|
555
563
|
scrollVMLoading: false,
|
|
556
564
|
calcCellHeightFlag: 0,
|
|
557
565
|
resizeHeightFlag: 0,
|
|
@@ -647,12 +655,9 @@ export default {
|
|
|
647
655
|
return this.computeRowHeightMaps;
|
|
648
656
|
},
|
|
649
657
|
computeRowHeightMaps() {
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
small: 40,
|
|
654
|
-
mini: 36
|
|
655
|
-
};
|
|
658
|
+
const $xeTable = this;
|
|
659
|
+
const reactData = $xeTable;
|
|
660
|
+
return reactData.rowHeightStore;
|
|
656
661
|
},
|
|
657
662
|
computeDefaultRowHeight() {
|
|
658
663
|
const $xeTable = this;
|
|
@@ -1363,9 +1368,27 @@ export default {
|
|
|
1363
1368
|
mounted() {
|
|
1364
1369
|
const $xeTable = this;
|
|
1365
1370
|
const props = $xeTable;
|
|
1371
|
+
const reactData = $xeTable;
|
|
1372
|
+
const { rowHeightStore } = reactData;
|
|
1373
|
+
const varEl = $xeTable.$refs.refVarElem;
|
|
1366
1374
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
1367
1375
|
const rowOpts = $xeTable.computeRowOpts;
|
|
1368
1376
|
const customOpts = $xeTable.computeCustomOpts;
|
|
1377
|
+
if (varEl) {
|
|
1378
|
+
const [defEl, mediumEl, smallEl, miniEl] = varEl.children;
|
|
1379
|
+
if (defEl) {
|
|
1380
|
+
rowHeightStore.default = defEl.clientHeight;
|
|
1381
|
+
}
|
|
1382
|
+
if (mediumEl) {
|
|
1383
|
+
rowHeightStore.medium = mediumEl.clientHeight;
|
|
1384
|
+
}
|
|
1385
|
+
if (smallEl) {
|
|
1386
|
+
rowHeightStore.small = smallEl.clientHeight;
|
|
1387
|
+
}
|
|
1388
|
+
if (miniEl) {
|
|
1389
|
+
rowHeightStore.mini = miniEl.clientHeight;
|
|
1390
|
+
}
|
|
1391
|
+
}
|
|
1369
1392
|
if (columnOpts.drag || rowOpts.drag || customOpts.allowSort) {
|
|
1370
1393
|
initTpImg();
|
|
1371
1394
|
}
|
|
@@ -1516,6 +1539,23 @@ export default {
|
|
|
1516
1539
|
class: 'vxe-table-slots',
|
|
1517
1540
|
ref: 'hideColumn'
|
|
1518
1541
|
}, this.$slots.default),
|
|
1542
|
+
h('div', {
|
|
1543
|
+
ref: 'refVarElem',
|
|
1544
|
+
class: 'vxe-table-vars'
|
|
1545
|
+
}, [
|
|
1546
|
+
h('div', {
|
|
1547
|
+
class: 'vxe-table-var-default'
|
|
1548
|
+
}),
|
|
1549
|
+
h('div', {
|
|
1550
|
+
class: 'vxe-table-var-medium'
|
|
1551
|
+
}),
|
|
1552
|
+
h('div', {
|
|
1553
|
+
class: 'vxe-table-var-small'
|
|
1554
|
+
}),
|
|
1555
|
+
h('div', {
|
|
1556
|
+
class: 'vxe-table-var-mini'
|
|
1557
|
+
})
|
|
1558
|
+
]),
|
|
1519
1559
|
h('div', {
|
|
1520
1560
|
key: 'tw',
|
|
1521
1561
|
class: 'vxe-table--render-wrapper'
|
package/es/table/style.css
CHANGED
|
@@ -1682,6 +1682,29 @@
|
|
|
1682
1682
|
display: none;
|
|
1683
1683
|
}
|
|
1684
1684
|
|
|
1685
|
+
.vxe-table-vars {
|
|
1686
|
+
height: 0;
|
|
1687
|
+
width: 0;
|
|
1688
|
+
visibility: hidden;
|
|
1689
|
+
overflow: hidden;
|
|
1690
|
+
-webkit-user-select: none;
|
|
1691
|
+
-moz-user-select: none;
|
|
1692
|
+
user-select: none;
|
|
1693
|
+
pointer-events: none;
|
|
1694
|
+
}
|
|
1695
|
+
.vxe-table-vars .vxe-table-var-default {
|
|
1696
|
+
height: var(--vxe-ui-table-row-height-default);
|
|
1697
|
+
}
|
|
1698
|
+
.vxe-table-vars .vxe-table-var-medium {
|
|
1699
|
+
height: var(--vxe-ui-table-row-height-medium);
|
|
1700
|
+
}
|
|
1701
|
+
.vxe-table-vars .vxe-table-var-small {
|
|
1702
|
+
height: var(--vxe-ui-table-row-height-small);
|
|
1703
|
+
}
|
|
1704
|
+
.vxe-table-vars .vxe-table-var-mini {
|
|
1705
|
+
height: var(--vxe-ui-table-row-height-mini);
|
|
1706
|
+
}
|
|
1707
|
+
|
|
1685
1708
|
.vxe-table--print-frame {
|
|
1686
1709
|
position: fixed;
|
|
1687
1710
|
bottom: -100%;
|
|
@@ -2638,6 +2661,9 @@
|
|
|
2638
2661
|
.vxe-table--render-default.size--medium .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button {
|
|
2639
2662
|
margin-top: 3px;
|
|
2640
2663
|
}
|
|
2664
|
+
.vxe-table--render-default.size--medium .vxe-cell--valid-error-tip {
|
|
2665
|
+
padding: 0 var(--vxe-ui-table-cell-padding-medium);
|
|
2666
|
+
}
|
|
2641
2667
|
.vxe-table--render-default.size--small {
|
|
2642
2668
|
font-size: var(--vxe-ui-font-size-small);
|
|
2643
2669
|
}
|
|
@@ -2663,6 +2689,9 @@
|
|
|
2663
2689
|
.vxe-table--render-default.size--small .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button {
|
|
2664
2690
|
margin-top: 2px;
|
|
2665
2691
|
}
|
|
2692
|
+
.vxe-table--render-default.size--small .vxe-cell--valid-error-tip {
|
|
2693
|
+
padding: 0 var(--vxe-ui-table-cell-padding-small);
|
|
2694
|
+
}
|
|
2666
2695
|
.vxe-table--render-default.size--mini {
|
|
2667
2696
|
font-size: var(--vxe-ui-font-size-mini);
|
|
2668
2697
|
}
|
|
@@ -2688,6 +2717,9 @@
|
|
|
2688
2717
|
.vxe-table--render-default.size--mini .vxe-cell .vxe-default-input[type=date]::-webkit-inner-spin-button {
|
|
2689
2718
|
margin-top: 1px;
|
|
2690
2719
|
}
|
|
2720
|
+
.vxe-table--render-default.size--mini .vxe-cell--valid-error-tip {
|
|
2721
|
+
padding: 0 var(--vxe-ui-table-cell-padding-mini);
|
|
2722
|
+
}
|
|
2691
2723
|
.vxe-table--render-default .vxe-header--column.is--padding .vxe-cell,
|
|
2692
2724
|
.vxe-table--render-default .vxe-body--column.is--padding .vxe-cell,
|
|
2693
2725
|
.vxe-table--render-default .vxe-footer--column.is--padding .vxe-cell {
|
|
@@ -3265,8 +3297,7 @@
|
|
|
3265
3297
|
transform: translateX(-50%);
|
|
3266
3298
|
text-align: left;
|
|
3267
3299
|
z-index: 4;
|
|
3268
|
-
padding
|
|
3269
|
-
padding-right: var(--vxe-ui-table-cell-padding-right);
|
|
3300
|
+
padding: 0 var(--vxe-ui-table-cell-padding-default);
|
|
3270
3301
|
}
|
|
3271
3302
|
.vxe-table--render-default .vxe-body--column .vxe-cell--valid-error-wrapper {
|
|
3272
3303
|
display: inline-block;
|