@ghentcdh/json-forms-vue 0.8.6 → 1.0.1
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/form.store.d.ts +1 -1
- package/forms/Dispatch.vue.d.ts +10 -0
- package/forms/FormComponent.properties.d.ts +48 -0
- package/{form.component.vue.d.ts → forms/FormComponent.vue.d.ts} +19 -17
- package/forms/FormWithActions.properties.d.ts +52 -0
- package/forms/FormWithActions.vue.d.ts +258 -0
- package/forms/FormWithTable.properties.d.ts +65 -0
- package/{form-with-table.component.vue.d.ts → forms/FormWithTable.vue.d.ts} +24 -15
- package/forms/errorMessages.d.ts +10 -0
- package/forms/errorMode.d.ts +4 -0
- package/forms/modal/FormModal.properties.d.ts +64 -0
- package/forms/modal/FormModal.vue.d.ts +275 -0
- package/{modal/form-modal.service.d.ts → forms/modal/FormModalService.d.ts} +4 -5
- package/forms/renderer-registry.d.ts +7 -0
- package/forms/renderers/array/ArrayRenderer.vue.d.ts +7 -0
- package/forms/renderers/array/ArrayRenderers.d.ts +10 -0
- package/forms/renderers/controls/AutocompleteControlRenderer.vue.d.ts +7 -0
- package/forms/renderers/controls/BooleanControlRenderer.vue.d.ts +7 -0
- package/forms/renderers/controls/MarkdownControlRenderer.vue.d.ts +7 -0
- package/forms/renderers/controls/MultiSelectControlRenderer.vue.d.ts +7 -0
- package/forms/renderers/controls/NumberControlRenderer.vue.d.ts +7 -0
- package/forms/renderers/controls/SelectControlRenderer.vue.d.ts +7 -0
- package/forms/renderers/controls/StringControlRenderer.vue.d.ts +7 -0
- package/forms/renderers/controls/TextAreaControlRenderer.vue.d.ts +7 -0
- package/forms/renderers/controls/composable/UseControlBinding.d.ts +29 -0
- package/forms/renderers/controls/composable/UseFetchOption.d.ts +16 -0
- package/forms/renderers/controls/composable/UseInput.d.ts +24 -0
- package/forms/renderers/controls/composable/UseSelectBinding.d.ts +23 -0
- package/forms/renderers/controls/composable/resource.d.ts +187 -0
- package/forms/renderers/controls/index.d.ts +10 -0
- package/forms/renderers/index.d.ts +3 -0
- package/forms/renderers/layout/CollapseLayoutRenderer.vue.d.ts +7 -0
- package/forms/renderers/layout/LayoutRenderer.vue.d.ts +7 -0
- package/forms/renderers/layout/LayoutRenders.d.ts +10 -0
- package/forms/renderers/layout/colspan.d.ts +1 -0
- package/forms/renderes.d.ts +19 -0
- package/forms/scope.d.ts +4 -0
- package/forms/types.d.ts +36 -0
- package/index.d.ts +9 -12
- package/index.js +1826 -1503
- package/index.mjs +1877 -1554
- package/package.json +4 -5
- package/renderes/tester.d.ts +2 -0
- package/form-with-actions.component.properties.d.ts +0 -40
- package/form-with-actions.component.vue.d.ts +0 -88
- package/form-with-table.component.properties.d.ts +0 -58
- package/form.component.properties.d.ts +0 -49
- package/modal/form-modal.props.d.ts +0 -30
- package/modal/form-modal.vue.d.ts +0 -35
- package/modal/index.d.ts +0 -3
- package/renderes/array/ArrayRenderer.vue.d.ts +0 -74
- package/renderes/array/index.d.ts +0 -76
- package/renderes/controls/AutocompleteControlRenderer.vue.d.ts +0 -74
- package/renderes/controls/BooleanControlRenderer.vue.d.ts +0 -74
- package/renderes/controls/IntegerControlRenderer.vue.d.ts +0 -74
- package/renderes/controls/MarkdownControlRenderer.vue.d.ts +0 -74
- package/renderes/controls/MultiSelectControlRender.vue.d.ts +0 -74
- package/renderes/controls/NumberControlRenderer.vue.d.ts +0 -74
- package/renderes/controls/SelectControlRender.vue.d.ts +0 -74
- package/renderes/controls/StringControlRenderer.vue.d.ts +0 -74
- package/renderes/controls/TextAreaControlRenderer.vue.d.ts +0 -74
- package/renderes/controls/index.d.ts +0 -675
- package/renderes/index.d.ts +0 -817
- package/renderes/layouts/CollapseLayout.vue.d.ts +0 -73
- package/renderes/layouts/GridLayout.vue.d.ts +0 -73
- package/renderes/layouts/HorizontalLayout.vue.d.ts +0 -73
- package/renderes/layouts/VerticalLayout.vue.d.ts +0 -73
- package/renderes/layouts/index.d.ts +0 -75
- package/standalone/emits.d.ts +0 -5
- package/standalone/properties.d.ts +0 -2
- package/utils/style.d.ts +0 -6
- package/utils/vanillaControl.d.ts +0 -15
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Supported HTTP methods for resource operations. */
|
|
3
|
+
export declare const MethodSchema: z.ZodEnum<{
|
|
4
|
+
delete: "delete";
|
|
5
|
+
get: "get";
|
|
6
|
+
post: "post";
|
|
7
|
+
put: "put";
|
|
8
|
+
patch: "patch";
|
|
9
|
+
}>;
|
|
10
|
+
export type Method = z.infer<typeof MethodSchema>;
|
|
11
|
+
export declare const OperationSchema: z.ZodObject<{
|
|
12
|
+
uri: z.ZodString;
|
|
13
|
+
method: z.ZodEnum<{
|
|
14
|
+
delete: "delete";
|
|
15
|
+
get: "get";
|
|
16
|
+
post: "post";
|
|
17
|
+
put: "put";
|
|
18
|
+
patch: "patch";
|
|
19
|
+
}>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
export type Operation = z.infer<typeof OperationSchema>;
|
|
22
|
+
export declare const OperationsSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
23
|
+
uri: z.ZodString;
|
|
24
|
+
method: z.ZodEnum<{
|
|
25
|
+
delete: "delete";
|
|
26
|
+
get: "get";
|
|
27
|
+
post: "post";
|
|
28
|
+
put: "put";
|
|
29
|
+
patch: "patch";
|
|
30
|
+
}>;
|
|
31
|
+
}, z.core.$strip>]>;
|
|
32
|
+
export declare const BooleanOperationSchema: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
33
|
+
uri: z.ZodString;
|
|
34
|
+
method: z.ZodEnum<{
|
|
35
|
+
delete: "delete";
|
|
36
|
+
get: "get";
|
|
37
|
+
post: "post";
|
|
38
|
+
put: "put";
|
|
39
|
+
patch: "patch";
|
|
40
|
+
}>;
|
|
41
|
+
}, z.core.$strip>]>>>;
|
|
42
|
+
/**
|
|
43
|
+
* Zod schema that validates and transforms a resource definition from the API.
|
|
44
|
+
*
|
|
45
|
+
* Accepts a resource descriptor with an `id`, base `uri`, CRUD `operations`,
|
|
46
|
+
* and optional `schema` (JSON Schema + UI schema). During parsing:
|
|
47
|
+
*
|
|
48
|
+
* - If `schema.data` is present but `schema.ui` is missing, a UI schema is
|
|
49
|
+
* auto-generated via {@link uiFromJsonSchema} using a GridLayout.
|
|
50
|
+
* - Each operation is normalized to `{ uri, method }` or `null` based on
|
|
51
|
+
* its value (`true` inherits the base uri, a string overrides the uri,
|
|
52
|
+
* an object is used as-is, `false`/`undefined` maps to `null`).
|
|
53
|
+
*/
|
|
54
|
+
export declare const ResourceSchema: z.ZodPipe<z.ZodObject<{
|
|
55
|
+
id: z.ZodString;
|
|
56
|
+
uri: z.ZodString;
|
|
57
|
+
operations: z.ZodObject<{
|
|
58
|
+
findAll: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
59
|
+
uri: z.ZodString;
|
|
60
|
+
method: z.ZodEnum<{
|
|
61
|
+
delete: "delete";
|
|
62
|
+
get: "get";
|
|
63
|
+
post: "post";
|
|
64
|
+
put: "put";
|
|
65
|
+
patch: "patch";
|
|
66
|
+
}>;
|
|
67
|
+
}, z.core.$strip>]>>>;
|
|
68
|
+
findOne: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
69
|
+
uri: z.ZodString;
|
|
70
|
+
method: z.ZodEnum<{
|
|
71
|
+
delete: "delete";
|
|
72
|
+
get: "get";
|
|
73
|
+
post: "post";
|
|
74
|
+
put: "put";
|
|
75
|
+
patch: "patch";
|
|
76
|
+
}>;
|
|
77
|
+
}, z.core.$strip>]>>>;
|
|
78
|
+
create: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
79
|
+
uri: z.ZodString;
|
|
80
|
+
method: z.ZodEnum<{
|
|
81
|
+
delete: "delete";
|
|
82
|
+
get: "get";
|
|
83
|
+
post: "post";
|
|
84
|
+
put: "put";
|
|
85
|
+
patch: "patch";
|
|
86
|
+
}>;
|
|
87
|
+
}, z.core.$strip>]>>>;
|
|
88
|
+
update: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
89
|
+
uri: z.ZodString;
|
|
90
|
+
method: z.ZodEnum<{
|
|
91
|
+
delete: "delete";
|
|
92
|
+
get: "get";
|
|
93
|
+
post: "post";
|
|
94
|
+
put: "put";
|
|
95
|
+
patch: "patch";
|
|
96
|
+
}>;
|
|
97
|
+
}, z.core.$strip>]>>>;
|
|
98
|
+
delete: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodObject<{
|
|
99
|
+
uri: z.ZodString;
|
|
100
|
+
method: z.ZodEnum<{
|
|
101
|
+
delete: "delete";
|
|
102
|
+
get: "get";
|
|
103
|
+
post: "post";
|
|
104
|
+
put: "put";
|
|
105
|
+
patch: "patch";
|
|
106
|
+
}>;
|
|
107
|
+
}, z.core.$strip>]>>>;
|
|
108
|
+
lookup: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
109
|
+
uri: z.ZodString;
|
|
110
|
+
method: z.ZodEnum<{
|
|
111
|
+
delete: "delete";
|
|
112
|
+
get: "get";
|
|
113
|
+
post: "post";
|
|
114
|
+
put: "put";
|
|
115
|
+
patch: "patch";
|
|
116
|
+
}>;
|
|
117
|
+
}, z.core.$strip>]>>;
|
|
118
|
+
}, z.core.$strip>;
|
|
119
|
+
schema: z.ZodOptional<z.ZodObject<{
|
|
120
|
+
ui: z.ZodOptional<z.ZodAny>;
|
|
121
|
+
data: z.ZodAny;
|
|
122
|
+
}, z.core.$strip>>;
|
|
123
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
124
|
+
schema: {
|
|
125
|
+
data: any;
|
|
126
|
+
ui?: any;
|
|
127
|
+
} | undefined;
|
|
128
|
+
operations: Record<"create" | "delete" | "update" | "lookup" | "findAll" | "findOne", {
|
|
129
|
+
uri: string;
|
|
130
|
+
method: "delete" | "get" | "post" | "put" | "patch";
|
|
131
|
+
} | null>;
|
|
132
|
+
id: string;
|
|
133
|
+
uri: string;
|
|
134
|
+
}, {
|
|
135
|
+
id: string;
|
|
136
|
+
uri: string;
|
|
137
|
+
operations: {
|
|
138
|
+
findAll: boolean | {
|
|
139
|
+
uri: string;
|
|
140
|
+
method: "delete" | "get" | "post" | "put" | "patch";
|
|
141
|
+
};
|
|
142
|
+
findOne: boolean | {
|
|
143
|
+
uri: string;
|
|
144
|
+
method: "delete" | "get" | "post" | "put" | "patch";
|
|
145
|
+
};
|
|
146
|
+
create: boolean | {
|
|
147
|
+
uri: string;
|
|
148
|
+
method: "delete" | "get" | "post" | "put" | "patch";
|
|
149
|
+
};
|
|
150
|
+
update: boolean | {
|
|
151
|
+
uri: string;
|
|
152
|
+
method: "delete" | "get" | "post" | "put" | "patch";
|
|
153
|
+
};
|
|
154
|
+
delete: boolean | {
|
|
155
|
+
uri: string;
|
|
156
|
+
method: "delete" | "get" | "post" | "put" | "patch";
|
|
157
|
+
};
|
|
158
|
+
lookup?: string | {
|
|
159
|
+
uri: string;
|
|
160
|
+
method: "delete" | "get" | "post" | "put" | "patch";
|
|
161
|
+
} | undefined;
|
|
162
|
+
};
|
|
163
|
+
schema?: {
|
|
164
|
+
data: any;
|
|
165
|
+
ui?: any;
|
|
166
|
+
} | undefined;
|
|
167
|
+
}>>;
|
|
168
|
+
/**
|
|
169
|
+
* Fetches and validates a resource definition from the given URI.
|
|
170
|
+
*
|
|
171
|
+
* @param resourceUri - Endpoint that returns the resource descriptor JSON.
|
|
172
|
+
* @param skipAuth - When `true`, uses plain axios instead of the authenticated API client.
|
|
173
|
+
* @returns Parsed and normalized resource with resolved operations and schemas.
|
|
174
|
+
* @throws If the response does not match {@link ResourceSchema}.
|
|
175
|
+
*/
|
|
176
|
+
export declare const getResourceSchema: (resourceUri: string, skipAuth: boolean) => Promise<{
|
|
177
|
+
schema: {
|
|
178
|
+
data: any;
|
|
179
|
+
ui?: any;
|
|
180
|
+
} | undefined;
|
|
181
|
+
operations: Record<"create" | "delete" | "update" | "lookup" | "findAll" | "findOne", {
|
|
182
|
+
uri: string;
|
|
183
|
+
method: "delete" | "get" | "post" | "put" | "patch";
|
|
184
|
+
} | null>;
|
|
185
|
+
id: string;
|
|
186
|
+
uri: string;
|
|
187
|
+
}>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const index: {
|
|
2
|
+
tester: (uischema: import('@jsonforms/core').UISchemaElement, schema: import('@jsonforms/core').JsonSchema, context: import('@jsonforms/core').TesterContext) => number;
|
|
3
|
+
renderer: import('vue').DefineComponent<{
|
|
4
|
+
uischema: import('@jsonforms/core').ControlElement;
|
|
5
|
+
schema: import('@jsonforms/core').JsonSchema;
|
|
6
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
7
|
+
uischema: import('@jsonforms/core').ControlElement;
|
|
8
|
+
schema: import('@jsonforms/core').JsonSchema;
|
|
9
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
}[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JsonSchema, UISchemaElement } from '@jsonforms/core';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
uischema: UISchemaElement;
|
|
4
|
+
schema: JsonSchema;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JsonSchema, UISchemaElement } from '@jsonforms/core';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
uischema: UISchemaElement;
|
|
4
|
+
schema: JsonSchema;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const layoutRenderes: {
|
|
2
|
+
tester: (uischema: import('@jsonforms/core').UISchemaElement, schema: import('@jsonforms/core').JsonSchema, context: import('@jsonforms/core').TesterContext) => number;
|
|
3
|
+
renderer: import('vue').DefineComponent<{
|
|
4
|
+
uischema: import('@jsonforms/core').UISchemaElement;
|
|
5
|
+
schema: import('@jsonforms/core').JsonSchema;
|
|
6
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
7
|
+
uischema: import('@jsonforms/core').UISchemaElement;
|
|
8
|
+
schema: import('@jsonforms/core').JsonSchema;
|
|
9
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
}[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const COLSPAN: Record<number, string>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const customRenderes: ({
|
|
2
|
+
tester: (uischema: import('@jsonforms/core').UISchemaElement, schema: import('@jsonforms/core').JsonSchema, context: import('@jsonforms/core').TesterContext) => number;
|
|
3
|
+
renderer: import('vue').DefineComponent<{
|
|
4
|
+
uischema: import('@jsonforms/core').ControlElement;
|
|
5
|
+
schema: import('@jsonforms/core').JsonSchema;
|
|
6
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
7
|
+
uischema: import('@jsonforms/core').ControlElement;
|
|
8
|
+
schema: import('@jsonforms/core').JsonSchema;
|
|
9
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
} | {
|
|
11
|
+
tester: (uischema: import('@jsonforms/core').UISchemaElement, schema: import('@jsonforms/core').JsonSchema, context: import('@jsonforms/core').TesterContext) => number;
|
|
12
|
+
renderer: import('vue').DefineComponent<{
|
|
13
|
+
uischema: import('@jsonforms/core').UISchemaElement;
|
|
14
|
+
schema: import('@jsonforms/core').JsonSchema;
|
|
15
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
16
|
+
uischema: import('@jsonforms/core').UISchemaElement;
|
|
17
|
+
schema: import('@jsonforms/core').JsonSchema;
|
|
18
|
+
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
19
|
+
})[];
|
package/forms/scope.d.ts
ADDED
package/forms/types.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type { JsonSchema } from '@jsonforms/core';
|
|
2
|
+
export interface UiElementOptions {
|
|
3
|
+
format?: string;
|
|
4
|
+
colspan?: number;
|
|
5
|
+
styles?: {
|
|
6
|
+
width?: string;
|
|
7
|
+
control?: {
|
|
8
|
+
wrapper?: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
uri?: string;
|
|
12
|
+
valueKey?: string;
|
|
13
|
+
labelKey?: string;
|
|
14
|
+
enableCreate?: boolean;
|
|
15
|
+
options?: Array<{
|
|
16
|
+
label: string;
|
|
17
|
+
value: string;
|
|
18
|
+
}>;
|
|
19
|
+
placeholder?: string;
|
|
20
|
+
label?: string;
|
|
21
|
+
hideLabel?: boolean;
|
|
22
|
+
readonly?: boolean;
|
|
23
|
+
visible?: boolean;
|
|
24
|
+
layout?: 'row' | 'column';
|
|
25
|
+
hideActions?: boolean;
|
|
26
|
+
dataField?: string;
|
|
27
|
+
skipAuth?: boolean;
|
|
28
|
+
type?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface UiElement {
|
|
31
|
+
type: 'Control' | 'GridLayout' | 'VerticalLayout' | 'HorizontalLayout' | 'CollapseLayout';
|
|
32
|
+
scope?: string;
|
|
33
|
+
elements?: UiElement[];
|
|
34
|
+
options?: UiElementOptions;
|
|
35
|
+
label?: string;
|
|
36
|
+
}
|
package/index.d.ts
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './form.component.properties';
|
|
3
|
-
export * from './form-with-actions.component.properties';
|
|
4
|
-
export * from './form-with-table.component.properties';
|
|
5
|
-
export * from './renderes/controls';
|
|
6
|
-
export * from './renderes/array';
|
|
7
|
-
export * from './renderes/layouts';
|
|
8
|
-
export * from './renderes/tester';
|
|
9
|
-
export { default as FormWithTableComponent } from './form-with-table.component.vue';
|
|
10
|
-
export { default as FormWithActions } from './form-with-actions.component.vue';
|
|
11
|
-
export { default as FormComponent } from './form.component.vue';
|
|
12
|
-
export * from './modal';
|
|
1
|
+
export * from './forms/modal/FormModal.properties';
|
|
13
2
|
export * from './table';
|
|
14
3
|
export * from './repository';
|
|
15
4
|
export * from './composables/useFormEvents';
|
|
5
|
+
export type { ErrorMode } from './forms/errorMode';
|
|
6
|
+
export { formatError, registerZodErrorMap } from './forms/errorMessages';
|
|
7
|
+
export { default as JsonForm } from './forms/FormComponent.vue';
|
|
8
|
+
export { default as JsonFormWithActions } from './forms/FormWithActions.vue';
|
|
9
|
+
export { default as JsonFormWithTable } from './forms/FormWithTable.vue';
|
|
10
|
+
export { default as JsonFormModal } from './forms/modal/FormModal.vue';
|
|
11
|
+
export { JsonFormModalService } from './forms/modal/FormModalService';
|
|
12
|
+
export { customRenderes as veeRenderers } from './forms/renderes';
|