@vtj/ui 0.8.39 → 0.8.41

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.
Files changed (31) hide show
  1. package/dist/index.mjs +18418 -17967
  2. package/dist/index.umd.js +14 -14
  3. package/dist/style.css +1 -1
  4. package/package.json +6 -6
  5. package/types/adapter.d.ts +3 -1
  6. package/types/components/field/Field.d.ts +3 -3
  7. package/types/components/field/builtin.d.ts +2 -1
  8. package/types/components/field/index.d.ts +1 -0
  9. package/types/components/field/types.d.ts +4 -4
  10. package/types/components/grid/Grid.d.ts +56 -46
  11. package/types/components/grid/hooks/index.d.ts +1 -0
  12. package/types/components/grid/hooks/useLoader.d.ts +661 -0
  13. package/types/components/grid/hooks/useProps.d.ts +6 -21
  14. package/types/components/grid/hooks/useState.d.ts +654 -0
  15. package/types/components/grid/props.d.ts +22 -25
  16. package/types/components/grid/renderers/components/PickerEdit.d.ts +18 -0
  17. package/types/components/grid/renderers/picker.d.ts +3 -0
  18. package/types/components/grid/types.d.ts +14 -0
  19. package/types/components/index.d.ts +1 -0
  20. package/types/components/list/List.d.ts +1 -1
  21. package/types/components/picker/Dialog.d.ts +24 -0
  22. package/types/components/picker/Picker.d.ts +437 -0
  23. package/types/components/picker/hooks.d.ts +14 -0
  24. package/types/components/picker/index.d.ts +4 -0
  25. package/types/components/picker/props.d.ts +263 -0
  26. package/types/components/picker/types.d.ts +19 -0
  27. package/types/components/query-form/QueryForm.d.ts +9 -0
  28. package/types/components/query-form/hooks.d.ts +2 -1
  29. package/types/components/query-form/props.d.ts +4 -0
  30. package/types/components/shared.d.ts +1 -0
  31. package/types/version.d.ts +2 -2
@@ -1,5 +1,5 @@
1
1
  import { PropType, InjectionKey, ComponentInternalInstance } from 'vue';
2
- import { GridColumns, GridCustomInfo, VxeGridPropTypes, GridCellRenders, GridEditRenders, GridFilterRenders } from './types';
2
+ import { GridColumns, GridCustomInfo, GridCellRenders, GridEditRenders, GridFilterRenders, GridLoader } from './types';
3
3
  import { Options } from 'sortablejs';
4
4
 
5
5
  export declare const gridProps: {
@@ -10,6 +10,9 @@ export declare const gridProps: {
10
10
  type: PropType<GridColumns>;
11
11
  default(): GridColumns;
12
12
  };
13
+ loader: {
14
+ type: PropType<GridLoader>;
15
+ };
13
16
  /**
14
17
  * 行拖拽排序
15
18
  */
@@ -50,38 +53,38 @@ export declare const gridProps: {
50
53
  default: boolean;
51
54
  };
52
55
  /**
53
- * 查询方法,可以通过 proxy-config.props 配置读取响应结构的字段;
54
- * 如果使用了服务端排序,sort 属性可以获取相关信息;
55
- * 如果使用了服务端过滤,filter 属性可以获取相关信息;
56
- * 如果使用了表单,form 属性可以获取相关信息
56
+ * 开启分页
57
57
  */
58
- query: {
59
- type: PropType<(params: VxeGridPropTypes.ProxyAjaxQueryParams) => Promise<any>>;
58
+ pager: {
59
+ type: BooleanConstructor;
60
60
  };
61
61
  /**
62
- * 全量查询方法,和 query 同样属于查询方法,区别是 queryAll 只会被特殊行为触发,
63
- * 例如导出模式 export-config.mode=all 时会触发该方法并将返回值进行导出
62
+ * 初始页码
64
63
  */
65
- queryAll: {
66
- type: PropType<(params: VxeGridPropTypes.ProxyAjaxQueryAllParams) => Promise<any>>;
64
+ page: {
65
+ type: NumberConstructor;
66
+ default: number;
67
67
  };
68
68
  /**
69
- * 删除方法,提交的参数 { removeRecords }
69
+ * 初始每页显示条目个数
70
70
  */
71
- delete: {
72
- type: PropType<(params: VxeGridPropTypes.ProxyAjaxDeleteParams) => Promise<any>>;
71
+ pageSize: {
72
+ type: NumberConstructor;
73
+ default: number;
73
74
  };
74
75
  /**
75
- * 保存方法,body 参数 { insertRecords, updateRecords, removeRecords, pendingRecords
76
+ * 每页显示个数选择器的选项设置
76
77
  */
77
- save: {
78
- type: PropType<(params: VxeGridPropTypes.ProxyAjaxSaveParams) => Promise<any>>;
78
+ pageSizes: {
79
+ type: PropType<number[]>;
80
+ default: () => number[];
79
81
  };
80
82
  /**
81
- * 开启分页
83
+ * 初始执行加载函数
82
84
  */
83
- pager: {
85
+ auto: {
84
86
  type: BooleanConstructor;
87
+ default: boolean;
85
88
  };
86
89
  /**
87
90
  * 开启虚拟滚动
@@ -115,11 +118,5 @@ export declare const gridProps: {
115
118
  type: BooleanConstructor;
116
119
  default: boolean;
117
120
  };
118
- /**
119
- * 查询表单模型数据
120
- */
121
- queryModel: {
122
- type: PropType<Record<string, any>>;
123
- };
124
121
  };
125
122
  export declare const GridInstanceKey: InjectionKey<ComponentInternalInstance | null>;
@@ -0,0 +1,18 @@
1
+ import { VxeGlobalRendererHandles } from '../../types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
3
+
4
+ export interface Props {
5
+ params: VxeGlobalRendererHandles.RenderEditParams;
6
+ renderOpts: VxeGlobalRendererHandles.RenderEditOptions;
7
+ }
8
+ declare const _default: DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>>, {}, {}>;
9
+ export default _default;
10
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
11
+ type __VLS_TypePropsToRuntimeProps<T> = {
12
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
13
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
14
+ } : {
15
+ type: PropType<T[K]>;
16
+ required: true;
17
+ };
18
+ };
@@ -0,0 +1,3 @@
1
+ import { RendererOptions } from 'vxe-table';
2
+
3
+ export declare const XPicker: RendererOptions;
@@ -19,6 +19,19 @@ export interface GridSortableEvent {
19
19
  e: Sortable.SortableEvent;
20
20
  }
21
21
  export type GridColumns = VxeGridPropTypes.Columns;
22
+ export interface GridState {
23
+ page?: number;
24
+ pageSize?: number;
25
+ total?: number;
26
+ filters?: VxeTableDefines.FilterCheckedParams[];
27
+ sorts?: VxeTableDefines.SortCheckedParams[];
28
+ [index: string]: any;
29
+ }
30
+ export interface GridLoaderData {
31
+ list: any[];
32
+ total: number;
33
+ }
34
+ export type GridLoader = (state: GridState) => GridLoaderData | Promise<GridLoaderData>;
22
35
  export type GridCustomInfo = {
23
36
  id: string;
24
37
  resize?: Record<string, number>;
@@ -44,6 +57,7 @@ export type GridEmits = {
44
57
  columnSort: [e: GridSortableEvent];
45
58
  cellSelected: [params: any];
46
59
  editChange: [data: any[]];
60
+ loaded: [rows: any[]];
47
61
  };
48
62
  export type GridInstance = InstanceType<typeof Grid>;
49
63
  export type { VxeGridInstance, VxeTableDefines, VxeGridPropTypes, VxeColumnPropTypes, VxeGridEvents, VxeGridDefines, VxeGridProps, VxeGlobalRendererHandles, VxeColumnSlotTypes, DefineRendererOption, VxeGlobalInterceptorHandles };
@@ -23,3 +23,4 @@ export * from './sms-code-input';
23
23
  export * from './attachment';
24
24
  export * from './query-form';
25
25
  export * from './grid';
26
+ export * from './picker';
@@ -91,8 +91,8 @@ declare const _default: __VLS_WithTemplateSlots< DefineComponent<{
91
91
  data: DataLoader<ListData, ListState>;
92
92
  width: string | number;
93
93
  height: string | number;
94
- pageSize: number;
95
94
  page: number;
95
+ pageSize: number;
96
96
  }, {}>, {
97
97
  empty?(_: {}): any;
98
98
  default?(_: {
@@ -0,0 +1,24 @@
1
+ import { PickerColumns, PickerFields, PickerLoader } from './types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType } from 'vue';
3
+
4
+ export interface Props {
5
+ gridProps?: any;
6
+ formProps?: any;
7
+ columns?: PickerColumns;
8
+ fields?: PickerFields;
9
+ loader?: PickerLoader;
10
+ formModel?: Record<string, any>;
11
+ multiple?: boolean;
12
+ onPick: (rows: any[]) => void;
13
+ }
14
+ declare const _default: DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>>, {}, {}>;
15
+ export default _default;
16
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
17
+ type __VLS_TypePropsToRuntimeProps<T> = {
18
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
19
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
20
+ } : {
21
+ type: PropType<T[K]>;
22
+ required: true;
23
+ };
24
+ };
@@ -0,0 +1,437 @@
1
+ import { DefineComponent, PropType, ExtractPropTypes, VNode, RendererNode, RendererElement, ComputedRef, Ref, ComponentOptionsMixin, PublicProps } from 'vue';
2
+ import { GridColumns, QueryFormItems, GridLoader, UnReadOnly, IconParam, BaseSize, DialogMode, GridCustomInfo, GridCellRenders, GridEditRenders, GridFilterRenders } from '..';
3
+ import { DraggableOptions, ResizableOptions } from '../..';
4
+ import { Options } from 'sortablejs';
5
+ declare const _default: DefineComponent<{
6
+ columns: {
7
+ type: PropType<GridColumns>;
8
+ };
9
+ fields: {
10
+ type: PropType<QueryFormItems>;
11
+ };
12
+ loader: {
13
+ type: PropType<GridLoader>;
14
+ };
15
+ modelValue: {
16
+ type: (StringConstructor | NumberConstructor | ObjectConstructor | ArrayConstructor)[];
17
+ };
18
+ multiple: {
19
+ type: BooleanConstructor;
20
+ };
21
+ raw: {
22
+ type: BooleanConstructor;
23
+ };
24
+ disabled: {
25
+ type: BooleanConstructor;
26
+ };
27
+ append: {
28
+ type: BooleanConstructor;
29
+ };
30
+ valueKey: {
31
+ type: StringConstructor;
32
+ default: string;
33
+ };
34
+ labelKey: {
35
+ type: StringConstructor;
36
+ default: string;
37
+ };
38
+ queryKey: {
39
+ type: StringConstructor;
40
+ };
41
+ preload: {
42
+ type: BooleanConstructor;
43
+ };
44
+ defaultQuery: {
45
+ type: PropType<() => any>;
46
+ };
47
+ dialogProps: {
48
+ type: PropType<UnReadOnly<Partial<Readonly<Partial< ExtractPropTypes<{
49
+ modelValue: {
50
+ type: BooleanConstructor;
51
+ default: boolean;
52
+ };
53
+ title: {
54
+ type: StringConstructor;
55
+ };
56
+ subtitle: {
57
+ type: StringConstructor;
58
+ };
59
+ icon: {
60
+ type: PropType<IconParam>;
61
+ };
62
+ size: {
63
+ type: PropType<BaseSize>;
64
+ default: string;
65
+ };
66
+ width: {
67
+ type: (StringConstructor | NumberConstructor)[];
68
+ default: string;
69
+ };
70
+ height: {
71
+ type: (StringConstructor | NumberConstructor)[];
72
+ default: string;
73
+ };
74
+ left: {
75
+ type: (StringConstructor | NumberConstructor)[];
76
+ };
77
+ top: {
78
+ type: (StringConstructor | NumberConstructor)[];
79
+ };
80
+ modal: {
81
+ type: BooleanConstructor;
82
+ default: boolean;
83
+ };
84
+ draggable: {
85
+ type: PropType<boolean | DraggableOptions>;
86
+ default: boolean;
87
+ };
88
+ resizable: {
89
+ type: PropType<boolean | ResizableOptions>;
90
+ };
91
+ closable: {
92
+ type: BooleanConstructor;
93
+ default: boolean;
94
+ };
95
+ maximizable: {
96
+ type: BooleanConstructor;
97
+ default: boolean;
98
+ };
99
+ minimizable: {
100
+ type: BooleanConstructor;
101
+ default: boolean;
102
+ };
103
+ mode: {
104
+ type: PropType<DialogMode>;
105
+ default: string;
106
+ };
107
+ content: {
108
+ type: PropType<Record<string, any> | VNode<RendererNode, RendererElement, {
109
+ [key: string]: any;
110
+ }> | DefineComponent<any, any, any, any>>;
111
+ };
112
+ src: {
113
+ type: StringConstructor;
114
+ };
115
+ componentInstance: {
116
+ type: PropType<Record<string, any> | null>;
117
+ };
118
+ beforeClose: {
119
+ type: PropType<() => boolean | Promise<boolean>>;
120
+ };
121
+ submit: {
122
+ type: (BooleanConstructor | StringConstructor)[];
123
+ };
124
+ cancel: {
125
+ type: (BooleanConstructor | StringConstructor)[];
126
+ };
127
+ bodyPadding: {
128
+ type: BooleanConstructor;
129
+ default: boolean;
130
+ };
131
+ primary: {
132
+ type: BooleanConstructor;
133
+ };
134
+ }>>>>>>;
135
+ };
136
+ gridProps: {
137
+ type: PropType<UnReadOnly<Partial<Readonly<Partial< ExtractPropTypes<{
138
+ columns: {
139
+ type: PropType<GridColumns>;
140
+ default(): GridColumns;
141
+ };
142
+ loader: {
143
+ type: PropType<GridLoader>;
144
+ };
145
+ rowSortable: {
146
+ type: PropType<boolean | Options>;
147
+ default: boolean;
148
+ };
149
+ columnSortable: {
150
+ type: PropType<boolean | Options>;
151
+ default: boolean;
152
+ };
153
+ customable: {
154
+ type: BooleanConstructor;
155
+ };
156
+ getCustom: {
157
+ type: PropType<(id: string) => Promise< GridCustomInfo>>;
158
+ };
159
+ saveCustom: {
160
+ type: PropType<(info: GridCustomInfo) => Promise<any>>;
161
+ };
162
+ resizable: {
163
+ type: BooleanConstructor;
164
+ default: boolean;
165
+ };
166
+ pager: {
167
+ type: BooleanConstructor;
168
+ };
169
+ page: {
170
+ type: NumberConstructor;
171
+ default: number;
172
+ };
173
+ pageSize: {
174
+ type: NumberConstructor;
175
+ default: number;
176
+ };
177
+ pageSizes: {
178
+ type: PropType<number[]>;
179
+ default: () => number[];
180
+ };
181
+ auto: {
182
+ type: BooleanConstructor;
183
+ default: boolean;
184
+ };
185
+ virtual: {
186
+ type: BooleanConstructor;
187
+ default: boolean;
188
+ };
189
+ cellRenders: {
190
+ type: PropType<GridCellRenders>;
191
+ };
192
+ editRenders: {
193
+ type: PropType<GridEditRenders>;
194
+ };
195
+ filterRenders: {
196
+ type: PropType<GridFilterRenders>;
197
+ };
198
+ editable: {
199
+ type: BooleanConstructor;
200
+ default: boolean;
201
+ };
202
+ }>>>>>>;
203
+ };
204
+ formProps: {
205
+ type: PropType<Record<string, any>>;
206
+ };
207
+ }, {
208
+ focus: () => void;
209
+ blur: () => void;
210
+ disabled: ComputedRef<boolean>;
211
+ options: Ref<{
212
+ label: string;
213
+ value: any;
214
+ }[]>;
215
+ setOptions: (rows: any, append?: boolean | undefined) => void;
216
+ current: Ref<any>;
217
+ visible: Ref<boolean>;
218
+ }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
219
+ change: (value: any) => void;
220
+ "update:modelValue": (value: any) => void;
221
+ picked: (value: any) => void;
222
+ }, string, PublicProps, Readonly< ExtractPropTypes<{
223
+ columns: {
224
+ type: PropType<GridColumns>;
225
+ };
226
+ fields: {
227
+ type: PropType<QueryFormItems>;
228
+ };
229
+ loader: {
230
+ type: PropType<GridLoader>;
231
+ };
232
+ modelValue: {
233
+ type: (StringConstructor | NumberConstructor | ObjectConstructor | ArrayConstructor)[];
234
+ };
235
+ multiple: {
236
+ type: BooleanConstructor;
237
+ };
238
+ raw: {
239
+ type: BooleanConstructor;
240
+ };
241
+ disabled: {
242
+ type: BooleanConstructor;
243
+ };
244
+ append: {
245
+ type: BooleanConstructor;
246
+ };
247
+ valueKey: {
248
+ type: StringConstructor;
249
+ default: string;
250
+ };
251
+ labelKey: {
252
+ type: StringConstructor;
253
+ default: string;
254
+ };
255
+ queryKey: {
256
+ type: StringConstructor;
257
+ };
258
+ preload: {
259
+ type: BooleanConstructor;
260
+ };
261
+ defaultQuery: {
262
+ type: PropType<() => any>;
263
+ };
264
+ dialogProps: {
265
+ type: PropType<UnReadOnly<Partial<Readonly<Partial< ExtractPropTypes<{
266
+ modelValue: {
267
+ type: BooleanConstructor;
268
+ default: boolean;
269
+ };
270
+ title: {
271
+ type: StringConstructor;
272
+ };
273
+ subtitle: {
274
+ type: StringConstructor;
275
+ };
276
+ icon: {
277
+ type: PropType<IconParam>;
278
+ };
279
+ size: {
280
+ type: PropType<BaseSize>;
281
+ default: string;
282
+ };
283
+ width: {
284
+ type: (StringConstructor | NumberConstructor)[];
285
+ default: string;
286
+ };
287
+ height: {
288
+ type: (StringConstructor | NumberConstructor)[];
289
+ default: string;
290
+ };
291
+ left: {
292
+ type: (StringConstructor | NumberConstructor)[];
293
+ };
294
+ top: {
295
+ type: (StringConstructor | NumberConstructor)[];
296
+ };
297
+ modal: {
298
+ type: BooleanConstructor;
299
+ default: boolean;
300
+ };
301
+ draggable: {
302
+ type: PropType<boolean | DraggableOptions>;
303
+ default: boolean;
304
+ };
305
+ resizable: {
306
+ type: PropType<boolean | ResizableOptions>;
307
+ };
308
+ closable: {
309
+ type: BooleanConstructor;
310
+ default: boolean;
311
+ };
312
+ maximizable: {
313
+ type: BooleanConstructor;
314
+ default: boolean;
315
+ };
316
+ minimizable: {
317
+ type: BooleanConstructor;
318
+ default: boolean;
319
+ };
320
+ mode: {
321
+ type: PropType<DialogMode>;
322
+ default: string;
323
+ };
324
+ content: {
325
+ type: PropType<Record<string, any> | VNode<RendererNode, RendererElement, {
326
+ [key: string]: any;
327
+ }> | DefineComponent<any, any, any, any>>;
328
+ };
329
+ src: {
330
+ type: StringConstructor;
331
+ };
332
+ componentInstance: {
333
+ type: PropType<Record<string, any> | null>;
334
+ };
335
+ beforeClose: {
336
+ type: PropType<() => boolean | Promise<boolean>>;
337
+ };
338
+ submit: {
339
+ type: (BooleanConstructor | StringConstructor)[];
340
+ };
341
+ cancel: {
342
+ type: (BooleanConstructor | StringConstructor)[];
343
+ };
344
+ bodyPadding: {
345
+ type: BooleanConstructor;
346
+ default: boolean;
347
+ };
348
+ primary: {
349
+ type: BooleanConstructor;
350
+ };
351
+ }>>>>>>;
352
+ };
353
+ gridProps: {
354
+ type: PropType<UnReadOnly<Partial<Readonly<Partial< ExtractPropTypes<{
355
+ columns: {
356
+ type: PropType<GridColumns>;
357
+ default(): GridColumns;
358
+ };
359
+ loader: {
360
+ type: PropType<GridLoader>;
361
+ };
362
+ rowSortable: {
363
+ type: PropType<boolean | Options>;
364
+ default: boolean;
365
+ };
366
+ columnSortable: {
367
+ type: PropType<boolean | Options>;
368
+ default: boolean;
369
+ };
370
+ customable: {
371
+ type: BooleanConstructor;
372
+ };
373
+ getCustom: {
374
+ type: PropType<(id: string) => Promise< GridCustomInfo>>;
375
+ };
376
+ saveCustom: {
377
+ type: PropType<(info: GridCustomInfo) => Promise<any>>;
378
+ };
379
+ resizable: {
380
+ type: BooleanConstructor;
381
+ default: boolean;
382
+ };
383
+ pager: {
384
+ type: BooleanConstructor;
385
+ };
386
+ page: {
387
+ type: NumberConstructor;
388
+ default: number;
389
+ };
390
+ pageSize: {
391
+ type: NumberConstructor;
392
+ default: number;
393
+ };
394
+ pageSizes: {
395
+ type: PropType<number[]>;
396
+ default: () => number[];
397
+ };
398
+ auto: {
399
+ type: BooleanConstructor;
400
+ default: boolean;
401
+ };
402
+ virtual: {
403
+ type: BooleanConstructor;
404
+ default: boolean;
405
+ };
406
+ cellRenders: {
407
+ type: PropType<GridCellRenders>;
408
+ };
409
+ editRenders: {
410
+ type: PropType<GridEditRenders>;
411
+ };
412
+ filterRenders: {
413
+ type: PropType<GridFilterRenders>;
414
+ };
415
+ editable: {
416
+ type: BooleanConstructor;
417
+ default: boolean;
418
+ };
419
+ }>>>>>>;
420
+ };
421
+ formProps: {
422
+ type: PropType<Record<string, any>>;
423
+ };
424
+ }>> & {
425
+ onChange?: ((value: any) => any) | undefined;
426
+ "onUpdate:modelValue"?: ((value: any) => any) | undefined;
427
+ onPicked?: ((value: any) => any) | undefined;
428
+ }, {
429
+ raw: boolean;
430
+ disabled: boolean;
431
+ multiple: boolean;
432
+ valueKey: string;
433
+ append: boolean;
434
+ labelKey: string;
435
+ preload: boolean;
436
+ }, {}>;
437
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import { Emits } from '../shared';
2
+ import { PickerProps, PickerEmits } from './types';
3
+ import { Ref, ComputedRef } from 'vue';
4
+ import { VxeTableDataRow } from 'vxe-table';
5
+
6
+ export declare function useOptions(props: PickerProps, emit: Emits<PickerEmits>): {
7
+ current: Ref<any>;
8
+ options: Ref<{
9
+ label: string;
10
+ value: any;
11
+ }[]>;
12
+ setOptions: (rows: any, append?: boolean) => void;
13
+ };
14
+ export declare function useGridColumns(props: PickerProps): ComputedRef<import("vxe-table").VxeTableDefines.ColumnOptions<VxeTableDataRow>[]>;
@@ -0,0 +1,4 @@
1
+ import { default as XPicker } from './Picker';
2
+
3
+ export { XPicker };
4
+ export * from './types';