@aplus-frontend/ui 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.mjs +146 -140
- package/es/src/ap-action/item/index.vue2.mjs +5 -5
- package/es/src/ap-field/checkbox/index.vue.mjs +2 -0
- package/es/src/ap-field/date/index.vue.mjs +2 -0
- package/es/src/ap-field/date-range/index.vue.mjs +2 -0
- package/es/src/ap-field/interface.d.ts +2 -0
- package/es/src/ap-field/number/index.vue.mjs +2 -0
- package/es/src/ap-field/radio/index.vue.mjs +9 -7
- package/es/src/ap-field/rate/index.vue.mjs +4 -2
- package/es/src/ap-field/segmented/index.vue.mjs +15 -13
- package/es/src/ap-field/select/index.vue.mjs +18 -16
- package/es/src/ap-field/slider/index.vue.mjs +11 -9
- package/es/src/ap-field/switch/index.vue.mjs +10 -8
- package/es/src/ap-field/text/index.vue.d.ts +1 -1
- package/es/src/ap-field/text/index.vue2.mjs +12 -10
- package/es/src/ap-field/text/password.vue.d.ts +1 -1
- package/es/src/ap-field/text/password.vue.mjs +16 -14
- package/es/src/ap-field/text-area/index.vue.d.ts +1 -1
- package/es/src/ap-field/text-area/index.vue.mjs +2 -0
- package/es/src/ap-form/ap-form.vue2.mjs +22 -22
- package/es/src/ap-table/ap-table.vue.d.ts +5 -1
- package/es/src/ap-table/constants.d.ts +715 -487
- package/es/src/ap-table/utils.d.ts +3 -3
- package/es/src/business/index.d.ts +123 -0
- package/es/src/business/index.mjs +7 -0
- package/es/src/business/title/ApTitle.vue.d.ts +45 -0
- package/es/src/business/title/ApTitle.vue.mjs +4 -0
- package/es/src/business/title/ApTitle.vue2.mjs +50 -0
- package/es/src/business/title/interface.d.ts +21 -0
- package/es/src/business/title/style.css +39 -0
- package/es/src/components.d.ts +1 -0
- package/es/src/config-provider/config-provider-props.d.ts +1 -1
- package/es/src/config-provider/config-provider-props.mjs +5 -6
- package/es/src/config-provider/config-provider.d.ts +11 -11
- package/es/src/config-provider/hooks/use-global-config.d.ts +1 -1
- package/es/src/config-provider/index.d.ts +31 -31
- package/es/src/description/description.vue.d.ts +1 -1
- package/es/src/description/index.d.ts +3 -3
- package/es/src/editable-table/form-item.vue.d.ts +304 -0
- package/es/src/editable-table/form-item.vue.mjs +189 -0
- package/es/src/editable-table/form-item.vue2.mjs +4 -0
- package/es/src/editable-table/hooks/use-get-columns.d.ts +5 -0
- package/es/src/editable-table/hooks/use-get-columns.mjs +76 -0
- package/es/src/editable-table/index.d.ts +5 -0
- package/es/src/editable-table/index.mjs +3 -0
- package/es/src/editable-table/index.vue.d.ts +196 -0
- package/es/src/editable-table/index.vue.mjs +209 -0
- package/es/src/editable-table/index.vue2.mjs +4 -0
- package/es/src/editable-table/interface.d.ts +71 -6
- package/es/src/editable-table/interface.mjs +1 -0
- package/es/src/editable-table/style/index.css +35 -0
- package/es/src/editable-table/utils.mjs +10 -0
- package/es/src/icon-picker/icon-picker.vue.d.ts +2 -2
- package/es/src/icon-picker/index.d.ts +26 -26
- package/es/src/index.d.ts +2 -0
- package/es/src/index.mjs +232 -225
- package/es/src/modal/basic.vue.d.ts +1 -1
- package/es/src/modal/components/modal-footer.vue.d.ts +1 -1
- package/es/src/modal/index.d.ts +2 -2
- package/es/src/pro-form/components/api-cascader.vue.d.ts +1 -1
- package/es/src/pro-form/components/api-radio-group.vue.d.ts +1 -1
- package/es/src/pro-form/components/api-select.vue.d.ts +2 -2
- package/es/src/pro-form/components/api-transfer.vue.d.ts +1 -1
- package/es/src/pro-form/components/api-tree-select.vue.d.ts +1 -1
- package/es/src/pro-form/components/api-tree.vue.d.ts +1 -1
- package/es/src/pro-form/hooks/use-label-width.d.ts +6 -6
- package/es/src/pro-form/pro-form.vue.d.ts +1 -1
- package/es/src/pro-table/components/editable/editable-cell.vue.d.ts +1 -1
- package/es/src/pro-table/pro-table.vue.d.ts +1 -1
- package/es/src/scroll-bar/index.d.ts +12 -12
- package/es/src/theme/antd-global-overwrite/admin/index.css +8 -0
- package/es/src/theme/antd-global-overwrite/admin/table.css +8 -0
- package/es/src/theme/ap-title/ap-title.css +39 -0
- package/es/src/theme/editable-table/index.css +35 -0
- package/es/src/utils/config-provider-preset.d.ts +12 -12
- package/lib/index.js +1 -1
- package/lib/src/ap-action/item/index.vue2.js +1 -1
- package/lib/src/ap-field/checkbox/index.vue.js +1 -1
- package/lib/src/ap-field/date/index.vue.js +1 -1
- package/lib/src/ap-field/date-range/index.vue.js +1 -1
- package/lib/src/ap-field/interface.d.ts +2 -0
- package/lib/src/ap-field/number/index.vue.js +1 -1
- package/lib/src/ap-field/radio/index.vue.js +1 -1
- package/lib/src/ap-field/rate/index.vue.js +1 -1
- package/lib/src/ap-field/segmented/index.vue.js +1 -1
- package/lib/src/ap-field/select/index.vue.js +1 -1
- package/lib/src/ap-field/slider/index.vue.js +1 -1
- package/lib/src/ap-field/switch/index.vue.js +1 -1
- package/lib/src/ap-field/text/index.vue.d.ts +1 -1
- package/lib/src/ap-field/text/index.vue2.js +1 -1
- package/lib/src/ap-field/text/password.vue.d.ts +1 -1
- package/lib/src/ap-field/text/password.vue.js +1 -1
- package/lib/src/ap-field/text-area/index.vue.d.ts +1 -1
- package/lib/src/ap-field/text-area/index.vue.js +1 -1
- package/lib/src/ap-form/ap-form.vue2.js +1 -1
- package/lib/src/ap-table/ap-table.vue.d.ts +5 -1
- package/lib/src/ap-table/constants.d.ts +715 -487
- package/lib/src/ap-table/utils.d.ts +3 -3
- package/lib/src/business/index.d.ts +123 -0
- package/lib/src/business/index.js +1 -0
- package/lib/src/business/title/ApTitle.vue.d.ts +45 -0
- package/lib/src/business/title/ApTitle.vue.js +1 -0
- package/lib/src/business/title/ApTitle.vue2.js +1 -0
- package/lib/src/business/title/interface.d.ts +21 -0
- package/lib/src/business/title/style.css +39 -0
- package/lib/src/components.d.ts +1 -0
- package/lib/src/config-provider/config-provider-props.d.ts +1 -1
- package/lib/src/config-provider/config-provider-props.js +1 -1
- package/lib/src/config-provider/config-provider.d.ts +11 -11
- package/lib/src/config-provider/hooks/use-global-config.d.ts +1 -1
- package/lib/src/config-provider/index.d.ts +31 -31
- package/lib/src/description/description.vue.d.ts +1 -1
- package/lib/src/description/index.d.ts +3 -3
- package/lib/src/editable-table/form-item.vue.d.ts +304 -0
- package/lib/src/editable-table/form-item.vue.js +1 -0
- package/lib/src/editable-table/form-item.vue2.js +1 -0
- package/lib/src/editable-table/hooks/use-get-columns.d.ts +5 -0
- package/lib/src/editable-table/hooks/use-get-columns.js +1 -0
- package/lib/src/editable-table/index.d.ts +5 -0
- package/lib/src/editable-table/index.js +1 -0
- package/lib/src/editable-table/index.vue.d.ts +196 -0
- package/lib/src/editable-table/index.vue.js +1 -0
- package/lib/src/editable-table/index.vue2.js +1 -0
- package/lib/src/editable-table/interface.d.ts +71 -6
- package/lib/src/editable-table/interface.js +1 -0
- package/lib/src/editable-table/style/index.css +35 -0
- package/lib/src/editable-table/utils.js +1 -0
- package/lib/src/icon-picker/icon-picker.vue.d.ts +2 -2
- package/lib/src/icon-picker/index.d.ts +26 -26
- package/lib/src/index.d.ts +2 -0
- package/lib/src/index.js +1 -1
- package/lib/src/modal/basic.vue.d.ts +1 -1
- package/lib/src/modal/components/modal-footer.vue.d.ts +1 -1
- package/lib/src/modal/index.d.ts +2 -2
- package/lib/src/pro-form/components/api-cascader.vue.d.ts +1 -1
- package/lib/src/pro-form/components/api-radio-group.vue.d.ts +1 -1
- package/lib/src/pro-form/components/api-select.vue.d.ts +2 -2
- package/lib/src/pro-form/components/api-transfer.vue.d.ts +1 -1
- package/lib/src/pro-form/components/api-tree-select.vue.d.ts +1 -1
- package/lib/src/pro-form/components/api-tree.vue.d.ts +1 -1
- package/lib/src/pro-form/hooks/use-label-width.d.ts +6 -6
- package/lib/src/pro-form/pro-form.vue.d.ts +1 -1
- package/lib/src/pro-table/components/editable/editable-cell.vue.d.ts +1 -1
- package/lib/src/pro-table/pro-table.vue.d.ts +1 -1
- package/lib/src/scroll-bar/index.d.ts +12 -12
- package/lib/src/theme/antd-global-overwrite/admin/index.css +8 -0
- package/lib/src/theme/antd-global-overwrite/admin/table.css +8 -0
- package/lib/src/theme/ap-title/ap-title.css +39 -0
- package/lib/src/theme/editable-table/index.css +35 -0
- package/lib/src/utils/config-provider-preset.d.ts +12 -12
- package/package.json +1 -1
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { EditableColumnType, EditableTableFormItemProps } from './interface';
|
|
2
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType, CSSProperties, HTMLAttributes } from 'vue';
|
|
3
|
+
import { SpinSize } from 'ant-design-vue/es/spin/Spin';
|
|
4
|
+
import { VueTypeValidableDef, VueTypeDef } from '../../node_modules/vue-types';
|
|
5
|
+
import { TablePaginationConfig } from 'ant-design-vue';
|
|
6
|
+
import { TableLayout, GetRowKey } from 'ant-design-vue/es/vc-table/interface';
|
|
7
|
+
import { SortOrder } from 'ant-design-vue/es/table/interface';
|
|
8
|
+
import { TriggerType } from 'ant-design-vue/es/tooltip/abstractTooltipProps';
|
|
9
|
+
import { TooltipPlacement, AdjustOverflow } from 'ant-design-vue/es/tooltip';
|
|
10
|
+
import { LiteralUnion } from 'ant-design-vue/es/_util/type';
|
|
11
|
+
import { PresetColorType } from 'ant-design-vue/es/_util/colors';
|
|
12
|
+
import { AlignType, BuildInPlacements } from 'ant-design-vue/es/vc-trigger/interface';
|
|
13
|
+
import { ColSize } from 'ant-design-vue/es/grid';
|
|
14
|
+
import { FormLabelAlign } from 'ant-design-vue/es/form/interface';
|
|
15
|
+
import { RuleObject } from 'ant-design-vue/es/form';
|
|
16
|
+
|
|
17
|
+
type EditableTableFormItemSlots = {
|
|
18
|
+
default: any;
|
|
19
|
+
emptyText?: any;
|
|
20
|
+
expandIcon?: any;
|
|
21
|
+
title?: any;
|
|
22
|
+
footer?: any;
|
|
23
|
+
summary?: any;
|
|
24
|
+
expandedRowRender?: any;
|
|
25
|
+
expandColumnTitle?: any;
|
|
26
|
+
customFilterIcon?: any;
|
|
27
|
+
customFilterDropdown?: any;
|
|
28
|
+
headerCell?: (props: {
|
|
29
|
+
title: any;
|
|
30
|
+
column: EditableColumnType;
|
|
31
|
+
}) => void;
|
|
32
|
+
};
|
|
33
|
+
declare function add(defaultValue?: any): void;
|
|
34
|
+
declare function remove(index: number): void;
|
|
35
|
+
declare function getRowsData(): any[];
|
|
36
|
+
declare function getRowData(index: number): any;
|
|
37
|
+
declare function setRowData(index: number, payload: any): void;
|
|
38
|
+
declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<EditableTableFormItemProps<any>>, {
|
|
39
|
+
bordered: boolean;
|
|
40
|
+
childrenColumnName: string;
|
|
41
|
+
defaultExpandAllRows: boolean;
|
|
42
|
+
expandFixed: boolean;
|
|
43
|
+
expandRowByClick: boolean;
|
|
44
|
+
indentSize: number;
|
|
45
|
+
rowKey: string;
|
|
46
|
+
showExpandColumn: boolean;
|
|
47
|
+
showHeader: boolean;
|
|
48
|
+
showSorterTooltip: boolean;
|
|
49
|
+
size: string;
|
|
50
|
+
sortDirections: () => string[];
|
|
51
|
+
pagination: boolean;
|
|
52
|
+
loading: undefined;
|
|
53
|
+
tableLayout: string;
|
|
54
|
+
formItem: () => {};
|
|
55
|
+
}>, {
|
|
56
|
+
add: typeof add;
|
|
57
|
+
remove: typeof remove;
|
|
58
|
+
getRowData: typeof getRowData;
|
|
59
|
+
getRowsData: typeof getRowsData;
|
|
60
|
+
setRowData: typeof setRowData;
|
|
61
|
+
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<EditableTableFormItemProps<any>>, {
|
|
62
|
+
bordered: boolean;
|
|
63
|
+
childrenColumnName: string;
|
|
64
|
+
defaultExpandAllRows: boolean;
|
|
65
|
+
expandFixed: boolean;
|
|
66
|
+
expandRowByClick: boolean;
|
|
67
|
+
indentSize: number;
|
|
68
|
+
rowKey: string;
|
|
69
|
+
showExpandColumn: boolean;
|
|
70
|
+
showHeader: boolean;
|
|
71
|
+
showSorterTooltip: boolean;
|
|
72
|
+
size: string;
|
|
73
|
+
sortDirections: () => string[];
|
|
74
|
+
pagination: boolean;
|
|
75
|
+
loading: undefined;
|
|
76
|
+
tableLayout: string;
|
|
77
|
+
formItem: () => {};
|
|
78
|
+
}>>>, {
|
|
79
|
+
loading: boolean | Partial< ExtractPropTypes<{
|
|
80
|
+
prefixCls: StringConstructor;
|
|
81
|
+
spinning: {
|
|
82
|
+
type: BooleanConstructor;
|
|
83
|
+
default: any;
|
|
84
|
+
};
|
|
85
|
+
size: PropType<SpinSize>;
|
|
86
|
+
wrapperClassName: StringConstructor;
|
|
87
|
+
tip: VueTypeValidableDef<any>;
|
|
88
|
+
delay: NumberConstructor;
|
|
89
|
+
indicator: VueTypeValidableDef<any>;
|
|
90
|
+
}>>;
|
|
91
|
+
size: "small" | "middle" | "large";
|
|
92
|
+
pagination: false | TablePaginationConfig;
|
|
93
|
+
bordered: boolean;
|
|
94
|
+
tableLayout: TableLayout;
|
|
95
|
+
rowKey: string | GetRowKey<any>;
|
|
96
|
+
sortDirections: SortOrder[];
|
|
97
|
+
showSorterTooltip: boolean | Partial< ExtractPropTypes<{
|
|
98
|
+
title: VueTypeValidableDef<any>;
|
|
99
|
+
trigger: PropType< TriggerType | TriggerType[]>;
|
|
100
|
+
open: {
|
|
101
|
+
type: BooleanConstructor;
|
|
102
|
+
default: any;
|
|
103
|
+
};
|
|
104
|
+
visible: {
|
|
105
|
+
type: BooleanConstructor;
|
|
106
|
+
default: any;
|
|
107
|
+
};
|
|
108
|
+
placement: PropType<TooltipPlacement>;
|
|
109
|
+
color: PropType<LiteralUnion<PresetColorType>>;
|
|
110
|
+
transitionName: StringConstructor;
|
|
111
|
+
overlayStyle: {
|
|
112
|
+
type: PropType<CSSProperties>;
|
|
113
|
+
default: CSSProperties;
|
|
114
|
+
};
|
|
115
|
+
overlayInnerStyle: {
|
|
116
|
+
type: PropType<CSSProperties>;
|
|
117
|
+
default: CSSProperties;
|
|
118
|
+
};
|
|
119
|
+
overlayClassName: StringConstructor;
|
|
120
|
+
openClassName: StringConstructor;
|
|
121
|
+
prefixCls: StringConstructor;
|
|
122
|
+
mouseEnterDelay: NumberConstructor;
|
|
123
|
+
mouseLeaveDelay: NumberConstructor;
|
|
124
|
+
getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
|
|
125
|
+
arrowPointAtCenter: {
|
|
126
|
+
type: BooleanConstructor;
|
|
127
|
+
default: any;
|
|
128
|
+
};
|
|
129
|
+
arrow: {
|
|
130
|
+
type: PropType<boolean | {
|
|
131
|
+
pointAtCenter?: boolean | undefined;
|
|
132
|
+
}>;
|
|
133
|
+
default: boolean | {
|
|
134
|
+
pointAtCenter?: boolean | undefined;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
autoAdjustOverflow: {
|
|
138
|
+
type: PropType<boolean | AdjustOverflow>;
|
|
139
|
+
default: boolean | AdjustOverflow;
|
|
140
|
+
};
|
|
141
|
+
destroyTooltipOnHide: {
|
|
142
|
+
type: BooleanConstructor;
|
|
143
|
+
default: any;
|
|
144
|
+
};
|
|
145
|
+
align: {
|
|
146
|
+
type: PropType<AlignType>;
|
|
147
|
+
default: AlignType;
|
|
148
|
+
};
|
|
149
|
+
builtinPlacements: {
|
|
150
|
+
type: PropType<BuildInPlacements>;
|
|
151
|
+
default: BuildInPlacements;
|
|
152
|
+
};
|
|
153
|
+
children: ArrayConstructor;
|
|
154
|
+
onVisibleChange: PropType<(vis: boolean) => void>;
|
|
155
|
+
'onUpdate:visible': PropType<(vis: boolean) => void>;
|
|
156
|
+
onOpenChange: PropType<(vis: boolean) => void>;
|
|
157
|
+
'onUpdate:open': PropType<(vis: boolean) => void>;
|
|
158
|
+
}>>;
|
|
159
|
+
showHeader: boolean;
|
|
160
|
+
expandFixed: boolean | "left" | "right";
|
|
161
|
+
expandRowByClick: boolean;
|
|
162
|
+
defaultExpandAllRows: boolean;
|
|
163
|
+
indentSize: number;
|
|
164
|
+
showExpandColumn: boolean;
|
|
165
|
+
childrenColumnName: string;
|
|
166
|
+
formItem: Partial<Omit<Partial< ExtractPropTypes<{
|
|
167
|
+
htmlFor: StringConstructor;
|
|
168
|
+
prefixCls: StringConstructor;
|
|
169
|
+
label: VueTypeValidableDef<any>;
|
|
170
|
+
help: VueTypeValidableDef<any>;
|
|
171
|
+
extra: VueTypeValidableDef<any>;
|
|
172
|
+
labelCol: {
|
|
173
|
+
type: PropType<Partial< ExtractPropTypes<{
|
|
174
|
+
span: (StringConstructor | NumberConstructor)[];
|
|
175
|
+
order: (StringConstructor | NumberConstructor)[];
|
|
176
|
+
offset: (StringConstructor | NumberConstructor)[];
|
|
177
|
+
push: (StringConstructor | NumberConstructor)[];
|
|
178
|
+
pull: (StringConstructor | NumberConstructor)[];
|
|
179
|
+
xs: {
|
|
180
|
+
type: PropType<string | number | ColSize>;
|
|
181
|
+
default: string | number | ColSize;
|
|
182
|
+
};
|
|
183
|
+
sm: {
|
|
184
|
+
type: PropType<string | number | ColSize>;
|
|
185
|
+
default: string | number | ColSize;
|
|
186
|
+
};
|
|
187
|
+
md: {
|
|
188
|
+
type: PropType<string | number | ColSize>;
|
|
189
|
+
default: string | number | ColSize;
|
|
190
|
+
};
|
|
191
|
+
lg: {
|
|
192
|
+
type: PropType<string | number | ColSize>;
|
|
193
|
+
default: string | number | ColSize;
|
|
194
|
+
};
|
|
195
|
+
xl: {
|
|
196
|
+
type: PropType<string | number | ColSize>;
|
|
197
|
+
default: string | number | ColSize;
|
|
198
|
+
};
|
|
199
|
+
xxl: {
|
|
200
|
+
type: PropType<string | number | ColSize>;
|
|
201
|
+
default: string | number | ColSize;
|
|
202
|
+
};
|
|
203
|
+
prefixCls: StringConstructor;
|
|
204
|
+
flex: (StringConstructor | NumberConstructor)[];
|
|
205
|
+
}>> & HTMLAttributes>;
|
|
206
|
+
};
|
|
207
|
+
wrapperCol: {
|
|
208
|
+
type: PropType<Partial< ExtractPropTypes<{
|
|
209
|
+
span: (StringConstructor | NumberConstructor)[];
|
|
210
|
+
order: (StringConstructor | NumberConstructor)[];
|
|
211
|
+
offset: (StringConstructor | NumberConstructor)[];
|
|
212
|
+
push: (StringConstructor | NumberConstructor)[];
|
|
213
|
+
pull: (StringConstructor | NumberConstructor)[];
|
|
214
|
+
xs: {
|
|
215
|
+
type: PropType<string | number | ColSize>;
|
|
216
|
+
default: string | number | ColSize;
|
|
217
|
+
};
|
|
218
|
+
sm: {
|
|
219
|
+
type: PropType<string | number | ColSize>;
|
|
220
|
+
default: string | number | ColSize;
|
|
221
|
+
};
|
|
222
|
+
md: {
|
|
223
|
+
type: PropType<string | number | ColSize>;
|
|
224
|
+
default: string | number | ColSize;
|
|
225
|
+
};
|
|
226
|
+
lg: {
|
|
227
|
+
type: PropType<string | number | ColSize>;
|
|
228
|
+
default: string | number | ColSize;
|
|
229
|
+
};
|
|
230
|
+
xl: {
|
|
231
|
+
type: PropType<string | number | ColSize>;
|
|
232
|
+
default: string | number | ColSize;
|
|
233
|
+
};
|
|
234
|
+
xxl: {
|
|
235
|
+
type: PropType<string | number | ColSize>;
|
|
236
|
+
default: string | number | ColSize;
|
|
237
|
+
};
|
|
238
|
+
prefixCls: StringConstructor;
|
|
239
|
+
flex: (StringConstructor | NumberConstructor)[];
|
|
240
|
+
}>> & HTMLAttributes>;
|
|
241
|
+
};
|
|
242
|
+
hasFeedback: {
|
|
243
|
+
type: BooleanConstructor;
|
|
244
|
+
default: boolean;
|
|
245
|
+
};
|
|
246
|
+
colon: {
|
|
247
|
+
type: BooleanConstructor;
|
|
248
|
+
default: any;
|
|
249
|
+
};
|
|
250
|
+
labelAlign: PropType<FormLabelAlign>;
|
|
251
|
+
prop: {
|
|
252
|
+
type: PropType<string | number | (string | number)[]>;
|
|
253
|
+
};
|
|
254
|
+
name: {
|
|
255
|
+
type: PropType<string | number | (string | number)[]>;
|
|
256
|
+
};
|
|
257
|
+
rules: PropType< RuleObject | RuleObject[]>;
|
|
258
|
+
autoLink: {
|
|
259
|
+
type: BooleanConstructor;
|
|
260
|
+
default: boolean;
|
|
261
|
+
};
|
|
262
|
+
required: {
|
|
263
|
+
type: BooleanConstructor;
|
|
264
|
+
default: any;
|
|
265
|
+
};
|
|
266
|
+
validateFirst: {
|
|
267
|
+
type: BooleanConstructor;
|
|
268
|
+
default: any;
|
|
269
|
+
};
|
|
270
|
+
validateStatus: VueTypeDef<string>;
|
|
271
|
+
validateTrigger: {
|
|
272
|
+
type: PropType<string | string[]>;
|
|
273
|
+
};
|
|
274
|
+
messageVariables: {
|
|
275
|
+
type: PropType<Record<string, string>>;
|
|
276
|
+
};
|
|
277
|
+
hidden: BooleanConstructor;
|
|
278
|
+
noStyle: BooleanConstructor;
|
|
279
|
+
tooltip: StringConstructor;
|
|
280
|
+
}>>, "label" | "name">>;
|
|
281
|
+
}, {}>, Readonly<EditableTableFormItemSlots> & EditableTableFormItemSlots>;
|
|
282
|
+
export default _default;
|
|
283
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
284
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
285
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
286
|
+
type: PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
287
|
+
} : {
|
|
288
|
+
type: PropType<T[K]>;
|
|
289
|
+
required: true;
|
|
290
|
+
};
|
|
291
|
+
};
|
|
292
|
+
type __VLS_WithDefaults<P, D> = {
|
|
293
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
294
|
+
default: D[K];
|
|
295
|
+
}> : P[K];
|
|
296
|
+
};
|
|
297
|
+
type __VLS_Prettify<T> = {
|
|
298
|
+
[K in keyof T]: T[K];
|
|
299
|
+
} & {};
|
|
300
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
301
|
+
new (): {
|
|
302
|
+
$slots: S;
|
|
303
|
+
};
|
|
304
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),E=require("ant-design-vue"),p=require("../ap-form/index.js"),s=require("lodash-unified");require("../config-provider/index.js");const F=require("../ap-form/context.js");require("./style/index.css");const S=require("../utils/index.js"),N=require("./hooks/use-get-columns.js"),P=require("../config-provider/hooks/use-namespace.js"),k=require("../config-provider/hooks/use-global-config.js"),V=e.defineComponent({name:"EditableTableInner",__name:"form-item",props:{dropdownPrefixCls:{},pagination:{type:[Boolean,Object],default:!1},loading:{type:[Boolean,Object],default:void 0},size:{default:"middle"},bordered:{type:Boolean,default:!1},locale:{},onChange:{},onResizeColumn:{},rowSelection:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},rowKey:{default:"key"},tableLayout:{default:"fixed"},rowClassName:{},title:{},footer:{},id:{},showHeader:{type:Boolean,default:!0},components:{},customRow:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean],default:!1},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean,default:!1},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean,default:!1},indentSize:{default:15},expandIconColumnIndex:{},showExpandColumn:{type:Boolean,default:!0},expandedRowClassName:{},childrenColumnName:{default:"children"},rowExpandable:{},sticky:{type:[Boolean,Object]},transformCellText:{},columns:{},value:{},defaultValue:{},"onUpdate:value":{},maxLength:{},onFieldChange:{},label:{},name:{},formItem:{default:()=>({})}},setup(m,{expose:x}){var f;const l=m,{formInstance:n,model:g}=F.useInjectForm(),u=e.ref(((f=e.unref(g))==null?void 0:f[l.name])||[]),C=e.useSlots(),h=p.ApForm.useWatch(l.name);e.watch(()=>h.value,a=>{var o;u.value=a,(o=l.onChange)==null||o.call(l,a)});const{b:i,em:w}=P.useNamespace("editable-table"),b=k.useGlobalConfig("uiMode","aplus"),y=N.default(l);function B(a){var t,r;const o=((t=e.unref(u))==null?void 0:t.length)||0;S.isDef(l.maxLength)&&o>=l.maxLength||(r=n==null?void 0:n.setFieldValue)==null||r.call(n,l.name,[...e.unref(u)||[],a||{}])}function R(a){var t;const o=s.cloneDeep(e.unref(u)||[]);o.splice(a,1),(t=n==null?void 0:n.setFieldValue)==null||t.call(n,l.name,[...o])}function q(){return e.unref(u)}function D(a){var o;return(o=e.unref(u))==null?void 0:o[a]}function v(a,o){var r;const t=s.cloneDeep(e.unref(u));t[a]&&(t[a]={...t[a],...o},(r=n==null?void 0:n.setFieldValue)==null||r.call(n,l.name,[...t]))}return x({add:B,remove:R,getRowData:D,getRowsData:q,setRowData:v}),(a,o)=>(e.openBlock(),e.createBlock(e.unref(p.ApForm).FormItem,e.mergeProps(a.formItem,{name:a.name,label:a.label}),{default:e.withCtx(()=>[e.createVNode(e.unref(E.Table),e.mergeProps(e.unref(s.omit)(l,["name","maxLength"]),{class:[e.unref(i)(),e.unref(b)==="admin"?e.unref(i)("admin"):null],columns:e.unref(y),"data-source":u.value}),e.createSlots({headerCell:e.withCtx(({column:t})=>{var r,d,c;return[(r=t==null?void 0:t.fieldProps)!=null&&r.required||(c=(d=t==null?void 0:t.fieldProps)==null?void 0:d.rules)!=null&&c.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(w)("header-cell","required"))},"*",2),e.createElementVNode("span",null,e.toDisplayString(t.title),1)],64)):e.createCommentVNode("",!0)]}),_:2},[e.renderList(C,(t,r)=>({name:r,fn:e.withCtx(d=>[e.renderSlot(a.$slots,r,e.normalizeProps(e.guardReactiveProps(d||{})))])}))]),1040,["class","columns","data-source"])]),_:3},16,["name","label"]))}});exports.default=V;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./form-item.vue.js");exports.default=e.default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { EditableTableFormItemProps, EditableTableProps, EditableColumnType } from '../interface';
|
|
2
|
+
import { ComputedRef } from 'vue';
|
|
3
|
+
|
|
4
|
+
declare const useGetColumns: (props: EditableTableProps | EditableTableFormItemProps) => ComputedRef< EditableColumnType<any, any>[]>;
|
|
5
|
+
export default useGetColumns;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("vue"),h=require("lodash-unified"),q=require("../utils.js"),d=require("../../ap-table/utils.js");require("../../config-provider/index.js");const s=require("../../ap-table/constants.js"),C=require("ant-design-vue"),F=require("../../config-provider/hooks/use-locale.js"),R=a=>{const{t:i}=F.useLocale(),b=u.computed(()=>{let n=a.columns;return n?(n=n.map(e=>({...e,customRender({value:l,...t}){if(e.customRender)return e.customRender({value:l,...t,column:e});{if(h.isFunction(e.editable)?e.editable(t.text,t.record,t.index):!!e.editable){const y=q.getEditableComponent(e.valueType),o=d.updateFormProps(e,d.getFieldProps(e.fieldProps,{value:l,...t})),r={};a.onFieldChange&&(r[`onUpdate:${o.valuePropName||"value"}`]=T=>{var c;return(c=a.onFieldChange)==null?void 0:c.call(a,t.index,e.dataIndex,T)});const x={name:[a.name,t.index,e.dataIndex],...o||{},placeholder:d.getPlaceholder(i,e.valueType,o==null?void 0:o.placeholder),field:{style:"width: 100%",...(o==null?void 0:o.field)||{},...r}};return u.createVNode(y,x,null)}const p=s.apTableRenderItemMap[e.valueType],g=d.getTableRenderProps(e,{value:l,...t});return f(e,l,u.createVNode(p,u.mergeProps(g,{mode:"read"}),null))}}})),n):[]});function f(n,e,l){return s.noRenderAsFormItemValueList.includes(n.valueType)?l:n.copyable||n.ellipsis?u.createVNode(C.Typography.Text,{copyable:n.copyable?{text:e,tooltip:!1}:!1,ellipsis:n.ellipsis?{tooltip:e}:!1,content:l},null):l}return b};exports.default=R;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require("./index.vue2.js");require("./form-item.vue2.js");require("./interface.js");
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { EditableTableProps, EditableColumnType } from './interface';
|
|
2
|
+
import { NamePath, ValidateOptions } from 'ant-design-vue/es/form/interface';
|
|
3
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType, CSSProperties } from 'vue';
|
|
4
|
+
import { SpinSize } from 'ant-design-vue/es/spin/Spin';
|
|
5
|
+
import { VueTypeValidableDef } from '../../node_modules/vue-types';
|
|
6
|
+
import { TablePaginationConfig } from 'ant-design-vue';
|
|
7
|
+
import { TableLayout, GetRowKey } from 'ant-design-vue/es/vc-table/interface';
|
|
8
|
+
import { SortOrder } from 'ant-design-vue/es/table/interface';
|
|
9
|
+
import { TriggerType } from 'ant-design-vue/es/tooltip/abstractTooltipProps';
|
|
10
|
+
import { TooltipPlacement, AdjustOverflow } from 'ant-design-vue/es/tooltip';
|
|
11
|
+
import { LiteralUnion } from 'ant-design-vue/es/_util/type';
|
|
12
|
+
import { PresetColorType } from 'ant-design-vue/es/_util/colors';
|
|
13
|
+
import { AlignType, BuildInPlacements } from 'ant-design-vue/es/vc-trigger/interface';
|
|
14
|
+
|
|
15
|
+
type EditableTableSlots = {
|
|
16
|
+
default: any;
|
|
17
|
+
emptyText?: any;
|
|
18
|
+
expandIcon?: any;
|
|
19
|
+
title?: any;
|
|
20
|
+
footer?: any;
|
|
21
|
+
summary?: any;
|
|
22
|
+
expandedRowRender?: any;
|
|
23
|
+
expandColumnTitle?: any;
|
|
24
|
+
customFilterIcon?: any;
|
|
25
|
+
customFilterDropdown?: any;
|
|
26
|
+
headerCell?: (props: {
|
|
27
|
+
title: any;
|
|
28
|
+
column: EditableColumnType;
|
|
29
|
+
}) => void;
|
|
30
|
+
};
|
|
31
|
+
declare function resetFields(): void;
|
|
32
|
+
declare function validateFields(nameList?: NamePath[] | string, options?: ValidateOptions): Promise<any>;
|
|
33
|
+
declare function add(defaultValue?: any): void;
|
|
34
|
+
declare function remove(index: number): void;
|
|
35
|
+
declare function getRowsData(): any[];
|
|
36
|
+
declare function getRowData(index: number): any;
|
|
37
|
+
declare function setRowData(index: number, payload: any): void;
|
|
38
|
+
declare const _default: __VLS_WithTemplateSlots< DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<EditableTableProps<any>>, {
|
|
39
|
+
bordered: boolean;
|
|
40
|
+
childrenColumnName: string;
|
|
41
|
+
defaultExpandAllRows: boolean;
|
|
42
|
+
expandFixed: boolean;
|
|
43
|
+
expandRowByClick: boolean;
|
|
44
|
+
indentSize: number;
|
|
45
|
+
rowKey: string;
|
|
46
|
+
showExpandColumn: boolean;
|
|
47
|
+
showHeader: boolean;
|
|
48
|
+
showSorterTooltip: boolean;
|
|
49
|
+
size: string;
|
|
50
|
+
sortDirections: () => string[];
|
|
51
|
+
pagination: boolean;
|
|
52
|
+
loading: undefined;
|
|
53
|
+
name: string;
|
|
54
|
+
tableLayout: string;
|
|
55
|
+
}>, {
|
|
56
|
+
resetFields: typeof resetFields;
|
|
57
|
+
validateFields: typeof validateFields;
|
|
58
|
+
add: typeof add;
|
|
59
|
+
remove: typeof remove;
|
|
60
|
+
getRowData: typeof getRowData;
|
|
61
|
+
getRowsData: typeof getRowsData;
|
|
62
|
+
setRowData: typeof setRowData;
|
|
63
|
+
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
64
|
+
"update:value": (...args: any[]) => void;
|
|
65
|
+
}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<EditableTableProps<any>>, {
|
|
66
|
+
bordered: boolean;
|
|
67
|
+
childrenColumnName: string;
|
|
68
|
+
defaultExpandAllRows: boolean;
|
|
69
|
+
expandFixed: boolean;
|
|
70
|
+
expandRowByClick: boolean;
|
|
71
|
+
indentSize: number;
|
|
72
|
+
rowKey: string;
|
|
73
|
+
showExpandColumn: boolean;
|
|
74
|
+
showHeader: boolean;
|
|
75
|
+
showSorterTooltip: boolean;
|
|
76
|
+
size: string;
|
|
77
|
+
sortDirections: () => string[];
|
|
78
|
+
pagination: boolean;
|
|
79
|
+
loading: undefined;
|
|
80
|
+
name: string;
|
|
81
|
+
tableLayout: string;
|
|
82
|
+
}>>> & {
|
|
83
|
+
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
|
|
84
|
+
}, {
|
|
85
|
+
loading: boolean | Partial< ExtractPropTypes<{
|
|
86
|
+
prefixCls: StringConstructor;
|
|
87
|
+
spinning: {
|
|
88
|
+
type: BooleanConstructor;
|
|
89
|
+
default: any;
|
|
90
|
+
};
|
|
91
|
+
size: PropType<SpinSize>;
|
|
92
|
+
wrapperClassName: StringConstructor;
|
|
93
|
+
tip: VueTypeValidableDef<any>;
|
|
94
|
+
delay: NumberConstructor;
|
|
95
|
+
indicator: VueTypeValidableDef<any>;
|
|
96
|
+
}>>;
|
|
97
|
+
size: "small" | "middle" | "large";
|
|
98
|
+
pagination: false | TablePaginationConfig;
|
|
99
|
+
name: any;
|
|
100
|
+
bordered: boolean;
|
|
101
|
+
tableLayout: TableLayout;
|
|
102
|
+
rowKey: string | GetRowKey<any>;
|
|
103
|
+
sortDirections: SortOrder[];
|
|
104
|
+
showSorterTooltip: boolean | Partial< ExtractPropTypes<{
|
|
105
|
+
title: VueTypeValidableDef<any>;
|
|
106
|
+
trigger: PropType< TriggerType | TriggerType[]>;
|
|
107
|
+
open: {
|
|
108
|
+
type: BooleanConstructor;
|
|
109
|
+
default: any;
|
|
110
|
+
};
|
|
111
|
+
visible: {
|
|
112
|
+
type: BooleanConstructor;
|
|
113
|
+
default: any;
|
|
114
|
+
};
|
|
115
|
+
placement: PropType<TooltipPlacement>;
|
|
116
|
+
color: PropType<LiteralUnion<PresetColorType>>;
|
|
117
|
+
transitionName: StringConstructor;
|
|
118
|
+
overlayStyle: {
|
|
119
|
+
type: PropType<CSSProperties>;
|
|
120
|
+
default: CSSProperties;
|
|
121
|
+
};
|
|
122
|
+
overlayInnerStyle: {
|
|
123
|
+
type: PropType<CSSProperties>;
|
|
124
|
+
default: CSSProperties;
|
|
125
|
+
};
|
|
126
|
+
overlayClassName: StringConstructor;
|
|
127
|
+
openClassName: StringConstructor;
|
|
128
|
+
prefixCls: StringConstructor;
|
|
129
|
+
mouseEnterDelay: NumberConstructor;
|
|
130
|
+
mouseLeaveDelay: NumberConstructor;
|
|
131
|
+
getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
|
|
132
|
+
arrowPointAtCenter: {
|
|
133
|
+
type: BooleanConstructor;
|
|
134
|
+
default: any;
|
|
135
|
+
};
|
|
136
|
+
arrow: {
|
|
137
|
+
type: PropType<boolean | {
|
|
138
|
+
pointAtCenter?: boolean | undefined;
|
|
139
|
+
}>;
|
|
140
|
+
default: boolean | {
|
|
141
|
+
pointAtCenter?: boolean | undefined;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
autoAdjustOverflow: {
|
|
145
|
+
type: PropType<boolean | AdjustOverflow>;
|
|
146
|
+
default: boolean | AdjustOverflow;
|
|
147
|
+
};
|
|
148
|
+
destroyTooltipOnHide: {
|
|
149
|
+
type: BooleanConstructor;
|
|
150
|
+
default: any;
|
|
151
|
+
};
|
|
152
|
+
align: {
|
|
153
|
+
type: PropType<AlignType>;
|
|
154
|
+
default: AlignType;
|
|
155
|
+
};
|
|
156
|
+
builtinPlacements: {
|
|
157
|
+
type: PropType<BuildInPlacements>;
|
|
158
|
+
default: BuildInPlacements;
|
|
159
|
+
};
|
|
160
|
+
children: ArrayConstructor;
|
|
161
|
+
onVisibleChange: PropType<(vis: boolean) => void>;
|
|
162
|
+
'onUpdate:visible': PropType<(vis: boolean) => void>;
|
|
163
|
+
onOpenChange: PropType<(vis: boolean) => void>;
|
|
164
|
+
'onUpdate:open': PropType<(vis: boolean) => void>;
|
|
165
|
+
}>>;
|
|
166
|
+
showHeader: boolean;
|
|
167
|
+
expandFixed: boolean | "left" | "right";
|
|
168
|
+
expandRowByClick: boolean;
|
|
169
|
+
defaultExpandAllRows: boolean;
|
|
170
|
+
indentSize: number;
|
|
171
|
+
showExpandColumn: boolean;
|
|
172
|
+
childrenColumnName: string;
|
|
173
|
+
}, {}>, Readonly<EditableTableSlots> & EditableTableSlots>;
|
|
174
|
+
export default _default;
|
|
175
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
176
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
177
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
178
|
+
type: PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
179
|
+
} : {
|
|
180
|
+
type: PropType<T[K]>;
|
|
181
|
+
required: true;
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
type __VLS_WithDefaults<P, D> = {
|
|
185
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
186
|
+
default: D[K];
|
|
187
|
+
}> : P[K];
|
|
188
|
+
};
|
|
189
|
+
type __VLS_Prettify<T> = {
|
|
190
|
+
[K in keyof T]: T[K];
|
|
191
|
+
} & {};
|
|
192
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
193
|
+
new (): {
|
|
194
|
+
$slots: S;
|
|
195
|
+
};
|
|
196
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),E=require("ant-design-vue"),d=require("../ap-form/index.js"),i=require("lodash-unified");require("../config-provider/index.js");require("../hooks/index.js");const N=require("../utils/index.js"),S=require("./hooks/use-get-columns.js");require("./style/index.css");const k=require("../config-provider/hooks/use-namespace.js"),P=require("../config-provider/hooks/use-global-config.js"),L=require("../hooks/useControllableValue.js"),j=e.defineComponent({name:"EditableTable",__name:"index",props:{dropdownPrefixCls:{},pagination:{type:[Boolean,Object],default:!1},loading:{type:[Boolean,Object],default:void 0},size:{default:"middle"},bordered:{type:Boolean,default:!1},locale:{},onChange:{},onResizeColumn:{},rowSelection:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!0},prefixCls:{},rowKey:{default:"key"},tableLayout:{default:"fixed"},rowClassName:{},title:{},footer:{},id:{},showHeader:{type:Boolean,default:!0},components:{},customRow:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean],default:!1},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean,default:!1},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean,default:!1},indentSize:{default:15},expandIconColumnIndex:{},showExpandColumn:{type:Boolean,default:!0},expandedRowClassName:{},childrenColumnName:{default:"children"},rowExpandable:{},sticky:{type:[Boolean,Object]},transformCellText:{},columns:{},value:{},defaultValue:{},"onUpdate:value":{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(p,{expose:m,emit:x}){const l=p,{b:f,em:C}=k.useNamespace("editable-table"),g=P.useGlobalConfig("uiMode","aplus"),h=e.useSlots(),w=x,{value:u,updateValue:y}=L.useControllableValue(l,w),s=e.ref(),b=d.ApForm.useWatch(l.name,s);e.watch(()=>b.value,n=>{var o;y(n),(o=l.onChange)==null||o.call(l,n)});const v=S.default(l);function R(){var n;(n=s.value)==null||n.resetFields()}async function B(n,o){var t;const a=await((t=s.value)==null?void 0:t.validateFields(n,o));return a==null?void 0:a[l.name]}function q(n){var a,t,r;const o=((a=e.unref(u))==null?void 0:a.length)||0;N.isDef(l.maxLength)&&o>=l.maxLength||(r=(t=s.value)==null?void 0:t.setFieldValue)==null||r.call(t,l.name,[...e.unref(u)||[],n||{}])}function F(n){var a,t;const o=i.cloneDeep(e.unref(u)||[]);o.splice(n,1),(t=(a=s.value)==null?void 0:a.setFieldValue)==null||t.call(a,l.name,[...o])}function D(){return e.unref(u)}function V(n){var o;return(o=e.unref(u))==null?void 0:o[n]}function _(n,o){var t,r;const a=i.cloneDeep(e.unref(u));a[n]&&(a[n]={...a[n],...o},(r=(t=s.value)==null?void 0:t.setFieldValue)==null||r.call(t,l.name,[...a]))}return m({resetFields:R,validateFields:B,add:q,remove:F,getRowData:V,getRowsData:D,setRowData:_}),(n,o)=>(e.openBlock(),e.createBlock(e.unref(d.ApForm),{"initial-values":{[l.name]:e.unref(u)},ref_key:"formRef",ref:s},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ApForm).FormItem,{name:n.name,"no-style":""},{default:e.withCtx(()=>[e.createVNode(e.unref(E.Table),e.mergeProps(e.unref(i.omit)(l,["name","value","onUpdate:value","maxLength"]),{class:[e.unref(f)(),e.unref(g)==="admin"?e.unref(f)("admin"):null],columns:e.unref(v),"data-source":e.unref(u)}),e.createSlots({headerCell:e.withCtx(({column:a})=>{var t,r,c;return[(t=a==null?void 0:a.fieldProps)!=null&&t.required||(c=(r=a==null?void 0:a.fieldProps)==null?void 0:r.rules)!=null&&c.length?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(C)("header-cell","required"))},"*",2),e.createElementVNode("span",null,e.toDisplayString(a.title),1)],64)):e.createCommentVNode("",!0)]}),_:2},[e.renderList(h,(a,t)=>({name:t,fn:e.withCtx(r=>[e.renderSlot(n.$slots,t,e.normalizeProps(e.guardReactiveProps(r||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=j;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index.vue.js");exports.default=e.default;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ColumnType, TableProps } from 'ant-design-vue/es/table';
|
|
2
2
|
import { ApTableValueFields, ValueEnum } from '../ap-table';
|
|
3
|
-
import {
|
|
3
|
+
import { NamePath, ValidateOptions } from 'ant-design-vue/es/form/interface';
|
|
4
|
+
import { DataIndex } from 'ant-design-vue/es/vc-table/interface';
|
|
5
|
+
import { FormItemProps } from 'ant-design-vue';
|
|
4
6
|
|
|
5
7
|
export type EditableColumnType<ValueType extends keyof ApTableValueFields = 'text', RecordType = any> = Omit<ColumnType<RecordType>, 'children'> & {
|
|
6
8
|
/**
|
|
@@ -21,6 +23,7 @@ export type EditableColumnType<ValueType extends keyof ApTableValueFields = 'tex
|
|
|
21
23
|
valueEnum?: ValueEnum;
|
|
22
24
|
/**
|
|
23
25
|
* 自定义表单
|
|
26
|
+
* @deprecated 未实现,请使用`customRender`
|
|
24
27
|
*/
|
|
25
28
|
customRenderFormItem?: (config: EditableColumnType<ValueType, RecordType>) => any;
|
|
26
29
|
/**
|
|
@@ -45,9 +48,13 @@ export type EditableTableProps<RecordType = any> = Omit<TableProps<RecordType>,
|
|
|
45
48
|
*/
|
|
46
49
|
columns?: EditableColumnType<any, RecordType>[];
|
|
47
50
|
/**
|
|
48
|
-
*
|
|
51
|
+
* 表格数据v-model
|
|
49
52
|
*/
|
|
50
53
|
value?: RecordType[];
|
|
54
|
+
/**
|
|
55
|
+
* 表格数据默认值(只生效一次,如果是异步数据,请使用`v-model`)
|
|
56
|
+
*/
|
|
57
|
+
defaultValue?: RecordType[];
|
|
51
58
|
'onUpdate:value'?: (value: RecordType[]) => void;
|
|
52
59
|
/**
|
|
53
60
|
* 数据修改时触发onChange(也包含数据的删除)
|
|
@@ -60,14 +67,72 @@ export type EditableTableProps<RecordType = any> = Omit<TableProps<RecordType>,
|
|
|
60
67
|
*/
|
|
61
68
|
maxLength?: number;
|
|
62
69
|
/**
|
|
63
|
-
*
|
|
70
|
+
* 设置可编辑表格的名字,如果不传,将会使用默认值
|
|
64
71
|
*/
|
|
65
72
|
name?: any;
|
|
73
|
+
/**
|
|
74
|
+
* 当字段值变更的时候触发(注意,向表单设置值并不会触发)
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
onFieldChange?: (rowIndex: number, fieldName: DataIndex, newValue: any) => void;
|
|
78
|
+
};
|
|
79
|
+
export type EditableTableFormItemProps<RecordType = any> = Omit<EditableTableProps<RecordType>, 'name'> & {
|
|
80
|
+
label?: string;
|
|
81
|
+
/**
|
|
82
|
+
* FormItem的name 暂不支持传入数组类型
|
|
83
|
+
*/
|
|
84
|
+
name: string;
|
|
85
|
+
/**
|
|
86
|
+
* 额外的表单项配置属性
|
|
87
|
+
*/
|
|
88
|
+
formItem?: Partial<Omit<FormItemProps, 'name' | 'label'>>;
|
|
66
89
|
};
|
|
67
|
-
export type EditableTableExpose<ModelType = any> = {
|
|
90
|
+
export type EditableTableExpose<ModelType = any, RecordType = any> = {
|
|
91
|
+
/**
|
|
92
|
+
* 重设可编辑表格数据
|
|
93
|
+
* @param name
|
|
94
|
+
* @returns
|
|
95
|
+
*/
|
|
68
96
|
resetFields: (name?: NamePath) => void;
|
|
97
|
+
/**
|
|
98
|
+
* 作为单独的表单使用时,校验表格数据
|
|
99
|
+
* @param nameList
|
|
100
|
+
* @param options
|
|
101
|
+
* @returns
|
|
102
|
+
*/
|
|
69
103
|
validateFields: (nameList?: NamePath[] | string, options?: ValidateOptions) => Promise<Partial<ModelType>> | undefined;
|
|
70
|
-
|
|
71
|
-
|
|
104
|
+
/**
|
|
105
|
+
* 添加一行数据
|
|
106
|
+
* @param defaultValue
|
|
107
|
+
* @returns
|
|
108
|
+
*/
|
|
109
|
+
add: (defaultValue?: Partial<RecordType>) => void;
|
|
110
|
+
/**
|
|
111
|
+
* 删除一行数据
|
|
112
|
+
* @param index
|
|
113
|
+
* @returns
|
|
114
|
+
*/
|
|
72
115
|
remove: (index: number) => void;
|
|
116
|
+
/**
|
|
117
|
+
* 获取所有行的数据
|
|
118
|
+
* @returns
|
|
119
|
+
*/
|
|
120
|
+
getRowsData: () => RecordType[];
|
|
121
|
+
/**
|
|
122
|
+
* 获取指定行的数据
|
|
123
|
+
* @returns
|
|
124
|
+
*/
|
|
125
|
+
getRowData: (index: number) => RecordType | undefined;
|
|
126
|
+
/**
|
|
127
|
+
* 设置表格行数据(数据会进行浅层合并)
|
|
128
|
+
* @param index
|
|
129
|
+
* @param data
|
|
130
|
+
* @returns
|
|
131
|
+
*/
|
|
132
|
+
setRowData: (index: number, data: Partial<RecordType>) => void;
|
|
73
133
|
};
|
|
134
|
+
/**
|
|
135
|
+
* 可编辑表格作为表单项暴露的实例
|
|
136
|
+
* @description 作为Form表单使用时不再暴露表单相关的API
|
|
137
|
+
*/
|
|
138
|
+
export type EditableTableFormItemExpose<ModelType = any, RecordType = any> = Omit<EditableTableExpose<ModelType, RecordType>, 'resetFields' | 'validateFields'>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|