vxe-table 4.7.41 → 4.7.43
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/locale/lang/en-US.js +2 -5
- package/es/locale/lang/es-ES.js +2 -5
- package/es/locale/lang/ja-JP.js +2 -5
- package/es/locale/lang/pt-BR.js +2 -5
- package/es/locale/lang/zh-CN.js +2 -5
- package/es/locale/lang/zh-TC.js +3 -6
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/panel.js +171 -145
- package/es/table/render/index.js +16 -2
- package/es/table/src/table.js +21 -20
- package/es/table/style.css +3 -0
- package/es/table/style.min.css +1 -1
- package/es/toolbar/src/toolbar.js +1 -1
- package/es/ui/index.js +11 -4
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +3 -0
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.umd.js +112 -59
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -5
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -5
- package/lib/locale/lang/es-ES.js +2 -5
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +2 -5
- package/lib/locale/lang/ja-JP.js +2 -5
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -5
- package/lib/locale/lang/pt-BR.js +2 -5
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -5
- package/lib/locale/lang/zh-CN.js +2 -5
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -5
- package/lib/locale/lang/zh-HK.min.js +1 -1
- package/lib/locale/lang/zh-HK.umd.js +3 -6
- package/lib/locale/lang/zh-MO.min.js +1 -1
- package/lib/locale/lang/zh-MO.umd.js +3 -6
- package/lib/locale/lang/zh-TC.js +3 -6
- package/lib/locale/lang/zh-TC.min.js +1 -1
- package/lib/locale/lang/zh-TC.umd.js +3 -6
- package/lib/locale/lang/zh-TW.min.js +1 -1
- package/lib/locale/lang/zh-TW.umd.js +3 -6
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/panel.js +51 -22
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/render/index.js +21 -2
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/table.js +21 -24
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +3 -0
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/src/toolbar.js +3 -1
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +11 -4
- 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 +3 -0
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/locale/lang/en-US.ts +2 -5
- package/packages/locale/lang/es-ES.ts +2 -5
- package/packages/locale/lang/ja-JP.ts +2 -5
- package/packages/locale/lang/pt-BR.ts +2 -5
- package/packages/locale/lang/zh-CN.ts +2 -5
- package/packages/locale/lang/zh-TC.ts +3 -6
- package/packages/table/module/custom/panel.ts +172 -146
- package/packages/table/render/index.ts +36 -17
- package/packages/table/src/table.ts +21 -20
- package/packages/toolbar/src/toolbar.ts +1 -1
- package/packages/ui/index.ts +9 -2
- package/styles/components/table-module/custom.scss +4 -1
- /package/es/{iconfont.1719997006744.ttf → iconfont.1720061363684.ttf} +0 -0
- /package/es/{iconfont.1719997006744.woff → iconfont.1720061363684.woff} +0 -0
- /package/es/{iconfont.1719997006744.woff2 → iconfont.1720061363684.woff2} +0 -0
- /package/lib/{iconfont.1719997006744.ttf → iconfont.1720061363684.ttf} +0 -0
- /package/lib/{iconfont.1719997006744.woff → iconfont.1720061363684.woff} +0 -0
- /package/lib/{iconfont.1719997006744.woff2 → iconfont.1720061363684.woff2} +0 -0
|
@@ -5,7 +5,7 @@ import { addClass, removeClass } from '../../../ui/src/dom'
|
|
|
5
5
|
import { errLog } from '../../../ui/src/log'
|
|
6
6
|
import XEUtils from 'xe-utils'
|
|
7
7
|
|
|
8
|
-
import type { VxeModalComponent, VxeButtonComponent, VxeRadioGroupComponent, VxeTooltipComponent, VxeInputComponent } from 'vxe-pc-ui'
|
|
8
|
+
import type { VxeModalComponent, VxeDrawerComponent, VxeButtonComponent, VxeRadioGroupComponent, VxeTooltipComponent, VxeInputComponent } from 'vxe-pc-ui'
|
|
9
9
|
import type { VxeTableDefines, VxeTablePrivateMethods, VxeTableConstructor, VxeTableMethods, VxeColumnPropTypes } from '../../../../types'
|
|
10
10
|
|
|
11
11
|
const { getI18n, getIcon } = VxeUI
|
|
@@ -20,6 +20,7 @@ export default defineComponent({
|
|
|
20
20
|
},
|
|
21
21
|
setup (props) {
|
|
22
22
|
const VxeUIModalComponent = VxeUI.getComponent<VxeModalComponent>('VxeModal')
|
|
23
|
+
const VxeUIDrawerComponent = VxeUI.getComponent<VxeDrawerComponent>('VxeDrawer')
|
|
23
24
|
const VxeUIButtonComponent = VxeUI.getComponent<VxeButtonComponent>('VxeButton')
|
|
24
25
|
const VxeUIInputComponent = VxeUI.getComponent<VxeInputComponent>('VxeInput')
|
|
25
26
|
const VxeUITooltipComponent = VxeUI.getComponent<VxeTooltipComponent>('VxeTooltip')
|
|
@@ -493,9 +494,12 @@ export default defineComponent({
|
|
|
493
494
|
const { customStore } = props
|
|
494
495
|
const { customColumnList } = reactData
|
|
495
496
|
const customOpts = computeCustomOpts.value
|
|
496
|
-
const { modalOptions, allowVisible, allowSort, allowFixed, allowResizable, checkMethod, visibleMethod } = customOpts
|
|
497
|
+
const { modalOptions, drawerOptions, allowVisible, allowSort, allowFixed, allowResizable, checkMethod, visibleMethod } = customOpts
|
|
497
498
|
const columnOpts = computeColumnOpts.value
|
|
499
|
+
const { maxFixedSize } = columnOpts
|
|
500
|
+
const { mode } = customOpts
|
|
498
501
|
const modalOpts = Object.assign({}, modalOptions)
|
|
502
|
+
const drawerOpts = Object.assign({}, drawerOptions)
|
|
499
503
|
const isMaxFixedColumn = computeIsMaxFixedColumn.value
|
|
500
504
|
const trVNs: VNode[] = []
|
|
501
505
|
XEUtils.eachTree(customColumnList, (column, index, items, path, parent) => {
|
|
@@ -620,166 +624,188 @@ export default defineComponent({
|
|
|
620
624
|
})
|
|
621
625
|
const isAllChecked = customStore.isAll
|
|
622
626
|
const isAllIndeterminate = customStore.isIndeterminate
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
height: modalOpts.height || '50vh',
|
|
632
|
-
minHeight: modalOpts.minHeight || 400,
|
|
633
|
-
mask: true,
|
|
634
|
-
lockView: true,
|
|
635
|
-
showFooter: true,
|
|
636
|
-
resize: true,
|
|
637
|
-
escClosable: true,
|
|
638
|
-
destroyOnClose: true,
|
|
639
|
-
'onUpdate:modelValue' (value: any) {
|
|
640
|
-
customStore.visible = value
|
|
641
|
-
}
|
|
642
|
-
}, {
|
|
643
|
-
default: () => {
|
|
644
|
-
return h('div', {
|
|
645
|
-
ref: bodyElemRef,
|
|
646
|
-
class: 'vxe-table-custom-popup--body'
|
|
627
|
+
const scopedSlots = {
|
|
628
|
+
default: () => {
|
|
629
|
+
return h('div', {
|
|
630
|
+
ref: bodyElemRef,
|
|
631
|
+
class: 'vxe-table-custom-popup--body'
|
|
632
|
+
}, [
|
|
633
|
+
h('div', {
|
|
634
|
+
class: 'vxe-table-custom-popup--table-wrapper'
|
|
647
635
|
}, [
|
|
648
|
-
h('
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
636
|
+
h('table', {}, [
|
|
637
|
+
h('colgroup', {}, [
|
|
638
|
+
allowVisible
|
|
639
|
+
? h('col', {
|
|
640
|
+
style: {
|
|
641
|
+
width: '80px'
|
|
642
|
+
}
|
|
643
|
+
})
|
|
644
|
+
: createCommentVNode(),
|
|
645
|
+
allowSort
|
|
646
|
+
? h('col', {
|
|
647
|
+
style: {
|
|
648
|
+
width: '80px'
|
|
649
|
+
}
|
|
650
|
+
})
|
|
651
|
+
: createCommentVNode(),
|
|
652
|
+
h('col', {
|
|
653
|
+
style: {
|
|
654
|
+
minWidth: '120px'
|
|
655
|
+
}
|
|
656
|
+
}),
|
|
657
|
+
allowResizable
|
|
658
|
+
? h('col', {
|
|
659
|
+
style: {
|
|
660
|
+
width: '140px'
|
|
661
|
+
}
|
|
662
|
+
})
|
|
663
|
+
: createCommentVNode(),
|
|
664
|
+
allowFixed
|
|
665
|
+
? h('col', {
|
|
666
|
+
style: {
|
|
667
|
+
width: '200px'
|
|
668
|
+
}
|
|
669
|
+
})
|
|
670
|
+
: createCommentVNode()
|
|
671
|
+
]),
|
|
672
|
+
h('thead', {}, [
|
|
673
|
+
h('tr', {}, [
|
|
653
674
|
allowVisible
|
|
654
|
-
? h('
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
675
|
+
? h('th', {}, [
|
|
676
|
+
h('div', {
|
|
677
|
+
class: ['vxe-table-custom--checkbox-option', {
|
|
678
|
+
'is--checked': isAllChecked,
|
|
679
|
+
'is--indeterminate': isAllIndeterminate
|
|
680
|
+
}],
|
|
681
|
+
title: getI18n('vxe.table.allTitle'),
|
|
682
|
+
onClick: allCustomEvent
|
|
683
|
+
}, [
|
|
684
|
+
h('span', {
|
|
685
|
+
class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
|
|
686
|
+
}),
|
|
687
|
+
h('span', {
|
|
688
|
+
class: 'vxe-checkbox--label'
|
|
689
|
+
}, getI18n('vxe.toolbar.customAll'))
|
|
690
|
+
])
|
|
691
|
+
])
|
|
659
692
|
: createCommentVNode(),
|
|
660
693
|
allowSort
|
|
661
|
-
? h('
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
}
|
|
665
|
-
|
|
694
|
+
? h('th', {}, [
|
|
695
|
+
h('span', {
|
|
696
|
+
class: 'vxe-table-custom-popup--table-sort-help-title'
|
|
697
|
+
}, getI18n('vxe.custom.setting.colSort')),
|
|
698
|
+
VxeUITooltipComponent
|
|
699
|
+
? h(VxeUITooltipComponent, {
|
|
700
|
+
enterable: true,
|
|
701
|
+
content: getI18n('vxe.custom.setting.sortHelpTip')
|
|
702
|
+
}, {
|
|
703
|
+
default: () => {
|
|
704
|
+
return h('i', {
|
|
705
|
+
class: 'vxe-table-custom-popup--table-sort-help-icon vxe-icon-question-circle-fill'
|
|
706
|
+
})
|
|
707
|
+
}
|
|
708
|
+
})
|
|
709
|
+
: createCommentVNode()
|
|
710
|
+
])
|
|
666
711
|
: createCommentVNode(),
|
|
667
|
-
h('
|
|
668
|
-
style: {
|
|
669
|
-
minWidth: '120px'
|
|
670
|
-
}
|
|
671
|
-
}),
|
|
712
|
+
h('th', {}, getI18n('vxe.custom.setting.colTitle')),
|
|
672
713
|
allowResizable
|
|
673
|
-
? h('
|
|
674
|
-
style: {
|
|
675
|
-
width: '140px'
|
|
676
|
-
}
|
|
677
|
-
})
|
|
714
|
+
? h('th', {}, getI18n('vxe.custom.setting.colResizable'))
|
|
678
715
|
: createCommentVNode(),
|
|
679
716
|
allowFixed
|
|
680
|
-
? h('
|
|
681
|
-
style: {
|
|
682
|
-
width: '200px'
|
|
683
|
-
}
|
|
684
|
-
})
|
|
717
|
+
? h('th', {}, getI18n(`vxe.custom.setting.${maxFixedSize ? 'colFixedMax' : 'colFixed'}`, [maxFixedSize]))
|
|
685
718
|
: createCommentVNode()
|
|
686
|
-
])
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
'is--indeterminate': isAllIndeterminate
|
|
695
|
-
}],
|
|
696
|
-
title: getI18n('vxe.table.allTitle'),
|
|
697
|
-
onClick: allCustomEvent
|
|
698
|
-
}, [
|
|
699
|
-
h('span', {
|
|
700
|
-
class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
|
|
701
|
-
}),
|
|
702
|
-
h('span', {
|
|
703
|
-
class: 'vxe-checkbox--label'
|
|
704
|
-
}, getI18n('vxe.toolbar.customAll'))
|
|
705
|
-
])
|
|
706
|
-
])
|
|
707
|
-
: createCommentVNode(),
|
|
708
|
-
allowSort
|
|
709
|
-
? h('th', {}, [
|
|
710
|
-
h('span', {
|
|
711
|
-
class: 'vxe-table-custom-popup--table-sort-help-title'
|
|
712
|
-
}, getI18n('vxe.custom.setting.colSort')),
|
|
713
|
-
VxeUITooltipComponent
|
|
714
|
-
? h(VxeUITooltipComponent, {
|
|
715
|
-
enterable: true,
|
|
716
|
-
content: getI18n('vxe.custom.setting.sortHelpTip')
|
|
717
|
-
}, {
|
|
718
|
-
default: () => {
|
|
719
|
-
return h('i', {
|
|
720
|
-
class: 'vxe-table-custom-popup--table-sort-help-icon vxe-icon-question-circle-fill'
|
|
721
|
-
})
|
|
722
|
-
}
|
|
723
|
-
})
|
|
724
|
-
: createCommentVNode()
|
|
725
|
-
])
|
|
726
|
-
: createCommentVNode(),
|
|
727
|
-
h('th', {}, getI18n('vxe.custom.setting.colTitle')),
|
|
728
|
-
allowResizable
|
|
729
|
-
? h('th', {}, getI18n('vxe.custom.setting.colResizable'))
|
|
730
|
-
: createCommentVNode(),
|
|
731
|
-
allowFixed
|
|
732
|
-
? h('th', {}, getI18n('vxe.custom.setting.colFixed', [columnOpts.maxFixedSize || 0]))
|
|
733
|
-
: createCommentVNode()
|
|
734
|
-
])
|
|
735
|
-
]),
|
|
736
|
-
h(TransitionGroup, {
|
|
737
|
-
class: 'vxe-table-custom--body',
|
|
738
|
-
tag: 'tbody',
|
|
739
|
-
name: 'vxe-table-custom--list'
|
|
740
|
-
}, {
|
|
741
|
-
default: () => trVNs
|
|
742
|
-
})
|
|
743
|
-
])
|
|
744
|
-
]),
|
|
745
|
-
h('div', {
|
|
746
|
-
ref: dragHintElemRef,
|
|
747
|
-
class: 'vxe-table-custom-popup--drag-hint'
|
|
748
|
-
}, getI18n('vxe.custom.cstmDragTarget', [dragColumn.value ? dragColumn.value.getTitle() : '']))
|
|
749
|
-
])
|
|
750
|
-
},
|
|
751
|
-
footer: () => {
|
|
752
|
-
return h('div', {
|
|
753
|
-
class: 'vxe-table-custom-popup--footer'
|
|
754
|
-
}, [
|
|
755
|
-
VxeUIButtonComponent
|
|
756
|
-
? h(VxeUIButtonComponent, {
|
|
757
|
-
content: customOpts.resetButtonText || getI18n('vxe.custom.cstmRestore'),
|
|
758
|
-
onClick: resetCustomEvent
|
|
759
|
-
})
|
|
760
|
-
: createCommentVNode(),
|
|
761
|
-
VxeUIButtonComponent
|
|
762
|
-
? h(VxeUIButtonComponent, {
|
|
763
|
-
content: customOpts.resetButtonText || getI18n('vxe.custom.cstmCancel'),
|
|
764
|
-
onClick: cancelCustomEvent
|
|
765
|
-
})
|
|
766
|
-
: createCommentVNode(),
|
|
767
|
-
VxeUIButtonComponent
|
|
768
|
-
? h(VxeUIButtonComponent, {
|
|
769
|
-
status: 'primary',
|
|
770
|
-
content: customOpts.confirmButtonText || getI18n('vxe.custom.cstmConfirm'),
|
|
771
|
-
onClick: confirmCustomEvent
|
|
719
|
+
])
|
|
720
|
+
]),
|
|
721
|
+
h(TransitionGroup, {
|
|
722
|
+
class: 'vxe-table-custom--body',
|
|
723
|
+
tag: 'tbody',
|
|
724
|
+
name: 'vxe-table-custom--list'
|
|
725
|
+
}, {
|
|
726
|
+
default: () => trVNs
|
|
772
727
|
})
|
|
773
|
-
|
|
774
|
-
])
|
|
728
|
+
])
|
|
729
|
+
]),
|
|
730
|
+
h('div', {
|
|
731
|
+
ref: dragHintElemRef,
|
|
732
|
+
class: 'vxe-table-custom-popup--drag-hint'
|
|
733
|
+
}, getI18n('vxe.custom.cstmDragTarget', [dragColumn.value ? dragColumn.value.getTitle() : '']))
|
|
734
|
+
])
|
|
735
|
+
},
|
|
736
|
+
footer: () => {
|
|
737
|
+
return h('div', {
|
|
738
|
+
class: 'vxe-table-custom-popup--footer'
|
|
739
|
+
}, [
|
|
740
|
+
VxeUIButtonComponent
|
|
741
|
+
? h(VxeUIButtonComponent, {
|
|
742
|
+
content: customOpts.resetButtonText || getI18n('vxe.custom.cstmRestore'),
|
|
743
|
+
onClick: resetCustomEvent
|
|
744
|
+
})
|
|
745
|
+
: createCommentVNode(),
|
|
746
|
+
VxeUIButtonComponent
|
|
747
|
+
? h(VxeUIButtonComponent, {
|
|
748
|
+
content: customOpts.resetButtonText || getI18n('vxe.custom.cstmCancel'),
|
|
749
|
+
onClick: cancelCustomEvent
|
|
750
|
+
})
|
|
751
|
+
: createCommentVNode(),
|
|
752
|
+
VxeUIButtonComponent
|
|
753
|
+
? h(VxeUIButtonComponent, {
|
|
754
|
+
status: 'primary',
|
|
755
|
+
content: customOpts.confirmButtonText || getI18n('vxe.custom.cstmConfirm'),
|
|
756
|
+
onClick: confirmCustomEvent
|
|
757
|
+
})
|
|
758
|
+
: createCommentVNode()
|
|
759
|
+
])
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
if (mode === 'drawer') {
|
|
763
|
+
return VxeUIDrawerComponent
|
|
764
|
+
? h(VxeUIDrawerComponent, {
|
|
765
|
+
key: 'drawer',
|
|
766
|
+
className: ['vxe-table-custom-drawer-wrapper', 'vxe-table--ignore-clear', drawerOpts.className || ''].join(' '),
|
|
767
|
+
modelValue: customStore.visible,
|
|
768
|
+
title: drawerOpts.title || getI18n('vxe.custom.cstmTitle'),
|
|
769
|
+
width: drawerOpts.width || Math.min(880, document.documentElement.clientWidth),
|
|
770
|
+
position: drawerOpts.position,
|
|
771
|
+
escClosable: !!drawerOpts.escClosable,
|
|
772
|
+
destroyOnClose: true,
|
|
773
|
+
showFooter: true,
|
|
774
|
+
'onUpdate:modelValue' (value: any) {
|
|
775
|
+
customStore.visible = value
|
|
776
|
+
}
|
|
777
|
+
}, scopedSlots)
|
|
778
|
+
: createCommentVNode()
|
|
779
|
+
}
|
|
780
|
+
return VxeUIModalComponent
|
|
781
|
+
? h(VxeUIModalComponent, {
|
|
782
|
+
key: 'modal',
|
|
783
|
+
className: ['vxe-table-custom-modal-wrapper', 'vxe-table--ignore-clear', modalOpts.className || ''].join(' '),
|
|
784
|
+
modelValue: customStore.visible,
|
|
785
|
+
title: modalOpts.title || getI18n('vxe.custom.cstmTitle'),
|
|
786
|
+
width: modalOpts.width || Math.min(880, document.documentElement.clientWidth),
|
|
787
|
+
minWidth: modalOpts.minWidth || 700,
|
|
788
|
+
height: modalOpts.height || Math.min(680, document.documentElement.clientHeight),
|
|
789
|
+
minHeight: modalOpts.minHeight || 400,
|
|
790
|
+
showZoom: modalOpts.showZoom,
|
|
791
|
+
showMaximize: modalOpts.showMaximize,
|
|
792
|
+
showMinimize: modalOpts.showMinimize,
|
|
793
|
+
mask: modalOpts.mask,
|
|
794
|
+
lockView: modalOpts.lockView,
|
|
795
|
+
resize: modalOpts.resize,
|
|
796
|
+
escClosable: !!modalOpts.escClosable,
|
|
797
|
+
destroyOnClose: true,
|
|
798
|
+
showFooter: true,
|
|
799
|
+
'onUpdate:modelValue' (value: any) {
|
|
800
|
+
customStore.visible = value
|
|
775
801
|
}
|
|
776
|
-
})
|
|
802
|
+
}, scopedSlots)
|
|
777
803
|
: createCommentVNode()
|
|
778
804
|
}
|
|
779
805
|
|
|
780
806
|
const renderVN = () => {
|
|
781
807
|
const customOpts = computeCustomOpts.value
|
|
782
|
-
if (
|
|
808
|
+
if (['modal', 'drawer', 'popup'].includes(`${customOpts.mode}`)) {
|
|
783
809
|
return renderPopupPanel()
|
|
784
810
|
}
|
|
785
811
|
return renderSimplePanel()
|
|
@@ -289,7 +289,7 @@ function nativeEditRender (renderOpts: any, params: any) {
|
|
|
289
289
|
]
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
-
function
|
|
292
|
+
function buttonCellRender (renderOpts: any, params: any) {
|
|
293
293
|
return [
|
|
294
294
|
h(getDefaultComponent(renderOpts), {
|
|
295
295
|
...getCellEditProps(renderOpts, params, null),
|
|
@@ -298,7 +298,7 @@ function defaultCellRender (renderOpts: any, params: any) {
|
|
|
298
298
|
]
|
|
299
299
|
}
|
|
300
300
|
|
|
301
|
-
function defaultEditRender (renderOpts: VxeGlobalRendererHandles.
|
|
301
|
+
function defaultEditRender (renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions, params: VxeGlobalRendererHandles.RenderEditParams) {
|
|
302
302
|
const { row, column } = params
|
|
303
303
|
const cellValue = getCellValue(row, column)
|
|
304
304
|
return [
|
|
@@ -309,11 +309,24 @@ function defaultEditRender (renderOpts: VxeGlobalRendererHandles.RenderEditOptio
|
|
|
309
309
|
]
|
|
310
310
|
}
|
|
311
311
|
|
|
312
|
+
function radioAndCheckboxEditRender (renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions, params: VxeGlobalRendererHandles.RenderEditParams) {
|
|
313
|
+
const { options } = renderOpts
|
|
314
|
+
const { row, column } = params
|
|
315
|
+
const cellValue = getCellValue(row, column)
|
|
316
|
+
return [
|
|
317
|
+
h(getDefaultComponent(renderOpts), {
|
|
318
|
+
options,
|
|
319
|
+
...getCellEditProps(renderOpts, params, cellValue),
|
|
320
|
+
...getEditOns(renderOpts, params)
|
|
321
|
+
})
|
|
322
|
+
]
|
|
323
|
+
}
|
|
324
|
+
|
|
312
325
|
/**
|
|
313
326
|
* 已废弃
|
|
314
327
|
* @deprecated
|
|
315
328
|
*/
|
|
316
|
-
function oldEditRender (renderOpts: VxeGlobalRendererHandles.
|
|
329
|
+
function oldEditRender (renderOpts: VxeGlobalRendererHandles.RenderTableEditOptions, params: VxeGlobalRendererHandles.RenderEditParams) {
|
|
317
330
|
const { row, column } = params
|
|
318
331
|
const cellValue = getCellValue(row, column)
|
|
319
332
|
return [
|
|
@@ -520,12 +533,12 @@ renderer.mixin({
|
|
|
520
533
|
select: {
|
|
521
534
|
renderEdit: nativeSelectEditRender,
|
|
522
535
|
renderDefault: nativeSelectEditRender,
|
|
523
|
-
renderCell (renderOpts
|
|
536
|
+
renderCell (renderOpts, params) {
|
|
524
537
|
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params))
|
|
525
538
|
},
|
|
526
|
-
renderFilter (renderOpts
|
|
539
|
+
renderFilter (renderOpts, params) {
|
|
527
540
|
const { column } = params
|
|
528
|
-
return column.filters.map((option
|
|
541
|
+
return column.filters.map((option, oIndex) => {
|
|
529
542
|
return h('select', {
|
|
530
543
|
key: oIndex,
|
|
531
544
|
class: 'vxe-default-select',
|
|
@@ -541,7 +554,7 @@ renderer.mixin({
|
|
|
541
554
|
VxeInput: {
|
|
542
555
|
autofocus: '.vxe-input--inner',
|
|
543
556
|
renderEdit: defaultEditRender,
|
|
544
|
-
renderCell (renderOpts
|
|
557
|
+
renderCell (renderOpts, params) {
|
|
545
558
|
const { props = {} } = renderOpts
|
|
546
559
|
const { row, column } = params
|
|
547
560
|
const digits = props.digits || getConfig().input?.digits || 2
|
|
@@ -569,7 +582,7 @@ renderer.mixin({
|
|
|
569
582
|
VxeNumberInput: {
|
|
570
583
|
autofocus: '.vxe-number-input--inner',
|
|
571
584
|
renderEdit: defaultEditRender,
|
|
572
|
-
renderCell (renderOpts
|
|
585
|
+
renderCell (renderOpts, params) {
|
|
573
586
|
const { props = {} } = renderOpts
|
|
574
587
|
const { row, column } = params
|
|
575
588
|
const digits = props.digits || getConfig().numberInput?.digits || 2
|
|
@@ -590,7 +603,7 @@ renderer.mixin({
|
|
|
590
603
|
VxeDatePicker: {
|
|
591
604
|
autofocus: '.vxe-date-picker--inner',
|
|
592
605
|
renderEdit: defaultEditRender,
|
|
593
|
-
renderCell (renderOpts
|
|
606
|
+
renderCell (renderOpts, params) {
|
|
594
607
|
const { props = {} } = renderOpts
|
|
595
608
|
const { row, column } = params
|
|
596
609
|
let cellValue = XEUtils.get(row, column.property)
|
|
@@ -615,7 +628,7 @@ renderer.mixin({
|
|
|
615
628
|
autofocus: '.vxe-textarea--inner'
|
|
616
629
|
},
|
|
617
630
|
VxeButton: {
|
|
618
|
-
renderDefault:
|
|
631
|
+
renderDefault: buttonCellRender
|
|
619
632
|
},
|
|
620
633
|
VxeButtonGroup: {
|
|
621
634
|
renderDefault (renderOpts, params) {
|
|
@@ -633,13 +646,13 @@ renderer.mixin({
|
|
|
633
646
|
autofocus: '.vxe-input--inner',
|
|
634
647
|
renderEdit: defaultSelectEditRender,
|
|
635
648
|
renderDefault: defaultSelectEditRender,
|
|
636
|
-
renderCell (renderOpts
|
|
649
|
+
renderCell (renderOpts, params) {
|
|
637
650
|
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params))
|
|
638
651
|
},
|
|
639
|
-
renderFilter (renderOpts
|
|
652
|
+
renderFilter (renderOpts, params) {
|
|
640
653
|
const { column } = params
|
|
641
654
|
const { options, optionProps, optionGroups, optionGroupProps } = renderOpts
|
|
642
|
-
return column.filters.map((option
|
|
655
|
+
return column.filters.map((option, oIndex) => {
|
|
643
656
|
const optionValue = option.data
|
|
644
657
|
return h(getDefaultComponent(renderOpts), {
|
|
645
658
|
key: oIndex,
|
|
@@ -651,6 +664,12 @@ renderer.mixin({
|
|
|
651
664
|
defaultFilterMethod: handleFilterMethod,
|
|
652
665
|
exportMethod: handleExportSelectMethod
|
|
653
666
|
},
|
|
667
|
+
VxeRadioGroup: {
|
|
668
|
+
renderDefault: radioAndCheckboxEditRender
|
|
669
|
+
},
|
|
670
|
+
VxeCheckboxGroup: {
|
|
671
|
+
renderDefault: radioAndCheckboxEditRender
|
|
672
|
+
},
|
|
654
673
|
VxeSwitch: {
|
|
655
674
|
autofocus: '.vxe-switch--button',
|
|
656
675
|
renderEdit: defaultEditRender,
|
|
@@ -664,7 +683,7 @@ renderer.mixin({
|
|
|
664
683
|
$input: {
|
|
665
684
|
autofocus: '.vxe-input--inner',
|
|
666
685
|
renderEdit: oldEditRender,
|
|
667
|
-
renderCell (renderOpts
|
|
686
|
+
renderCell (renderOpts, params) {
|
|
668
687
|
const { props = {} } = renderOpts
|
|
669
688
|
const { row, column } = params
|
|
670
689
|
const digits = props.digits || getConfig().input?.digits || 2
|
|
@@ -701,13 +720,13 @@ renderer.mixin({
|
|
|
701
720
|
autofocus: '.vxe-input--inner',
|
|
702
721
|
renderEdit: oldSelectEditRender,
|
|
703
722
|
renderDefault: oldSelectEditRender,
|
|
704
|
-
renderCell (renderOpts
|
|
723
|
+
renderCell (renderOpts, params) {
|
|
705
724
|
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params))
|
|
706
725
|
},
|
|
707
|
-
renderFilter (renderOpts
|
|
726
|
+
renderFilter (renderOpts, params) {
|
|
708
727
|
const { column } = params
|
|
709
728
|
const { options, optionProps, optionGroups, optionGroupProps } = renderOpts
|
|
710
|
-
return column.filters.map((option
|
|
729
|
+
return column.filters.map((option, oIndex) => {
|
|
711
730
|
const optionValue = option.data
|
|
712
731
|
return h(getOldComponent(renderOpts), {
|
|
713
732
|
key: oIndex,
|
|
@@ -541,7 +541,7 @@ export default defineComponent({
|
|
|
541
541
|
let fixedSize = 0
|
|
542
542
|
// 只判断第一层
|
|
543
543
|
collectColumn.forEach((column) => {
|
|
544
|
-
if (column.
|
|
544
|
+
if (column.renderFixed) {
|
|
545
545
|
fixedSize++
|
|
546
546
|
}
|
|
547
547
|
})
|
|
@@ -898,27 +898,29 @@ export default defineComponent({
|
|
|
898
898
|
}
|
|
899
899
|
|
|
900
900
|
const handleCustomRestore = (storeData: VxeTableDefines.CustomStoreData) => {
|
|
901
|
-
const { tableFullColumn } = internalData
|
|
902
901
|
let { collectColumn } = internalData
|
|
903
902
|
const { resizableData, sortData, visibleData, fixedData } = storeData
|
|
904
903
|
let hasCustomSort = false
|
|
905
904
|
// 处理还原
|
|
906
905
|
if (resizableData || sortData || visibleData || fixedData) {
|
|
907
|
-
|
|
906
|
+
XEUtils.eachTree(collectColumn, (column, index, items, path, parent) => {
|
|
908
907
|
const colKey = column.getKey()
|
|
908
|
+
// 支持一级
|
|
909
|
+
if (!parent) {
|
|
910
|
+
if (fixedData && fixedData[colKey]) {
|
|
911
|
+
column.fixed = fixedData[colKey]
|
|
912
|
+
}
|
|
913
|
+
if (sortData && XEUtils.isNumber(sortData[colKey])) {
|
|
914
|
+
hasCustomSort = true
|
|
915
|
+
column.renderSortNumber = sortData[colKey]
|
|
916
|
+
}
|
|
917
|
+
}
|
|
909
918
|
if (resizableData && XEUtils.isNumber(resizableData[colKey])) {
|
|
910
919
|
column.resizeWidth = resizableData[colKey]
|
|
911
920
|
}
|
|
912
921
|
if (visibleData && XEUtils.isBoolean(visibleData[colKey])) {
|
|
913
922
|
column.visible = visibleData[colKey]
|
|
914
923
|
}
|
|
915
|
-
if (fixedData && fixedData[colKey]) {
|
|
916
|
-
column.fixed = fixedData[colKey]
|
|
917
|
-
}
|
|
918
|
-
if (sortData && XEUtils.isNumber(sortData[colKey])) {
|
|
919
|
-
hasCustomSort = true
|
|
920
|
-
column.renderSortNumber = sortData[colKey]
|
|
921
|
-
}
|
|
922
924
|
})
|
|
923
925
|
// 如果自定义了顺序
|
|
924
926
|
if (hasCustomSort) {
|
|
@@ -3318,14 +3320,13 @@ export default defineComponent({
|
|
|
3318
3320
|
const targetColumn = getRootColumn($xeTable, column as any)
|
|
3319
3321
|
const isMaxFixedColumn = computeIsMaxFixedColumn.value
|
|
3320
3322
|
const columnOpts = computeColumnOpts.value
|
|
3321
|
-
const { maxFixedSize } = columnOpts
|
|
3322
3323
|
if (targetColumn && targetColumn.fixed !== fixed) {
|
|
3323
3324
|
// 是否超过最大固定列数量
|
|
3324
3325
|
if (!targetColumn.fixed && isMaxFixedColumn) {
|
|
3325
3326
|
if (VxeUI.modal) {
|
|
3326
3327
|
VxeUI.modal.message({
|
|
3327
3328
|
status: 'error',
|
|
3328
|
-
content: getI18n('vxe.table.maxFixedCol', [maxFixedSize])
|
|
3329
|
+
content: getI18n('vxe.table.maxFixedCol', [columnOpts.maxFixedSize])
|
|
3329
3330
|
})
|
|
3330
3331
|
}
|
|
3331
3332
|
return nextTick()
|
|
@@ -4595,7 +4596,7 @@ export default defineComponent({
|
|
|
4595
4596
|
let hasFixedt = 0
|
|
4596
4597
|
let hasVisible = 0
|
|
4597
4598
|
XEUtils.eachTree(collectColumn, (column, index, items, path, parent) => {
|
|
4598
|
-
//
|
|
4599
|
+
// 只支持一级
|
|
4599
4600
|
if (!parent) {
|
|
4600
4601
|
collectColumn.forEach((column) => {
|
|
4601
4602
|
const colKey = column.getKey()
|
|
@@ -4604,6 +4605,13 @@ export default defineComponent({
|
|
|
4604
4605
|
sortData[colKey] = column.renderSortNumber
|
|
4605
4606
|
}
|
|
4606
4607
|
})
|
|
4608
|
+
if (column.fixed && column.fixed !== column.defaultFixed) {
|
|
4609
|
+
const colKey = column.getKey()
|
|
4610
|
+
if (colKey) {
|
|
4611
|
+
hasFixedt = 1
|
|
4612
|
+
fixedData[colKey] = column.fixed
|
|
4613
|
+
}
|
|
4614
|
+
}
|
|
4607
4615
|
}
|
|
4608
4616
|
if (column.resizeWidth) {
|
|
4609
4617
|
const colKey = column.getKey()
|
|
@@ -4612,13 +4620,6 @@ export default defineComponent({
|
|
|
4612
4620
|
resizableData[colKey] = column.renderWidth
|
|
4613
4621
|
}
|
|
4614
4622
|
}
|
|
4615
|
-
if (column.fixed && column.fixed !== column.defaultFixed) {
|
|
4616
|
-
const colKey = column.getKey()
|
|
4617
|
-
if (colKey) {
|
|
4618
|
-
hasFixedt = 1
|
|
4619
|
-
fixedData[colKey] = column.fixed
|
|
4620
|
-
}
|
|
4621
|
-
}
|
|
4622
4623
|
if (!checkMethod || checkMethod({ column })) {
|
|
4623
4624
|
if (!column.visible && column.defaultVisible) {
|
|
4624
4625
|
const colKey = column.getKey()
|
package/packages/ui/index.ts
CHANGED
|
@@ -68,9 +68,16 @@ VxeUI.setConfig({
|
|
|
68
68
|
allowFixed: true,
|
|
69
69
|
allowSort: true,
|
|
70
70
|
showFooter: true,
|
|
71
|
-
placement: 'top-right'
|
|
71
|
+
placement: 'top-right',
|
|
72
72
|
// storage: false,
|
|
73
|
-
// checkMethod () {}
|
|
73
|
+
// checkMethod () {},
|
|
74
|
+
modalOptions: {
|
|
75
|
+
showMaximize: true,
|
|
76
|
+
mask: true,
|
|
77
|
+
lockView: true,
|
|
78
|
+
resize: true,
|
|
79
|
+
escClosable: true
|
|
80
|
+
}
|
|
74
81
|
},
|
|
75
82
|
sortConfig: {
|
|
76
83
|
// remote: false,
|
|
@@ -154,9 +154,12 @@
|
|
|
154
154
|
outline: none;
|
|
155
155
|
}
|
|
156
156
|
&:hover {
|
|
157
|
-
color: var(--vxe-ui-font-primary-color);
|
|
157
|
+
color: var(--vxe-ui-font-primary-lighten-color);
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
+
.btn--confirm {
|
|
161
|
+
color: var(--vxe-ui-font-primary-color);
|
|
162
|
+
}
|
|
160
163
|
}
|
|
161
164
|
|
|
162
165
|
.vxe-table-custom--checkbox-option {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|