vxe-table 4.7.65 → 4.7.67
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/grid/src/grid.js +21 -11
- package/es/locale/lang/en-US.js +4 -1
- package/es/locale/lang/es-ES.js +4 -1
- package/es/locale/lang/hu-HU.js +4 -1
- package/es/locale/lang/ja-JP.js +4 -1
- package/es/locale/lang/ko-KR.js +4 -1
- package/es/locale/lang/pt-BR.js +4 -1
- package/es/locale/lang/ru-RU.js +4 -1
- package/es/locale/lang/vi-VN.js +4 -1
- package/es/locale/lang/zh-CN.js +4 -1
- package/es/locale/lang/zh-TC.js +4 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/panel.js +12 -11
- package/es/table/module/edit/hook.js +11 -10
- package/es/table/module/export/hook.js +10 -6
- package/es/table/render/index.js +95 -84
- package/es/table/src/table.js +51 -29
- package/es/table/style.css +8 -4
- package/es/table/style.min.css +1 -1
- package/es/toolbar/src/toolbar.js +7 -7
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +8 -4
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +25 -14
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +236 -165
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/en-US.js +4 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +4 -1
- package/lib/locale/lang/es-ES.js +4 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +4 -1
- package/lib/locale/lang/hu-HU.js +4 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +4 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +4 -1
- package/lib/locale/lang/ko-KR.js +4 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +4 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +4 -1
- package/lib/locale/lang/ru-RU.js +4 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/vi-VN.js +4 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +4 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +4 -1
- package/lib/locale/lang/zh-HK.min.js +1 -1
- package/lib/locale/lang/zh-HK.umd.js +4 -1
- package/lib/locale/lang/zh-MO.min.js +1 -1
- package/lib/locale/lang/zh-MO.umd.js +4 -1
- package/lib/locale/lang/zh-TC.js +4 -1
- package/lib/locale/lang/zh-TC.min.js +1 -1
- package/lib/locale/lang/zh-TC.umd.js +4 -1
- package/lib/locale/lang/zh-TW.min.js +1 -1
- package/lib/locale/lang/zh-TW.umd.js +4 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/panel.js +18 -11
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +11 -13
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/hook.js +12 -6
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/render/index.js +98 -84
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/table.js +48 -26
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +8 -4
- package/lib/table/style/style.min.css +1 -1
- package/lib/toolbar/src/toolbar.js +17 -7
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/ui/index.js +2 -2
- 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 +8 -4
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +22 -11
- package/packages/locale/lang/en-US.ts +4 -1
- package/packages/locale/lang/es-ES.ts +4 -1
- package/packages/locale/lang/hu-HU.ts +4 -1
- package/packages/locale/lang/ja-JP.ts +4 -1
- package/packages/locale/lang/ko-KR.ts +4 -1
- package/packages/locale/lang/pt-BR.ts +4 -1
- package/packages/locale/lang/ru-RU.ts +4 -1
- package/packages/locale/lang/vi-VN.ts +4 -1
- package/packages/locale/lang/zh-CN.ts +4 -1
- package/packages/locale/lang/zh-TC.ts +4 -1
- package/packages/table/module/custom/panel.ts +13 -12
- package/packages/table/module/edit/hook.ts +11 -10
- package/packages/table/module/export/hook.ts +10 -6
- package/packages/table/render/index.ts +95 -84
- package/packages/table/src/table.ts +52 -27
- package/packages/toolbar/src/toolbar.ts +8 -8
- package/styles/components/table.scss +6 -3
- /package/es/{iconfont.1723521776225.ttf → iconfont.1724210671876.ttf} +0 -0
- /package/es/{iconfont.1723521776225.woff → iconfont.1724210671876.woff} +0 -0
- /package/es/{iconfont.1723521776225.woff2 → iconfont.1724210671876.woff2} +0 -0
- /package/lib/{iconfont.1723521776225.ttf → iconfont.1724210671876.ttf} +0 -0
- /package/lib/{iconfont.1723521776225.woff → iconfont.1724210671876.woff} +0 -0
- /package/lib/{iconfont.1723521776225.woff2 → iconfont.1724210671876.woff2} +0 -0
|
@@ -450,7 +450,7 @@ function handleFilterMethod({
|
|
|
450
450
|
const {
|
|
451
451
|
data
|
|
452
452
|
} = option;
|
|
453
|
-
const cellValue = _xeUtils.default.get(row, column.
|
|
453
|
+
const cellValue = _xeUtils.default.get(row, column.field);
|
|
454
454
|
/* eslint-disable eqeqeq */
|
|
455
455
|
return cellValue == data;
|
|
456
456
|
}
|
|
@@ -462,7 +462,7 @@ function handleInputFilterMethod({
|
|
|
462
462
|
const {
|
|
463
463
|
data
|
|
464
464
|
} = option;
|
|
465
|
-
const cellValue = _xeUtils.default.get(row, column.
|
|
465
|
+
const cellValue = _xeUtils.default.get(row, column.field);
|
|
466
466
|
/* eslint-disable eqeqeq */
|
|
467
467
|
return _xeUtils.default.toValueString(cellValue).indexOf(data) > -1;
|
|
468
468
|
}
|
|
@@ -538,7 +538,7 @@ function getSelectCellValue(renderOpts, {
|
|
|
538
538
|
optionProps = {},
|
|
539
539
|
optionGroupProps = {}
|
|
540
540
|
} = renderOpts;
|
|
541
|
-
const cellValue = _xeUtils.default.get(row, column.
|
|
541
|
+
const cellValue = _xeUtils.default.get(row, column.field);
|
|
542
542
|
let selectItem;
|
|
543
543
|
const labelProp = optionProps.label || 'label';
|
|
544
544
|
const valueProp = optionProps.value || 'value';
|
|
@@ -577,7 +577,7 @@ function getTreeSelectCellValue(renderOpts, {
|
|
|
577
577
|
options,
|
|
578
578
|
optionProps = {}
|
|
579
579
|
} = renderOpts;
|
|
580
|
-
const cellValue = _xeUtils.default.get(row, column.
|
|
580
|
+
const cellValue = _xeUtils.default.get(row, column.field);
|
|
581
581
|
const labelProp = optionProps.label || 'label';
|
|
582
582
|
const valueProp = optionProps.value || 'value';
|
|
583
583
|
const childrenProp = optionProps.children || 'children';
|
|
@@ -608,23 +608,23 @@ function handleExportTreeSelectMethod(params) {
|
|
|
608
608
|
*/
|
|
609
609
|
renderer.mixin({
|
|
610
610
|
input: {
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
611
|
+
tableAutoFocus: 'input',
|
|
612
|
+
renderTableEdit: nativeEditRender,
|
|
613
|
+
renderTableDefault: nativeEditRender,
|
|
614
|
+
renderTableFilter: nativeFilterRender,
|
|
615
|
+
tableFilterDefaultMethod: handleInputFilterMethod
|
|
616
616
|
},
|
|
617
617
|
textarea: {
|
|
618
|
-
|
|
619
|
-
|
|
618
|
+
tableAutoFocus: 'textarea',
|
|
619
|
+
renderTableEdit: nativeEditRender
|
|
620
620
|
},
|
|
621
621
|
select: {
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
622
|
+
renderTableEdit: nativeSelectEditRender,
|
|
623
|
+
renderTableDefault: nativeSelectEditRender,
|
|
624
|
+
renderTableCell(renderOpts, params) {
|
|
625
625
|
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
|
|
626
626
|
},
|
|
627
|
-
|
|
627
|
+
renderTableFilter(renderOpts, params) {
|
|
628
628
|
const {
|
|
629
629
|
column
|
|
630
630
|
} = params;
|
|
@@ -635,13 +635,13 @@ renderer.mixin({
|
|
|
635
635
|
}, getNativeAttrs(renderOpts)), getNativeFilterOns(renderOpts, params, option)), renderOpts.optionGroups ? renderNativeOptgroups(renderOpts, params, renderNativeOptions) : renderNativeOptions(renderOpts.options, renderOpts, params));
|
|
636
636
|
});
|
|
637
637
|
},
|
|
638
|
-
|
|
639
|
-
|
|
638
|
+
tableFilterDefaultMethod: handleFilterMethod,
|
|
639
|
+
tableExportMethod: handleExportSelectMethod
|
|
640
640
|
},
|
|
641
641
|
VxeInput: {
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
642
|
+
tableAutoFocus: 'input',
|
|
643
|
+
renderTableEdit: defaultEditRender,
|
|
644
|
+
renderTableCell(renderOpts, params) {
|
|
645
645
|
var _a;
|
|
646
646
|
const {
|
|
647
647
|
props = {}
|
|
@@ -651,7 +651,7 @@ renderer.mixin({
|
|
|
651
651
|
column
|
|
652
652
|
} = params;
|
|
653
653
|
const digits = props.digits || ((_a = getConfig().input) === null || _a === void 0 ? void 0 : _a.digits) || 2;
|
|
654
|
-
let cellValue = _xeUtils.default.get(row, column.
|
|
654
|
+
let cellValue = _xeUtils.default.get(row, column.field);
|
|
655
655
|
if (cellValue) {
|
|
656
656
|
switch (props.type) {
|
|
657
657
|
case 'date':
|
|
@@ -668,14 +668,14 @@ renderer.mixin({
|
|
|
668
668
|
}
|
|
669
669
|
return getCellLabelVNs(renderOpts, params, cellValue);
|
|
670
670
|
},
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
671
|
+
renderTableDefault: defaultEditRender,
|
|
672
|
+
renderTableFilter: defaultFilterRender,
|
|
673
|
+
tableFilterDefaultMethod: handleInputFilterMethod
|
|
674
674
|
},
|
|
675
675
|
VxeNumberInput: {
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
676
|
+
tableAutoFocus: 'input',
|
|
677
|
+
renderTableEdit: defaultEditRender,
|
|
678
|
+
renderTableCell(renderOpts, params) {
|
|
679
679
|
var _a;
|
|
680
680
|
const {
|
|
681
681
|
props = {}
|
|
@@ -685,7 +685,7 @@ renderer.mixin({
|
|
|
685
685
|
column
|
|
686
686
|
} = params;
|
|
687
687
|
const digits = props.digits || ((_a = getConfig().numberInput) === null || _a === void 0 ? void 0 : _a.digits) || 2;
|
|
688
|
-
let cellValue = _xeUtils.default.get(row, column.
|
|
688
|
+
let cellValue = _xeUtils.default.get(row, column.field);
|
|
689
689
|
if (cellValue) {
|
|
690
690
|
switch (props.type) {
|
|
691
691
|
case 'float':
|
|
@@ -695,14 +695,14 @@ renderer.mixin({
|
|
|
695
695
|
}
|
|
696
696
|
return getCellLabelVNs(renderOpts, params, cellValue);
|
|
697
697
|
},
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
698
|
+
renderTableDefault: defaultEditRender,
|
|
699
|
+
renderTableFilter: defaultFilterRender,
|
|
700
|
+
tableFilterDefaultMethod: handleInputFilterMethod
|
|
701
701
|
},
|
|
702
702
|
VxeDatePicker: {
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
703
|
+
tableAutoFocus: 'input',
|
|
704
|
+
renderTableEdit: defaultEditRender,
|
|
705
|
+
renderTableCell(renderOpts, params) {
|
|
706
706
|
const {
|
|
707
707
|
props = {}
|
|
708
708
|
} = renderOpts;
|
|
@@ -710,7 +710,7 @@ renderer.mixin({
|
|
|
710
710
|
row,
|
|
711
711
|
column
|
|
712
712
|
} = params;
|
|
713
|
-
let cellValue = _xeUtils.default.get(row, column.
|
|
713
|
+
let cellValue = _xeUtils.default.get(row, column.field);
|
|
714
714
|
if (cellValue) {
|
|
715
715
|
switch (props.type) {
|
|
716
716
|
case 'date':
|
|
@@ -724,18 +724,18 @@ renderer.mixin({
|
|
|
724
724
|
}
|
|
725
725
|
return getCellLabelVNs(renderOpts, params, cellValue);
|
|
726
726
|
},
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
727
|
+
renderTableDefault: defaultEditRender,
|
|
728
|
+
renderTableFilter: defaultFilterRender,
|
|
729
|
+
tableFilterDefaultMethod: handleFilterMethod
|
|
730
730
|
},
|
|
731
731
|
VxeTextarea: {
|
|
732
|
-
|
|
732
|
+
tableAutoFocus: 'VxeTextarea'
|
|
733
733
|
},
|
|
734
734
|
VxeButton: {
|
|
735
|
-
|
|
735
|
+
renderTableDefault: buttonCellRender
|
|
736
736
|
},
|
|
737
737
|
VxeButtonGroup: {
|
|
738
|
-
|
|
738
|
+
renderTableDefault(renderOpts, params) {
|
|
739
739
|
const {
|
|
740
740
|
options
|
|
741
741
|
} = renderOpts;
|
|
@@ -745,13 +745,13 @@ renderer.mixin({
|
|
|
745
745
|
}
|
|
746
746
|
},
|
|
747
747
|
VxeSelect: {
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
748
|
+
tableAutoFocus: 'input',
|
|
749
|
+
renderTableEdit: defaultSelectEditRender,
|
|
750
|
+
renderTableDefault: defaultSelectEditRender,
|
|
751
|
+
renderTableCell(renderOpts, params) {
|
|
752
752
|
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
|
|
753
753
|
},
|
|
754
|
-
|
|
754
|
+
renderTableFilter(renderOpts, params) {
|
|
755
755
|
const {
|
|
756
756
|
column
|
|
757
757
|
} = params;
|
|
@@ -773,35 +773,49 @@ renderer.mixin({
|
|
|
773
773
|
})), getFilterOns(renderOpts, params, option)));
|
|
774
774
|
});
|
|
775
775
|
},
|
|
776
|
-
|
|
777
|
-
|
|
776
|
+
tableFilterDefaultMethod: handleFilterMethod,
|
|
777
|
+
tableExportMethod: handleExportSelectMethod
|
|
778
778
|
},
|
|
779
779
|
VxeTreeSelect: {
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
780
|
+
tableAutoFocus: 'input',
|
|
781
|
+
renderTableEdit: defaultTreeSelectEditRender,
|
|
782
|
+
renderTableCell(renderOpts, params) {
|
|
783
783
|
return getCellLabelVNs(renderOpts, params, getTreeSelectCellValue(renderOpts, params));
|
|
784
784
|
},
|
|
785
|
-
|
|
785
|
+
tableExportMethod: handleExportTreeSelectMethod
|
|
786
|
+
},
|
|
787
|
+
VxeIconPicker: {
|
|
788
|
+
tableAutoFocus: 'input',
|
|
789
|
+
renderTableEdit: defaultEditRender,
|
|
790
|
+
renderTableCell(renderOpts, params) {
|
|
791
|
+
const {
|
|
792
|
+
row,
|
|
793
|
+
column
|
|
794
|
+
} = params;
|
|
795
|
+
const cellValue = _xeUtils.default.get(row, column.field);
|
|
796
|
+
return (0, _vue.h)('i', {
|
|
797
|
+
class: cellValue
|
|
798
|
+
});
|
|
799
|
+
}
|
|
786
800
|
},
|
|
787
801
|
VxeRadioGroup: {
|
|
788
|
-
|
|
802
|
+
renderTableDefault: radioAndCheckboxEditRender
|
|
789
803
|
},
|
|
790
804
|
VxeCheckboxGroup: {
|
|
791
|
-
|
|
805
|
+
renderTableDefault: radioAndCheckboxEditRender
|
|
792
806
|
},
|
|
793
807
|
VxeSwitch: {
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
808
|
+
tableAutoFocus: 'button',
|
|
809
|
+
renderTableEdit: defaultEditRender,
|
|
810
|
+
renderTableDefault: defaultEditRender
|
|
797
811
|
},
|
|
798
812
|
VxeUpload: {
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
813
|
+
renderTableEdit: defaultEditRender,
|
|
814
|
+
renderTableCell: defaultEditRender,
|
|
815
|
+
renderTableDefault: defaultEditRender
|
|
802
816
|
},
|
|
803
817
|
VxeImage: {
|
|
804
|
-
|
|
818
|
+
renderTableDefault(renderOpts, params) {
|
|
805
819
|
const {
|
|
806
820
|
row,
|
|
807
821
|
column
|
|
@@ -816,7 +830,7 @@ renderer.mixin({
|
|
|
816
830
|
}
|
|
817
831
|
},
|
|
818
832
|
VxeImageGroup: {
|
|
819
|
-
|
|
833
|
+
renderTableDefault(renderOpts, params) {
|
|
820
834
|
const {
|
|
821
835
|
row,
|
|
822
836
|
column
|
|
@@ -832,9 +846,9 @@ renderer.mixin({
|
|
|
832
846
|
},
|
|
833
847
|
// 以下已废弃
|
|
834
848
|
$input: {
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
849
|
+
tableAutoFocus: '.vxe-input--inner',
|
|
850
|
+
renderTableEdit: oldEditRender,
|
|
851
|
+
renderTableCell(renderOpts, params) {
|
|
838
852
|
var _a;
|
|
839
853
|
const {
|
|
840
854
|
props = {}
|
|
@@ -844,7 +858,7 @@ renderer.mixin({
|
|
|
844
858
|
column
|
|
845
859
|
} = params;
|
|
846
860
|
const digits = props.digits || ((_a = getConfig().input) === null || _a === void 0 ? void 0 : _a.digits) || 2;
|
|
847
|
-
let cellValue = _xeUtils.default.get(row, column.
|
|
861
|
+
let cellValue = _xeUtils.default.get(row, column.field);
|
|
848
862
|
if (cellValue) {
|
|
849
863
|
switch (props.type) {
|
|
850
864
|
case 'date':
|
|
@@ -860,27 +874,27 @@ renderer.mixin({
|
|
|
860
874
|
}
|
|
861
875
|
return getCellLabelVNs(renderOpts, params, cellValue);
|
|
862
876
|
},
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
877
|
+
renderTableDefault: oldEditRender,
|
|
878
|
+
renderTableFilter: oldFilterRender,
|
|
879
|
+
tableFilterDefaultMethod: handleInputFilterMethod
|
|
866
880
|
},
|
|
867
881
|
$textarea: {
|
|
868
|
-
|
|
882
|
+
tableAutoFocus: '.vxe-textarea--inner'
|
|
869
883
|
},
|
|
870
884
|
$button: {
|
|
871
|
-
|
|
885
|
+
renderTableDefault: oldButtonEditRender
|
|
872
886
|
},
|
|
873
887
|
$buttons: {
|
|
874
|
-
|
|
888
|
+
renderTableDefault: oldButtonsEditRender
|
|
875
889
|
},
|
|
876
890
|
$select: {
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
891
|
+
tableAutoFocus: '.vxe-input--inner',
|
|
892
|
+
renderTableEdit: oldSelectEditRender,
|
|
893
|
+
renderTableDefault: oldSelectEditRender,
|
|
894
|
+
renderTableCell(renderOpts, params) {
|
|
881
895
|
return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
|
|
882
896
|
},
|
|
883
|
-
|
|
897
|
+
renderTableFilter(renderOpts, params) {
|
|
884
898
|
const {
|
|
885
899
|
column
|
|
886
900
|
} = params;
|
|
@@ -902,19 +916,19 @@ renderer.mixin({
|
|
|
902
916
|
})), getFilterOns(renderOpts, params, option)));
|
|
903
917
|
});
|
|
904
918
|
},
|
|
905
|
-
|
|
906
|
-
|
|
919
|
+
tableFilterDefaultMethod: handleFilterMethod,
|
|
920
|
+
tableExportMethod: handleExportSelectMethod
|
|
907
921
|
},
|
|
908
922
|
$radio: {
|
|
909
|
-
|
|
923
|
+
tableAutoFocus: '.vxe-radio--input'
|
|
910
924
|
},
|
|
911
925
|
$checkbox: {
|
|
912
|
-
|
|
926
|
+
tableAutoFocus: '.vxe-checkbox--input'
|
|
913
927
|
},
|
|
914
928
|
$switch: {
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
929
|
+
tableAutoFocus: '.vxe-switch--button',
|
|
930
|
+
renderTableEdit: oldEditRender,
|
|
931
|
+
renderTableDefault: oldEditRender
|
|
918
932
|
}
|
|
919
933
|
// 以上已废弃
|
|
920
934
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={transfer:!0};function getModelEvent(e){switch(e.name){case"input":case"textarea":return"input"}return"update:modelValue"}function getChangeEvent(e){switch(e.name){case"input":case"textarea":case"VxeInput":case"VxeTextarea":case"$input":case"$textarea":return"input"}return"change"}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,n){var{dateConfig:r={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),r.labelFormat||n)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+t.type))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,n){e=e.$panel;e.changeOption({},t,n)}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getInputImmediateModel(e){var{name:e,immediate:t,props:n}=e;return t||("VxeInput"===e||"$input"===e?(t=(n||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,n,r){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function getCellEditFilterProps(e,t,n,r){return _xeUtils.default.assign({},defaultCompProps,r,e.props,{[componentDefaultModelProp]:n})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,n){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(n)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(n,1))]}function getElementOns(e,n,t,r){const l=e["events"],o=getModelEvent(e),a=getChangeEvent(e),i=a===o,u={};return l&&_xeUtils.default.objectEach(l,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(o)]=function(e){t(e),i&&r&&r(e),l&&l[o]&&l[o](n,e)}),!i&&r&&(u[(0,_vn.getOnName)(a)]=function(...e){r(...e),l&&l[a]&&l[a](n,...e)}),u}function getComponentOns(e,n,t,r){const l=e["events"],o=getModelEvent(e),a=getChangeEvent(e),i={};return _xeUtils.default.objectEach(l,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(n,...e)}}),t&&(i[(0,_vn.getOnName)(o)]=function(e){t(e),l&&l[o]&&l[o](n,e)}),r&&(i[(0,_vn.getOnName)(a)]=function(...e){r(...e),l&&l[a]&&l[a](n,...e)}),i}function getEditOns(e,t){const{$table:n,row:r,column:l}=t,o=e["name"],a=l["model"],i=isImmediateCell(e,t);return getComponentOns(e,t,e=>{i?(0,_util.setCellValue)(r,l,e):(a.update=!0,a.value=e)},e=>{!i&&["VxeInput","VxeTextarea","$input","$textarea"].includes(o)?(e=e.value,a.update=!0,a.value=e,n.updateStatus(t,e)):n.updateStatus(t)})}function getFilterOns(e,t,n){return getComponentOns(e,t,e=>{n.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function getNativeEditOns(t,n){const{$table:r,row:l,column:o}=n,a=o["model"];return getElementOns(t,n,e=>{e=e.target.value;isImmediateCell(t,n)?(0,_util.setCellValue)(l,o,e):(a.update=!0,a.value=e)},e=>{e=e.target.value;r.updateStatus(n,e)})}function getNativeFilterOns(e,t,n){return getElementOns(e,t,e=>{n.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(n.data),n)})}function nativeEditRender(e,t){var{row:n,column:r}=t,l=e["name"],n=isImmediateCell(e,t)?(0,_util.getCellValue)(n,r):r.model.value;return[(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+l},getNativeAttrs(e)),{value:n}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var n=e["options"],{row:r,column:l}=t,r=(0,_util.getCellValue)(r,l);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getCellEditProps(e,t,r)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(n,r,l){var{optionGroups:e,optionGroupProps:t={}}=n;const o=t.options||"options",a=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[a]},l(e[o],n,r)))}function renderNativeOptions(e,t,n){var{optionProps:r={}}=t,{row:l,column:o}=n;const a=r.label||"label",i=r.value||"value",u=r.disabled||"disabled",d=isImmediateCell(t,n)?(0,_util.getCellValue)(l,o):o.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[i],disabled:e[u],selected:e[i]==d},e[a]))}function nativeFilterRender(n,r){var e=r["column"];const l=n["name"],o=getNativeAttrs(n);return e.filters.map((e,t)=>(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+l},o),{value:e.data}),getNativeFilterOns(n,r,e))))}function defaultFilterRender(r,l){var e=l["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,l,e)))})}function oldFilterRender(r,l){var e=l["column"];return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,r,n)),getFilterOns(r,l,e)))})}function handleFilterMethod({option:e,row:t,column:n}){e=e.data;return _xeUtils.default.get(t,n.property)==e}function handleInputFilterMethod({option:e,row:t,column:n}){e=e.data,t=_xeUtils.default.get(t,n.property);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o,optionGroups:a,optionGroupProps:i}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o,optionGroups:a,optionGroupProps:i})),getEditOns(e,t)))]}function defaultTreeSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:n,column:r}=t,{options:l,optionProps:o,optionGroups:a,optionGroupProps:i}=e,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,n,{options:l,optionProps:o,optionGroups:a,optionGroupProps:i})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:n}){const{options:r,optionGroups:l,optionProps:o={},optionGroupProps:a={}}=e;e=_xeUtils.default.get(t,n.property);let i;const u=o.label||"label",d=o.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],l?t=>{var n=a.options||"options";for(let e=0;e<l.length&&!(i=_xeUtils.default.find(l[e][n],e=>e[d]==t));e++);return i?i[u]:t}:t=>(i=_xeUtils.default.find(r,e=>e[d]==t))?i[u]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:n,options:r}=e;return r.original?(0,_util.getCellValue)(t,n):getSelectCellValue(n.editRender||n.cellRender,e)}function getTreeSelectCellValue(e,{row:t,column:n}){var{options:e,optionProps:r={}}=e,t=_xeUtils.default.get(t,n.property);const l=r.label||"label",o=r.value||"value";n=r.children||"children";if(null==t)return"";{const a={};return _xeUtils.default.eachTree(e,e=>{a[_xeUtils.default.get(e,o)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(t)?t:[t],e=>{e=a[e];return e&&_xeUtils.default.get(e,l)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:n,options:r}=e;return r.original?(0,_util.getCellValue)(t,n):getTreeSelectCellValue(n.editRender||n.cellRender,e)}renderer.mixin({input:{autofocus:"input",renderEdit:nativeEditRender,renderDefault:nativeEditRender,renderFilter:nativeFilterRender,defaultFilterMethod:handleInputFilterMethod},textarea:{autofocus:"textarea",renderEdit:nativeEditRender},select:{renderEdit:nativeSelectEditRender,renderDefault:nativeSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(n,r){var e=r["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(n)),getNativeFilterOns(n,r,e)),n.optionGroups?renderNativeOptgroups(n,r,renderNativeOptions):renderNativeOptions(n.options,n,r)))},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeInput:{autofocus:"input",renderEdit:defaultEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:l,column:o}=t,a=r.digits||(null==(n=getConfig().input)?void 0:n.digits)||2;let i=_xeUtils.default.get(l,o.property);if(i)switch(r.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a)}return getCellLabelVNs(e,t,i)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleInputFilterMethod},VxeNumberInput:{autofocus:"input",renderEdit:defaultEditRender,renderCell(e,t){var{props:n={}}=e,{row:r,column:l}=t,o=n.digits||(null==(o=getConfig().numberInput)?void 0:o.digits)||2;let a=_xeUtils.default.get(r,l.property);return getCellLabelVNs(e,t,a=a&&"float"===n.type?_xeUtils.default.toFixed(_xeUtils.default.floor(a,o),o):a)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleInputFilterMethod},VxeDatePicker:{autofocus:"input",renderEdit:defaultEditRender,renderCell(e,t){var{props:n={}}=e,{row:r,column:l}=t;let o=_xeUtils.default.get(r,l.property);if(o)switch(n.type){case"date":case"week":case"month":case"quarter":case"year":o=getLabelFormatDate(o,n)}return getCellLabelVNs(e,t,o)},renderDefault:defaultEditRender,renderFilter:defaultFilterRender,defaultFilterMethod:handleFilterMethod},VxeTextarea:{autofocus:"VxeTextarea"},VxeButton:{renderDefault:buttonCellRender},VxeButtonGroup:{renderDefault(e,t){var n=e["options"];return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{autofocus:"input",renderEdit:defaultSelectEditRender,renderDefault:defaultSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,l){var e=l["column"];const{options:o,optionProps:a,optionGroups:i,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getDefaultComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,l,n,{options:o,optionProps:a,optionGroups:i,optionGroupProps:u})),getFilterOns(r,l,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},VxeTreeSelect:{autofocus:"input",renderEdit:defaultTreeSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},exportMethod:handleExportTreeSelectMethod},VxeRadioGroup:{renderDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderDefault:radioAndCheckboxEditRender},VxeSwitch:{autofocus:"button",renderEdit:defaultEditRender,renderDefault:defaultEditRender},VxeUpload:{renderEdit:defaultEditRender,renderCell:defaultEditRender,renderDefault:defaultEditRender},VxeImage:{renderDefault(e,t){var{row:n,column:r}=t,l=e["props"],n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},l),{src:n}),getEditOns(e,t)))]}},VxeImageGroup:{renderDefault(e,t){var{row:n,column:r}=t,l=e["props"],n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},l),{urlList:n}),getEditOns(e,t)))]}},$input:{autofocus:".vxe-input--inner",renderEdit:oldEditRender,renderCell(e,t){var n,{props:r={}}=e,{row:l,column:o}=t,a=r.digits||(null==(n=getConfig().input)?void 0:n.digits)||2;let i=_xeUtils.default.get(l,o.property);if(i)switch(r.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,r);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,a),a)}return getCellLabelVNs(e,t,i)},renderDefault:oldEditRender,renderFilter:oldFilterRender,defaultFilterMethod:handleInputFilterMethod},$textarea:{autofocus:".vxe-textarea--inner"},$button:{renderDefault:oldButtonEditRender},$buttons:{renderDefault:oldButtonsEditRender},$select:{autofocus:".vxe-input--inner",renderEdit:oldSelectEditRender,renderDefault:oldSelectEditRender,renderCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderFilter(r,l){var e=l["column"];const{options:o,optionProps:a,optionGroups:i,optionGroupProps:u}=r;return e.filters.map((e,t)=>{var n=e.data;return(0,_vue.h)(getOldComponent(r),Object.assign(Object.assign({key:t},getCellEditFilterProps(r,l,n,{options:o,optionProps:a,optionGroups:i,optionGroupProps:u})),getFilterOns(r,l,e)))})},defaultFilterMethod:handleFilterMethod,exportMethod:handleExportSelectMethod},$radio:{autofocus:".vxe-radio--input"},$checkbox:{autofocus:".vxe-checkbox--input"},$switch:{autofocus:".vxe-switch--button",renderEdit:oldEditRender,renderDefault:oldEditRender}});
|
|
1
|
+
"use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={transfer:!0};function getModelEvent(e){switch(e.name){case"input":case"textarea":return"input"}return"update:modelValue"}function getChangeEvent(e){switch(e.name){case"input":case"textarea":case"VxeInput":case"VxeTextarea":case"$input":case"$textarea":return"input"}return"change"}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+t.type))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{})["type"],!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l){e=e.placeholder;return[(0,_vue.h)("span",{class:"vxe-cell--label"},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getElementOns(e,l,t,n){const r=e["events"],a=getModelEvent(e),o=getChangeEvent(e),i=o===a,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),t&&(u[(0,_vn.getOnName)(a)]=function(e){t(e),i&&n&&n(e),r&&r[a]&&r[a](l,e)}),!i&&n&&(u[(0,_vn.getOnName)(o)]=function(...e){n(...e),r&&r[o]&&r[o](l,...e)}),u}function getComponentOns(e,l,t,n){const r=e["events"],a=getModelEvent(e),o=getChangeEvent(e),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),t&&(i[(0,_vn.getOnName)(a)]=function(e){t(e),r&&r[a]&&r[a](l,e)}),n&&(i[(0,_vn.getOnName)(o)]=function(...e){n(...e),r&&r[o]&&r[o](l,...e)}),i}function getEditOns(e,t){const{$table:l,row:n,column:r}=t,a=e["name"],o=r["model"],i=isImmediateCell(e,t);return getComponentOns(e,t,e=>{i?(0,_util.setCellValue)(n,r,e):(o.update=!0,o.value=e)},e=>{!i&&["VxeInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)})}function getFilterOns(e,t,l){return getComponentOns(e,t,e=>{l.data=e},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function getNativeEditOns(t,l){const{$table:n,row:r,column:a}=l,o=a["model"];return getElementOns(t,l,e=>{e=e.target.value;isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e)},e=>{e=e.target.value;n.updateStatus(l,e)})}function getNativeFilterOns(e,t,l){return getElementOns(e,t,e=>{l.data=e.target.value},()=>{handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e["name"],l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e["options"],{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;const a=t.options||"options",o=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;const o=n.label||"label",i=n.value||"value",u=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[i],disabled:e[u],selected:e[i]==d},e[o]))}function nativeFilterRender(l,n){var e=n["column"];const r=l["name"],a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r["column"];return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:i}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:i})),getEditOns(e,t)))]}function defaultTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:i}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:i})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){const{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let i;const u=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(i=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return i?i[u]:t}:t=>(i=_xeUtils.default.find(n,e=>e[d]==t))?i[u]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:t,column:l}){var{options:e,optionProps:n={}}=e,t=_xeUtils.default.get(t,l.field);const r=n.label||"label",a=n.value||"value";l=n.children||"children";if(null==t)return"";{const o={};return _xeUtils.default.eachTree(e,e=>{o[_xeUtils.default.get(e,a)]=e},{children:l}),_xeUtils.default.map(_xeUtils.default.isArray(t)?t:[t],e=>{e=o[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n["column"];return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let i=_xeUtils.default.get(r,a.field);if(i)switch(n.type){case"date":case"week":case"month":case"quarter":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,o),o)}return getCellLabelVNs(e,t,i)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=l.digits||(null==(a=getConfig().numberInput)?void 0:a.digits)||2;let o=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,o=o&&"float"===l.type?_xeUtils.default.toFixed(_xeUtils.default.floor(o,a),a):o)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);if(a)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":a=getLabelFormatDate(a,l)}return getCellLabelVNs(e,t,a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"VxeTextarea"},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e["options"];return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r["column"];const{options:a,optionProps:o,optionGroups:i,optionGroupProps:u}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:i,optionGroupProps:u})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e["props"],l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let i=_xeUtils.default.get(r,a.field);if(i)switch(n.type){case"date":case"week":case"month":case"year":i=getLabelFormatDate(i,n);break;case"float":i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,o),o)}return getCellLabelVNs(e,t,i)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r["column"];const{options:a,optionProps:o,optionGroups:i,optionGroupProps:u}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:i,optionGroupProps:u})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
package/lib/table/src/table.js
CHANGED
|
@@ -52,6 +52,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
52
52
|
// 使用已安装的组件,如果未安装则不渲染
|
|
53
53
|
const VxeUILoadingComponent = _ui.VxeUI.getComponent('VxeLoading');
|
|
54
54
|
const VxeUITooltipComponent = _ui.VxeUI.getComponent('VxeTooltip');
|
|
55
|
+
const $xeTabs = (0, _vue.inject)('$xeTabs', null);
|
|
55
56
|
const {
|
|
56
57
|
computeSize
|
|
57
58
|
} = useFns.useSize(props);
|
|
@@ -3749,6 +3750,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
3749
3750
|
const fullColumnFieldData = internalData.fullColumnFieldData;
|
|
3750
3751
|
return field && fullColumnFieldData[field] ? fullColumnFieldData[field].column : null;
|
|
3751
3752
|
},
|
|
3753
|
+
getParentColumn(fieldOrColumn) {
|
|
3754
|
+
const fullColumnIdData = internalData.fullColumnIdData;
|
|
3755
|
+
const column = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
3756
|
+
return column && column.parentId && fullColumnIdData[column.parentId] ? fullColumnIdData[column.parentId].column : null;
|
|
3757
|
+
},
|
|
3752
3758
|
/**
|
|
3753
3759
|
* 获取当前表格的列
|
|
3754
3760
|
* 收集到的全量列、全量表头列、处理条件之后的全量表头列、当前渲染中的表头列
|
|
@@ -4067,10 +4073,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
4067
4073
|
* 计算单元格列宽,动态分配可用剩余空间
|
|
4068
4074
|
* 支持 width=? width=?px width=?% min-width=? min-width=?px min-width=?%
|
|
4069
4075
|
*/
|
|
4070
|
-
recalculate(
|
|
4076
|
+
recalculate(reFull) {
|
|
4077
|
+
const el = refElem.value;
|
|
4078
|
+
if (!el || !el.clientWidth) {
|
|
4079
|
+
return (0, _vue.nextTick)();
|
|
4080
|
+
}
|
|
4071
4081
|
calcCellWidth();
|
|
4072
4082
|
autoCellWidth();
|
|
4073
|
-
if (
|
|
4083
|
+
if (reFull === true) {
|
|
4074
4084
|
// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
4075
4085
|
return computeScrollLoad().then(() => {
|
|
4076
4086
|
autoCellWidth();
|
|
@@ -5719,6 +5729,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5719
5729
|
const operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow;
|
|
5720
5730
|
const operCtxMenu = isMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);
|
|
5721
5731
|
const isEditStatus = (0, _utils.isEnableConf)(editConfig) && actived.column && actived.row;
|
|
5732
|
+
const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
|
|
5722
5733
|
let params;
|
|
5723
5734
|
if (operCtxMenu) {
|
|
5724
5735
|
// 如果配置了右键菜单; 支持方向键操作、回车
|
|
@@ -5845,19 +5856,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5845
5856
|
columnIndex: tableMethods.getColumnIndex(selected.column),
|
|
5846
5857
|
$table: $xeTable
|
|
5847
5858
|
};
|
|
5848
|
-
|
|
5849
|
-
|
|
5850
|
-
|
|
5851
|
-
|
|
5859
|
+
// 是否被禁用
|
|
5860
|
+
if (!beforeEditMethod || beforeEditMethod(params)) {
|
|
5861
|
+
if (delMethod) {
|
|
5862
|
+
delMethod(delPaqrams);
|
|
5863
|
+
} else {
|
|
5864
|
+
(0, _util.setCellValue)(selected.row, selected.column, null);
|
|
5865
|
+
}
|
|
5866
|
+
// 如果按下 del 键,更新表尾数据
|
|
5867
|
+
tableMethods.updateFooter();
|
|
5868
|
+
$xeTable.dispatchEvent('cell-delete-value', delPaqrams, evnt);
|
|
5852
5869
|
}
|
|
5853
|
-
// 如果按下 del 键,更新表尾数据
|
|
5854
|
-
tableMethods.updateFooter();
|
|
5855
|
-
$xeTable.dispatchEvent('cell-delete-value', delPaqrams, evnt);
|
|
5856
5870
|
}
|
|
5857
5871
|
} else if (hasBackspaceKey && keyboardConfig && keyboardOpts.isBack && (0, _utils.isEnableConf)(editConfig) && (selected.row || selected.column)) {
|
|
5858
5872
|
if (!isEditStatus) {
|
|
5859
5873
|
const {
|
|
5860
|
-
delMethod,
|
|
5861
5874
|
backMethod
|
|
5862
5875
|
} = keyboardOpts;
|
|
5863
5876
|
// 如果是删除键
|
|
@@ -5869,23 +5882,22 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
5869
5882
|
columnIndex: tableMethods.getColumnIndex(selected.column),
|
|
5870
5883
|
$table: $xeTable
|
|
5871
5884
|
};
|
|
5872
|
-
|
|
5873
|
-
|
|
5874
|
-
|
|
5875
|
-
|
|
5876
|
-
|
|
5877
|
-
|
|
5878
|
-
|
|
5879
|
-
|
|
5880
|
-
|
|
5881
|
-
|
|
5882
|
-
|
|
5883
|
-
|
|
5884
|
-
|
|
5885
|
-
|
|
5886
|
-
$xeTable.
|
|
5885
|
+
// 是否被禁用
|
|
5886
|
+
if (!beforeEditMethod || beforeEditMethod(params)) {
|
|
5887
|
+
if (backMethod) {
|
|
5888
|
+
backMethod({
|
|
5889
|
+
row: selected.row,
|
|
5890
|
+
rowIndex: tableMethods.getRowIndex(selected.row),
|
|
5891
|
+
column: selected.column,
|
|
5892
|
+
columnIndex: tableMethods.getColumnIndex(selected.column),
|
|
5893
|
+
$table: $xeTable
|
|
5894
|
+
});
|
|
5895
|
+
} else {
|
|
5896
|
+
(0, _util.setCellValue)(selected.row, selected.column, null);
|
|
5897
|
+
$xeTable.handleActived(selected.args, evnt);
|
|
5898
|
+
}
|
|
5899
|
+
$xeTable.dispatchEvent('cell-backspace-value', delPaqrams, evnt);
|
|
5887
5900
|
}
|
|
5888
|
-
$xeTable.dispatchEvent('cell-backspace-value', delPaqrams, evnt);
|
|
5889
5901
|
}
|
|
5890
5902
|
}
|
|
5891
5903
|
} else if (hasBackspaceKey && keyboardConfig && treeConfig && keyboardOpts.isBack && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
|
|
@@ -6035,6 +6047,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
6035
6047
|
if ($xeTable.closeMenu) {
|
|
6036
6048
|
$xeTable.closeMenu();
|
|
6037
6049
|
}
|
|
6050
|
+
const el = refElem.value;
|
|
6051
|
+
if (!el || !el.clientWidth) {
|
|
6052
|
+
return (0, _vue.nextTick)();
|
|
6053
|
+
}
|
|
6038
6054
|
tableMethods.updateCellAreas();
|
|
6039
6055
|
tableMethods.recalculate(true);
|
|
6040
6056
|
};
|
|
@@ -7743,6 +7759,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
7743
7759
|
}
|
|
7744
7760
|
});
|
|
7745
7761
|
});
|
|
7762
|
+
if ($xeTabs) {
|
|
7763
|
+
(0, _vue.watch)(() => $xeTabs ? $xeTabs.reactData.resizeFlag : null, () => {
|
|
7764
|
+
handleGlobalResizeEvent();
|
|
7765
|
+
});
|
|
7766
|
+
}
|
|
7746
7767
|
hooks.forEach(options => {
|
|
7747
7768
|
const {
|
|
7748
7769
|
setupTable
|
|
@@ -8074,6 +8095,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
8074
8095
|
'is--virtual-x': scrollXLoad,
|
|
8075
8096
|
'is--virtual-y': scrollYLoad
|
|
8076
8097
|
}],
|
|
8098
|
+
spellcheck: false,
|
|
8077
8099
|
onKeydown: keydownEvent
|
|
8078
8100
|
}, [
|
|
8079
8101
|
/**
|