pro-design-vue 1.3.20 → 1.3.22
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/dist/index.css +1 -1
- package/dist/index.full.js +1203 -1588
- package/dist/index.full.min.js +7 -9
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +7 -9
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +1204 -1589
- package/es/components/config-provider/src/typing.d.ts +3 -1
- package/es/components/table/src/components/Body/Body.vue.d.ts +270 -15
- package/es/components/table/src/components/Body/BodyCell.vue.d.ts +255 -0
- package/es/components/table/src/components/Body/BodyEditCell.d.ts +60 -0
- package/es/components/table/src/components/Body/BodyExtraCell.vue.d.ts +6 -1
- package/es/components/table/src/components/Body/BodyRow.vue.d.ts +270 -15
- package/es/components/table/src/components/Body/BodyRows.vue.d.ts +270 -15
- package/es/components/table/src/components/Body/{BodyCell.d.ts → BodyTextCell.d.ts} +1 -7
- package/es/components/table/src/components/ExpandIcon.vue.d.ts +3 -0
- package/es/components/table/src/components/InteralTable.vue.d.ts +332 -19
- package/es/components/table/src/components/Table.d.ts +60 -0
- package/es/components/table/src/components/context/TableContext.d.ts +6 -1
- package/es/components/table/src/components/interface.d.ts +308 -23
- package/es/components/table/src/hooks/useCellProps.d.ts +5 -1
- package/es/components/table/src/hooks/useEdit.d.ts +24 -7
- package/es/components/table/src/utils/form-model.d.ts +25 -0
- package/es/components/table/src/utils/util.d.ts +1 -0
- package/es/index.d.ts +291 -5
- package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs +35 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs +129 -0
- package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs +256 -0
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs.map +1 -0
- package/es/packages/components/table/src/components/Body/BodyExtraCell.vue.mjs +2 -1
- package/es/packages/components/table/src/components/Body/BodyExtraCell.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyExtraCell.vue2.mjs +1 -0
- package/es/packages/components/table/src/components/Body/BodyExtraCell.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs +66 -9
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs +26 -18
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/{BodyCell.mjs → BodyTextCell.mjs} +25 -155
- package/es/packages/components/table/src/components/Body/BodyTextCell.mjs.map +1 -0
- package/es/packages/components/table/src/components/ExpandIcon.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/ExpandIcon.vue2.mjs +4 -2
- package/es/packages/components/table/src/components/ExpandIcon.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue.mjs +24 -25
- package/es/packages/components/table/src/components/InteralTable.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs +43 -97
- package/es/packages/components/table/src/components/InteralTable.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Table.mjs +24 -20
- package/es/packages/components/table/src/components/Table.mjs.map +1 -1
- package/es/packages/components/table/src/components/context/TableContext.mjs.map +1 -1
- package/es/packages/components/table/src/components/interface.mjs +28 -0
- package/es/packages/components/table/src/components/interface.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useCellProps.mjs +8 -0
- package/es/packages/components/table/src/hooks/useCellProps.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useEdit.mjs +293 -18
- package/es/packages/components/table/src/hooks/useEdit.mjs.map +1 -1
- package/es/packages/components/table/src/utils/form-model.mjs +98 -0
- package/es/packages/components/table/src/utils/form-model.mjs.map +1 -0
- package/es/packages/components/table/src/utils/util.mjs +4 -1
- package/es/packages/components/table/src/utils/util.mjs.map +1 -1
- package/es/packages/utils/dom.mjs +15 -1
- package/es/packages/utils/dom.mjs.map +1 -1
- package/es/packages/utils/index.mjs +1 -1
- package/es/utils/dom.d.ts +2 -0
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/config-provider/src/typing.d.ts +3 -1
- package/lib/components/table/src/components/Body/Body.vue.d.ts +270 -15
- package/lib/components/table/src/components/Body/BodyCell.vue.d.ts +255 -0
- package/lib/components/table/src/components/Body/BodyEditCell.d.ts +60 -0
- package/lib/components/table/src/components/Body/BodyExtraCell.vue.d.ts +6 -1
- package/lib/components/table/src/components/Body/BodyRow.vue.d.ts +270 -15
- package/lib/components/table/src/components/Body/BodyRows.vue.d.ts +270 -15
- package/lib/components/table/src/components/Body/{BodyCell.d.ts → BodyTextCell.d.ts} +1 -7
- package/lib/components/table/src/components/ExpandIcon.vue.d.ts +3 -0
- package/lib/components/table/src/components/InteralTable.vue.d.ts +332 -19
- package/lib/components/table/src/components/Table.d.ts +60 -0
- package/lib/components/table/src/components/context/TableContext.d.ts +6 -1
- package/lib/components/table/src/components/interface.d.ts +308 -23
- package/lib/components/table/src/hooks/useCellProps.d.ts +5 -1
- package/lib/components/table/src/hooks/useEdit.d.ts +24 -7
- package/lib/components/table/src/utils/form-model.d.ts +25 -0
- package/lib/components/table/src/utils/util.d.ts +1 -0
- package/lib/index.d.ts +291 -5
- package/lib/packages/components/table/src/components/Body/BodyCell.vue.js +39 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js +133 -0
- package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js +260 -0
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js.map +1 -0
- package/lib/packages/components/table/src/components/Body/BodyExtraCell.vue.js +2 -1
- package/lib/packages/components/table/src/components/Body/BodyExtraCell.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyExtraCell.vue2.js +1 -0
- package/lib/packages/components/table/src/components/Body/BodyExtraCell.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js +66 -9
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js +24 -16
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/{BodyCell.js → BodyTextCell.js} +24 -154
- package/lib/packages/components/table/src/components/Body/BodyTextCell.js.map +1 -0
- package/lib/packages/components/table/src/components/ExpandIcon.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/ExpandIcon.vue2.js +4 -2
- package/lib/packages/components/table/src/components/ExpandIcon.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue.js +24 -25
- package/lib/packages/components/table/src/components/InteralTable.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/InteralTable.vue2.js +43 -97
- package/lib/packages/components/table/src/components/InteralTable.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Table.js +24 -20
- package/lib/packages/components/table/src/components/Table.js.map +1 -1
- package/lib/packages/components/table/src/components/context/TableContext.js.map +1 -1
- package/lib/packages/components/table/src/components/interface.js +28 -0
- package/lib/packages/components/table/src/components/interface.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useCellProps.js +8 -0
- package/lib/packages/components/table/src/hooks/useCellProps.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useEdit.js +292 -17
- package/lib/packages/components/table/src/hooks/useEdit.js.map +1 -1
- package/lib/packages/components/table/src/utils/form-model.js +102 -0
- package/lib/packages/components/table/src/utils/form-model.js.map +1 -0
- package/lib/packages/components/table/src/utils/util.js +4 -0
- package/lib/packages/components/table/src/utils/util.js.map +1 -1
- package/lib/packages/utils/dom.js +16 -0
- package/lib/packages/utils/dom.js.map +1 -1
- package/lib/packages/utils/index.js +2 -0
- package/lib/packages/utils/index.js.map +1 -1
- package/lib/utils/dom.d.ts +2 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table/table.less +78 -25
- package/es/components/table/src/components/Body/EditInput.vue.d.ts +0 -102
- package/es/packages/components/table/src/components/Body/BodyCell.mjs.map +0 -1
- package/es/packages/components/table/src/components/Body/EditInput.vue.mjs +0 -48
- package/es/packages/components/table/src/components/Body/EditInput.vue.mjs.map +0 -1
- package/es/packages/components/table/src/components/Body/EditInput.vue2.mjs +0 -151
- package/es/packages/components/table/src/components/Body/EditInput.vue2.mjs.map +0 -1
- package/lib/components/table/src/components/Body/EditInput.vue.d.ts +0 -102
- package/lib/packages/components/table/src/components/Body/BodyCell.js.map +0 -1
- package/lib/packages/components/table/src/components/Body/EditInput.vue.js +0 -52
- package/lib/packages/components/table/src/components/Body/EditInput.vue.js.map +0 -1
- package/lib/packages/components/table/src/components/Body/EditInput.vue2.js +0 -155
- package/lib/packages/components/table/src/components/Body/EditInput.vue2.js.map +0 -1
|
@@ -555,18 +555,45 @@
|
|
|
555
555
|
border: none !important;
|
|
556
556
|
}
|
|
557
557
|
|
|
558
|
-
&-cell-inner &-cell-content {
|
|
558
|
+
// &-cell-inner &-cell-content {
|
|
559
|
+
// width: 100%;
|
|
560
|
+
// // padding: 0 @table-padding-horizontal;
|
|
561
|
+
// padding: @table-padding-vertical @table-padding-horizontal;
|
|
562
|
+
// overflow-wrap: break-word;
|
|
563
|
+
// -webkit-font-smoothing: subpixel-antialiased;
|
|
564
|
+
// }
|
|
565
|
+
|
|
566
|
+
// &-cell-inner &-cell-content:not(&-cell-text-ellipsis) {
|
|
567
|
+
// word-break: break-all;
|
|
568
|
+
// white-space: normal;
|
|
569
|
+
// }
|
|
570
|
+
|
|
571
|
+
&-cell-content {
|
|
559
572
|
width: 100%;
|
|
560
573
|
// padding: 0 @table-padding-horizontal;
|
|
561
574
|
padding: @table-padding-vertical @table-padding-horizontal;
|
|
562
575
|
overflow-wrap: break-word;
|
|
563
576
|
-webkit-font-smoothing: subpixel-antialiased;
|
|
577
|
+
|
|
578
|
+
&-error {
|
|
579
|
+
position: absolute;
|
|
580
|
+
top: 50%;
|
|
581
|
+
right: 20px;
|
|
582
|
+
z-index: 1;
|
|
583
|
+
color: hsl(var(--pro-error));
|
|
584
|
+
transform: translateY(-50%);
|
|
585
|
+
|
|
586
|
+
&-message {
|
|
587
|
+
color: hsl(var(--pro-error));
|
|
588
|
+
}
|
|
589
|
+
}
|
|
564
590
|
}
|
|
565
591
|
|
|
566
|
-
&-cell-
|
|
592
|
+
&-cell-content:not(&-cell-text-ellipsis) {
|
|
567
593
|
word-break: break-all;
|
|
568
594
|
white-space: normal;
|
|
569
595
|
}
|
|
596
|
+
|
|
570
597
|
&.@{table-prefix-cls}-auto-height &-cell {
|
|
571
598
|
display: flex;
|
|
572
599
|
align-items: center;
|
|
@@ -904,9 +931,6 @@
|
|
|
904
931
|
color: hsl(var(--pro-muted-foreground));
|
|
905
932
|
user-select: none;
|
|
906
933
|
outline: none;
|
|
907
|
-
background: @table-expand-icon-bg;
|
|
908
|
-
border: @table-border-width-base @table-border-style-base @table-border-color;
|
|
909
|
-
border-radius: @checkbox-border-radius;
|
|
910
934
|
transform: scale((unit(@checkbox-size) / unit(@expand-icon-size)));
|
|
911
935
|
transition: all 0.3s;
|
|
912
936
|
@expand-icon-size: ceil(((@table-font-size-sm * 1.4 - @table-border-width-base * 3) / 2)) * 2 +
|
|
@@ -918,35 +942,64 @@
|
|
|
918
942
|
border-color: currentcolor;
|
|
919
943
|
}
|
|
920
944
|
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
945
|
+
&-arrow {
|
|
946
|
+
background: transparent;
|
|
947
|
+
|
|
948
|
+
&::before {
|
|
949
|
+
position: absolute;
|
|
950
|
+
content: '';
|
|
951
|
+
transition: transform 0.3s ease-out;
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
&::before {
|
|
955
|
+
top: ceil(((@table-font-size-sm * 1.4 - @table-border-width-base * 3 - 10) / 2));
|
|
956
|
+
width: 10px;
|
|
957
|
+
height: 10px;
|
|
958
|
+
border: 2px solid hsl(var(--pro-muted-foreground));
|
|
959
|
+
border-top-width: 0;
|
|
960
|
+
border-left-width: 0;
|
|
961
|
+
transform: rotate(45deg) scale(0.8);
|
|
962
|
+
}
|
|
927
963
|
}
|
|
928
964
|
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
right: 3px;
|
|
932
|
-
left: 3px;
|
|
933
|
-
height: @table-border-width-base;
|
|
965
|
+
&-arrow&-collapsed::before {
|
|
966
|
+
transform: rotate(-45deg) scale(0.8);
|
|
934
967
|
}
|
|
935
968
|
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
969
|
+
&-default {
|
|
970
|
+
background: @table-expand-icon-bg;
|
|
971
|
+
border: @table-border-width-base @table-border-style-base @table-border-color;
|
|
972
|
+
border-radius: @checkbox-border-radius;
|
|
973
|
+
|
|
974
|
+
&::before,
|
|
975
|
+
&::after {
|
|
976
|
+
position: absolute;
|
|
977
|
+
content: '';
|
|
978
|
+
background: currentcolor;
|
|
979
|
+
transition: transform 0.3s ease-out;
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
&::before {
|
|
983
|
+
top: ceil(((@table-font-size-sm * 1.4 - @table-border-width-base * 3) / 2));
|
|
984
|
+
right: 3px;
|
|
985
|
+
left: 3px;
|
|
986
|
+
height: @table-border-width-base;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
&::after {
|
|
990
|
+
top: 3px;
|
|
991
|
+
bottom: 3px;
|
|
992
|
+
left: ceil(((@table-font-size-sm * 1.4 - @table-border-width-base * 3) / 2));
|
|
993
|
+
width: @table-border-width-base;
|
|
994
|
+
transform: rotate(90deg);
|
|
995
|
+
}
|
|
942
996
|
}
|
|
943
997
|
|
|
944
|
-
|
|
945
|
-
&-collapsed::before {
|
|
998
|
+
&-default&-collapsed::before {
|
|
946
999
|
transform: rotate(-180deg);
|
|
947
1000
|
}
|
|
948
1001
|
|
|
949
|
-
&-collapsed::after {
|
|
1002
|
+
&-default&-collapsed::after {
|
|
950
1003
|
transform: rotate(0deg);
|
|
951
1004
|
}
|
|
952
1005
|
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import type { PropType } from 'vue';
|
|
2
|
-
import type { CellEditorArgs, FinallyColumnType } from '../interface';
|
|
3
|
-
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
-
prefixCls: {
|
|
5
|
-
type: StringConstructor;
|
|
6
|
-
};
|
|
7
|
-
recordIndexs: {
|
|
8
|
-
type: PropType<number[]>;
|
|
9
|
-
};
|
|
10
|
-
rowKey: {
|
|
11
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
12
|
-
};
|
|
13
|
-
column: {
|
|
14
|
-
type: PropType<FinallyColumnType>;
|
|
15
|
-
default: () => {};
|
|
16
|
-
};
|
|
17
|
-
record: {
|
|
18
|
-
type: PropType<any>;
|
|
19
|
-
default: () => {};
|
|
20
|
-
};
|
|
21
|
-
value: {
|
|
22
|
-
validator: () => boolean;
|
|
23
|
-
};
|
|
24
|
-
customEditable: {
|
|
25
|
-
type: BooleanConstructor;
|
|
26
|
-
default: boolean;
|
|
27
|
-
};
|
|
28
|
-
multiple: {
|
|
29
|
-
type: BooleanConstructor;
|
|
30
|
-
default: boolean;
|
|
31
|
-
};
|
|
32
|
-
autoHeight: {
|
|
33
|
-
type: BooleanConstructor;
|
|
34
|
-
default: boolean;
|
|
35
|
-
};
|
|
36
|
-
cellKey: {
|
|
37
|
-
type: StringConstructor;
|
|
38
|
-
};
|
|
39
|
-
getPopupContainer: PropType<() => HTMLElement>;
|
|
40
|
-
onCloseEditor: FunctionConstructor;
|
|
41
|
-
onKeydown: PropType<(e: KeyboardEvent) => void>;
|
|
42
|
-
}>, {
|
|
43
|
-
modelValue: import("vue").Ref<unknown, unknown>;
|
|
44
|
-
inputRef: import("vue").ShallowRef<any, any>;
|
|
45
|
-
handleInput: (e: Event) => void;
|
|
46
|
-
handleKeyDown: (e: KeyboardEvent) => void;
|
|
47
|
-
handleBlur: () => void;
|
|
48
|
-
tableSlots: import("../context/TableSlotsContext").ContextSlots;
|
|
49
|
-
popup: import("../context/PopupContext").PopupContextProps;
|
|
50
|
-
save: () => void;
|
|
51
|
-
closeEditor: (key?: any) => void;
|
|
52
|
-
getCustomEditorProps: () => CellEditorArgs;
|
|
53
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("keydown" | "closeEditor")[], "keydown" | "closeEditor", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
54
|
-
prefixCls: {
|
|
55
|
-
type: StringConstructor;
|
|
56
|
-
};
|
|
57
|
-
recordIndexs: {
|
|
58
|
-
type: PropType<number[]>;
|
|
59
|
-
};
|
|
60
|
-
rowKey: {
|
|
61
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
62
|
-
};
|
|
63
|
-
column: {
|
|
64
|
-
type: PropType<FinallyColumnType>;
|
|
65
|
-
default: () => {};
|
|
66
|
-
};
|
|
67
|
-
record: {
|
|
68
|
-
type: PropType<any>;
|
|
69
|
-
default: () => {};
|
|
70
|
-
};
|
|
71
|
-
value: {
|
|
72
|
-
validator: () => boolean;
|
|
73
|
-
};
|
|
74
|
-
customEditable: {
|
|
75
|
-
type: BooleanConstructor;
|
|
76
|
-
default: boolean;
|
|
77
|
-
};
|
|
78
|
-
multiple: {
|
|
79
|
-
type: BooleanConstructor;
|
|
80
|
-
default: boolean;
|
|
81
|
-
};
|
|
82
|
-
autoHeight: {
|
|
83
|
-
type: BooleanConstructor;
|
|
84
|
-
default: boolean;
|
|
85
|
-
};
|
|
86
|
-
cellKey: {
|
|
87
|
-
type: StringConstructor;
|
|
88
|
-
};
|
|
89
|
-
getPopupContainer: PropType<() => HTMLElement>;
|
|
90
|
-
onCloseEditor: FunctionConstructor;
|
|
91
|
-
onKeydown: PropType<(e: KeyboardEvent) => void>;
|
|
92
|
-
}>> & Readonly<{
|
|
93
|
-
onKeydown?: ((...args: any[]) => any) | undefined;
|
|
94
|
-
onCloseEditor?: ((...args: any[]) => any) | undefined;
|
|
95
|
-
}>, {
|
|
96
|
-
record: any;
|
|
97
|
-
autoHeight: boolean;
|
|
98
|
-
multiple: boolean;
|
|
99
|
-
column: FinallyColumnType<import("../interface").DefaultRecordType>;
|
|
100
|
-
customEditable: boolean;
|
|
101
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
102
|
-
export default _default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BodyCell.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyCell.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-09 11:37:05\n * @LastEditors: shen\n * @LastEditTime: 2025-11-17 17:18:01\n * @Description:\n */\nimport type { InnerKeydownPayload, RangeCell } from '../../hooks/RangeInterface'\nimport type { PropType, ExtractPropTypes, FunctionalComponent, VNode } from 'vue'\nimport type { FinallyColumnType, Key, RowType } from '../interface'\n\nimport { withDirectives, createVNode, mergeProps, cloneVNode } from 'vue'\nimport { Badge, Tag } from 'ant-design-vue'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectRangeStore } from '../../hooks/useRangeStore'\nimport { useInjectLevel } from '../../hooks/useLevel'\nimport { isValidElement, ensureValidVNode } from '../../utils/util'\nimport { isEventSupported } from '../../utils/events'\nimport { isIOSUserAgent } from '../../utils/browser'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { get, isObject, isPromise, runFunction } from '@pro-design-vue/utils'\nimport { cellResize } from '@pro-design-vue/directives'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport RowHandler from '../Drag/RowHandler.vue'\nimport BodyCellTooltip from './BodyCellTooltip'\nimport EditInput from './EditInput.vue'\n\nconst cellProps = {\n prefixCls: String as PropType<string>,\n rowIndex: { type: Number as PropType<number>, required: true },\n flattenRowIndex: { type: Number, required: true },\n rowKey: { type: [Number, String] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n type: { type: String as PropType<RowType> },\n height: Number as PropType<number>,\n hasAppendNode: Boolean as PropType<boolean>,\n resizeObserver: { type: Object as PropType<ResizeObserver> },\n calMaxHeight: Function,\n tooltipOpen: Boolean as PropType<boolean>,\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onCellLeave: Function,\n editCellKeys: Array as PropType<string[]>,\n onOpenEditor: Function,\n onCloseEditor: Function,\n onMousedown: Function as PropType<(e: any, cellPosition: RangeCell) => void>,\n onMousemove: Function as PropType<(e: any, cellPosition: RangeCell) => void>,\n onKeydown: Function as PropType<(e: KeyboardEvent, payload: InnerKeydownPayload) => void>,\n onClick: Function as PropType<(e: MouseEvent, cellPosition: RangeCell) => void>,\n}\n\ntype CellProps = Partial<ExtractPropTypes<typeof cellProps>>\nlet lastClickTime = 0\n\nconst ValueStatusEnum = {\n success: '#03bf64',\n processing: '#315efb',\n error: '#e8353e',\n warning: '#eb8903',\n}\nconst BodyCell: FunctionalComponent<CellProps> = (props, { slots, emit }) => {\n const { table } = useProConfigInject()\n const tableSlotsContext = useInjectSlots()\n const tableContext = useInjectTable()\n const { onBodyCellContextmenu } = useInjectBody()\n const { getRangeCellClass } = useInjectRangeStore()\n const level = useInjectLevel()\n const { oldValuesMap } = useEditInject()\n const {\n prefixCls,\n column,\n wrapText,\n rowKey,\n item,\n rowIndex,\n hasAppendNode,\n tooltipOpen,\n editCellKeys,\n } = props\n\n const columnKey = column!.columnKey\n const valueEnum = runFunction(column?.valueEnum, props.item)\n const rowDrag =\n typeof column!.rowDrag == 'function'\n ? column!.rowDrag({ record: item, column: column!.originColumn! })\n : !!column!.rowDrag\n const isRowDrag = column!.rowDrag\n\n const sorterState = tableContext.sorterStates.value.find(({ key }) => key === columnKey)\n const sorterOrder = sorterState ? sorterState.sortOrder : null\n const sorterInfo = { columnKey, sorterState, sorterOrder }\n const key = `${props.rowKey} ${columnKey}`\n const value = column!.dataIndex\n ? column!.renderText\n ? column!.renderText(get(item, column!.dataIndex), item, rowIndex!)\n : get(item, column!.dataIndex)\n : undefined\n const valueStatus = runFunction(column?.valueStatus, value, props.item)\n const recordIndexs = tableContext.getIndexsByKey(rowKey!)\n\n let customEditable = false\n let isEditing = editCellKeys?.includes(key)\n\n if (isEditing) {\n const editable =\n 'function' == typeof column!.editable &&\n column!.editable({\n record: item,\n column: column!.originColumn!,\n recordIndexs,\n value,\n })\n customEditable = 'cellEditorSlot' === column!.editable || 'cellEditorSlot' === editable\n isEditing =\n isEditing &&\n ((customEditable && !!tableSlotsContext.cellEditor) ||\n true === column!.editable ||\n !!editable)\n }\n\n let { editableTrigger = ['dblClick'] } = column!\n editableTrigger = Array.isArray(editableTrigger) ? editableTrigger : [editableTrigger]\n\n const cellInnerClass = { [`${prefixCls}-cell-inner`]: true }\n const cellContentClass = {\n [`${prefixCls}-cell-content`]: true,\n [`${prefixCls}-cell-wrap-text`]: column!.wrapText === undefined ? wrapText : column!.wrapText,\n [`${prefixCls}-cell-text-ellipsis`]: !!column!.ellipsis,\n }\n\n const cellContentStyle = {\n textAlign: `${column!.align}`,\n color: valueStatus ? ValueStatusEnum[valueStatus] || valueStatus : undefined,\n }\n\n if (isObject(column!.ellipsis) && column!.ellipsis.line! > 1) {\n cellContentStyle['-webkit-box-orient'] = 'vertical'\n cellContentStyle['-webkit-line-clamp'] = column!.ellipsis.line!\n cellContentStyle['white-space'] = 'normal'\n cellContentStyle['display'] = '-webkit-box'\n cellContentStyle['padding'] = '0 16px'\n }\n\n const cellRender = tableContext.allCellProps.value?.[rowKey!]?.[column!.columnKey] || {}\n const cellProps: any = cellRender.props || {}\n const cellRowSpan = cellProps.rowSpan!\n\n const cellPosition = { rowIndex: props.flattenRowIndex, rowPinned: null, column: column }\n\n const cellClass = {\n [`${prefixCls}-cell`]: true,\n [`${prefixCls}-first-cell`]: column!.columnIndex === 0,\n [`${prefixCls}-body-cell`]: true,\n [`${prefixCls}-cell-multi`]: cellRowSpan > 1,\n [`${prefixCls}-cell-hidden`]: cellRowSpan === 0,\n [`${prefixCls}-column-sort`]: sorterInfo.sorterOrder,\n [`${prefixCls}-with-append`]: hasAppendNode,\n [`${prefixCls}-cell-inline-edit`]: isEditing,\n [getRangeCellClass(cellPosition)]: true,\n }\n\n const openEditor = () => {\n const oldValue =\n props.column?.valueGetter?.({\n value,\n record: item,\n column: column!,\n recordIndexs: recordIndexs,\n }) ?? value\n const beforeOpen = tableContext.props?.onBeforeOpenEditor?.(cellRenderArgs)\n if (isPromise(beforeOpen)) {\n beforeOpen.then((res) => {\n if (res) {\n emit('openEditor', key, { [key]: oldValue })\n tableContext.props?.onOpenEditor?.(cellRenderArgs)\n }\n })\n } else {\n if (false !== beforeOpen) {\n emit('openEditor', key, { [key]: oldValue })\n tableContext.props?.onOpenEditor?.(cellRenderArgs)\n }\n }\n }\n\n const closeEditor = (currentKey?: Key) => {\n const beforeClose = tableContext.props?.onBeforeCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n if (isPromise(beforeClose)) {\n beforeClose.then((res) => {\n if (res) {\n emit('closeEditor', currentKey ?? key)\n tableContext.props?.onCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n }\n })\n } else {\n if (false !== beforeClose) {\n emit('closeEditor', currentKey ?? key)\n tableContext.props?.onCloseEditor?.({\n ...cellRenderArgs,\n oldValue: oldValuesMap.value[key],\n })\n }\n }\n }\n\n const cellRenderArgs: any = {\n record: item,\n column: column!.originColumn!,\n text: value,\n value,\n index: rowIndex!,\n recordIndexs: tableContext.getIndexsByKey(rowKey!),\n key,\n valueStatus,\n openEditor,\n closeEditor,\n }\n\n let bodyCell: VNode[] = (recordIndexs && tableSlotsContext.bodyCell?.(cellRenderArgs)) || []\n\n const emptyText =\n tableContext.props.columnEmptyText !== false\n ? (tableContext.props.columnEmptyText ?? table?.value?.columnEmptyText ?? '-')\n : ''\n\n if (!ensureValidVNode(bodyCell)) {\n let cellValue\n if (cellRender.children) {\n cellValue = cellRender.children\n } else if (valueEnum) {\n const option = valueEnum[value]\n if (option && option.text) {\n if (option.status) {\n cellValue = createVNode(Badge, {\n status: option.status,\n text: option.text,\n })\n } else if (option.color) {\n cellValue = createVNode(\n Tag,\n {\n color: option.color,\n bordered: false,\n },\n () => option.text,\n )\n } else {\n cellValue = option.text\n }\n } else {\n cellValue = value === null || value === undefined || value === '' ? emptyText : value\n }\n } else {\n cellValue = value === null || value === undefined || value === '' ? emptyText : value\n }\n bodyCell = [\n (typeof cellValue === 'object' && isValidElement(cellValue)) || typeof cellValue !== 'object'\n ? cellValue\n : null,\n ]\n }\n\n const cellResizeValue = {\n resizeObserver: props.resizeObserver,\n calMaxHeight: props.calMaxHeight,\n }\n\n const tooltip = column!.tooltip\n const autoHeight = props.height === undefined && cellRowSpan === 1 && column?.autoHeight\n const altTitle =\n !column!.showTitle || (typeof value !== 'string' && typeof value !== 'number')\n ? undefined\n : value\n const tooltipStatus = !!tooltip && tooltipOpen\n\n const cellKeyProps = tableContext.props.ignoreCellKey ? {} : { key: key }\n\n let cellVNode = createVNode(\n 'div',\n {\n class: cellInnerClass,\n style: cellProps?.style?.height ? '' : `height: ${props.height}px`,\n 'data-cell-auto': autoHeight,\n },\n [\n createVNode(\n 'div',\n mergeProps(\n {\n class: cellContentClass,\n style: cellContentStyle,\n title: altTitle,\n },\n cellKeyProps,\n ),\n [hasAppendNode ? slots.appendNode?.() : null, bodyCell],\n ),\n ],\n )\n cellVNode = autoHeight ? withDirectives(cellVNode, [[cellResize, cellResizeValue]]) : cellVNode\n let renderCellVNode: any = null\n let showTooltip = tooltipStatus\n if (tooltipStatus) {\n const tooltipProps = { ...(column!.tooltip === true ? {} : column!.tooltip) } as any\n if (tooltipProps.title) {\n tooltipProps.title = tooltipProps.title(cellRenderArgs)\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n } else {\n tooltipProps.title = value\n showTooltip = !(!tooltipProps.title && tooltipProps.title !== 0)\n }\n\n // if (!tooltipProps.placement) {\n // if (!column!.align || column!.align === 'left') {\n // tooltipProps.placement = 'topLeft'\n // } else if (column!.align === 'center') {\n // tooltipProps.placement = 'top'\n // } else {\n // tooltipProps.placement = 'topRight'\n // }\n // }\n\n renderCellVNode = createVNode(\n BodyCellTooltip,\n {\n getPopupContainer: props.getPopupContainer,\n align: { offset: [0, 13] },\n tooltipProps,\n open: showTooltip,\n allowEnter: tooltipProps?.allowEnter,\n // shouldOpen:\n // \t!tooltipProps?.shouldOpen ||\n // \t(isEllipsis => {\n // \t\treturn tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n // \t}),\n shouldOpen: (isEllipsis) => {\n return tooltipProps?.shouldOpen\n ? tooltipProps?.shouldOpen?.(isEllipsis, cellRenderArgs)\n : isEllipsis\n },\n onCellLeave: () => {\n emit('cellLeave')\n },\n },\n {\n default: () => [\n false !== tooltipProps.allowEnter\n ? cellVNode\n : cloneVNode(cellVNode, {\n onMouseleave: () => {\n emit('cellLeave')\n },\n }),\n ],\n title: () => tableSlotsContext.tooltipTitle?.(cellRenderArgs),\n },\n )\n } else {\n renderCellVNode = cellVNode\n }\n\n const onDblclick = () => {\n editableTrigger.includes('dblClick') && openEditor()\n }\n\n const editInputRender = isEditing\n ? createVNode(\n EditInput,\n {\n prefixCls,\n recordIndexs,\n rowKey,\n cellKey: key,\n column: column,\n record: item,\n onCloseEditor: closeEditor,\n value,\n customEditable,\n getPopupContainer: props.getPopupContainer,\n multiple: editCellKeys!.length > 1,\n autoHeight,\n },\n null,\n )\n : null\n\n return createVNode(\n 'div',\n mergeProps(cellProps, {\n onMouseleave: () => {\n showTooltip || emit('cellLeave')\n },\n tabindex: '-1',\n role: 'cell',\n 'data-column-key': columnKey,\n class: cellClass,\n onContextmenu: (e) => {\n if (\n (tableContext.props.hasContextmenuPopup || tableContext.props.rangeSelection) &&\n 0 === e.button &&\n e.ctrlKey\n ) {\n e.preventDefault()\n } else {\n onBodyCellContextmenu(e, cellRenderArgs, props.type!)\n editableTrigger.includes('contextmenu') && openEditor()\n }\n },\n onDblclick,\n onClick: (e: MouseEvent) => {\n tableContext.props?.onCellClick?.(e, cellRenderArgs)\n if (\n (() => {\n if (!isIOSUserAgent() || isEventSupported('dblclick')) return false\n const now = new Date().getTime()\n const is = now - lastClickTime < 200\n lastClickTime = now\n return is\n })()\n ) {\n onDblclick()\n e.preventDefault()\n return\n }\n emit('click', e, cellPosition)\n editableTrigger.includes('click') && openEditor()\n },\n onMousedown: (e: any) => {\n emit('mousedown', e, cellPosition)\n },\n onMousemove: (e: any) => {\n emit('mousemove', e, cellPosition)\n },\n onKeydown: (e: KeyboardEvent) => {\n emit('keydown', e, { cellPosition, isEditing })\n },\n 'data-level': level,\n 'aria-selected': 'true',\n }),\n [\n isRowDrag\n ? createVNode(\n RowHandler,\n {\n disabled: !rowDrag,\n columnKey,\n column: column!.originColumn,\n },\n { label: () => bodyCell },\n )\n : null,\n renderCellVNode,\n autoHeight && editInputRender\n ? createVNode(\n 'label',\n {\n class: `${prefixCls}-cell-edit-wrapper`,\n onMousedown: (e) => e.stopPropagation(),\n },\n [withDirectives(editInputRender, [[cellResize, cellResizeValue]])],\n )\n : editInputRender\n ? createVNode(\n 'label',\n {\n class: `${prefixCls}-cell-edit-wrapper`,\n onMousedown: (e) => e.stopPropagation(),\n },\n [editInputRender],\n )\n : null,\n ],\n )\n}\n\nBodyCell.props = cellProps\nexport default BodyCell\n"],"names":["key","cellProps","_a","_b","_c","_d","_e","_f","_g"],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import _sfc_main from './EditInput.vue2.mjs';
|
|
2
|
-
import { createElementBlock, openBlock, normalizeClass, withDirectives, Fragment, createBlock, createCommentVNode, resolveDynamicComponent, normalizeProps, mergeProps, vModelText } from 'vue';
|
|
3
|
-
import _export_sfc from '../../../../../../_virtual/_plugin-vue_export-helper.mjs';
|
|
4
|
-
|
|
5
|
-
const _hoisted_1 = ["data-cell-auto"];
|
|
6
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
7
|
-
return openBlock(), createElementBlock("div", {
|
|
8
|
-
class: normalizeClass(`${_ctx.prefixCls}-cell-edit-inner`),
|
|
9
|
-
"data-cell-auto": _ctx.autoHeight
|
|
10
|
-
}, [
|
|
11
|
-
_ctx.customEditable ? (openBlock(), createElementBlock(
|
|
12
|
-
Fragment,
|
|
13
|
-
{ key: 0 },
|
|
14
|
-
[
|
|
15
|
-
_ctx.tableSlots.cellEditor ? (openBlock(), createBlock(
|
|
16
|
-
resolveDynamicComponent(_ctx.tableSlots.cellEditor),
|
|
17
|
-
normalizeProps(mergeProps({ key: 0 }, _ctx.getCustomEditorProps())),
|
|
18
|
-
null,
|
|
19
|
-
16
|
|
20
|
-
/* FULL_PROPS */
|
|
21
|
-
)) : createCommentVNode("v-if", true)
|
|
22
|
-
],
|
|
23
|
-
64
|
|
24
|
-
/* STABLE_FRAGMENT */
|
|
25
|
-
)) : withDirectives((openBlock(), createElementBlock(
|
|
26
|
-
"input",
|
|
27
|
-
{
|
|
28
|
-
key: 1,
|
|
29
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.modelValue = $event),
|
|
30
|
-
ref: "inputRef",
|
|
31
|
-
class: normalizeClass(`${_ctx.prefixCls}-cell-edit-input`),
|
|
32
|
-
type: "text",
|
|
33
|
-
onInput: _cache[1] || (_cache[1] = (...args) => _ctx.handleInput && _ctx.handleInput(...args)),
|
|
34
|
-
onKeydown: _cache[2] || (_cache[2] = (...args) => _ctx.handleKeyDown && _ctx.handleKeyDown(...args)),
|
|
35
|
-
onBlur: _cache[3] || (_cache[3] = (...args) => _ctx.handleBlur && _ctx.handleBlur(...args))
|
|
36
|
-
},
|
|
37
|
-
null,
|
|
38
|
-
34
|
|
39
|
-
/* CLASS, NEED_HYDRATION */
|
|
40
|
-
)), [
|
|
41
|
-
[vModelText, _ctx.modelValue]
|
|
42
|
-
])
|
|
43
|
-
], 10, _hoisted_1);
|
|
44
|
-
}
|
|
45
|
-
var EditInput = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
46
|
-
|
|
47
|
-
export { EditInput as default };
|
|
48
|
-
//# sourceMappingURL=EditInput.vue.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditInput.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/EditInput.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 22:29:52\n * @LastEditors: shen\n * @LastEditTime: 2025-09-02 15:15:42\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, ref, shallowRef, onMounted, nextTick, computed } from 'vue'\nimport { set, isPromise } from '@pro-design-vue/utils'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectPopup } from '../context/PopupContext'\nimport devWarning from '../../utils/devWarning'\nimport KeyCode from '../../utils/KeyCode'\n\nimport type { PropType } from 'vue'\nimport type { CellEditorArgs, FinallyColumnType } from '../interface'\n\nexport default defineComponent({\n inheritAttrs: false,\n props: {\n prefixCls: { type: String },\n recordIndexs: { type: Array as PropType<number[]> },\n rowKey: { type: [Number, String] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n record: { type: Object as PropType<any>, default: () => ({}) },\n value: { validator: () => true },\n customEditable: { type: Boolean, default: false },\n multiple: { type: Boolean, default: false },\n autoHeight: { type: Boolean, default: false },\n cellKey: { type: String },\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onCloseEditor: Function,\n onKeydown: Function as PropType<(e: KeyboardEvent) => void>,\n },\n emits: ['closeEditor', 'keydown'],\n setup(props, { expose, emit }) {\n const tableSlots = useInjectSlots()\n const popup = useInjectPopup()\n const oldValue =\n props.column?.valueGetter?.({\n value: props.value,\n record: props.record,\n column: props.column,\n recordIndexs: props.recordIndexs!,\n }) ?? props.value\n\n const modelValue = ref(oldValue)\n const inputRef = shallowRef<any>(null)\n\n const tableContext = useInjectTable()\n\n onMounted(() => {\n nextTick(() => {\n if (inputRef.value && !props.multiple) {\n inputRef.value?.focus?.()\n inputRef.value?.select?.()\n }\n })\n })\n\n expose({ value: modelValue, inputRef })\n\n const onInput = (e: Event, val: any) => {\n props.column.valueChange?.(e, {\n column: props.column,\n record: props.record,\n recordIndexs: props.recordIndexs!,\n newValue: val,\n oldValue: oldValue,\n })\n }\n const childrenColumnName = computed(() => tableContext.props.childrenColumnName || 'children')\n\n const save = () => {\n const recordIndexs = props.recordIndexs!\n let dataSource = tableContext.props.dataSource || []\n let record: any = {}\n recordIndexs.forEach((index) => {\n record = dataSource[index]\n dataSource = record[childrenColumnName.value] || []\n })\n const value =\n props.column.valueParser?.({\n column: props.column,\n record,\n recordIndexs,\n newValue: modelValue.value,\n oldValue,\n }) ?? modelValue.value\n const valueSetter = props.column.valueSetter\n if (valueSetter) {\n const result = valueSetter({\n column: props.column,\n record: record,\n recordIndexs: recordIndexs,\n newValue: modelValue.value,\n oldValue: oldValue,\n })\n if (isPromise(result)) {\n result\n .then((res) => {\n res && emit('closeEditor', [props.cellKey])\n })\n .catch(() => {})\n return\n }\n result && emit('closeEditor', [props.cellKey])\n } else {\n devWarning(\n undefined !== props.column.dataIndex || null !== props.column.dataIndex,\n 'Editable',\n 'If not have column dataIndex, you should to set valueSetter for editable columns, otherwise the value cannot be modified.',\n )\n set(record, props.column.dataIndex!, value)\n emit('closeEditor', [props.cellKey])\n }\n }\n\n let isKeyDown = false\n const closeEditor = (key?: any) => {\n emit('closeEditor', key ?? [props.cellKey])\n }\n\n return {\n modelValue,\n inputRef,\n handleInput: (e: Event) => {\n onInput(e, (e.target as HTMLInputElement)?.value)\n },\n handleKeyDown: (e: KeyboardEvent) => {\n const { which } = e\n if (which === KeyCode.ENTER) {\n save()\n } else {\n if (which === KeyCode.ESC) {\n isKeyDown = true\n emit('closeEditor', null)\n }\n emit('keydown', e)\n }\n },\n handleBlur: () => {\n isKeyDown || props.multiple || save()\n },\n tableSlots,\n popup,\n save,\n closeEditor,\n getCustomEditorProps: (): CellEditorArgs => ({\n modelValue,\n save,\n onInput,\n closeEditor,\n column: props.column.originColumn!,\n editorRef: inputRef,\n getPopupContainer: props.getPopupContainer as any,\n record: props.record,\n recordIndexs: props.recordIndexs!,\n }),\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-cell-edit-inner`\" :data-cell-auto=\"autoHeight\">\n <template v-if=\"customEditable\">\n <component\n v-if=\"tableSlots.cellEditor\"\n v-bind=\"getCustomEditorProps()\"\n :is=\"tableSlots.cellEditor\"\n />\n </template>\n <input\n v-else\n v-model=\"modelValue\"\n ref=\"inputRef\"\n :class=\"`${prefixCls}-cell-edit-input`\"\n type=\"text\"\n @input=\"handleInput\"\n @keydown=\"handleKeyDown\"\n @blur=\"handleBlur\"\n />\n </div>\n</template>\n"],"names":["_createElementBlock","_normalizeClass","_openBlock","_Fragment","_createBlock","_resolveDynamicComponent","_normalizeProps","_mergeProps","_createCommentVNode","_withDirectives"],"mappings":";;;;;;sBAuKEA,kBAAA,CAkBM,KAAA,EAAA;AAAA,IAlBA,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,gBAAA,CAAA,CAAA;AAAA,IAAqB,kBAAgB,IAAA,CAAA;AAAA,GAAA,EAAA;AAAA,IAC5C,IAAA,CAAA,cAAA,IAAAC,SAAA,EAAA,EAAhBF,kBAAA;AAAA,MAMWG,QAAA;AAAA,MAAA,EAAA,KAAA,CAAA,EAAA;AAAA,MAAA;AAAA,QAJD,IAAA,YAAW,UAAA,IAAAD,SAAA,EAAA,EADnBE,WAAA;AAAA,UAIEC,uBAAA,CADK,IAAA,YAAW,UAAU,CAAA;AAAA,UAAAC,cAAA,CAAAC,WAAA,EAAA,GAAA,EAAA,GAAA,EADlB,IAAA,CAAA,oBAAA,EAAoB,CAAA,CAAA;AAAA,UAAA,IAAA;AAAA,UAAA;AAAA;AAAA,SAAA,IAAAC,kBAAA,CAAA,MAAA,EAAA,IAAA;AAAA;;;KAIhC,IAAAC,cAAA,EAAAP,SAAA,EAAA,EAAAF,kBAAA;AAAA,MASE,OAAA;AAAA,MAAA;AAAA,QAAA,GAAA,EAAA,CAAA;AAAA,qEAPS,IAAA,CAAA,UAAA,GAAU,MAAA,CAAA;AAAA,QACnB,GAAA,EAAI,UAAA;AAAA,QACH,KAAA,EAAKC,cAAA,IAAK,IAAA,CAAA,SAAS,CAAA,gBAAA,CAAA,CAAA;AAAA,QACpB,IAAA,EAAK,MAAA;AAAA,QACJ,OAAA,EAAK,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,WAAA,IAAA,IAAA,CAAA,WAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,QACP,SAAA,EAAO,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,aAAA,IAAA,IAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,CAAA;AAAA,QACT,MAAA,EAAI,MAAA,CAAA,CAAA,CAAA,KAAA,OAAA,CAAA,CAAA,GAAA,CAAA,GAAA,IAAA,KAAE,IAAA,CAAA,UAAA,IAAA,IAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA;AAAA,OAAA;AAAA;;;;mBANE,IAAA,CAAA,UAAU;AAAA,KAAA;AAAA;;;;;;"}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { defineComponent, ref, shallowRef, onMounted, nextTick, computed } from 'vue';
|
|
2
|
-
import { useInjectSlots } from '../context/TableSlotsContext.mjs';
|
|
3
|
-
import { useInjectTable } from '../context/TableContext.mjs';
|
|
4
|
-
import { useInjectPopup } from '../context/PopupContext.mjs';
|
|
5
|
-
import devWarning from '../../utils/devWarning.mjs';
|
|
6
|
-
import KeyCode from '../../utils/KeyCode.mjs';
|
|
7
|
-
import { isPromise } from '../../../../../utils/validate.mjs';
|
|
8
|
-
import { set } from 'lodash-unified';
|
|
9
|
-
|
|
10
|
-
var _sfc_main = defineComponent({
|
|
11
|
-
inheritAttrs: false,
|
|
12
|
-
props: {
|
|
13
|
-
prefixCls: { type: String },
|
|
14
|
-
recordIndexs: { type: Array },
|
|
15
|
-
rowKey: { type: [Number, String] },
|
|
16
|
-
column: { type: Object, default: () => ({}) },
|
|
17
|
-
record: { type: Object, default: () => ({}) },
|
|
18
|
-
value: { validator: () => true },
|
|
19
|
-
customEditable: { type: Boolean, default: false },
|
|
20
|
-
multiple: { type: Boolean, default: false },
|
|
21
|
-
autoHeight: { type: Boolean, default: false },
|
|
22
|
-
cellKey: { type: String },
|
|
23
|
-
getPopupContainer: Function,
|
|
24
|
-
onCloseEditor: Function,
|
|
25
|
-
onKeydown: Function
|
|
26
|
-
},
|
|
27
|
-
emits: ["closeEditor", "keydown"],
|
|
28
|
-
setup(props, { expose, emit }) {
|
|
29
|
-
var _a, _b, _c;
|
|
30
|
-
const tableSlots = useInjectSlots();
|
|
31
|
-
const popup = useInjectPopup();
|
|
32
|
-
const oldValue = (_c = (_b = (_a = props.column) == null ? void 0 : _a.valueGetter) == null ? void 0 : _b.call(_a, {
|
|
33
|
-
value: props.value,
|
|
34
|
-
record: props.record,
|
|
35
|
-
column: props.column,
|
|
36
|
-
recordIndexs: props.recordIndexs
|
|
37
|
-
})) != null ? _c : props.value;
|
|
38
|
-
const modelValue = ref(oldValue);
|
|
39
|
-
const inputRef = shallowRef(null);
|
|
40
|
-
const tableContext = useInjectTable();
|
|
41
|
-
onMounted(() => {
|
|
42
|
-
nextTick(() => {
|
|
43
|
-
var _a2, _b2, _c2, _d;
|
|
44
|
-
if (inputRef.value && !props.multiple) {
|
|
45
|
-
(_b2 = (_a2 = inputRef.value) == null ? void 0 : _a2.focus) == null ? void 0 : _b2.call(_a2);
|
|
46
|
-
(_d = (_c2 = inputRef.value) == null ? void 0 : _c2.select) == null ? void 0 : _d.call(_c2);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
expose({ value: modelValue, inputRef });
|
|
51
|
-
const onInput = (e, val) => {
|
|
52
|
-
var _a2, _b2;
|
|
53
|
-
(_b2 = (_a2 = props.column).valueChange) == null ? void 0 : _b2.call(_a2, e, {
|
|
54
|
-
column: props.column,
|
|
55
|
-
record: props.record,
|
|
56
|
-
recordIndexs: props.recordIndexs,
|
|
57
|
-
newValue: val,
|
|
58
|
-
oldValue
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
const childrenColumnName = computed(() => tableContext.props.childrenColumnName || "children");
|
|
62
|
-
const save = () => {
|
|
63
|
-
var _a2, _b2, _c2;
|
|
64
|
-
const recordIndexs = props.recordIndexs;
|
|
65
|
-
let dataSource = tableContext.props.dataSource || [];
|
|
66
|
-
let record = {};
|
|
67
|
-
recordIndexs.forEach((index) => {
|
|
68
|
-
record = dataSource[index];
|
|
69
|
-
dataSource = record[childrenColumnName.value] || [];
|
|
70
|
-
});
|
|
71
|
-
const value = (_c2 = (_b2 = (_a2 = props.column).valueParser) == null ? void 0 : _b2.call(_a2, {
|
|
72
|
-
column: props.column,
|
|
73
|
-
record,
|
|
74
|
-
recordIndexs,
|
|
75
|
-
newValue: modelValue.value,
|
|
76
|
-
oldValue
|
|
77
|
-
})) != null ? _c2 : modelValue.value;
|
|
78
|
-
const valueSetter = props.column.valueSetter;
|
|
79
|
-
if (valueSetter) {
|
|
80
|
-
const result = valueSetter({
|
|
81
|
-
column: props.column,
|
|
82
|
-
record,
|
|
83
|
-
recordIndexs,
|
|
84
|
-
newValue: modelValue.value,
|
|
85
|
-
oldValue
|
|
86
|
-
});
|
|
87
|
-
if (isPromise(result)) {
|
|
88
|
-
result.then((res) => {
|
|
89
|
-
res && emit("closeEditor", [props.cellKey]);
|
|
90
|
-
}).catch(() => {
|
|
91
|
-
});
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
result && emit("closeEditor", [props.cellKey]);
|
|
95
|
-
} else {
|
|
96
|
-
devWarning(
|
|
97
|
-
void 0 !== props.column.dataIndex || null !== props.column.dataIndex,
|
|
98
|
-
"Editable",
|
|
99
|
-
"If not have column dataIndex, you should to set valueSetter for editable columns, otherwise the value cannot be modified."
|
|
100
|
-
);
|
|
101
|
-
set(record, props.column.dataIndex, value);
|
|
102
|
-
emit("closeEditor", [props.cellKey]);
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
let isKeyDown = false;
|
|
106
|
-
const closeEditor = (key) => {
|
|
107
|
-
emit("closeEditor", key != null ? key : [props.cellKey]);
|
|
108
|
-
};
|
|
109
|
-
return {
|
|
110
|
-
modelValue,
|
|
111
|
-
inputRef,
|
|
112
|
-
handleInput: (e) => {
|
|
113
|
-
var _a2;
|
|
114
|
-
onInput(e, (_a2 = e.target) == null ? void 0 : _a2.value);
|
|
115
|
-
},
|
|
116
|
-
handleKeyDown: (e) => {
|
|
117
|
-
const { which } = e;
|
|
118
|
-
if (which === KeyCode.ENTER) {
|
|
119
|
-
save();
|
|
120
|
-
} else {
|
|
121
|
-
if (which === KeyCode.ESC) {
|
|
122
|
-
isKeyDown = true;
|
|
123
|
-
emit("closeEditor", null);
|
|
124
|
-
}
|
|
125
|
-
emit("keydown", e);
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
handleBlur: () => {
|
|
129
|
-
isKeyDown || props.multiple || save();
|
|
130
|
-
},
|
|
131
|
-
tableSlots,
|
|
132
|
-
popup,
|
|
133
|
-
save,
|
|
134
|
-
closeEditor,
|
|
135
|
-
getCustomEditorProps: () => ({
|
|
136
|
-
modelValue,
|
|
137
|
-
save,
|
|
138
|
-
onInput,
|
|
139
|
-
closeEditor,
|
|
140
|
-
column: props.column.originColumn,
|
|
141
|
-
editorRef: inputRef,
|
|
142
|
-
getPopupContainer: props.getPopupContainer,
|
|
143
|
-
record: props.record,
|
|
144
|
-
recordIndexs: props.recordIndexs
|
|
145
|
-
})
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
|
|
150
|
-
export { _sfc_main as default };
|
|
151
|
-
//# sourceMappingURL=EditInput.vue2.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EditInput.vue2.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/EditInput.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-09 22:29:52\n * @LastEditors: shen\n * @LastEditTime: 2025-09-02 15:15:42\n * @Description:\n-->\n<script lang=\"ts\">\nimport { defineComponent, ref, shallowRef, onMounted, nextTick, computed } from 'vue'\nimport { set, isPromise } from '@pro-design-vue/utils'\nimport { useInjectSlots } from '../context/TableSlotsContext'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectPopup } from '../context/PopupContext'\nimport devWarning from '../../utils/devWarning'\nimport KeyCode from '../../utils/KeyCode'\n\nimport type { PropType } from 'vue'\nimport type { CellEditorArgs, FinallyColumnType } from '../interface'\n\nexport default defineComponent({\n inheritAttrs: false,\n props: {\n prefixCls: { type: String },\n recordIndexs: { type: Array as PropType<number[]> },\n rowKey: { type: [Number, String] },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n record: { type: Object as PropType<any>, default: () => ({}) },\n value: { validator: () => true },\n customEditable: { type: Boolean, default: false },\n multiple: { type: Boolean, default: false },\n autoHeight: { type: Boolean, default: false },\n cellKey: { type: String },\n getPopupContainer: Function as PropType<() => HTMLElement>,\n onCloseEditor: Function,\n onKeydown: Function as PropType<(e: KeyboardEvent) => void>,\n },\n emits: ['closeEditor', 'keydown'],\n setup(props, { expose, emit }) {\n const tableSlots = useInjectSlots()\n const popup = useInjectPopup()\n const oldValue =\n props.column?.valueGetter?.({\n value: props.value,\n record: props.record,\n column: props.column,\n recordIndexs: props.recordIndexs!,\n }) ?? props.value\n\n const modelValue = ref(oldValue)\n const inputRef = shallowRef<any>(null)\n\n const tableContext = useInjectTable()\n\n onMounted(() => {\n nextTick(() => {\n if (inputRef.value && !props.multiple) {\n inputRef.value?.focus?.()\n inputRef.value?.select?.()\n }\n })\n })\n\n expose({ value: modelValue, inputRef })\n\n const onInput = (e: Event, val: any) => {\n props.column.valueChange?.(e, {\n column: props.column,\n record: props.record,\n recordIndexs: props.recordIndexs!,\n newValue: val,\n oldValue: oldValue,\n })\n }\n const childrenColumnName = computed(() => tableContext.props.childrenColumnName || 'children')\n\n const save = () => {\n const recordIndexs = props.recordIndexs!\n let dataSource = tableContext.props.dataSource || []\n let record: any = {}\n recordIndexs.forEach((index) => {\n record = dataSource[index]\n dataSource = record[childrenColumnName.value] || []\n })\n const value =\n props.column.valueParser?.({\n column: props.column,\n record,\n recordIndexs,\n newValue: modelValue.value,\n oldValue,\n }) ?? modelValue.value\n const valueSetter = props.column.valueSetter\n if (valueSetter) {\n const result = valueSetter({\n column: props.column,\n record: record,\n recordIndexs: recordIndexs,\n newValue: modelValue.value,\n oldValue: oldValue,\n })\n if (isPromise(result)) {\n result\n .then((res) => {\n res && emit('closeEditor', [props.cellKey])\n })\n .catch(() => {})\n return\n }\n result && emit('closeEditor', [props.cellKey])\n } else {\n devWarning(\n undefined !== props.column.dataIndex || null !== props.column.dataIndex,\n 'Editable',\n 'If not have column dataIndex, you should to set valueSetter for editable columns, otherwise the value cannot be modified.',\n )\n set(record, props.column.dataIndex!, value)\n emit('closeEditor', [props.cellKey])\n }\n }\n\n let isKeyDown = false\n const closeEditor = (key?: any) => {\n emit('closeEditor', key ?? [props.cellKey])\n }\n\n return {\n modelValue,\n inputRef,\n handleInput: (e: Event) => {\n onInput(e, (e.target as HTMLInputElement)?.value)\n },\n handleKeyDown: (e: KeyboardEvent) => {\n const { which } = e\n if (which === KeyCode.ENTER) {\n save()\n } else {\n if (which === KeyCode.ESC) {\n isKeyDown = true\n emit('closeEditor', null)\n }\n emit('keydown', e)\n }\n },\n handleBlur: () => {\n isKeyDown || props.multiple || save()\n },\n tableSlots,\n popup,\n save,\n closeEditor,\n getCustomEditorProps: (): CellEditorArgs => ({\n modelValue,\n save,\n onInput,\n closeEditor,\n column: props.column.originColumn!,\n editorRef: inputRef,\n getPopupContainer: props.getPopupContainer as any,\n record: props.record,\n recordIndexs: props.recordIndexs!,\n }),\n }\n },\n})\n</script>\n\n<template>\n <div :class=\"`${prefixCls}-cell-edit-inner`\" :data-cell-auto=\"autoHeight\">\n <template v-if=\"customEditable\">\n <component\n v-if=\"tableSlots.cellEditor\"\n v-bind=\"getCustomEditorProps()\"\n :is=\"tableSlots.cellEditor\"\n />\n </template>\n <input\n v-else\n v-model=\"modelValue\"\n ref=\"inputRef\"\n :class=\"`${prefixCls}-cell-edit-input`\"\n type=\"text\"\n @input=\"handleInput\"\n @keydown=\"handleKeyDown\"\n @blur=\"handleBlur\"\n />\n </div>\n</template>\n"],"names":["_b","_a","_c"],"mappings":"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"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import type { PropType } from 'vue';
|
|
2
|
-
import type { CellEditorArgs, FinallyColumnType } from '../interface';
|
|
3
|
-
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
-
prefixCls: {
|
|
5
|
-
type: StringConstructor;
|
|
6
|
-
};
|
|
7
|
-
recordIndexs: {
|
|
8
|
-
type: PropType<number[]>;
|
|
9
|
-
};
|
|
10
|
-
rowKey: {
|
|
11
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
12
|
-
};
|
|
13
|
-
column: {
|
|
14
|
-
type: PropType<FinallyColumnType>;
|
|
15
|
-
default: () => {};
|
|
16
|
-
};
|
|
17
|
-
record: {
|
|
18
|
-
type: PropType<any>;
|
|
19
|
-
default: () => {};
|
|
20
|
-
};
|
|
21
|
-
value: {
|
|
22
|
-
validator: () => boolean;
|
|
23
|
-
};
|
|
24
|
-
customEditable: {
|
|
25
|
-
type: BooleanConstructor;
|
|
26
|
-
default: boolean;
|
|
27
|
-
};
|
|
28
|
-
multiple: {
|
|
29
|
-
type: BooleanConstructor;
|
|
30
|
-
default: boolean;
|
|
31
|
-
};
|
|
32
|
-
autoHeight: {
|
|
33
|
-
type: BooleanConstructor;
|
|
34
|
-
default: boolean;
|
|
35
|
-
};
|
|
36
|
-
cellKey: {
|
|
37
|
-
type: StringConstructor;
|
|
38
|
-
};
|
|
39
|
-
getPopupContainer: PropType<() => HTMLElement>;
|
|
40
|
-
onCloseEditor: FunctionConstructor;
|
|
41
|
-
onKeydown: PropType<(e: KeyboardEvent) => void>;
|
|
42
|
-
}>, {
|
|
43
|
-
modelValue: import("vue").Ref<unknown, unknown>;
|
|
44
|
-
inputRef: import("vue").ShallowRef<any, any>;
|
|
45
|
-
handleInput: (e: Event) => void;
|
|
46
|
-
handleKeyDown: (e: KeyboardEvent) => void;
|
|
47
|
-
handleBlur: () => void;
|
|
48
|
-
tableSlots: import("../context/TableSlotsContext").ContextSlots;
|
|
49
|
-
popup: import("../context/PopupContext").PopupContextProps;
|
|
50
|
-
save: () => void;
|
|
51
|
-
closeEditor: (key?: any) => void;
|
|
52
|
-
getCustomEditorProps: () => CellEditorArgs;
|
|
53
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("keydown" | "closeEditor")[], "keydown" | "closeEditor", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
54
|
-
prefixCls: {
|
|
55
|
-
type: StringConstructor;
|
|
56
|
-
};
|
|
57
|
-
recordIndexs: {
|
|
58
|
-
type: PropType<number[]>;
|
|
59
|
-
};
|
|
60
|
-
rowKey: {
|
|
61
|
-
type: (StringConstructor | NumberConstructor)[];
|
|
62
|
-
};
|
|
63
|
-
column: {
|
|
64
|
-
type: PropType<FinallyColumnType>;
|
|
65
|
-
default: () => {};
|
|
66
|
-
};
|
|
67
|
-
record: {
|
|
68
|
-
type: PropType<any>;
|
|
69
|
-
default: () => {};
|
|
70
|
-
};
|
|
71
|
-
value: {
|
|
72
|
-
validator: () => boolean;
|
|
73
|
-
};
|
|
74
|
-
customEditable: {
|
|
75
|
-
type: BooleanConstructor;
|
|
76
|
-
default: boolean;
|
|
77
|
-
};
|
|
78
|
-
multiple: {
|
|
79
|
-
type: BooleanConstructor;
|
|
80
|
-
default: boolean;
|
|
81
|
-
};
|
|
82
|
-
autoHeight: {
|
|
83
|
-
type: BooleanConstructor;
|
|
84
|
-
default: boolean;
|
|
85
|
-
};
|
|
86
|
-
cellKey: {
|
|
87
|
-
type: StringConstructor;
|
|
88
|
-
};
|
|
89
|
-
getPopupContainer: PropType<() => HTMLElement>;
|
|
90
|
-
onCloseEditor: FunctionConstructor;
|
|
91
|
-
onKeydown: PropType<(e: KeyboardEvent) => void>;
|
|
92
|
-
}>> & Readonly<{
|
|
93
|
-
onKeydown?: ((...args: any[]) => any) | undefined;
|
|
94
|
-
onCloseEditor?: ((...args: any[]) => any) | undefined;
|
|
95
|
-
}>, {
|
|
96
|
-
record: any;
|
|
97
|
-
autoHeight: boolean;
|
|
98
|
-
multiple: boolean;
|
|
99
|
-
column: FinallyColumnType<import("../interface").DefaultRecordType>;
|
|
100
|
-
customEditable: boolean;
|
|
101
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
102
|
-
export default _default;
|