@oiij/naive-ui 0.0.50 → 0.0.51

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/components/data-table-plus/DataTablePlus.vue.d.ts +217 -28
  2. package/dist/components/data-table-plus/index.d.ts +14 -61
  3. package/dist/components/preset-form/PresetForm.vue.d.ts +48 -62
  4. package/dist/components/preset-form/_utils.d.ts +8 -2
  5. package/dist/components/preset-form/index.d.ts +14 -18
  6. package/dist/components/preset-input/index.d.ts +132 -22
  7. package/dist/components/preset-picker/PresetPicker.vue.d.ts +21 -12
  8. package/dist/components/preset-picker/index.d.ts +4 -6
  9. package/dist/components/preset-select/PresetSelect.vue.d.ts +155 -22
  10. package/dist/components/preset-select/index.d.ts +12 -12
  11. package/dist/components/remote-request/RemoteRequest.vue.d.ts +29 -36
  12. package/dist/components/remote-request/index.d.ts +5 -4
  13. package/dist/components.cjs +27 -27
  14. package/dist/components.js +2908 -3223
  15. package/dist/components.umd.cjs +27 -27
  16. package/dist/composables/useDataRequest.cjs +102 -0
  17. package/dist/composables/useDataRequest.d.cts +61 -0
  18. package/dist/composables/useDataRequest.d.ts +61 -0
  19. package/dist/composables/useDataRequest.js +101 -0
  20. package/dist/composables/useNaiveForm.cjs +6 -2
  21. package/dist/composables/useNaiveForm.d.cts +13 -11
  22. package/dist/composables/useNaiveForm.d.ts +13 -11
  23. package/dist/composables/useNaiveForm.js +6 -2
  24. package/dist/index.cjs +2 -0
  25. package/dist/index.d.cts +2 -1
  26. package/dist/index.d.ts +2 -1
  27. package/dist/index.js +2 -1
  28. package/package.json +4 -4
  29. package/dist/components/data-table-plus/FlexFilter.vue.d.ts +0 -24
  30. package/dist/components/data-table-plus/GridFilter.vue.d.ts +0 -24
  31. package/dist/components/preset-input/_utils.d.ts +0 -6
@@ -1,12 +1,12 @@
1
- import { DataTableBaseColumn, DataTableFilterState, DataTableSortState } from 'naive-ui';
2
- import { RObject } from '../remote-request/index';
3
- import { DataTablePlusEmits, DataTablePlusExposeActions, DataTablePlusExposeRefs, DataTablePlusProps } from './index';
4
- declare const _default: <P extends RObject, D extends RObject, R extends RObject>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
1
+ import { DataTableBaseColumn, DataTableFilterState, DataTableInst, DataTableSortState } from 'naive-ui';
2
+ import { DataObject } from '../../composables/index';
3
+ import { DataTablePlusEmits, DataTablePlusExpose, DataTablePlusProps } from './index';
4
+ declare const _default: <P extends DataObject, D extends DataObject, R extends DataObject>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
5
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
6
6
  readonly onError?: ((err: Error, params: P[]) => any) | undefined;
7
+ readonly onSuccess?: ((data: D, params: P[]) => any) | undefined;
7
8
  readonly onLoad?: ((row: R) => any) | undefined;
8
9
  readonly onScroll?: ((ev: Event) => any) | undefined;
9
- readonly onSuccess?: ((data: D, params: P[]) => any) | undefined;
10
10
  readonly onFinally?: ((params: P[], data?: D | undefined, err?: Error | undefined) => any) | undefined;
11
11
  readonly onBefore?: ((params: P[]) => any) | undefined;
12
12
  readonly onClickRow?: ((row: R, index: number, event: MouseEvent, currentData: R[]) => any) | undefined;
@@ -21,45 +21,234 @@ declare const _default: <P extends RObject, D extends RObject, R extends RObject
21
21
  readonly "onUpdate:sorter"?: ((options: DataTableSortState | DataTableSortState[] | null) => any) | undefined;
22
22
  readonly "onUpdate:page"?: ((page: number) => any) | undefined;
23
23
  readonly "onUpdate:pageSize"?: ((pageSize: number) => any) | undefined;
24
- } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onLoad" | "onError" | "onScroll" | "onSuccess" | "onFinally" | "onBefore" | "onClickRow" | "onContextMenuRow" | "onScrollBottom" | "onUpdate:checkedRowKeys" | "onUpdate:expandedRowKeys" | "onUpdate:filters" | "onUpdate:sorter" | "onUpdate:page" | "onUpdate:pageSize"> & DataTablePlusProps<P, D, R> & Partial<{}>> & import('vue').PublicProps;
25
- expose(exposed: import('vue').ShallowUnwrapRef<{
26
- refs: DataTablePlusExposeRefs<P, D, R>;
27
- actions: DataTablePlusExposeActions<P, D>;
28
- }>): void;
24
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onBefore" | "onSuccess" | "onError" | "onFinally" | "onLoad" | "onScroll" | "onClickRow" | "onContextMenuRow" | "onScrollBottom" | "onUpdate:checkedRowKeys" | "onUpdate:expandedRowKeys" | "onUpdate:filters" | "onUpdate:sorter" | "onUpdate:page" | "onUpdate:pageSize"> & DataTablePlusProps<P, D, R> & Partial<{}>> & import('vue').PublicProps;
25
+ expose(exposed: import('vue').ShallowUnwrapRef<DataTablePlusExpose<P, D, R>>): void;
29
26
  attrs: any;
30
27
  slots: {
31
28
  header?(_: {
32
- refs: DataTablePlusExposeRefs<P, D, R>;
33
- actions: DataTablePlusExposeActions<P, D>;
29
+ loading: boolean;
30
+ data: D | undefined;
31
+ error: Error | undefined;
32
+ params: [] | P[];
33
+ list: R[];
34
+ pagination: {
35
+ page: number;
36
+ pageSize: number;
37
+ itemCount: number;
38
+ } | {
39
+ page: number;
40
+ pageSize: number;
41
+ itemCount: number;
42
+ };
43
+ filters: DataTableFilterState | undefined;
44
+ sorters: Record<string, DataTableSortState> | undefined;
45
+ dataTableRef: DataTableInst | null;
46
+ run: (...params: P[]) => void;
47
+ runAsync: (...params: P[]) => Promise<D>;
48
+ refresh: () => void;
49
+ refreshAsync: () => Promise<D>;
50
+ cancel: () => void;
51
+ mutate: (data?: D | ((oldData?: D | undefined) => D | undefined) | undefined) => void;
52
+ setParams: (_params: Partial<P>) => void;
53
+ runParams: (_params: Partial<P>) => void;
54
+ runParamsAsync: (_params: Partial<P>) => Promise<D>;
55
+ onBefore: import('@vueuse/core').EventHookOn<[P[]]>;
56
+ onSuccess: import('@vueuse/core').EventHookOn<[D, P[]]>;
57
+ onError: import('@vueuse/core').EventHookOn<[Error, P[]]>;
58
+ onFinally: import('@vueuse/core').EventHookOn<[P[], D | undefined, Error | undefined]>;
34
59
  }): any;
35
60
  title?(_: {}): any;
36
61
  'header-extra'?(_: {
37
- refs: DataTablePlusExposeRefs<P, D, R>;
38
- actions: DataTablePlusExposeActions<P, D>;
62
+ loading: boolean;
63
+ data: D | undefined;
64
+ error: Error | undefined;
65
+ params: [] | P[];
66
+ list: R[];
67
+ pagination: {
68
+ page: number;
69
+ pageSize: number;
70
+ itemCount: number;
71
+ } | {
72
+ page: number;
73
+ pageSize: number;
74
+ itemCount: number;
75
+ };
76
+ filters: DataTableFilterState | undefined;
77
+ sorters: Record<string, DataTableSortState> | undefined;
78
+ dataTableRef: DataTableInst | null;
79
+ run: (...params: P[]) => void;
80
+ runAsync: (...params: P[]) => Promise<D>;
81
+ refresh: () => void;
82
+ refreshAsync: () => Promise<D>;
83
+ cancel: () => void;
84
+ mutate: (data?: D | ((oldData?: D | undefined) => D | undefined) | undefined) => void;
85
+ setParams: (_params: Partial<P>) => void;
86
+ runParams: (_params: Partial<P>) => void;
87
+ runParamsAsync: (_params: Partial<P>) => Promise<D>;
88
+ onBefore: import('@vueuse/core').EventHookOn<[P[]]>;
89
+ onSuccess: import('@vueuse/core').EventHookOn<[D, P[]]>;
90
+ onError: import('@vueuse/core').EventHookOn<[Error, P[]]>;
91
+ onFinally: import('@vueuse/core').EventHookOn<[P[], D | undefined, Error | undefined]>;
39
92
  }): any;
40
93
  filter?(_: {
41
- refs: DataTablePlusExposeRefs<P, D, R>;
42
- actions: DataTablePlusExposeActions<P, D>;
94
+ loading: boolean;
95
+ data: D | undefined;
96
+ error: Error | undefined;
97
+ params: [] | P[];
98
+ list: R[];
99
+ pagination: {
100
+ page: number;
101
+ pageSize: number;
102
+ itemCount: number;
103
+ } | {
104
+ page: number;
105
+ pageSize: number;
106
+ itemCount: number;
107
+ };
108
+ filters: DataTableFilterState | undefined;
109
+ sorters: Record<string, DataTableSortState> | undefined;
110
+ dataTableRef: DataTableInst | null;
111
+ run: (...params: P[]) => void;
112
+ runAsync: (...params: P[]) => Promise<D>;
113
+ refresh: () => void;
114
+ refreshAsync: () => Promise<D>;
115
+ cancel: () => void;
116
+ mutate: (data?: D | ((oldData?: D | undefined) => D | undefined) | undefined) => void;
117
+ setParams: (_params: Partial<P>) => void;
118
+ runParams: (_params: Partial<P>) => void;
119
+ runParamsAsync: (_params: Partial<P>) => Promise<D>;
120
+ onBefore: import('@vueuse/core').EventHookOn<[P[]]>;
121
+ onSuccess: import('@vueuse/core').EventHookOn<[D, P[]]>;
122
+ onError: import('@vueuse/core').EventHookOn<[Error, P[]]>;
123
+ onFinally: import('@vueuse/core').EventHookOn<[P[], D | undefined, Error | undefined]>;
43
124
  }): any;
44
125
  empty?(_: {
45
- refs: DataTablePlusExposeRefs<P, D, R>;
46
- actions: DataTablePlusExposeActions<P, D>;
126
+ loading: boolean;
127
+ data: D | undefined;
128
+ error: Error | undefined;
129
+ params: [] | P[];
130
+ list: R[];
131
+ pagination: {
132
+ page: number;
133
+ pageSize: number;
134
+ itemCount: number;
135
+ } | {
136
+ page: number;
137
+ pageSize: number;
138
+ itemCount: number;
139
+ };
140
+ filters: DataTableFilterState | undefined;
141
+ sorters: Record<string, DataTableSortState> | undefined;
142
+ dataTableRef: DataTableInst | null;
143
+ run: (...params: P[]) => void;
144
+ runAsync: (...params: P[]) => Promise<D>;
145
+ refresh: () => void;
146
+ refreshAsync: () => Promise<D>;
147
+ cancel: () => void;
148
+ mutate: (data?: D | ((oldData?: D | undefined) => D | undefined) | undefined) => void;
149
+ setParams: (_params: Partial<P>) => void;
150
+ runParams: (_params: Partial<P>) => void;
151
+ runParamsAsync: (_params: Partial<P>) => Promise<D>;
152
+ onBefore: import('@vueuse/core').EventHookOn<[P[]]>;
153
+ onSuccess: import('@vueuse/core').EventHookOn<[D, P[]]>;
154
+ onError: import('@vueuse/core').EventHookOn<[Error, P[]]>;
155
+ onFinally: import('@vueuse/core').EventHookOn<[P[], D | undefined, Error | undefined]>;
47
156
  }): any;
48
157
  loading?(_: {
49
- refs: DataTablePlusExposeRefs<P, D, R>;
50
- actions: DataTablePlusExposeActions<P, D>;
158
+ loading: boolean;
159
+ data: D | undefined;
160
+ error: Error | undefined;
161
+ params: [] | P[];
162
+ list: R[];
163
+ pagination: {
164
+ page: number;
165
+ pageSize: number;
166
+ itemCount: number;
167
+ } | {
168
+ page: number;
169
+ pageSize: number;
170
+ itemCount: number;
171
+ };
172
+ filters: DataTableFilterState | undefined;
173
+ sorters: Record<string, DataTableSortState> | undefined;
174
+ dataTableRef: DataTableInst | null;
175
+ run: (...params: P[]) => void;
176
+ runAsync: (...params: P[]) => Promise<D>;
177
+ refresh: () => void;
178
+ refreshAsync: () => Promise<D>;
179
+ cancel: () => void;
180
+ mutate: (data?: D | ((oldData?: D | undefined) => D | undefined) | undefined) => void;
181
+ setParams: (_params: Partial<P>) => void;
182
+ runParams: (_params: Partial<P>) => void;
183
+ runParamsAsync: (_params: Partial<P>) => Promise<D>;
184
+ onBefore: import('@vueuse/core').EventHookOn<[P[]]>;
185
+ onSuccess: import('@vueuse/core').EventHookOn<[D, P[]]>;
186
+ onError: import('@vueuse/core').EventHookOn<[Error, P[]]>;
187
+ onFinally: import('@vueuse/core').EventHookOn<[P[], D | undefined, Error | undefined]>;
51
188
  }): any;
52
189
  footer?(_: {
53
- refs: DataTablePlusExposeRefs<P, D, R>;
54
- actions: DataTablePlusExposeActions<P, D>;
190
+ loading: boolean;
191
+ data: D | undefined;
192
+ error: Error | undefined;
193
+ params: [] | P[];
194
+ list: R[];
195
+ pagination: {
196
+ page: number;
197
+ pageSize: number;
198
+ itemCount: number;
199
+ } | {
200
+ page: number;
201
+ pageSize: number;
202
+ itemCount: number;
203
+ };
204
+ filters: DataTableFilterState | undefined;
205
+ sorters: Record<string, DataTableSortState> | undefined;
206
+ dataTableRef: DataTableInst | null;
207
+ run: (...params: P[]) => void;
208
+ runAsync: (...params: P[]) => Promise<D>;
209
+ refresh: () => void;
210
+ refreshAsync: () => Promise<D>;
211
+ cancel: () => void;
212
+ mutate: (data?: D | ((oldData?: D | undefined) => D | undefined) | undefined) => void;
213
+ setParams: (_params: Partial<P>) => void;
214
+ runParams: (_params: Partial<P>) => void;
215
+ runParamsAsync: (_params: Partial<P>) => Promise<D>;
216
+ onBefore: import('@vueuse/core').EventHookOn<[P[]]>;
217
+ onSuccess: import('@vueuse/core').EventHookOn<[D, P[]]>;
218
+ onError: import('@vueuse/core').EventHookOn<[Error, P[]]>;
219
+ onFinally: import('@vueuse/core').EventHookOn<[P[], D | undefined, Error | undefined]>;
55
220
  }): any;
56
221
  'footer-extra'?(_: {
57
- refs: DataTablePlusExposeRefs<P, D, R>;
58
- actions: DataTablePlusExposeActions<P, D>;
59
- }): any;
60
- 'filter-modal'?(_: {
61
- refs: DataTablePlusExposeRefs<P, D, R>;
62
- actions: DataTablePlusExposeActions<P, D>;
222
+ loading: boolean;
223
+ data: D | undefined;
224
+ error: Error | undefined;
225
+ params: [] | P[];
226
+ list: R[];
227
+ pagination: {
228
+ page: number;
229
+ pageSize: number;
230
+ itemCount: number;
231
+ } | {
232
+ page: number;
233
+ pageSize: number;
234
+ itemCount: number;
235
+ };
236
+ filters: DataTableFilterState | undefined;
237
+ sorters: Record<string, DataTableSortState> | undefined;
238
+ dataTableRef: DataTableInst | null;
239
+ run: (...params: P[]) => void;
240
+ runAsync: (...params: P[]) => Promise<D>;
241
+ refresh: () => void;
242
+ refreshAsync: () => Promise<D>;
243
+ cancel: () => void;
244
+ mutate: (data?: D | ((oldData?: D | undefined) => D | undefined) | undefined) => void;
245
+ setParams: (_params: Partial<P>) => void;
246
+ runParams: (_params: Partial<P>) => void;
247
+ runParamsAsync: (_params: Partial<P>) => Promise<D>;
248
+ onBefore: import('@vueuse/core').EventHookOn<[P[]]>;
249
+ onSuccess: import('@vueuse/core').EventHookOn<[D, P[]]>;
250
+ onError: import('@vueuse/core').EventHookOn<[Error, P[]]>;
251
+ onFinally: import('@vueuse/core').EventHookOn<[P[], D | undefined, Error | undefined]>;
63
252
  }): any;
64
253
  };
65
254
  emit: DataTablePlusEmits<P, D, R>;
@@ -1,84 +1,37 @@
1
- import { DataTableColumns, DataTableFilterState, DataTableInst, DataTableProps, DataTableSortState, DropdownOption, FlexProps, FormItemProps, GridItemProps, GridProps, ModalProps, PaginationProps } from 'naive-ui';
1
+ import { DataTableColumns, DataTableFilterState, DataTableInst, DataTableProps, DataTableSortState, PaginationProps } from 'naive-ui';
2
2
  import { FilterState, TableBaseColumn } from 'naive-ui/es/data-table/src/interface';
3
- import { ComputedRef, CSSProperties, Ref, ShallowRef, VNode } from 'vue';
4
- import { useRequestResult } from 'vue-hooks-plus/es/useRequest/types';
5
- import { PresetInputOptions } from '../preset-input/index';
6
- import { RemoteRequestEmits, RemoteRequestProps, RObject } from '../remote-request/index';
3
+ import { CSSProperties, Ref, ShallowRef } from 'vue';
4
+ import { DataObject, DataRequestFields, UseDataRequestReturns } from '../../composables/index';
5
+ import { RemoteRequestEmits, RemoteRequestProps } from '../remote-request/index';
7
6
  import { SearchInputProps } from '../search-input/index';
8
7
  export { default as NDataTablePlus } from './DataTablePlus.vue';
9
8
  export type ClassStyle = {
10
9
  class?: string;
11
10
  style?: CSSProperties | string;
12
11
  };
13
- export type DataTablePlusExposeActionsBase<P extends RObject = RObject, D extends RObject = RObject> = {
14
- run: (params: P) => void;
15
- runAsync: (params: P) => Promise<D>;
16
- refresh: () => void;
17
- refreshAsync: () => Promise<D>;
18
- cancel: () => void;
19
- mutate: (data?: D | ((oldData?: D | undefined) => D | undefined) | undefined) => void;
20
- setParams: (params: Partial<P>) => void;
21
- runParams: (params: Partial<P>) => void;
22
- runParamsAsync: (params: Partial<P>) => Promise<D>;
23
- };
24
- export type DataTablePlusExposeActions<P extends RObject = RObject, D extends RObject = RObject> = DataTablePlusExposeActionsBase<P, D> & {
25
- onValueUpdate: (key: keyof P, val: any) => void;
26
- showFilterModal: () => void;
27
- resetParams: () => void;
28
- };
29
- export type DataTablePlusPagination = {
30
- page: number;
31
- pageSize: number;
32
- itemCount: number;
33
- };
34
- export type DataTablePlusExposeRefsBase<P extends RObject = RObject, D extends RObject = RObject, R extends RObject = RObject> = Pick<useRequestResult<D, P[], false, false>, 'loading' | 'data' | 'error' | 'params'> & {
35
- pagination: Readonly<Ref<DataTablePlusPagination, DataTablePlusPagination>>;
36
- rawList: ComputedRef<R[]>;
37
- };
38
- export type DataTablePlusExposeRefs<P extends RObject = RObject, D extends RObject = RObject, R extends RObject = RObject> = DataTablePlusExposeRefsBase<P, D, R> & {
12
+ export type DataTablePlusExpose<P extends DataObject = DataObject, D extends DataObject = DataObject, R extends DataObject = DataObject> = UseDataRequestReturns<P, D, R> & {
39
13
  filters: Ref<DataTableFilterState | undefined>;
40
14
  sorters: Ref<Record<string, DataTableSortState> | undefined>;
41
15
  dataTableRef: Readonly<ShallowRef<DataTableInst | null>>;
42
16
  };
43
- export type DataTablePlusFilterOptionItem<P extends RObject = RObject, D extends RObject = RObject, R extends RObject = RObject> = PresetInputOptions & {
44
- key?: keyof P;
45
- label?: string | boolean | (FormItemProps & {
46
- style?: CSSProperties;
47
- class?: string;
48
- });
49
- collapsed?: boolean;
50
- hidden?: boolean | ((refs: DataTablePlusExposeRefs<P, D, R>) => boolean);
51
- gridSpan?: string | number;
52
- gridItemProps?: GridItemProps;
53
- render?: (refs: DataTablePlusExposeRefs<P, D, R>, actions: DataTablePlusExposeActions<P, D>) => VNode | null;
17
+ export type DataTablePlusFields = DataRequestFields & {
18
+ filter?: string;
19
+ sorter?: string;
20
+ rowKey?: string;
21
+ search?: string;
22
+ children?: string;
54
23
  };
55
- export type DataTablePlusFilterOptions<P extends RObject = RObject, D extends RObject = RObject, R extends RObject = RObject> = DataTablePlusFilterOptionItem<P, D, R>[];
56
- export type DataTablePlusFields = Partial<Record<'page' | 'pageSize' | 'filter' | 'sorter' | 'list' | 'count' | 'rowKey' | 'search' | 'children', string>>;
57
- export type DataTablePlusProps<P extends RObject = RObject, D extends RObject = RObject, R extends RObject = RObject> = RemoteRequestProps<P, D> & {
24
+ export type DataTablePlusProps<P extends DataObject = DataObject, D extends DataObject = DataObject, R extends DataObject = DataObject> = RemoteRequestProps<P, D> & {
58
25
  title?: string;
59
26
  columns?: DataTableColumns<R>;
60
- filterOptions?: DataTablePlusFilterOptions<P, D, R>;
61
- filterGridProps?: GridProps & ClassStyle;
62
- filterFlexProps?: FlexProps & ClassStyle;
63
- filterLayout?: 'grid' | 'flex' | ['grid' | 'flex'];
64
- filterCollapsedType?: 'collapsed' | 'modal';
65
- filterModalTrigger?: 'manual' | 'auto';
66
- filterLabel?: string;
67
- filterClearLabel?: string;
68
- filterModalProps?: ModalProps & ClassStyle;
69
- contextMenuOptions?: DropdownOption[];
70
27
  fields?: DataTablePlusFields;
71
28
  search?: SearchInputProps & ClassStyle | boolean;
72
- pagination?: Omit<PaginationProps, 'page' | 'pageSize'> & ClassStyle | boolean;
73
- clearable?: boolean | 'main' | 'modal';
74
- infiniteScroll?: boolean | {
75
- threshold?: number;
76
- };
29
+ pagination?: Omit<PaginationProps, 'page' | 'pageSize' | 'itemCount'> & ClassStyle | boolean;
77
30
  columnsFilterOptions?: (filters: DataTableFilterState) => Record<string, any>;
78
31
  columnsSorterOptions?: (sorters: Record<string, DataTableSortState>) => Record<string, any>;
79
32
  dataTableProps?: DataTableProps & ClassStyle;
80
33
  };
81
- export type DataTablePlusEmits<P extends RObject = RObject, D extends RObject = RObject, R extends RObject = RObject> = RemoteRequestEmits<P, D> & {
34
+ export type DataTablePlusEmits<P extends DataObject = DataObject, D extends DataObject = DataObject, R extends DataObject = DataObject> = RemoteRequestEmits<P, D> & {
82
35
  (e: 'clickRow', row: R, index: number, event: MouseEvent, currentData: R[]): void;
83
36
  (e: 'contextMenuRow', row: R, index: number, event: MouseEvent, currentData: R[]): void;
84
37
  (e: 'load', row: R): Promise<void>;
@@ -1,16 +1,22 @@
1
- import { RObject } from '../remote-request/index';
2
- import { PresetFormProps } from './index';
3
- declare const _default: <V extends RObject>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
1
+ import { DataObject } from '../../composables/index';
2
+ import { PresetFormExpose, PresetFormProps } from './index';
3
+ declare const _default: <V extends DataObject>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
4
  props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
5
5
  readonly onValidated?: ((val: V) => any) | undefined;
6
6
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onValidated"> & PresetFormProps<V> & Partial<{}>> & import('vue').PublicProps;
7
- expose(exposed: import('vue').ShallowUnwrapRef<{
8
- refs: {
9
- formRef: import('vue').Ref<import('naive-ui').FormInst | undefined, import('naive-ui').FormInst | undefined>;
10
- formValue: import('vue').Ref<V, V>;
11
- formRules: Partial<Record<keyof V, import('naive-ui').FormItemRule | import('naive-ui').FormRules | import('naive-ui').FormItemRule[]>> | undefined;
12
- };
13
- actions: {
7
+ expose(exposed: import('vue').ShallowUnwrapRef<PresetFormExpose<V>>): void;
8
+ attrs: any;
9
+ slots: {
10
+ header?(_: {
11
+ formRef: import('naive-ui').FormInst | undefined;
12
+ formValue: V;
13
+ formRules: Partial<Record<keyof V, import('naive-ui').FormRules | import('naive-ui').FormItemRule | import('naive-ui').FormItemRule[]>>;
14
+ formProps: {
15
+ ref: import('vue').Ref<import('naive-ui').FormInst | undefined, import('naive-ui').FormInst | undefined>;
16
+ model: import('vue').Reactive<V>;
17
+ rules: import('vue').Reactive<Partial<Record<keyof V, import('naive-ui').FormRules | import('naive-ui').FormItemRule | import('naive-ui').FormItemRule[]>>>;
18
+ };
19
+ setValue: (_value: Partial<V>) => void;
14
20
  validate: () => Promise<{
15
21
  warnings?: import('async-validator').ValidateError[][];
16
22
  }>;
@@ -19,64 +25,44 @@ declare const _default: <V extends RObject>(__VLS_props: NonNullable<Awaited<typ
19
25
  reset: () => void;
20
26
  clear: () => void;
21
27
  onValidated: import('@vueuse/core').EventHookOn<[V]>;
22
- setValues: (value: Partial<V>) => void;
23
- };
24
- }>): void;
25
- attrs: any;
26
- slots: {
27
- header?(_: {
28
- refs: {
29
- formRef: import('vue').Ref<import('naive-ui').FormInst | undefined, import('naive-ui').FormInst | undefined>;
30
- formValue: import('vue').Ref<V, V>;
31
- formRules: Partial<Record<keyof V, import('naive-ui').FormItemRule | import('naive-ui').FormRules | import('naive-ui').FormItemRule[]>> | undefined;
32
- };
33
- actions: {
34
- validate: () => Promise<{
35
- warnings?: import('async-validator').ValidateError[][];
36
- }>;
37
- resetValidation: () => void;
38
- resetForm: () => void;
39
- reset: () => void;
40
- clear: () => void;
41
- onValidated: import('@vueuse/core').EventHookOn<[V]>;
42
- setValues: (value: Partial<V>) => void;
43
- };
44
28
  }): any;
45
29
  default?(_: {
46
- refs: {
47
- formRef: import('vue').Ref<import('naive-ui').FormInst | undefined, import('naive-ui').FormInst | undefined>;
48
- formValue: import('vue').Ref<V, V>;
49
- formRules: Partial<Record<keyof V, import('naive-ui').FormItemRule | import('naive-ui').FormRules | import('naive-ui').FormItemRule[]>> | undefined;
50
- };
51
- actions: {
52
- validate: () => Promise<{
53
- warnings?: import('async-validator').ValidateError[][];
54
- }>;
55
- resetValidation: () => void;
56
- resetForm: () => void;
57
- reset: () => void;
58
- clear: () => void;
59
- onValidated: import('@vueuse/core').EventHookOn<[V]>;
60
- setValues: (value: Partial<V>) => void;
30
+ formRef: import('naive-ui').FormInst | undefined;
31
+ formValue: V;
32
+ formRules: Partial<Record<keyof V, import('naive-ui').FormRules | import('naive-ui').FormItemRule | import('naive-ui').FormItemRule[]>>;
33
+ formProps: {
34
+ ref: import('vue').Ref<import('naive-ui').FormInst | undefined, import('naive-ui').FormInst | undefined>;
35
+ model: import('vue').Reactive<V>;
36
+ rules: import('vue').Reactive<Partial<Record<keyof V, import('naive-ui').FormRules | import('naive-ui').FormItemRule | import('naive-ui').FormItemRule[]>>>;
61
37
  };
38
+ setValue: (_value: Partial<V>) => void;
39
+ validate: () => Promise<{
40
+ warnings?: import('async-validator').ValidateError[][];
41
+ }>;
42
+ resetValidation: () => void;
43
+ resetForm: () => void;
44
+ reset: () => void;
45
+ clear: () => void;
46
+ onValidated: import('@vueuse/core').EventHookOn<[V]>;
62
47
  }): any;
63
48
  footer?(_: {
64
- refs: {
65
- formRef: import('vue').Ref<import('naive-ui').FormInst | undefined, import('naive-ui').FormInst | undefined>;
66
- formValue: import('vue').Ref<V, V>;
67
- formRules: Partial<Record<keyof V, import('naive-ui').FormItemRule | import('naive-ui').FormRules | import('naive-ui').FormItemRule[]>> | undefined;
68
- };
69
- actions: {
70
- validate: () => Promise<{
71
- warnings?: import('async-validator').ValidateError[][];
72
- }>;
73
- resetValidation: () => void;
74
- resetForm: () => void;
75
- reset: () => void;
76
- clear: () => void;
77
- onValidated: import('@vueuse/core').EventHookOn<[V]>;
78
- setValues: (value: Partial<V>) => void;
49
+ formRef: import('naive-ui').FormInst | undefined;
50
+ formValue: V;
51
+ formRules: Partial<Record<keyof V, import('naive-ui').FormRules | import('naive-ui').FormItemRule | import('naive-ui').FormItemRule[]>>;
52
+ formProps: {
53
+ ref: import('vue').Ref<import('naive-ui').FormInst | undefined, import('naive-ui').FormInst | undefined>;
54
+ model: import('vue').Reactive<V>;
55
+ rules: import('vue').Reactive<Partial<Record<keyof V, import('naive-ui').FormRules | import('naive-ui').FormItemRule | import('naive-ui').FormItemRule[]>>>;
79
56
  };
57
+ setValue: (_value: Partial<V>) => void;
58
+ validate: () => Promise<{
59
+ warnings?: import('async-validator').ValidateError[][];
60
+ }>;
61
+ resetValidation: () => void;
62
+ resetForm: () => void;
63
+ reset: () => void;
64
+ clear: () => void;
65
+ onValidated: import('@vueuse/core').EventHookOn<[V]>;
80
66
  }): any;
81
67
  };
82
68
  emit: (e: "validated", val: V) => void;
@@ -1,2 +1,8 @@
1
- import { NaiveFormRules, PresetFormOptions } from '.';
2
- export declare function options2Rules<D extends Record<string, any>>(options?: PresetFormOptions<D>): NaiveFormRules<D> | undefined;
1
+ import { FormItemRule } from 'naive-ui';
2
+ import { DataObject } from '../../composables/index';
3
+ export declare function mergeRule<D extends DataObject = DataObject>(option?: {
4
+ key?: keyof D;
5
+ label?: string | (() => string);
6
+ required?: boolean | (() => boolean);
7
+ rule?: FormItemRule | FormItemRule[];
8
+ }): FormItemRule | FormItemRule[] | undefined;
@@ -1,33 +1,29 @@
1
- import { FlexProps, FormItemProps, FormItemRule, FormProps, FormRules, GridItemProps, GridProps } from 'naive-ui';
1
+ import { FormItemGiProps, FormItemRule, FormProps, FormRules, GridProps } from 'naive-ui';
2
2
  import { VNode } from 'vue';
3
+ import { DataObject } from '../../composables/index';
3
4
  import { NaiveFormClearRules, NaiveFormReturns, NaiveFormRules } from '../../composables/useNaiveForm';
4
5
  import { ClassStyle } from '../data-table-plus';
5
6
  import { PresetInputOptions } from '../preset-input/index';
6
7
  export type { NaiveFormRules } from '../../composables/useNaiveForm';
7
8
  export { default as NPresetForm } from './PresetForm.vue';
8
- export type PresetFormExposeRefs<V extends Record<string, any> = Record<string, any>> = Pick<NaiveFormReturns<V>, 'formValue' | 'formRef' | 'formRules'>;
9
- export type PresetFormExposeActions<V extends Record<string, any> = Record<string, any>> = Pick<NaiveFormReturns<V>, 'validate' | 'resetValidation' | 'resetForm' | 'reset' | 'clear' | 'onValidated'> & {
10
- setValues: (value: Partial<V>) => void;
11
- };
12
- export type PresetFormOptionsItem<V extends Record<string, any> = Record<string, any>> = PresetInputOptions & {
9
+ export type PresetFormExpose<V extends DataObject = DataObject> = NaiveFormReturns<V>;
10
+ export type PresetFormOptionItem<V extends DataObject = DataObject> = PresetInputOptions & {
13
11
  key?: keyof V;
14
- label?: string | boolean | FormItemProps & ClassStyle;
15
- rules?: FormRules | FormItemRule | FormItemRule[];
16
- required?: boolean;
17
- collapsed?: boolean;
18
- hidden?: boolean | ((refs: PresetFormExposeRefs<V>) => boolean);
19
- gridSpan?: string | number;
20
- gridItemProps?: GridItemProps & ClassStyle;
21
- render?: (refs: PresetFormExposeRefs<V>, actions: PresetFormExposeActions<V>) => VNode | null;
12
+ label?: string | (() => string);
13
+ required?: boolean | (() => boolean);
14
+ collapsed?: boolean | (() => boolean);
15
+ span?: string | number | (() => string | number);
16
+ hidden?: boolean | (() => boolean);
17
+ rule?: FormRules | FormItemRule | FormItemRule[];
18
+ props?: FormItemGiProps & ClassStyle;
19
+ render?: (params: PresetFormExpose<V>) => VNode | null;
22
20
  };
23
- export type PresetFormOptions<V extends Record<string, any> = Record<string, any>> = PresetFormOptionsItem<V>[];
24
- export type PresetFormProps<V extends Record<string, any> = Record<string, any>> = {
21
+ export type PresetFormOptions<V extends DataObject = DataObject> = PresetFormOptionItem<V>[];
22
+ export type PresetFormProps<V extends DataObject = DataObject> = {
25
23
  options?: PresetFormOptions<V>;
26
24
  values?: V;
27
25
  rules?: NaiveFormRules<V>;
28
26
  clearRules?: NaiveFormClearRules;
29
27
  formProps?: FormProps & ClassStyle;
30
28
  gridProps?: GridProps & ClassStyle;
31
- flexProps?: FlexProps & ClassStyle;
32
- layout?: 'grid' | 'flex' | ['grid' | 'flex'];
33
29
  };