vxe-table 3.12.10-beta.2 → 3.12.10-beta.21
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/locale/lang/ar-EG.js +2 -1
- package/es/locale/lang/de-DE.js +2 -1
- package/es/locale/lang/en-US.js +2 -1
- package/es/locale/lang/es-ES.js +2 -1
- package/es/locale/lang/fr-FR.js +2 -1
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/hy-AM.js +2 -1
- package/es/locale/lang/it-IT.js +2 -1
- package/es/locale/lang/ja-JP.js +2 -1
- package/es/locale/lang/ko-KR.js +2 -1
- package/es/locale/lang/nb-NO.js +2 -1
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +4 -3
- package/es/locale/lang/th-TH.js +2 -1
- package/es/locale/lang/ug-CN.js +2 -1
- package/es/locale/lang/uk-UA.js +518 -517
- package/es/locale/lang/vi-VN.js +2 -1
- package/es/locale/lang/zh-CHT.js +2 -1
- package/es/locale/lang/zh-CN.js +2 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/mixin.js +7 -7
- package/es/table/module/export/mixin.js +55 -32
- package/es/table/module/keyboard/mixin.js +68 -25
- package/es/table/module/menu/mixin.js +3 -1
- package/es/table/src/body.js +96 -64
- package/es/table/src/cell.js +3 -7
- package/es/table/src/column.js +2 -0
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/footer.js +31 -6
- package/es/table/src/header.js +45 -141
- package/es/table/src/methods.js +918 -456
- package/es/table/src/props.js +6 -2
- package/es/table/src/table.js +299 -149
- package/es/table/src/util.js +67 -57
- package/es/table/style.css +299 -191
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +20 -10
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +299 -191
- 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 +1735 -1025
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +2 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +2 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -1
- package/lib/locale/lang/es-ES.js +2 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -1
- package/lib/locale/lang/fr-FR.js +2 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +2 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -1
- package/lib/locale/lang/hy-AM.js +2 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/it-IT.js +2 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -1
- package/lib/locale/lang/ko-KR.js +2 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -1
- package/lib/locale/lang/nb-NO.js +2 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +2 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -1
- package/lib/locale/lang/ru-RU.js +4 -3
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +4 -3
- package/lib/locale/lang/th-TH.js +2 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +2 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +518 -517
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +518 -517
- package/lib/locale/lang/vi-VN.js +2 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +2 -1
- package/lib/locale/lang/zh-CN.js +2 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/mixin.js +12 -2
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/mixin.js +52 -27
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +73 -27
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +3 -1
- package/lib/table/src/body.js +89 -60
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +3 -5
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +2 -0
- package/lib/table/src/column.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/footer.js +26 -6
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +38 -153
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +1076 -551
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +6 -2
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +269 -129
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +80 -70
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +299 -191
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +20 -10
- 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 +299 -191
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/ar-EG.ts +2 -1
- package/packages/locale/lang/de-DE.ts +2 -1
- package/packages/locale/lang/en-US.ts +2 -1
- package/packages/locale/lang/es-ES.ts +2 -1
- package/packages/locale/lang/fr-FR.ts +2 -1
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/hy-AM.ts +2 -1
- package/packages/locale/lang/it-IT.ts +2 -1
- package/packages/locale/lang/ja-JP.ts +2 -1
- package/packages/locale/lang/ko-KR.ts +2 -1
- package/packages/locale/lang/nb-NO.ts +2 -1
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +4 -3
- package/packages/locale/lang/th-TH.ts +2 -1
- package/packages/locale/lang/ug-CN.ts +2 -1
- package/packages/locale/lang/uk-UA.ts +518 -517
- package/packages/locale/lang/vi-VN.ts +2 -1
- package/packages/locale/lang/zh-CHT.ts +2 -1
- package/packages/locale/lang/zh-CN.ts +2 -1
- package/packages/table/module/edit/mixin.ts +7 -7
- package/packages/table/module/export/mixin.ts +50 -27
- package/packages/table/module/keyboard/mixin.ts +65 -24
- package/packages/table/module/menu/mixin.ts +4 -1
- package/packages/table/src/body.ts +102 -61
- package/packages/table/src/cell.ts +3 -7
- package/packages/table/src/column.ts +7 -2
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/footer.ts +31 -6
- package/packages/table/src/header.ts +45 -141
- package/packages/table/src/methods.ts +957 -461
- package/packages/table/src/props.ts +6 -2
- package/packages/table/src/table.ts +325 -149
- package/packages/table/src/util.ts +75 -62
- package/packages/ui/index.ts +21 -9
- package/styles/components/table.scss +352 -260
- package/styles/theme/base.scss +4 -6
- package/styles/theme/dark.scss +1 -0
- package/styles/theme/light.scss +1 -0
- package/styles/variable.scss +1 -0
- /package/es/{iconfont.1736736807414.ttf → iconfont.1737182271148.ttf} +0 -0
- /package/es/{iconfont.1736736807414.woff → iconfont.1737182271148.woff} +0 -0
- /package/es/{iconfont.1736736807414.woff2 → iconfont.1737182271148.woff2} +0 -0
- /package/lib/{iconfont.1736736807414.ttf → iconfont.1737182271148.ttf} +0 -0
- /package/lib/{iconfont.1736736807414.woff → iconfont.1737182271148.woff} +0 -0
- /package/lib/{iconfont.1736736807414.woff2 → iconfont.1737182271148.woff2} +0 -0
|
@@ -34,10 +34,10 @@ export default {
|
|
|
34
34
|
type: [Boolean, String] as PropType<VxeTablePropTypes.Border>,
|
|
35
35
|
default: () => getConfig().table.border
|
|
36
36
|
},
|
|
37
|
-
//
|
|
37
|
+
// 已废弃,被 cell-config.padding 替换
|
|
38
38
|
padding: {
|
|
39
39
|
type: Boolean as PropType<VxeTablePropTypes.Padding>,
|
|
40
|
-
default:
|
|
40
|
+
default: null
|
|
41
41
|
},
|
|
42
42
|
// 是否圆角边框
|
|
43
43
|
round: {
|
|
@@ -163,6 +163,10 @@ export default {
|
|
|
163
163
|
columnConfig: Object,
|
|
164
164
|
// 单元格配置信息
|
|
165
165
|
cellConfig: Object as PropType<VxeTablePropTypes.CellConfig>,
|
|
166
|
+
// 表头单元格配置信息
|
|
167
|
+
headerCellConfig: Object as PropType<VxeTablePropTypes.HeaderCellConfig>,
|
|
168
|
+
// 表尾单元格配置信息
|
|
169
|
+
footerCellConfig: Object as PropType<VxeTablePropTypes.FooterCellConfig>,
|
|
166
170
|
// 行配置信息
|
|
167
171
|
rowConfig: Object,
|
|
168
172
|
// 已废弃,被 rowDragConfig 替换
|
|
@@ -178,13 +178,155 @@ const renderDragTip = (h: CreateElement, $xeTable: any) => {
|
|
|
178
178
|
return renderEmptyElement($xeTable)
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
function
|
|
181
|
+
function handleUpdateResize (_vm: any) {
|
|
182
182
|
const { $el } = _vm
|
|
183
183
|
if ($el && $el.clientWidth && $el.clientHeight) {
|
|
184
184
|
_vm.recalculate()
|
|
185
185
|
}
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
+
function renderScrollX (h: CreateElement, $xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
|
|
189
|
+
return h('div', {
|
|
190
|
+
key: 'vsx',
|
|
191
|
+
ref: 'refScrollXVirtualElem',
|
|
192
|
+
class: 'vxe-table--scroll-x-virtual'
|
|
193
|
+
}, [
|
|
194
|
+
h('div', {
|
|
195
|
+
ref: 'refScrollXLeftCornerElem',
|
|
196
|
+
class: 'vxe-table--scroll-x-left-corner'
|
|
197
|
+
}),
|
|
198
|
+
h('div', {
|
|
199
|
+
ref: 'refScrollXWrapperElem',
|
|
200
|
+
class: 'vxe-table--scroll-x-wrapper'
|
|
201
|
+
}, [
|
|
202
|
+
h('div', {
|
|
203
|
+
ref: 'refScrollXHandleElem',
|
|
204
|
+
class: 'vxe-table--scroll-x-handle',
|
|
205
|
+
on: {
|
|
206
|
+
scroll: $xeTable.triggerVirtualScrollXEvent
|
|
207
|
+
}
|
|
208
|
+
}, [
|
|
209
|
+
h('div', {
|
|
210
|
+
ref: 'refScrollXSpaceElem',
|
|
211
|
+
class: 'vxe-table--scroll-x-space'
|
|
212
|
+
})
|
|
213
|
+
])
|
|
214
|
+
]),
|
|
215
|
+
h('div', {
|
|
216
|
+
ref: 'refScrollXRightCornerElem',
|
|
217
|
+
class: 'vxe-table--scroll-x-right-corner'
|
|
218
|
+
})
|
|
219
|
+
])
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
function renderScrollY (h: CreateElement, $xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
|
|
223
|
+
return h('div', {
|
|
224
|
+
ref: 'refScrollYVirtualElem',
|
|
225
|
+
class: 'vxe-table--scroll-y-virtual'
|
|
226
|
+
}, [
|
|
227
|
+
h('div', {
|
|
228
|
+
ref: 'refScrollYTopCornerElem',
|
|
229
|
+
class: 'vxe-table--scroll-y-top-corner'
|
|
230
|
+
}),
|
|
231
|
+
h('div', {
|
|
232
|
+
ref: 'refScrollYWrapperElem',
|
|
233
|
+
class: 'vxe-table--scroll-y-wrapper'
|
|
234
|
+
}, [
|
|
235
|
+
h('div', {
|
|
236
|
+
ref: 'refScrollYHandleElem',
|
|
237
|
+
class: 'vxe-table--scroll-y-handle',
|
|
238
|
+
on: {
|
|
239
|
+
scroll: $xeTable.triggerVirtualScrollYEvent
|
|
240
|
+
}
|
|
241
|
+
}, [
|
|
242
|
+
h('div', {
|
|
243
|
+
ref: 'refScrollYSpaceElem',
|
|
244
|
+
class: 'vxe-table--scroll-y-space'
|
|
245
|
+
})
|
|
246
|
+
])
|
|
247
|
+
]),
|
|
248
|
+
h('div', {
|
|
249
|
+
ref: 'refScrollYBottomCornerElem',
|
|
250
|
+
class: 'vxe-table--scroll-y-bottom-corner'
|
|
251
|
+
})
|
|
252
|
+
])
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
function renderViewport (h: CreateElement, $xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
|
|
256
|
+
const props = $xeTable
|
|
257
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
258
|
+
|
|
259
|
+
const { showHeader, showFooter } = props
|
|
260
|
+
const { overflowX, tableData, tableColumn, tableGroupColumn, footerTableData, columnStore } = reactData
|
|
261
|
+
const { leftList, rightList } = columnStore
|
|
262
|
+
|
|
263
|
+
return h('div', {
|
|
264
|
+
ref: 'refTableViewportElem',
|
|
265
|
+
class: 'vxe-table--viewport-wrapper'
|
|
266
|
+
}, [
|
|
267
|
+
h('div', {
|
|
268
|
+
class: 'vxe-table--main-wrapper'
|
|
269
|
+
}, [
|
|
270
|
+
/**
|
|
271
|
+
* 表头
|
|
272
|
+
*/
|
|
273
|
+
showHeader
|
|
274
|
+
? h(TableHeaderComponent, {
|
|
275
|
+
ref: 'refTableHeader',
|
|
276
|
+
props: {
|
|
277
|
+
tableData,
|
|
278
|
+
tableColumn,
|
|
279
|
+
tableGroupColumn
|
|
280
|
+
}
|
|
281
|
+
})
|
|
282
|
+
: renderEmptyElement($xeTable),
|
|
283
|
+
/**
|
|
284
|
+
* 表体
|
|
285
|
+
*/
|
|
286
|
+
h(TableBodyComponent, {
|
|
287
|
+
ref: 'refTableBody',
|
|
288
|
+
props: {
|
|
289
|
+
tableData,
|
|
290
|
+
tableColumn
|
|
291
|
+
}
|
|
292
|
+
}),
|
|
293
|
+
/**
|
|
294
|
+
* 表尾
|
|
295
|
+
*/
|
|
296
|
+
showFooter
|
|
297
|
+
? h(TableFooterComponent, {
|
|
298
|
+
ref: 'refTableFooter',
|
|
299
|
+
props: {
|
|
300
|
+
footerTableData,
|
|
301
|
+
tableColumn
|
|
302
|
+
}
|
|
303
|
+
})
|
|
304
|
+
: renderEmptyElement($xeTable)
|
|
305
|
+
]),
|
|
306
|
+
h('div', {
|
|
307
|
+
class: 'vxe-table--fixed-wrapper'
|
|
308
|
+
}, [
|
|
309
|
+
leftList && leftList.length && overflowX ? renderFixed(h, $xeTable, 'left') : renderEmptyElement($xeTable),
|
|
310
|
+
rightList && rightList.length && overflowX ? renderFixed(h, $xeTable, 'right') : renderEmptyElement($xeTable)
|
|
311
|
+
])
|
|
312
|
+
])
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
function renderBody (h: CreateElement, $xeTable: VxeTableConstructor & VxeTablePrivateMethods) {
|
|
316
|
+
const scrollbarYToLeft = $xeTable.computeScrollbarYToLeft
|
|
317
|
+
return h('div', {
|
|
318
|
+
class: 'vxe-table--layout-wrapper'
|
|
319
|
+
}, scrollbarYToLeft
|
|
320
|
+
? [
|
|
321
|
+
renderScrollY(h, $xeTable),
|
|
322
|
+
renderViewport(h, $xeTable)
|
|
323
|
+
]
|
|
324
|
+
: [
|
|
325
|
+
renderViewport(h, $xeTable),
|
|
326
|
+
renderScrollY(h, $xeTable)
|
|
327
|
+
])
|
|
328
|
+
}
|
|
329
|
+
|
|
188
330
|
export default {
|
|
189
331
|
name: 'VxeTable',
|
|
190
332
|
mixins: [
|
|
@@ -220,8 +362,7 @@ export default {
|
|
|
220
362
|
const xID = XEUtils.uniqueId()
|
|
221
363
|
return {
|
|
222
364
|
xID,
|
|
223
|
-
tId:
|
|
224
|
-
isCalcColumn: false,
|
|
365
|
+
tId: xID,
|
|
225
366
|
// 低性能的静态列
|
|
226
367
|
staticColumns: [],
|
|
227
368
|
// 渲染的列分组
|
|
@@ -434,7 +575,8 @@ export default {
|
|
|
434
575
|
|
|
435
576
|
scrollVMLoading: false,
|
|
436
577
|
|
|
437
|
-
|
|
578
|
+
calcCellHeightFlag: 0,
|
|
579
|
+
resizeHeightFlag: 0,
|
|
438
580
|
|
|
439
581
|
isCustomStatus: false,
|
|
440
582
|
|
|
@@ -444,8 +586,12 @@ export default {
|
|
|
444
586
|
dragCol: null,
|
|
445
587
|
dragTipText: '',
|
|
446
588
|
|
|
447
|
-
|
|
448
|
-
isLoading: false
|
|
589
|
+
isDragResize: false,
|
|
590
|
+
isLoading: false,
|
|
591
|
+
|
|
592
|
+
reScrollFlag: 0,
|
|
593
|
+
reLayoutFlag: 0,
|
|
594
|
+
footFlag: 0
|
|
449
595
|
}
|
|
450
596
|
},
|
|
451
597
|
computed: {
|
|
@@ -511,6 +657,18 @@ export default {
|
|
|
511
657
|
|
|
512
658
|
return Object.assign({}, getConfig().table.scrollbarConfig, props.scrollbarConfig)
|
|
513
659
|
},
|
|
660
|
+
computeScrollbarXToTop () {
|
|
661
|
+
const $xeTable = this
|
|
662
|
+
|
|
663
|
+
const scrollbarOpts = $xeTable.computeScrollbarOpts
|
|
664
|
+
return !!(scrollbarOpts.x && scrollbarOpts.x.position === 'top')
|
|
665
|
+
},
|
|
666
|
+
computeScrollbarYToLeft () {
|
|
667
|
+
const $xeTable = this
|
|
668
|
+
|
|
669
|
+
const scrollbarOpts = $xeTable.computeScrollbarOpts
|
|
670
|
+
return !!(scrollbarOpts.y && scrollbarOpts.y.position === 'left')
|
|
671
|
+
},
|
|
514
672
|
computeScrollYThreshold () {
|
|
515
673
|
const $xeTable = this
|
|
516
674
|
|
|
@@ -537,7 +695,7 @@ export default {
|
|
|
537
695
|
|
|
538
696
|
const vSize = $xeTable.computeSize
|
|
539
697
|
const rowHeightMaps = $xeTable.computeRowHeightMaps
|
|
540
|
-
return rowHeightMaps[vSize || 'default']
|
|
698
|
+
return rowHeightMaps[vSize || 'default'] || 18
|
|
541
699
|
},
|
|
542
700
|
columnOpts () {
|
|
543
701
|
return this.computeColumnOpts
|
|
@@ -546,7 +704,22 @@ export default {
|
|
|
546
704
|
return Object.assign({}, getConfig().table.columnConfig, this.columnConfig)
|
|
547
705
|
},
|
|
548
706
|
computeCellOpts () {
|
|
549
|
-
|
|
707
|
+
const $xeTable = this
|
|
708
|
+
const props = $xeTable
|
|
709
|
+
|
|
710
|
+
return Object.assign({}, getConfig().table.cellConfig, props.cellConfig)
|
|
711
|
+
},
|
|
712
|
+
computeHeaderCellOpts () {
|
|
713
|
+
const $xeTable = this
|
|
714
|
+
const props = $xeTable
|
|
715
|
+
|
|
716
|
+
return Object.assign({}, getConfig().table.headerCellConfig, props.headerCellConfig)
|
|
717
|
+
},
|
|
718
|
+
computeFooterCellOpts () {
|
|
719
|
+
const $xeTable = this
|
|
720
|
+
const props = $xeTable
|
|
721
|
+
|
|
722
|
+
return Object.assign({}, getConfig().table.footerCellConfig, props.footerCellConfig)
|
|
550
723
|
},
|
|
551
724
|
rowOpts () {
|
|
552
725
|
return this.computeRowOpts
|
|
@@ -599,6 +772,20 @@ export default {
|
|
|
599
772
|
tipConfig () {
|
|
600
773
|
return { ...this.tooltipOpts }
|
|
601
774
|
},
|
|
775
|
+
computeTableTipConfig () {
|
|
776
|
+
const $xeTable = this
|
|
777
|
+
const reactData = $xeTable
|
|
778
|
+
|
|
779
|
+
const { tooltipStore } = reactData
|
|
780
|
+
const tooltipOpts = $xeTable.computeTooltipOpts
|
|
781
|
+
return Object.assign({}, tooltipOpts, tooltipStore.currOpts)
|
|
782
|
+
},
|
|
783
|
+
computeValidTipConfig () {
|
|
784
|
+
const $xeTable = this
|
|
785
|
+
|
|
786
|
+
const tooltipOpts = $xeTable.computeTooltipOpts
|
|
787
|
+
return Object.assign({}, tooltipOpts)
|
|
788
|
+
},
|
|
602
789
|
validTipOpts () {
|
|
603
790
|
return Object.assign({ isArrow: false }, this.tooltipOpts)
|
|
604
791
|
},
|
|
@@ -651,24 +838,59 @@ export default {
|
|
|
651
838
|
return Object.assign({}, getConfig().table.fnrConfig, this.fnrConfig)
|
|
652
839
|
},
|
|
653
840
|
headerCtxMenu () {
|
|
654
|
-
|
|
841
|
+
return this.computeHeaderMenu
|
|
842
|
+
},
|
|
843
|
+
computeHeaderMenu () {
|
|
844
|
+
const $xeTable = this
|
|
845
|
+
|
|
846
|
+
const menuOpts = $xeTable.computeMenuOpts
|
|
847
|
+
const headerOpts = menuOpts.header
|
|
655
848
|
return headerOpts && headerOpts.options ? headerOpts.options : []
|
|
656
849
|
},
|
|
657
850
|
bodyCtxMenu () {
|
|
658
|
-
|
|
851
|
+
return this.computeBodyMenu
|
|
852
|
+
},
|
|
853
|
+
computeBodyMenu () {
|
|
854
|
+
const $xeTable = this
|
|
855
|
+
|
|
856
|
+
const menuOpts = $xeTable.computeMenuOpts
|
|
857
|
+
const bodyOpts = menuOpts.body
|
|
659
858
|
return bodyOpts && bodyOpts.options ? bodyOpts.options : []
|
|
660
859
|
},
|
|
661
860
|
footerCtxMenu () {
|
|
662
|
-
|
|
861
|
+
return this.computeFooterMenu
|
|
862
|
+
},
|
|
863
|
+
computeFooterMenu () {
|
|
864
|
+
const $xeTable = this
|
|
865
|
+
|
|
866
|
+
const menuOpts = $xeTable.computeMenuOpts
|
|
867
|
+
const footerOpts = menuOpts.footer
|
|
663
868
|
return footerOpts && footerOpts.options ? footerOpts.options : []
|
|
664
869
|
},
|
|
665
870
|
isCtxMenu () {
|
|
666
|
-
return
|
|
871
|
+
return this.computeIsMenu
|
|
872
|
+
},
|
|
873
|
+
computeIsMenu () {
|
|
874
|
+
const $xeTable = this
|
|
875
|
+
const props = $xeTable
|
|
876
|
+
|
|
877
|
+
const menuOpts = $xeTable.computeMenuOpts
|
|
878
|
+
const headerMenu = $xeTable.computeHeaderMenu
|
|
879
|
+
const bodyMenu = $xeTable.computeBodyMenu
|
|
880
|
+
const footerMenu = $xeTable.computeFooterMenu
|
|
881
|
+
return !!((props.contextMenu || props.menuConfig) && isEnableConf(menuOpts) && (headerMenu.length || bodyMenu.length || footerMenu.length))
|
|
667
882
|
},
|
|
668
883
|
ctxMenuList () {
|
|
884
|
+
return this.computeMenuList
|
|
885
|
+
},
|
|
886
|
+
computeMenuList () {
|
|
887
|
+
const $xeTable = this
|
|
888
|
+
const reactData = $xeTable as TableReactData
|
|
889
|
+
|
|
890
|
+
const { ctxMenuStore } = reactData
|
|
669
891
|
const rest: any[] = []
|
|
670
|
-
|
|
671
|
-
list.forEach(item => {
|
|
892
|
+
ctxMenuStore.list.forEach((list) => {
|
|
893
|
+
list.forEach((item) => {
|
|
672
894
|
rest.push(item)
|
|
673
895
|
})
|
|
674
896
|
})
|
|
@@ -852,7 +1074,7 @@ export default {
|
|
|
852
1074
|
if (value && value.length >= 50000) {
|
|
853
1075
|
warnLog('vxe.error.errLargeData', ['loadData(data), reloadData(data)'])
|
|
854
1076
|
}
|
|
855
|
-
this.loadTableData(value || []).then(() => {
|
|
1077
|
+
this.loadTableData(value || [], false).then(() => {
|
|
856
1078
|
this.inited = true
|
|
857
1079
|
this.initStatus = true
|
|
858
1080
|
if (!initStatus) {
|
|
@@ -880,33 +1102,57 @@ export default {
|
|
|
880
1102
|
reColumnFlag () {
|
|
881
1103
|
this.$nextTick().then(() => this.refreshColumn())
|
|
882
1104
|
},
|
|
1105
|
+
|
|
1106
|
+
computeSize () {
|
|
1107
|
+
this.reScrollFlag++
|
|
1108
|
+
},
|
|
883
1109
|
showHeader () {
|
|
884
|
-
this
|
|
885
|
-
this.recalculate(true).then(() => this.refreshScroll())
|
|
886
|
-
})
|
|
1110
|
+
this.reScrollFlag++
|
|
887
1111
|
},
|
|
888
1112
|
showFooter () {
|
|
889
|
-
this
|
|
890
|
-
|
|
1113
|
+
this.reScrollFlag++
|
|
1114
|
+
},
|
|
1115
|
+
reScrollFlag () {
|
|
1116
|
+
const $xeTable = this
|
|
1117
|
+
|
|
1118
|
+
$xeTable.$nextTick(() => {
|
|
1119
|
+
$xeTable.recalculate(true).then(() => $xeTable.refreshScroll())
|
|
891
1120
|
})
|
|
892
1121
|
},
|
|
1122
|
+
|
|
893
1123
|
height () {
|
|
894
|
-
this
|
|
1124
|
+
this.reLayoutFlag++
|
|
895
1125
|
},
|
|
896
1126
|
maxHeight () {
|
|
897
|
-
this
|
|
1127
|
+
this.reLayoutFlag++
|
|
898
1128
|
},
|
|
899
|
-
|
|
900
|
-
this
|
|
901
|
-
|
|
902
|
-
|
|
1129
|
+
computeScrollbarXToTop () {
|
|
1130
|
+
this.reLayoutFlag++
|
|
1131
|
+
},
|
|
1132
|
+
computeScrollbarYToLeft () {
|
|
1133
|
+
this.reLayoutFlag++
|
|
1134
|
+
},
|
|
1135
|
+
reLayoutFlag () {
|
|
1136
|
+
const $xeTable = this
|
|
1137
|
+
|
|
1138
|
+
$xeTable.$nextTick(() => $xeTable.recalculate(true))
|
|
1139
|
+
},
|
|
1140
|
+
|
|
1141
|
+
footerData () {
|
|
1142
|
+
this.footFlag++
|
|
1143
|
+
},
|
|
1144
|
+
footFlag () {
|
|
1145
|
+
const $xeTable = this
|
|
1146
|
+
|
|
1147
|
+
$xeTable.updateFooter()
|
|
903
1148
|
},
|
|
1149
|
+
|
|
904
1150
|
syncResize (value: any) {
|
|
905
1151
|
if (value) {
|
|
906
|
-
|
|
1152
|
+
handleUpdateResize(this)
|
|
907
1153
|
this.$nextTick(() => {
|
|
908
|
-
|
|
909
|
-
setTimeout(() =>
|
|
1154
|
+
handleUpdateResize(this)
|
|
1155
|
+
setTimeout(() => handleUpdateResize(this))
|
|
910
1156
|
})
|
|
911
1157
|
}
|
|
912
1158
|
},
|
|
@@ -1010,11 +1256,14 @@ export default {
|
|
|
1010
1256
|
if (treeConfig && (treeOpts.showLine || treeOpts.line) && (!(this.rowKey || rowOpts.useKey) || !showOverflow)) {
|
|
1011
1257
|
warnLog('vxe.error.reqProp', ['row-config.useKey | show-overflow'])
|
|
1012
1258
|
}
|
|
1259
|
+
if (treeConfig && !treeOpts.transform && this.stripe) {
|
|
1260
|
+
warnLog('vxe.error.noTree', ['stripe'])
|
|
1261
|
+
}
|
|
1013
1262
|
if (this.showFooter && !(this.footerMethod || this.footerData)) {
|
|
1014
1263
|
warnLog('vxe.error.reqProp', ['footer-data | footer-method'])
|
|
1015
1264
|
}
|
|
1016
|
-
if (
|
|
1017
|
-
warnLog('vxe.error.
|
|
1265
|
+
if (rowOpts.height) {
|
|
1266
|
+
warnLog('vxe.error.delProp', ['row-config.height', 'cell-config.height'])
|
|
1018
1267
|
}
|
|
1019
1268
|
if (this.tooltipOpts.enabled) {
|
|
1020
1269
|
warnLog('vxe.error.delProp', ['tooltip-config.enabled', 'tooltip-config.showAll'])
|
|
@@ -1160,7 +1409,7 @@ export default {
|
|
|
1160
1409
|
endIndex: 1,
|
|
1161
1410
|
visibleSize: 0
|
|
1162
1411
|
})
|
|
1163
|
-
this.loadTableData(data).then(() => {
|
|
1412
|
+
this.loadTableData(data, true).then(() => {
|
|
1164
1413
|
if (data && data.length) {
|
|
1165
1414
|
this.inited = true
|
|
1166
1415
|
this.initStatus = true
|
|
@@ -1276,10 +1525,11 @@ export default {
|
|
|
1276
1525
|
const { xID } = $xeTable
|
|
1277
1526
|
|
|
1278
1527
|
const { loading, stripe, showHeader, height, treeConfig, mouseConfig, showFooter, highlightCell, highlightHoverRow, highlightHoverColumn, editConfig, editRules } = props
|
|
1279
|
-
const {
|
|
1528
|
+
const { isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, tableData, initStore, columnStore, filterStore, customStore } = reactData
|
|
1280
1529
|
const { leftList, rightList } = columnStore
|
|
1281
1530
|
const loadingSlot = slots.loading
|
|
1282
|
-
const
|
|
1531
|
+
const tableTipConfig = $xeTable.computeTableTipConfig
|
|
1532
|
+
const validTipConfig = $xeTable.computeValidTipConfig
|
|
1283
1533
|
const validOpts = $xeTable.computeValidOpts
|
|
1284
1534
|
const checkboxOpts = $xeTable.computeCheckboxOpts
|
|
1285
1535
|
const treeOpts = $xeTable.computeTreeOpts
|
|
@@ -1295,9 +1545,11 @@ export default {
|
|
|
1295
1545
|
const resizableOpts = $xeTable.computeResizableOpts
|
|
1296
1546
|
const isArea = mouseConfig && mouseOpts.area
|
|
1297
1547
|
const columnDragOpts = $xeTable.computeColumnDragOpts
|
|
1548
|
+
const scrollbarXToTop = $xeTable.computeScrollbarXToTop
|
|
1549
|
+
const scrollbarYToLeft = $xeTable.computeScrollbarYToLeft
|
|
1298
1550
|
return h('div', {
|
|
1299
1551
|
ref: 'refElem',
|
|
1300
|
-
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, {
|
|
1552
|
+
class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
1301
1553
|
[`size--${vSize}`]: vSize,
|
|
1302
1554
|
[`valid-msg--${validOpts.msgMode}`]: !!editRules,
|
|
1303
1555
|
'vxe-editable': !!editConfig,
|
|
@@ -1310,7 +1562,6 @@ export default {
|
|
|
1310
1562
|
'row--highlight': rowOpts.isHover || highlightHoverRow,
|
|
1311
1563
|
'column--highlight': columnOpts.isHover || highlightHoverColumn,
|
|
1312
1564
|
'checkbox--range': checkboxOpts.range,
|
|
1313
|
-
'column--calc': isCalcColumn,
|
|
1314
1565
|
'col--drag-cell': columnOpts.drag && columnDragOpts.trigger === 'cell',
|
|
1315
1566
|
'is--header': showHeader,
|
|
1316
1567
|
'is--footer': showFooter,
|
|
@@ -1319,7 +1570,6 @@ export default {
|
|
|
1319
1570
|
'is--fixed-left': leftList.length,
|
|
1320
1571
|
'is--fixed-right': rightList.length,
|
|
1321
1572
|
'is--animat': !!props.animat,
|
|
1322
|
-
'is--padding': props.padding,
|
|
1323
1573
|
'is--round': props.round,
|
|
1324
1574
|
'is--stripe': !treeConfig && stripe,
|
|
1325
1575
|
'is--loading': currLoading,
|
|
@@ -1346,108 +1596,15 @@ export default {
|
|
|
1346
1596
|
h('div', {
|
|
1347
1597
|
key: 'tw',
|
|
1348
1598
|
class: 'vxe-table--render-wrapper'
|
|
1349
|
-
},
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
/**
|
|
1358
|
-
* 表头
|
|
1359
|
-
*/
|
|
1360
|
-
showHeader
|
|
1361
|
-
? h(TableHeaderComponent, {
|
|
1362
|
-
ref: 'refTableHeader',
|
|
1363
|
-
props: {
|
|
1364
|
-
tableData,
|
|
1365
|
-
tableColumn,
|
|
1366
|
-
tableGroupColumn,
|
|
1367
|
-
size: vSize
|
|
1368
|
-
}
|
|
1369
|
-
})
|
|
1370
|
-
: renderEmptyElement($xeTable),
|
|
1371
|
-
/**
|
|
1372
|
-
* 表体
|
|
1373
|
-
*/
|
|
1374
|
-
h(TableBodyComponent, {
|
|
1375
|
-
ref: 'refTableBody',
|
|
1376
|
-
props: {
|
|
1377
|
-
tableData,
|
|
1378
|
-
tableColumn,
|
|
1379
|
-
size: vSize
|
|
1380
|
-
}
|
|
1381
|
-
}),
|
|
1382
|
-
/**
|
|
1383
|
-
* 表尾
|
|
1384
|
-
*/
|
|
1385
|
-
showFooter
|
|
1386
|
-
? h(TableFooterComponent, {
|
|
1387
|
-
ref: 'refTableFooter',
|
|
1388
|
-
props: {
|
|
1389
|
-
footerTableData,
|
|
1390
|
-
tableColumn,
|
|
1391
|
-
size: vSize
|
|
1392
|
-
}
|
|
1393
|
-
})
|
|
1394
|
-
: renderEmptyElement($xeTable)
|
|
1395
|
-
]),
|
|
1396
|
-
h('div', {
|
|
1397
|
-
class: 'vxe-table--fixed-wrapper'
|
|
1398
|
-
}, [
|
|
1399
|
-
leftList && leftList.length && overflowX ? renderFixed(h, this, 'left') : renderEmptyElement($xeTable),
|
|
1400
|
-
rightList && rightList.length && overflowX ? renderFixed(h, this, 'right') : renderEmptyElement($xeTable)
|
|
1401
|
-
])
|
|
1402
|
-
]),
|
|
1403
|
-
h('div', {
|
|
1404
|
-
ref: 'refScrollYVirtualElem',
|
|
1405
|
-
class: 'vxe-table--scroll-y-virtual'
|
|
1406
|
-
}, [
|
|
1407
|
-
h('div', {
|
|
1408
|
-
ref: 'refScrollYTopCornerElem',
|
|
1409
|
-
class: 'vxe-table--scroll-y-top-corner'
|
|
1410
|
-
}),
|
|
1411
|
-
h('div', {
|
|
1412
|
-
ref: 'refScrollYHandleElem',
|
|
1413
|
-
class: 'vxe-table--scroll-y-handle',
|
|
1414
|
-
on: {
|
|
1415
|
-
scroll: this.scrollYEvent
|
|
1416
|
-
}
|
|
1417
|
-
}, [
|
|
1418
|
-
h('div', {
|
|
1419
|
-
ref: 'refScrollYSpaceElem',
|
|
1420
|
-
class: 'vxe-table--scroll-y-space'
|
|
1421
|
-
})
|
|
1599
|
+
}, scrollbarXToTop
|
|
1600
|
+
? [
|
|
1601
|
+
renderScrollX(h, $xeTable),
|
|
1602
|
+
renderBody(h, $xeTable)
|
|
1603
|
+
]
|
|
1604
|
+
: [
|
|
1605
|
+
renderBody(h, $xeTable),
|
|
1606
|
+
renderScrollX(h, $xeTable)
|
|
1422
1607
|
]),
|
|
1423
|
-
h('div', {
|
|
1424
|
-
ref: 'refScrollYBottomCornerElem',
|
|
1425
|
-
class: 'vxe-table--scroll-y-bottom-corner'
|
|
1426
|
-
})
|
|
1427
|
-
])
|
|
1428
|
-
]),
|
|
1429
|
-
h('div', {
|
|
1430
|
-
key: 'vx',
|
|
1431
|
-
ref: 'refScrollXVirtualElem',
|
|
1432
|
-
class: 'vxe-table--scroll-x-virtual'
|
|
1433
|
-
}, [
|
|
1434
|
-
h('div', {
|
|
1435
|
-
ref: 'refScrollXHandleElem',
|
|
1436
|
-
class: 'vxe-table--scroll-x-handle',
|
|
1437
|
-
on: {
|
|
1438
|
-
scroll: this.scrollXEvent
|
|
1439
|
-
}
|
|
1440
|
-
}, [
|
|
1441
|
-
h('div', {
|
|
1442
|
-
ref: 'refScrollXSpaceElem',
|
|
1443
|
-
class: 'vxe-table--scroll-x-space'
|
|
1444
|
-
})
|
|
1445
|
-
]),
|
|
1446
|
-
h('div', {
|
|
1447
|
-
ref: 'refScrollXRightCornerElem',
|
|
1448
|
-
class: 'vxe-table--scroll-x-right-corner'
|
|
1449
|
-
})
|
|
1450
|
-
]),
|
|
1451
1608
|
/**
|
|
1452
1609
|
* 空数据
|
|
1453
1610
|
*/
|
|
@@ -1471,18 +1628,27 @@ export default {
|
|
|
1471
1628
|
* 列宽线
|
|
1472
1629
|
*/
|
|
1473
1630
|
h('div', {
|
|
1474
|
-
key: '
|
|
1475
|
-
ref: '
|
|
1476
|
-
class: 'vxe-table--resizable-bar'
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1631
|
+
key: 'tcl',
|
|
1632
|
+
ref: 'refColResizeBar',
|
|
1633
|
+
class: 'vxe-table--resizable-col-bar'
|
|
1634
|
+
}, resizableOpts.showDragTip
|
|
1635
|
+
? [
|
|
1636
|
+
h('div', {
|
|
1637
|
+
ref: 'refColResizeTip',
|
|
1638
|
+
class: 'vxe-table--resizable-number-tip'
|
|
1639
|
+
})
|
|
1640
|
+
]
|
|
1641
|
+
: []),
|
|
1642
|
+
/**
|
|
1643
|
+
* 行高线
|
|
1644
|
+
*/
|
|
1645
|
+
h('div', {
|
|
1646
|
+
key: 'trl',
|
|
1647
|
+
ref: 'refRowResizeBar',
|
|
1648
|
+
class: 'vxe-table--resizable-row-bar'
|
|
1482
1649
|
}, resizableOpts.showDragTip
|
|
1483
1650
|
? [
|
|
1484
1651
|
h('div', {
|
|
1485
|
-
ref: 'refCellResizeTip',
|
|
1486
1652
|
class: 'vxe-table--resizable-number-tip'
|
|
1487
1653
|
})
|
|
1488
1654
|
]
|
|
@@ -1598,7 +1764,12 @@ export default {
|
|
|
1598
1764
|
? h(VxeUITooltipComponent, {
|
|
1599
1765
|
key: 'btp',
|
|
1600
1766
|
ref: 'tooltip',
|
|
1601
|
-
props:
|
|
1767
|
+
props: {
|
|
1768
|
+
theme: tableTipConfig.theme,
|
|
1769
|
+
enterable: tableTipConfig.enterable,
|
|
1770
|
+
enterDelay: tableTipConfig.enterDelay,
|
|
1771
|
+
leaveDelay: tableTipConfig.leaveDelay
|
|
1772
|
+
}
|
|
1602
1773
|
})
|
|
1603
1774
|
: renderEmptyElement($xeTable),
|
|
1604
1775
|
/**
|
|
@@ -1611,7 +1782,12 @@ export default {
|
|
|
1611
1782
|
class: [{
|
|
1612
1783
|
'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete'
|
|
1613
1784
|
}, 'vxe-table--valid-error'],
|
|
1614
|
-
props:
|
|
1785
|
+
props: {
|
|
1786
|
+
theme: validTipConfig.theme,
|
|
1787
|
+
enterable: validTipConfig.enterable,
|
|
1788
|
+
enterDelay: validTipConfig.enterDelay,
|
|
1789
|
+
leaveDelay: validTipConfig.leaveDelay
|
|
1790
|
+
}
|
|
1615
1791
|
})
|
|
1616
1792
|
: renderEmptyElement($xeTable)
|
|
1617
1793
|
])
|