vxe-table 4.17.0-beta.0 → 4.17.0-beta.10
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.md +2 -0
- 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/custom/panel.js +34 -32
- package/es/table/module/export/export-panel.js +22 -22
- package/es/table/module/export/import-panel.js +8 -8
- package/es/table/module/filter/hook.js +1 -1
- package/es/table/module/filter/panel.js +1 -1
- package/es/table/module/keyboard/hook.js +4 -26
- package/es/table/render/index.js +14 -2
- package/es/table/src/body.js +12 -2
- package/es/table/src/emits.js +2 -0
- package/es/table/src/header.js +1 -1
- package/es/table/src/table.js +52 -17
- package/es/table/src/util.js +3 -3
- package/es/table/style.css +3 -0
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/utils.js +6 -5
- package/es/vxe-table/style.css +3 -0
- 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 +102 -103
- 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/custom/panel.js +26 -24
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/export/export-panel.js +19 -18
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/import-panel.js +8 -7
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/filter/hook.js +1 -1
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/module/filter/panel.js +1 -0
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +3 -28
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/render/index.js +13 -2
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +0 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/header.js +1 -1
- package/lib/table/src/table.js +13 -7
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +3 -3
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +3 -0
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- 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/ui/src/utils.js +8 -5
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/vxe-table/style/style.css +3 -0
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/table/module/custom/panel.ts +34 -32
- package/packages/table/module/export/export-panel.ts +22 -22
- package/packages/table/module/export/import-panel.ts +8 -8
- package/packages/table/module/filter/hook.ts +1 -1
- package/packages/table/module/filter/panel.ts +1 -1
- package/packages/table/module/keyboard/hook.ts +4 -28
- package/packages/table/render/index.ts +26 -17
- package/packages/table/src/body.ts +12 -3
- package/packages/table/src/emits.ts +2 -0
- package/packages/table/src/header.ts +2 -2
- package/packages/table/src/table.ts +50 -17
- package/packages/table/src/util.ts +3 -3
- package/packages/ui/src/utils.ts +7 -5
- package/styles/components/table.scss +3 -0
- /package/es/{iconfont.1759031444881.ttf → iconfont.1760688141383.ttf} +0 -0
- /package/es/{iconfont.1759031444881.woff → iconfont.1760688141383.woff} +0 -0
- /package/es/{iconfont.1759031444881.woff2 → iconfont.1760688141383.woff2} +0 -0
- /package/lib/{iconfont.1759031444881.ttf → iconfont.1760688141383.ttf} +0 -0
- /package/lib/{iconfont.1759031444881.woff → iconfont.1760688141383.woff} +0 -0
- /package/lib/{iconfont.1759031444881.woff2 → iconfont.1760688141383.woff2} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h, inject, ref, Ref, provide, VNode, PropType, nextTick, TransitionGroup,
|
|
1
|
+
import { h, inject, ref, Ref, provide, VNode, PropType, nextTick, TransitionGroup, reactive, onUnmounted } from 'vue'
|
|
2
2
|
import { defineVxeComponent } from '../../../ui/src/comp'
|
|
3
3
|
import { VxeUI } from '../../../ui'
|
|
4
4
|
import { formatText } from '../../../ui/src/utils'
|
|
@@ -490,7 +490,7 @@ export default defineVxeComponent({
|
|
|
490
490
|
}
|
|
491
491
|
}
|
|
492
492
|
|
|
493
|
-
|
|
493
|
+
const csParams = {
|
|
494
494
|
oldColumn: dragColumn,
|
|
495
495
|
newColumn,
|
|
496
496
|
dragColumn,
|
|
@@ -500,7 +500,9 @@ export default defineVxeComponent({
|
|
|
500
500
|
newIndex: nafIndex,
|
|
501
501
|
oldIndex: oafIndex
|
|
502
502
|
}
|
|
503
|
-
}
|
|
503
|
+
}
|
|
504
|
+
$xeTable.dispatchEvent('custom-sort-change', csParams, evnt)
|
|
505
|
+
$xeTable.dispatchEvent('column-dragend', csParams, evnt)
|
|
504
506
|
|
|
505
507
|
if (immediate) {
|
|
506
508
|
tableReactData.customColumnList = collectColumn.slice(0)
|
|
@@ -678,7 +680,7 @@ export default defineVxeComponent({
|
|
|
678
680
|
class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
|
|
679
681
|
})
|
|
680
682
|
])
|
|
681
|
-
:
|
|
683
|
+
: renderEmptyElement($xeTable),
|
|
682
684
|
h('div', {
|
|
683
685
|
class: 'vxe-table-custom--name-option'
|
|
684
686
|
}, [
|
|
@@ -703,7 +705,7 @@ export default defineVxeComponent({
|
|
|
703
705
|
})
|
|
704
706
|
])
|
|
705
707
|
])
|
|
706
|
-
:
|
|
708
|
+
: renderEmptyElement($xeTable),
|
|
707
709
|
column.type === 'html'
|
|
708
710
|
? h('div', {
|
|
709
711
|
key: '1',
|
|
@@ -730,7 +732,7 @@ export default defineVxeComponent({
|
|
|
730
732
|
changeFixedOption(column, 'left', $event)
|
|
731
733
|
}
|
|
732
734
|
})
|
|
733
|
-
:
|
|
735
|
+
: renderEmptyElement($xeTable),
|
|
734
736
|
VxeUIButtonComponent
|
|
735
737
|
? h(VxeUIButtonComponent, {
|
|
736
738
|
mode: 'text',
|
|
@@ -742,9 +744,9 @@ export default defineVxeComponent({
|
|
|
742
744
|
changeFixedOption(column, 'right', $event)
|
|
743
745
|
}
|
|
744
746
|
})
|
|
745
|
-
:
|
|
747
|
+
: renderEmptyElement($xeTable)
|
|
746
748
|
])
|
|
747
|
-
:
|
|
749
|
+
: renderEmptyElement($xeTable)
|
|
748
750
|
])
|
|
749
751
|
)
|
|
750
752
|
}
|
|
@@ -850,7 +852,7 @@ export default defineVxeComponent({
|
|
|
850
852
|
disabled: !isCustomStatus,
|
|
851
853
|
onClick: resetCustomEvent
|
|
852
854
|
})
|
|
853
|
-
:
|
|
855
|
+
: renderEmptyElement($xeTable),
|
|
854
856
|
immediate
|
|
855
857
|
? (VxeUIButtonComponent
|
|
856
858
|
? h(VxeUIButtonComponent, {
|
|
@@ -858,16 +860,16 @@ export default defineVxeComponent({
|
|
|
858
860
|
content: customOpts.closeButtonText || getI18n('vxe.table.customClose'),
|
|
859
861
|
onClick: cancelCloseEvent
|
|
860
862
|
})
|
|
861
|
-
:
|
|
863
|
+
: renderEmptyElement($xeTable))
|
|
862
864
|
: (VxeUIButtonComponent
|
|
863
865
|
? h(VxeUIButtonComponent, {
|
|
864
866
|
mode: 'text',
|
|
865
867
|
content: customOpts.cancelButtonText || getI18n('vxe.table.customCancel'),
|
|
866
868
|
onClick: cancelCustomEvent
|
|
867
869
|
})
|
|
868
|
-
:
|
|
870
|
+
: renderEmptyElement($xeTable)),
|
|
869
871
|
immediate
|
|
870
|
-
?
|
|
872
|
+
? renderEmptyElement($xeTable)
|
|
871
873
|
: (VxeUIButtonComponent
|
|
872
874
|
? h(VxeUIButtonComponent, {
|
|
873
875
|
mode: 'text',
|
|
@@ -875,7 +877,7 @@ export default defineVxeComponent({
|
|
|
875
877
|
content: customOpts.confirmButtonText || getI18n('vxe.table.customConfirm'),
|
|
876
878
|
onClick: confirmCustomEvent
|
|
877
879
|
})
|
|
878
|
-
:
|
|
880
|
+
: renderEmptyElement($xeTable))
|
|
879
881
|
])
|
|
880
882
|
])
|
|
881
883
|
: null
|
|
@@ -984,7 +986,7 @@ export default defineVxeComponent({
|
|
|
984
986
|
})
|
|
985
987
|
])
|
|
986
988
|
])
|
|
987
|
-
:
|
|
989
|
+
: renderEmptyElement($xeTable),
|
|
988
990
|
h('td', {
|
|
989
991
|
class: 'vxe-table-custom-popup--column-item col--name'
|
|
990
992
|
}, [
|
|
@@ -1012,7 +1014,7 @@ export default defineVxeComponent({
|
|
|
1012
1014
|
: h('div', {
|
|
1013
1015
|
class: 'vxe-table-custom-popup--column-sort-placeholder'
|
|
1014
1016
|
}))
|
|
1015
|
-
:
|
|
1017
|
+
: renderEmptyElement($xeTable),
|
|
1016
1018
|
column.type === 'html'
|
|
1017
1019
|
? h('div', {
|
|
1018
1020
|
key: '1',
|
|
@@ -1052,10 +1054,10 @@ export default defineVxeComponent({
|
|
|
1052
1054
|
changeColumnWidth(column)
|
|
1053
1055
|
}
|
|
1054
1056
|
})
|
|
1055
|
-
:
|
|
1057
|
+
: renderEmptyElement($xeTable)
|
|
1056
1058
|
)
|
|
1057
1059
|
])
|
|
1058
|
-
:
|
|
1060
|
+
: renderEmptyElement($xeTable),
|
|
1059
1061
|
allowFixed
|
|
1060
1062
|
? h('td', {
|
|
1061
1063
|
class: 'vxe-table-custom-popup--column-item col--fixed'
|
|
@@ -1078,10 +1080,10 @@ export default defineVxeComponent({
|
|
|
1078
1080
|
changeFixedOption(column, label, $event)
|
|
1079
1081
|
}
|
|
1080
1082
|
})
|
|
1081
|
-
:
|
|
1083
|
+
: renderEmptyElement($xeTable)
|
|
1082
1084
|
)
|
|
1083
1085
|
])
|
|
1084
|
-
:
|
|
1086
|
+
: renderEmptyElement($xeTable)
|
|
1085
1087
|
])
|
|
1086
1088
|
)
|
|
1087
1089
|
}
|
|
@@ -1112,7 +1114,7 @@ export default defineVxeComponent({
|
|
|
1112
1114
|
? h('col', {
|
|
1113
1115
|
class: 'vxe-table-custom-popup--table-col-seq'
|
|
1114
1116
|
})
|
|
1115
|
-
:
|
|
1117
|
+
: renderEmptyElement($xeTable),
|
|
1116
1118
|
h('col', {
|
|
1117
1119
|
class: 'vxe-table-custom-popup--table-col-title'
|
|
1118
1120
|
}),
|
|
@@ -1120,12 +1122,12 @@ export default defineVxeComponent({
|
|
|
1120
1122
|
? h('col', {
|
|
1121
1123
|
class: 'vxe-table-custom-popup--table-col-width'
|
|
1122
1124
|
})
|
|
1123
|
-
:
|
|
1125
|
+
: renderEmptyElement($xeTable),
|
|
1124
1126
|
allowFixed
|
|
1125
1127
|
? h('col', {
|
|
1126
1128
|
class: 'vxe-table-custom-popup--table-col-fixed'
|
|
1127
1129
|
})
|
|
1128
|
-
:
|
|
1130
|
+
: renderEmptyElement($xeTable)
|
|
1129
1131
|
]),
|
|
1130
1132
|
h('thead', {}, [
|
|
1131
1133
|
h('tr', {}, [
|
|
@@ -1147,14 +1149,14 @@ export default defineVxeComponent({
|
|
|
1147
1149
|
}, getI18n('vxe.toolbar.customAll'))
|
|
1148
1150
|
])
|
|
1149
1151
|
])
|
|
1150
|
-
:
|
|
1152
|
+
: renderEmptyElement($xeTable),
|
|
1151
1153
|
h('th', {}, getI18n('vxe.custom.setting.colTitle')),
|
|
1152
1154
|
allowResizable
|
|
1153
1155
|
? h('th', {}, getI18n('vxe.custom.setting.colResizable'))
|
|
1154
|
-
:
|
|
1156
|
+
: renderEmptyElement($xeTable),
|
|
1155
1157
|
allowFixed
|
|
1156
1158
|
? h('th', {}, getI18n(`vxe.custom.setting.${maxFixedSize ? 'colFixedMax' : 'colFixed'}`, [maxFixedSize]))
|
|
1157
|
-
:
|
|
1159
|
+
: renderEmptyElement($xeTable)
|
|
1158
1160
|
])
|
|
1159
1161
|
]),
|
|
1160
1162
|
h(TransitionGroup, {
|
|
@@ -1193,29 +1195,29 @@ export default defineVxeComponent({
|
|
|
1193
1195
|
disabled: !isCustomStatus,
|
|
1194
1196
|
onClick: resetCustomEvent
|
|
1195
1197
|
})
|
|
1196
|
-
:
|
|
1198
|
+
: renderEmptyElement($xeTable),
|
|
1197
1199
|
immediate
|
|
1198
1200
|
? (VxeUIButtonComponent
|
|
1199
1201
|
? h(VxeUIButtonComponent, {
|
|
1200
1202
|
content: customOpts.closeButtonText || getI18n('vxe.table.customClose'),
|
|
1201
1203
|
onClick: cancelCloseEvent
|
|
1202
1204
|
})
|
|
1203
|
-
:
|
|
1205
|
+
: renderEmptyElement($xeTable))
|
|
1204
1206
|
: (VxeUIButtonComponent
|
|
1205
1207
|
? h(VxeUIButtonComponent, {
|
|
1206
1208
|
content: customOpts.cancelButtonText || getI18n('vxe.table.customCancel'),
|
|
1207
1209
|
onClick: cancelCustomEvent
|
|
1208
1210
|
})
|
|
1209
|
-
:
|
|
1211
|
+
: renderEmptyElement($xeTable)),
|
|
1210
1212
|
immediate
|
|
1211
|
-
?
|
|
1213
|
+
? renderEmptyElement($xeTable)
|
|
1212
1214
|
: (VxeUIButtonComponent
|
|
1213
1215
|
? h(VxeUIButtonComponent, {
|
|
1214
1216
|
status: 'primary',
|
|
1215
1217
|
content: customOpts.confirmButtonText || getI18n('vxe.custom.cstmConfirm'),
|
|
1216
1218
|
onClick: confirmCustomEvent
|
|
1217
1219
|
})
|
|
1218
|
-
:
|
|
1220
|
+
: renderEmptyElement($xeTable))
|
|
1219
1221
|
])
|
|
1220
1222
|
}
|
|
1221
1223
|
}
|
|
@@ -1240,7 +1242,7 @@ export default defineVxeComponent({
|
|
|
1240
1242
|
customStore.visible = value
|
|
1241
1243
|
}
|
|
1242
1244
|
}, scopedSlots)
|
|
1243
|
-
:
|
|
1245
|
+
: renderEmptyElement($xeTable)
|
|
1244
1246
|
}
|
|
1245
1247
|
return VxeUIModalComponent
|
|
1246
1248
|
? h(VxeUIModalComponent, {
|
|
@@ -1266,7 +1268,7 @@ export default defineVxeComponent({
|
|
|
1266
1268
|
customStore.visible = value
|
|
1267
1269
|
}
|
|
1268
1270
|
}, scopedSlots)
|
|
1269
|
-
:
|
|
1271
|
+
: renderEmptyElement($xeTable)
|
|
1270
1272
|
}
|
|
1271
1273
|
|
|
1272
1274
|
const renderVN = () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, Ref, computed, reactive, inject, nextTick } from 'vue'
|
|
2
2
|
import { defineVxeComponent } from '../../../ui/src/comp'
|
|
3
3
|
import { VxeUI } from '../../../ui'
|
|
4
4
|
import XEUtils from 'xe-utils'
|
|
@@ -7,7 +7,7 @@ import { errLog } from '../../../ui/src/log'
|
|
|
7
7
|
|
|
8
8
|
import type { VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods } from '../../../../types'
|
|
9
9
|
|
|
10
|
-
const { getI18n, getIcon } = VxeUI
|
|
10
|
+
const { getI18n, getIcon, renderEmptyElement } = VxeUI
|
|
11
11
|
|
|
12
12
|
export default defineVxeComponent({
|
|
13
13
|
name: 'VxeTableExportPanel',
|
|
@@ -260,7 +260,7 @@ export default defineVxeComponent({
|
|
|
260
260
|
? h('div', {
|
|
261
261
|
class: 'vxe-table-export--panel-top'
|
|
262
262
|
}, $xeTable.callSlot(topSlot, params))
|
|
263
|
-
:
|
|
263
|
+
: renderEmptyElement($xeTable),
|
|
264
264
|
h('div', {
|
|
265
265
|
class: 'vxe-table-export--panel-body'
|
|
266
266
|
}, defaultSlot
|
|
@@ -275,7 +275,7 @@ export default defineVxeComponent({
|
|
|
275
275
|
h('tbody', [
|
|
276
276
|
[
|
|
277
277
|
isPrint
|
|
278
|
-
?
|
|
278
|
+
? renderEmptyElement($xeTable)
|
|
279
279
|
: h('tr', [
|
|
280
280
|
h('td', getI18n('vxe.export.expName')),
|
|
281
281
|
h('td', [
|
|
@@ -290,11 +290,11 @@ export default defineVxeComponent({
|
|
|
290
290
|
defaultOptions.filename = value
|
|
291
291
|
}
|
|
292
292
|
})
|
|
293
|
-
:
|
|
293
|
+
: renderEmptyElement($xeTable)
|
|
294
294
|
])
|
|
295
295
|
]),
|
|
296
296
|
isPrint
|
|
297
|
-
?
|
|
297
|
+
? renderEmptyElement($xeTable)
|
|
298
298
|
: h('tr', [
|
|
299
299
|
h('td', getI18n('vxe.export.expType')),
|
|
300
300
|
h('td', [
|
|
@@ -306,7 +306,7 @@ export default defineVxeComponent({
|
|
|
306
306
|
defaultOptions.type = value
|
|
307
307
|
}
|
|
308
308
|
})
|
|
309
|
-
:
|
|
309
|
+
: renderEmptyElement($xeTable)
|
|
310
310
|
])
|
|
311
311
|
]),
|
|
312
312
|
isPrint || showSheet
|
|
@@ -324,10 +324,10 @@ export default defineVxeComponent({
|
|
|
324
324
|
defaultOptions.sheetName = value
|
|
325
325
|
}
|
|
326
326
|
})
|
|
327
|
-
:
|
|
327
|
+
: renderEmptyElement($xeTable)
|
|
328
328
|
])
|
|
329
329
|
])
|
|
330
|
-
:
|
|
330
|
+
: renderEmptyElement($xeTable),
|
|
331
331
|
h('tr', [
|
|
332
332
|
h('td', getI18n('vxe.export.expMode')),
|
|
333
333
|
h('td', [
|
|
@@ -344,7 +344,7 @@ export default defineVxeComponent({
|
|
|
344
344
|
defaultOptions.mode = value
|
|
345
345
|
}
|
|
346
346
|
})
|
|
347
|
-
:
|
|
347
|
+
: renderEmptyElement($xeTable)
|
|
348
348
|
])
|
|
349
349
|
]),
|
|
350
350
|
h('tr', [
|
|
@@ -400,7 +400,7 @@ export default defineVxeComponent({
|
|
|
400
400
|
defaultOptions.isHeader = value
|
|
401
401
|
}
|
|
402
402
|
})
|
|
403
|
-
:
|
|
403
|
+
: renderEmptyElement($xeTable),
|
|
404
404
|
VxeUICheckboxComponent
|
|
405
405
|
? h(VxeUICheckboxComponent, {
|
|
406
406
|
modelValue: isHeader ? defaultOptions.isTitle : false,
|
|
@@ -411,7 +411,7 @@ export default defineVxeComponent({
|
|
|
411
411
|
defaultOptions.isTitle = value
|
|
412
412
|
}
|
|
413
413
|
})
|
|
414
|
-
:
|
|
414
|
+
: renderEmptyElement($xeTable),
|
|
415
415
|
VxeUICheckboxComponent
|
|
416
416
|
? h(VxeUICheckboxComponent, {
|
|
417
417
|
modelValue: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
|
|
@@ -422,7 +422,7 @@ export default defineVxeComponent({
|
|
|
422
422
|
defaultOptions.isColgroup = value
|
|
423
423
|
}
|
|
424
424
|
})
|
|
425
|
-
:
|
|
425
|
+
: renderEmptyElement($xeTable)
|
|
426
426
|
]),
|
|
427
427
|
h('div', {
|
|
428
428
|
class: 'vxe-table-export--panel-option-row'
|
|
@@ -437,7 +437,7 @@ export default defineVxeComponent({
|
|
|
437
437
|
defaultOptions.original = value
|
|
438
438
|
}
|
|
439
439
|
})
|
|
440
|
-
:
|
|
440
|
+
: renderEmptyElement($xeTable),
|
|
441
441
|
VxeUICheckboxComponent
|
|
442
442
|
? h(VxeUICheckboxComponent, {
|
|
443
443
|
modelValue: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
|
|
@@ -448,9 +448,9 @@ export default defineVxeComponent({
|
|
|
448
448
|
defaultOptions.isMerge = value
|
|
449
449
|
}
|
|
450
450
|
})
|
|
451
|
-
:
|
|
451
|
+
: renderEmptyElement($xeTable),
|
|
452
452
|
isPrint || !VxeUICheckboxComponent
|
|
453
|
-
?
|
|
453
|
+
? renderEmptyElement($xeTable)
|
|
454
454
|
: h(VxeUICheckboxComponent, {
|
|
455
455
|
modelValue: supportStyle ? defaultOptions.useStyle : false,
|
|
456
456
|
disabled: !supportStyle,
|
|
@@ -470,7 +470,7 @@ export default defineVxeComponent({
|
|
|
470
470
|
defaultOptions.isAllExpand = value
|
|
471
471
|
}
|
|
472
472
|
})
|
|
473
|
-
:
|
|
473
|
+
: renderEmptyElement($xeTable)
|
|
474
474
|
]),
|
|
475
475
|
h('div', {
|
|
476
476
|
class: 'vxe-table-export--panel-option-row'
|
|
@@ -485,7 +485,7 @@ export default defineVxeComponent({
|
|
|
485
485
|
defaultOptions.isFooter = value
|
|
486
486
|
}
|
|
487
487
|
})
|
|
488
|
-
:
|
|
488
|
+
: renderEmptyElement($xeTable)
|
|
489
489
|
])
|
|
490
490
|
])
|
|
491
491
|
])
|
|
@@ -497,7 +497,7 @@ export default defineVxeComponent({
|
|
|
497
497
|
? h('div', {
|
|
498
498
|
class: 'vxe-table-export--panel-bottom'
|
|
499
499
|
}, $xeTable.callSlot(bottomSlot, params))
|
|
500
|
-
:
|
|
500
|
+
: renderEmptyElement($xeTable)
|
|
501
501
|
])
|
|
502
502
|
},
|
|
503
503
|
footer () {
|
|
@@ -522,7 +522,7 @@ export default defineVxeComponent({
|
|
|
522
522
|
content: getI18n('vxe.export.expCancel'),
|
|
523
523
|
onClick: cancelEvent
|
|
524
524
|
})
|
|
525
|
-
:
|
|
525
|
+
: renderEmptyElement($xeTable),
|
|
526
526
|
VxeUIButtonComponent
|
|
527
527
|
? h(VxeUIButtonComponent, {
|
|
528
528
|
ref: xButtonConfirm,
|
|
@@ -530,12 +530,12 @@ export default defineVxeComponent({
|
|
|
530
530
|
content: getI18n(isPrint ? 'vxe.export.expPrint' : 'vxe.export.expConfirm'),
|
|
531
531
|
onClick: confirmEvent
|
|
532
532
|
})
|
|
533
|
-
:
|
|
533
|
+
: renderEmptyElement($xeTable)
|
|
534
534
|
])
|
|
535
535
|
])
|
|
536
536
|
}
|
|
537
537
|
})
|
|
538
|
-
:
|
|
538
|
+
: renderEmptyElement($xeTable)
|
|
539
539
|
}
|
|
540
540
|
|
|
541
541
|
nextTick(() => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h, ref, Ref, computed, inject, reactive, nextTick
|
|
1
|
+
import { h, ref, Ref, computed, inject, reactive, nextTick } from 'vue'
|
|
2
2
|
import { defineVxeComponent } from '../../../ui/src/comp'
|
|
3
3
|
import { VxeUI } from '../../../ui'
|
|
4
4
|
import XEUtils from 'xe-utils'
|
|
@@ -7,7 +7,7 @@ import { errLog } from '../../../ui/src/log'
|
|
|
7
7
|
|
|
8
8
|
import type { VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods } from '../../../../types'
|
|
9
9
|
|
|
10
|
-
const { getI18n, getIcon } = VxeUI
|
|
10
|
+
const { getI18n, getIcon, renderEmptyElement } = VxeUI
|
|
11
11
|
|
|
12
12
|
export default defineVxeComponent({
|
|
13
13
|
name: 'VxeTableImportPanel',
|
|
@@ -142,7 +142,7 @@ export default defineVxeComponent({
|
|
|
142
142
|
? h('div', {
|
|
143
143
|
class: 'vxe-table-export--panel-top'
|
|
144
144
|
}, $xeTable.callSlot(topSlot, params))
|
|
145
|
-
:
|
|
145
|
+
: renderEmptyElement($xeTable),
|
|
146
146
|
h('div', {
|
|
147
147
|
class: 'vxe-table-export--panel-body'
|
|
148
148
|
}, defaultSlot
|
|
@@ -191,7 +191,7 @@ export default defineVxeComponent({
|
|
|
191
191
|
defaultOptions.mode = value
|
|
192
192
|
}
|
|
193
193
|
})
|
|
194
|
-
:
|
|
194
|
+
: renderEmptyElement($xeTable)
|
|
195
195
|
])
|
|
196
196
|
])
|
|
197
197
|
])
|
|
@@ -202,7 +202,7 @@ export default defineVxeComponent({
|
|
|
202
202
|
? h('div', {
|
|
203
203
|
class: 'vxe-table-export--panel-bottom'
|
|
204
204
|
}, $xeTable.callSlot(bottomSlot, params))
|
|
205
|
-
:
|
|
205
|
+
: renderEmptyElement($xeTable)
|
|
206
206
|
])
|
|
207
207
|
},
|
|
208
208
|
footer () {
|
|
@@ -226,7 +226,7 @@ export default defineVxeComponent({
|
|
|
226
226
|
content: getI18n('vxe.import.impCancel'),
|
|
227
227
|
onClick: cancelEvent
|
|
228
228
|
})
|
|
229
|
-
:
|
|
229
|
+
: renderEmptyElement($xeTable),
|
|
230
230
|
VxeUIButtonComponent
|
|
231
231
|
? h(VxeUIButtonComponent, {
|
|
232
232
|
status: 'primary',
|
|
@@ -234,13 +234,13 @@ export default defineVxeComponent({
|
|
|
234
234
|
content: getI18n('vxe.import.impConfirm'),
|
|
235
235
|
onClick: importEvent
|
|
236
236
|
})
|
|
237
|
-
:
|
|
237
|
+
: renderEmptyElement($xeTable)
|
|
238
238
|
])
|
|
239
239
|
]
|
|
240
240
|
)
|
|
241
241
|
}
|
|
242
242
|
})
|
|
243
|
-
:
|
|
243
|
+
: renderEmptyElement($xeTable)
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
nextTick(() => {
|
|
@@ -9,7 +9,7 @@ import type { TableFilterMethods, TableFilterPrivateMethods, VxeTableDefines } f
|
|
|
9
9
|
|
|
10
10
|
const { renderer, hooks } = VxeUI
|
|
11
11
|
|
|
12
|
-
const tableFilterMethodKeys: (keyof TableFilterMethods)[] = ['openFilter', 'setFilter', 'clearFilter', 'saveFilterPanel', 'saveFilterPanelByEvent', 'resetFilterPanel', 'resetFilterPanelByEvent', 'getCheckedFilters', 'updateFilterOptionStatus']
|
|
12
|
+
const tableFilterMethodKeys: (keyof TableFilterMethods)[] = ['openFilter', 'setFilter', 'clearFilter', 'saveFilter', 'saveFilterByEvent', 'saveFilterPanel', 'saveFilterPanelByEvent', 'resetFilter', 'resetFilterByEvent', 'resetFilterPanel', 'resetFilterPanelByEvent', 'getCheckedFilters', 'updateFilterOptionStatus']
|
|
13
13
|
|
|
14
14
|
hooks.add('tableFilterModule', {
|
|
15
15
|
setupTable ($xeTable) {
|
|
@@ -136,7 +136,7 @@ export default defineVxeComponent({
|
|
|
136
136
|
const { filterMultiple, filters, slots } = column
|
|
137
137
|
const filterOptions = (filters || []) as VxeTableDefines.FilterOption[]
|
|
138
138
|
const filterSlot = slots ? slots.filter : null
|
|
139
|
-
const params = Object.assign({}, tableInternalData._currFilterParams, { $panel: $xeFilterPanel, $table: $xeTable })
|
|
139
|
+
const params = Object.assign({}, tableInternalData._currFilterParams, { option: filterOptions[0], $panel: $xeFilterPanel, $table: $xeTable })
|
|
140
140
|
const rtFilter = compConf ? (compConf.renderTableFilter || compConf.renderFilter) : null
|
|
141
141
|
if (filterSlot) {
|
|
142
142
|
return [
|
|
@@ -1,36 +1,12 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils'
|
|
2
2
|
import { VxeUI } from '../../../ui'
|
|
3
3
|
import { getRefElem } from '../../src/util'
|
|
4
|
-
import {
|
|
4
|
+
import { getAbsolutePos, addClass, removeClass, hasControlKey } from '../../../ui/src/dom'
|
|
5
5
|
|
|
6
6
|
import type { TableKeyboardPrivateMethods, VxeTableDefines } from '../../../../types'
|
|
7
7
|
|
|
8
8
|
const { hooks } = VxeUI
|
|
9
9
|
|
|
10
|
-
const browseObj = XEUtils.browse()
|
|
11
|
-
|
|
12
|
-
function getTargetOffset (target: any, container: any) {
|
|
13
|
-
let offsetTop = 0
|
|
14
|
-
let offsetLeft = 0
|
|
15
|
-
const triggerCheckboxLabel = !browseObj.firefox && hasClass(target, 'vxe-checkbox--label')
|
|
16
|
-
if (triggerCheckboxLabel) {
|
|
17
|
-
const checkboxLabelStyle = getComputedStyle(target)
|
|
18
|
-
offsetTop -= XEUtils.toNumber(checkboxLabelStyle.paddingTop)
|
|
19
|
-
offsetLeft -= XEUtils.toNumber(checkboxLabelStyle.paddingLeft)
|
|
20
|
-
}
|
|
21
|
-
while (target && target !== container) {
|
|
22
|
-
offsetTop += target.offsetTop
|
|
23
|
-
offsetLeft += target.offsetLeft
|
|
24
|
-
target = target.offsetParent
|
|
25
|
-
if (triggerCheckboxLabel) {
|
|
26
|
-
const checkboxStyle = getComputedStyle(target)
|
|
27
|
-
offsetTop -= XEUtils.toNumber(checkboxStyle.paddingTop)
|
|
28
|
-
offsetLeft -= XEUtils.toNumber(checkboxStyle.paddingLeft)
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return { offsetTop, offsetLeft }
|
|
32
|
-
}
|
|
33
|
-
|
|
34
10
|
hooks.add('tableKeyboardModule', {
|
|
35
11
|
setupTable ($xeTable) {
|
|
36
12
|
const { props, reactData, internalData } = $xeTable
|
|
@@ -119,6 +95,7 @@ hooks.add('tableKeyboardModule', {
|
|
|
119
95
|
if (!bodyWrapperElem) {
|
|
120
96
|
return
|
|
121
97
|
}
|
|
98
|
+
const bodyRect = bodyWrapperElem.getBoundingClientRect()
|
|
122
99
|
const el = refElem.value
|
|
123
100
|
const disX = evnt.clientX
|
|
124
101
|
const disY = evnt.clientY
|
|
@@ -127,9 +104,8 @@ hooks.add('tableKeyboardModule', {
|
|
|
127
104
|
const selectRecords = $xeTable.getCheckboxRecords()
|
|
128
105
|
let lastRangeRows: any[] = []
|
|
129
106
|
const marginSize = 1
|
|
130
|
-
const
|
|
131
|
-
const
|
|
132
|
-
const startLeft = offsetRest.offsetLeft + evnt.offsetX
|
|
107
|
+
const startTop = evnt.clientY - bodyRect.y + bodyWrapperElem.scrollTop
|
|
108
|
+
const startLeft = evnt.clientX - bodyRect.x + bodyWrapperElem.scrollLeft
|
|
133
109
|
const startScrollTop = bodyWrapperElem.scrollTop
|
|
134
110
|
const rowHeight = trElem.offsetHeight
|
|
135
111
|
const trRect = trElem.getBoundingClientRect()
|
|
@@ -646,30 +646,39 @@ function oldSelectEditRender (renderOpts: VxeGlobalRendererHandles.RenderTableEd
|
|
|
646
646
|
}
|
|
647
647
|
|
|
648
648
|
function getSelectCellValue (renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions, { row, column }: any) {
|
|
649
|
-
const { options, optionGroups, optionProps = {}, optionGroupProps = {} } = renderOpts
|
|
649
|
+
const { options, optionGroups, optionProps = {}, optionGroupProps = {}, props = {} } = renderOpts
|
|
650
650
|
const cellValue = XEUtils.get(row, column.field)
|
|
651
651
|
let selectItem: any
|
|
652
652
|
const labelProp = optionProps.label || 'label'
|
|
653
653
|
const valueProp = optionProps.value || 'value'
|
|
654
654
|
if (!(cellValue === null || cellValue === undefined)) {
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
655
|
+
let vals = []
|
|
656
|
+
if (XEUtils.isArray(cellValue)) {
|
|
657
|
+
vals = cellValue
|
|
658
|
+
} else {
|
|
659
|
+
if (props.multiple && `${cellValue}`.indexOf(',') > -1) {
|
|
660
|
+
vals = `${cellValue}`.split(',')
|
|
661
|
+
} else {
|
|
662
|
+
vals = [cellValue]
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
return XEUtils.map(vals, optionGroups
|
|
666
|
+
? (value) => {
|
|
667
|
+
const groupOptions = optionGroupProps.options || 'options'
|
|
668
|
+
for (let index = 0; index < optionGroups.length; index++) {
|
|
669
669
|
/* eslint-disable eqeqeq */
|
|
670
|
-
selectItem = XEUtils.find(
|
|
671
|
-
|
|
670
|
+
selectItem = XEUtils.find(optionGroups[index][groupOptions], item => item[valueProp] == value)
|
|
671
|
+
if (selectItem) {
|
|
672
|
+
break
|
|
673
|
+
}
|
|
672
674
|
}
|
|
675
|
+
return selectItem ? selectItem[labelProp] : value
|
|
676
|
+
}
|
|
677
|
+
: (value) => {
|
|
678
|
+
/* eslint-disable eqeqeq */
|
|
679
|
+
selectItem = XEUtils.find(options, item => item[valueProp] == value)
|
|
680
|
+
return selectItem ? selectItem[labelProp] : value
|
|
681
|
+
}
|
|
673
682
|
).join(', ')
|
|
674
683
|
}
|
|
675
684
|
return ''
|
|
@@ -330,8 +330,6 @@ export default defineVxeComponent({
|
|
|
330
330
|
tcStyle.minHeight = `${cellHeight}px`
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
// console.log(lastScrollTime)
|
|
334
|
-
|
|
335
333
|
const tdVNs: VxeComponentSlotType[] = []
|
|
336
334
|
if (fixedHiddenColumn && isAllOverflow) {
|
|
337
335
|
tdVNs.push(
|
|
@@ -520,7 +518,18 @@ export default defineVxeComponent({
|
|
|
520
518
|
seq = rowRest._tIndex + 1
|
|
521
519
|
}
|
|
522
520
|
}
|
|
523
|
-
const params = {
|
|
521
|
+
const params = {
|
|
522
|
+
$table: $xeTable,
|
|
523
|
+
seq,
|
|
524
|
+
rowid,
|
|
525
|
+
fixed: fixedType,
|
|
526
|
+
type: renderType,
|
|
527
|
+
level: rowLevel,
|
|
528
|
+
row,
|
|
529
|
+
rowIndex,
|
|
530
|
+
$rowIndex,
|
|
531
|
+
_rowIndex
|
|
532
|
+
}
|
|
524
533
|
// 行是否被展开
|
|
525
534
|
const isExpandRow = expandColumn && !!rowExpandedFlag && !!rowExpandedMaps[rowid]
|
|
526
535
|
// 树节点是否被展开
|
|
@@ -81,6 +81,7 @@ export const tableEmits: VxeTableEmits = [
|
|
|
81
81
|
'custom-visible-change',
|
|
82
82
|
'custom-visible-all',
|
|
83
83
|
'custom-fixed-change',
|
|
84
|
+
'custom-sort-change',
|
|
84
85
|
|
|
85
86
|
'change-fnr', // 废弃
|
|
86
87
|
|
|
@@ -106,6 +107,7 @@ export const tableEmits: VxeTableEmits = [
|
|
|
106
107
|
'cell-area-extension-start',
|
|
107
108
|
'cell-area-extension-drag',
|
|
108
109
|
'cell-area-extension-end',
|
|
110
|
+
'cell-area-extension-fill',
|
|
109
111
|
'cell-area-selection-all-start',
|
|
110
112
|
'cell-area-selection-all-end',
|
|
111
113
|
'cell-area-arrows-start',
|