@bsol-oss/react-datatable5 11.0.0-beta.0 → 11.0.0-beta.2
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/README.md +1 -187
- package/dist/index.d.ts +1 -1
- package/dist/index.js +27 -24
- package/dist/index.mjs +27 -24
- package/dist/types/components/Form/Form.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -89,190 +89,4 @@ For more details of props and examples, please review the stories in storybook p
|
|
|
89
89
|
```
|
|
90
90
|
npm install
|
|
91
91
|
npm run storybook
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
# Form
|
|
95
|
-
|
|
96
|
-
Form component can help create a object to submit an network request.
|
|
97
|
-
|
|
98
|
-
- Wrap form with confirmation, submit success and error handling ui by default
|
|
99
|
-
- Use `i18next` by default to display `column_id` and text in form in multiple language.
|
|
100
|
-
- Use `axios` by default to submit a request.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
## Usage
|
|
104
|
-
|
|
105
|
-
```tsx
|
|
106
|
-
<Form
|
|
107
|
-
schema={someSchema as JSONSchema7}
|
|
108
|
-
serverUrl={"http://localhost:8081"}
|
|
109
|
-
/>
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
## Set up
|
|
113
|
-
|
|
114
|
-
### Providers
|
|
115
|
-
|
|
116
|
-
You MUST provide all three provider from packages `i18next`, `@tanstack/react-query`, and `@chakra-ui/react`
|
|
117
|
-
|
|
118
|
-
```tsx
|
|
119
|
-
<Provider>
|
|
120
|
-
<QueryClientProvider client={queryClient}>
|
|
121
|
-
<I18nextProvider i18n={i18n}>
|
|
122
|
-
<SomeForm />
|
|
123
|
-
</I18nextProvider>
|
|
124
|
-
</QueryClientProvider>
|
|
125
|
-
</Provider>
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Schema
|
|
129
|
-
|
|
130
|
-
You MUST provide a `schema` props to specify the inputs in a form. You MUST specify the keyword `type` as `object`.
|
|
131
|
-
|
|
132
|
-
Currently, The `Form` component provide LIMITED json schema attributes in this release. Please check the below list to acknowledge the supported Keywords, and the intended keywords to support future releases.
|
|
133
|
-
|
|
134
|
-
The example of a valid `schema` object
|
|
135
|
-
|
|
136
|
-
```tsx
|
|
137
|
-
const schema = {
|
|
138
|
-
type: "object",
|
|
139
|
-
title: "core_memberships",
|
|
140
|
-
required: ["id"],
|
|
141
|
-
properties: {
|
|
142
|
-
id: {
|
|
143
|
-
type: "string",
|
|
144
|
-
},
|
|
145
|
-
remarks: {
|
|
146
|
-
type: "string",
|
|
147
|
-
},
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
const SomeForm = () => {
|
|
151
|
-
return (
|
|
152
|
-
<Form
|
|
153
|
-
schema={schema as JSONSchema7}
|
|
154
|
-
serverUrl={"http://localhost:8081"}
|
|
155
|
-
/>
|
|
156
|
-
)
|
|
157
|
-
}
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
## Supported Keywords
|
|
161
|
-
|
|
162
|
-
### `title`
|
|
163
|
-
|
|
164
|
-
You MUST provide the `title` keyword to specifies the string id that will be used in `i18n` translate.
|
|
165
|
-
|
|
166
|
-
The value must be in type `string`.
|
|
167
|
-
|
|
168
|
-
### `required`
|
|
169
|
-
|
|
170
|
-
You MAY provide the `required` keyword to specifies the input that are required to fill before confirmation.
|
|
171
|
-
|
|
172
|
-
The value must be in type `array` of `string`.
|
|
173
|
-
|
|
174
|
-
### `properties`
|
|
175
|
-
|
|
176
|
-
You MUST provide the `properties` keywords to specifies the fields that the form should appear.
|
|
177
|
-
|
|
178
|
-
The value must be in type `object`. The keys in this object specifies the column id and the values its related properties. Check the sections **Column Keywords** show the supported column keywords.
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
## Column Keywords
|
|
182
|
-
|
|
183
|
-
### `type`
|
|
184
|
-
|
|
185
|
-
You MUST provide the `type` keywords to specifies the value type that the column should create. Some value types may include different inputs by specify the `variant` keywords.
|
|
186
|
-
|
|
187
|
-
Check the sections **Value types** show the supported keywords and input variants for each value type.
|
|
188
|
-
|
|
189
|
-
Supported value types: `array`, `string`, `number`, `boolean`, `integer`, `object`;
|
|
190
|
-
|
|
191
|
-
## Value types
|
|
192
|
-
|
|
193
|
-
This sections show the supported keywords and input variants for each value type.
|
|
194
|
-
|
|
195
|
-
### `string`
|
|
196
|
-
|
|
197
|
-
For input types `string`, it will generate a string input by default.
|
|
198
|
-
|
|
199
|
-
If you specify the `variant` keyword, it will render a picker to fill a string that requires a format.
|
|
200
|
-
|
|
201
|
-
Supported variants in `string`: `id-picker`, `date_picker`
|
|
202
|
-
|
|
203
|
-
#### `id-picker`
|
|
204
|
-
|
|
205
|
-
For string input variant `id-picker`, it will generate a selector that can pop up a search to help the selection. After the user select a options, the input will show the selected record, and save its correspond string value in the form object.
|
|
206
|
-
|
|
207
|
-
You MUST include the keyword `foreign_key` and a object with keys `display_column`, `table`, `column`. The `display_column` key is the column that show the label for that value to user, and `column` key is the column that its value should set in this input.
|
|
208
|
-
|
|
209
|
-
You MUST include a `/api/g` api that could accept the following request in order to search for a record.
|
|
210
|
-
|
|
211
|
-
```ts
|
|
212
|
-
const requestConfig = {
|
|
213
|
-
method: "GET",
|
|
214
|
-
url: `${serverUrl}/api/g/${table}`,
|
|
215
|
-
params: {
|
|
216
|
-
searching,
|
|
217
|
-
where,
|
|
218
|
-
limit,
|
|
219
|
-
offset
|
|
220
|
-
},
|
|
221
|
-
}
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
The example valid schema that use `id=picker` variant.
|
|
225
|
-
|
|
226
|
-
```tsx
|
|
227
|
-
const eventsFilesSchema = {
|
|
228
|
-
type: "object",
|
|
229
|
-
title: "events_files",
|
|
230
|
-
required: ["event_id", "file_id"],
|
|
231
|
-
properties: {
|
|
232
|
-
file_id: {
|
|
233
|
-
type: "array",
|
|
234
|
-
variant: "file-picker",
|
|
235
|
-
},
|
|
236
|
-
event_id: {
|
|
237
|
-
type: "string",
|
|
238
|
-
variant: "id-picker",
|
|
239
|
-
foreign_key: {
|
|
240
|
-
display_column: "event_name",
|
|
241
|
-
table: "core_events",
|
|
242
|
-
column: "id",
|
|
243
|
-
},
|
|
244
|
-
},
|
|
245
|
-
},
|
|
246
|
-
}
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
### `number`
|
|
250
|
-
|
|
251
|
-
For value type `number`, it will generate a number input by default.
|
|
252
|
-
|
|
253
|
-
Currently no supported variants.
|
|
254
|
-
|
|
255
|
-
### `boolean`
|
|
256
|
-
|
|
257
|
-
For value type `boolean`, it will generate a checkbox by default.
|
|
258
|
-
|
|
259
|
-
Currently no supported variants.
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
### `array`
|
|
263
|
-
|
|
264
|
-
For value type `array`, by default it will generate NO input.
|
|
265
|
-
|
|
266
|
-
You MUST specify the `variant` keyword to display a relevant input.
|
|
267
|
-
|
|
268
|
-
Supported variant in `array`: `id-picker`, `file-picker`
|
|
269
|
-
|
|
270
|
-
### `object`
|
|
271
|
-
|
|
272
|
-
For value type `object`, by default it will generate a input that can input key value pairs.
|
|
273
|
-
|
|
274
|
-
It is NOT RECOMMENDED to use the default input, Later release may include a json editor by default.
|
|
275
|
-
|
|
276
|
-
### Intented Support Keywords in Future Release
|
|
277
|
-
|
|
278
|
-
(TBC)
|
|
92
|
+
```
|
package/dist/index.d.ts
CHANGED
|
@@ -479,7 +479,7 @@ interface CustomJSONSchema7Definition extends JSONSchema7 {
|
|
|
479
479
|
gridRow: string;
|
|
480
480
|
foreign_key: ForeignKeyProps;
|
|
481
481
|
}
|
|
482
|
-
declare const Form: <TData extends FieldValues>({ schema, idMap, setIdMap, form, serverUrl, translate, order, ignore, onSubmit,
|
|
482
|
+
declare const Form: <TData extends FieldValues>({ schema, idMap, setIdMap, form, serverUrl, translate, order, ignore, onSubmit, rowNumber, requestOptions, }: FormProps<TData>) => react_jsx_runtime.JSX.Element;
|
|
483
483
|
|
|
484
484
|
interface UseFormProps {
|
|
485
485
|
preLoadedValues?: FieldValues | undefined;
|
package/dist/index.js
CHANGED
|
@@ -2380,7 +2380,7 @@ function ColumnCard({ columnId }) {
|
|
|
2380
2380
|
onDrop: () => setDragging(false), // NEW
|
|
2381
2381
|
});
|
|
2382
2382
|
}, [columnId, table]);
|
|
2383
|
-
return (jsxRuntime.jsxs(react.Grid, { ref: ref, templateColumns: "auto 1fr", gap: "0.5rem", alignItems: "center", style: dragging ? { opacity: 0.4 } : {}, children: [jsxRuntime.jsx(react.Flex, { alignItems: "center", padding: "0", children: jsxRuntime.jsx(fa6.FaGripLinesVertical, { color: "gray.400" }) }), jsxRuntime.jsx(react.Flex, { justifyContent: "space-between", alignItems: "center", children: jsxRuntime.jsx(CheckboxCard, { variant: "surface", label: displayName, checked: column.getIsVisible(), onChange: column.getToggleVisibilityHandler() }) })] }));
|
|
2383
|
+
return (jsxRuntime.jsxs(react.Grid, { ref: ref, templateColumns: "auto 1fr", gap: "0.5rem", alignItems: "center", style: dragging ? { opacity: 0.4 } : {}, children: [jsxRuntime.jsx(react.Flex, { alignItems: "center", padding: "0", cursor: 'grab', children: jsxRuntime.jsx(fa6.FaGripLinesVertical, { color: "gray.400" }) }), jsxRuntime.jsx(react.Flex, { justifyContent: "space-between", alignItems: "center", children: jsxRuntime.jsx(CheckboxCard, { variant: "surface", label: displayName, checked: column.getIsVisible(), onChange: column.getToggleVisibilityHandler() }) })] }));
|
|
2384
2384
|
}
|
|
2385
2385
|
function CardContainer({ location, children }) {
|
|
2386
2386
|
const ref = React.useRef(null);
|
|
@@ -2418,9 +2418,11 @@ function CardContainer({ location, children }) {
|
|
|
2418
2418
|
}
|
|
2419
2419
|
const TableViewer = () => {
|
|
2420
2420
|
const { table } = useDataTableContext();
|
|
2421
|
-
const
|
|
2422
|
-
|
|
2423
|
-
|
|
2421
|
+
const order = table.getState().columnOrder.length > 0
|
|
2422
|
+
? table.getState().columnOrder
|
|
2423
|
+
: table.getAllLeafColumns().map(({ id }) => {
|
|
2424
|
+
return id;
|
|
2425
|
+
});
|
|
2424
2426
|
React.useEffect(() => {
|
|
2425
2427
|
return monitorForElements({
|
|
2426
2428
|
onDrop({ source, location }) {
|
|
@@ -2445,11 +2447,10 @@ const TableViewer = () => {
|
|
|
2445
2447
|
...columnAfter,
|
|
2446
2448
|
].filter((id) => id != "<marker>");
|
|
2447
2449
|
table.setColumnOrder(newOrder);
|
|
2448
|
-
setOrder(newOrder);
|
|
2449
2450
|
},
|
|
2450
2451
|
});
|
|
2451
|
-
}, [
|
|
2452
|
-
return (jsxRuntime.jsx(react.Flex, { flexFlow: "column", gap: "0.25rem", children:
|
|
2452
|
+
}, [table]);
|
|
2453
|
+
return (jsxRuntime.jsx(react.Flex, { flexFlow: "column", gap: "0.25rem", children: order.map((columnId, index) => {
|
|
2453
2454
|
return (jsxRuntime.jsx(CardContainer, { location: index, children: jsxRuntime.jsx(ColumnCard, { columnId: columnId }) }));
|
|
2454
2455
|
}) }));
|
|
2455
2456
|
};
|
|
@@ -2624,21 +2625,6 @@ const RecordDisplay = ({ object, boxProps, translate, prefix = "", }) => {
|
|
|
2624
2625
|
}) }));
|
|
2625
2626
|
};
|
|
2626
2627
|
|
|
2627
|
-
const formatValue = (value) => {
|
|
2628
|
-
if (typeof value === "object") {
|
|
2629
|
-
return JSON.stringify(value);
|
|
2630
|
-
}
|
|
2631
|
-
if (typeof value === "string") {
|
|
2632
|
-
return value;
|
|
2633
|
-
}
|
|
2634
|
-
if (typeof value === "number" || typeof value === "boolean") {
|
|
2635
|
-
return `${value}`;
|
|
2636
|
-
}
|
|
2637
|
-
if (value === undefined) {
|
|
2638
|
-
return `undefined`;
|
|
2639
|
-
}
|
|
2640
|
-
throw new Error(`value is unknown, ${typeof value}`);
|
|
2641
|
-
};
|
|
2642
2628
|
const DataDisplay = ({ variant = "", translate }) => {
|
|
2643
2629
|
const { table } = useDataTableContext();
|
|
2644
2630
|
const getLabel = ({ columnId }) => {
|
|
@@ -2647,6 +2633,24 @@ const DataDisplay = ({ variant = "", translate }) => {
|
|
|
2647
2633
|
}
|
|
2648
2634
|
return snakeToLabel(columnId);
|
|
2649
2635
|
};
|
|
2636
|
+
const formatValue = (value) => {
|
|
2637
|
+
if (typeof value === "object") {
|
|
2638
|
+
return JSON.stringify(value);
|
|
2639
|
+
}
|
|
2640
|
+
if (typeof value === "string") {
|
|
2641
|
+
return value;
|
|
2642
|
+
}
|
|
2643
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
2644
|
+
return `${value}`;
|
|
2645
|
+
}
|
|
2646
|
+
if (value === undefined) {
|
|
2647
|
+
if (translate !== undefined) {
|
|
2648
|
+
return translate.t(`undefined`);
|
|
2649
|
+
}
|
|
2650
|
+
return `undefined`;
|
|
2651
|
+
}
|
|
2652
|
+
throw new Error(`value is unknown, ${typeof value}`);
|
|
2653
|
+
};
|
|
2650
2654
|
if (variant == "horizontal") {
|
|
2651
2655
|
return (jsxRuntime.jsx(react.Flex, { flexFlow: "column", gap: "1", children: table.getRowModel().rows.map((row) => {
|
|
2652
2656
|
return (jsxRuntime.jsx(react.Card.Root, { children: jsxRuntime.jsx(react.Card.Body, { children: jsxRuntime.jsx(react.DataList.Root, { gap: 4, padding: 4, display: "grid", variant: "subtle", orientation: "horizontal", overflow: "auto", children: row.getVisibleCells().map((cell) => {
|
|
@@ -4768,11 +4772,10 @@ const FormInternal = () => {
|
|
|
4768
4772
|
methods.handleSubmit(onValid)();
|
|
4769
4773
|
}, formNoValidate: true, children: translate.t("submit") })] }), isError && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: ["isError", jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [" ", `${error}`] })] }))] }));
|
|
4770
4774
|
};
|
|
4771
|
-
const Form = ({ schema, idMap, setIdMap, form, serverUrl, translate, order = [], ignore = [], onSubmit = undefined,
|
|
4775
|
+
const Form = ({ schema, idMap, setIdMap, form, serverUrl, translate, order = [], ignore = [], onSubmit = undefined, rowNumber = undefined, requestOptions = {}, }) => {
|
|
4772
4776
|
const { properties } = schema;
|
|
4773
4777
|
idListSanityCheck("order", order, properties);
|
|
4774
4778
|
idListSanityCheck("ignore", ignore, properties);
|
|
4775
|
-
idListSanityCheck("preLoadedValues", Object.keys(preLoadedValues), properties);
|
|
4776
4779
|
return (jsxRuntime.jsx(SchemaFormContext.Provider, { value: {
|
|
4777
4780
|
schema,
|
|
4778
4781
|
serverUrl,
|
package/dist/index.mjs
CHANGED
|
@@ -2360,7 +2360,7 @@ function ColumnCard({ columnId }) {
|
|
|
2360
2360
|
onDrop: () => setDragging(false), // NEW
|
|
2361
2361
|
});
|
|
2362
2362
|
}, [columnId, table]);
|
|
2363
|
-
return (jsxs(Grid, { ref: ref, templateColumns: "auto 1fr", gap: "0.5rem", alignItems: "center", style: dragging ? { opacity: 0.4 } : {}, children: [jsx(Flex, { alignItems: "center", padding: "0", children: jsx(FaGripLinesVertical, { color: "gray.400" }) }), jsx(Flex, { justifyContent: "space-between", alignItems: "center", children: jsx(CheckboxCard, { variant: "surface", label: displayName, checked: column.getIsVisible(), onChange: column.getToggleVisibilityHandler() }) })] }));
|
|
2363
|
+
return (jsxs(Grid, { ref: ref, templateColumns: "auto 1fr", gap: "0.5rem", alignItems: "center", style: dragging ? { opacity: 0.4 } : {}, children: [jsx(Flex, { alignItems: "center", padding: "0", cursor: 'grab', children: jsx(FaGripLinesVertical, { color: "gray.400" }) }), jsx(Flex, { justifyContent: "space-between", alignItems: "center", children: jsx(CheckboxCard, { variant: "surface", label: displayName, checked: column.getIsVisible(), onChange: column.getToggleVisibilityHandler() }) })] }));
|
|
2364
2364
|
}
|
|
2365
2365
|
function CardContainer({ location, children }) {
|
|
2366
2366
|
const ref = useRef(null);
|
|
@@ -2398,9 +2398,11 @@ function CardContainer({ location, children }) {
|
|
|
2398
2398
|
}
|
|
2399
2399
|
const TableViewer = () => {
|
|
2400
2400
|
const { table } = useDataTableContext();
|
|
2401
|
-
const
|
|
2402
|
-
|
|
2403
|
-
|
|
2401
|
+
const order = table.getState().columnOrder.length > 0
|
|
2402
|
+
? table.getState().columnOrder
|
|
2403
|
+
: table.getAllLeafColumns().map(({ id }) => {
|
|
2404
|
+
return id;
|
|
2405
|
+
});
|
|
2404
2406
|
useEffect(() => {
|
|
2405
2407
|
return monitorForElements({
|
|
2406
2408
|
onDrop({ source, location }) {
|
|
@@ -2425,11 +2427,10 @@ const TableViewer = () => {
|
|
|
2425
2427
|
...columnAfter,
|
|
2426
2428
|
].filter((id) => id != "<marker>");
|
|
2427
2429
|
table.setColumnOrder(newOrder);
|
|
2428
|
-
setOrder(newOrder);
|
|
2429
2430
|
},
|
|
2430
2431
|
});
|
|
2431
|
-
}, [
|
|
2432
|
-
return (jsx(Flex, { flexFlow: "column", gap: "0.25rem", children:
|
|
2432
|
+
}, [table]);
|
|
2433
|
+
return (jsx(Flex, { flexFlow: "column", gap: "0.25rem", children: order.map((columnId, index) => {
|
|
2433
2434
|
return (jsx(CardContainer, { location: index, children: jsx(ColumnCard, { columnId: columnId }) }));
|
|
2434
2435
|
}) }));
|
|
2435
2436
|
};
|
|
@@ -2604,21 +2605,6 @@ const RecordDisplay = ({ object, boxProps, translate, prefix = "", }) => {
|
|
|
2604
2605
|
}) }));
|
|
2605
2606
|
};
|
|
2606
2607
|
|
|
2607
|
-
const formatValue = (value) => {
|
|
2608
|
-
if (typeof value === "object") {
|
|
2609
|
-
return JSON.stringify(value);
|
|
2610
|
-
}
|
|
2611
|
-
if (typeof value === "string") {
|
|
2612
|
-
return value;
|
|
2613
|
-
}
|
|
2614
|
-
if (typeof value === "number" || typeof value === "boolean") {
|
|
2615
|
-
return `${value}`;
|
|
2616
|
-
}
|
|
2617
|
-
if (value === undefined) {
|
|
2618
|
-
return `undefined`;
|
|
2619
|
-
}
|
|
2620
|
-
throw new Error(`value is unknown, ${typeof value}`);
|
|
2621
|
-
};
|
|
2622
2608
|
const DataDisplay = ({ variant = "", translate }) => {
|
|
2623
2609
|
const { table } = useDataTableContext();
|
|
2624
2610
|
const getLabel = ({ columnId }) => {
|
|
@@ -2627,6 +2613,24 @@ const DataDisplay = ({ variant = "", translate }) => {
|
|
|
2627
2613
|
}
|
|
2628
2614
|
return snakeToLabel(columnId);
|
|
2629
2615
|
};
|
|
2616
|
+
const formatValue = (value) => {
|
|
2617
|
+
if (typeof value === "object") {
|
|
2618
|
+
return JSON.stringify(value);
|
|
2619
|
+
}
|
|
2620
|
+
if (typeof value === "string") {
|
|
2621
|
+
return value;
|
|
2622
|
+
}
|
|
2623
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
2624
|
+
return `${value}`;
|
|
2625
|
+
}
|
|
2626
|
+
if (value === undefined) {
|
|
2627
|
+
if (translate !== undefined) {
|
|
2628
|
+
return translate.t(`undefined`);
|
|
2629
|
+
}
|
|
2630
|
+
return `undefined`;
|
|
2631
|
+
}
|
|
2632
|
+
throw new Error(`value is unknown, ${typeof value}`);
|
|
2633
|
+
};
|
|
2630
2634
|
if (variant == "horizontal") {
|
|
2631
2635
|
return (jsx(Flex, { flexFlow: "column", gap: "1", children: table.getRowModel().rows.map((row) => {
|
|
2632
2636
|
return (jsx(Card.Root, { children: jsx(Card.Body, { children: jsx(DataList.Root, { gap: 4, padding: 4, display: "grid", variant: "subtle", orientation: "horizontal", overflow: "auto", children: row.getVisibleCells().map((cell) => {
|
|
@@ -4748,11 +4752,10 @@ const FormInternal = () => {
|
|
|
4748
4752
|
methods.handleSubmit(onValid)();
|
|
4749
4753
|
}, formNoValidate: true, children: translate.t("submit") })] }), isError && (jsxs(Fragment, { children: ["isError", jsxs(Fragment, { children: [" ", `${error}`] })] }))] }));
|
|
4750
4754
|
};
|
|
4751
|
-
const Form = ({ schema, idMap, setIdMap, form, serverUrl, translate, order = [], ignore = [], onSubmit = undefined,
|
|
4755
|
+
const Form = ({ schema, idMap, setIdMap, form, serverUrl, translate, order = [], ignore = [], onSubmit = undefined, rowNumber = undefined, requestOptions = {}, }) => {
|
|
4752
4756
|
const { properties } = schema;
|
|
4753
4757
|
idListSanityCheck("order", order, properties);
|
|
4754
4758
|
idListSanityCheck("ignore", ignore, properties);
|
|
4755
|
-
idListSanityCheck("preLoadedValues", Object.keys(preLoadedValues), properties);
|
|
4756
4759
|
return (jsx(SchemaFormContext.Provider, { value: {
|
|
4757
4760
|
schema,
|
|
4758
4761
|
serverUrl,
|
|
@@ -27,4 +27,4 @@ export interface CustomJSONSchema7Definition extends JSONSchema7 {
|
|
|
27
27
|
gridRow: string;
|
|
28
28
|
foreign_key: ForeignKeyProps;
|
|
29
29
|
}
|
|
30
|
-
export declare const Form: <TData extends FieldValues>({ schema, idMap, setIdMap, form, serverUrl, translate, order, ignore, onSubmit,
|
|
30
|
+
export declare const Form: <TData extends FieldValues>({ schema, idMap, setIdMap, form, serverUrl, translate, order, ignore, onSubmit, rowNumber, requestOptions, }: FormProps<TData>) => import("react/jsx-runtime").JSX.Element;
|