@@ -248,23 +248,25 @@ useForm
248
248
, validated :: Maybe result
249
249
, form :: JSX
250
250
}
251
- useForm editor props = React .do
251
+ useForm editor props = Hooks .do
252
252
let
253
253
renderer = defaultRenderForm
254
254
{ readonly: props.readonly
255
255
, inlineTable: props.inlineTable
256
256
, forceTopLabels: props.forceTopLabels
257
257
}
258
258
259
- useForm' editor props renderer
259
+ f <- useForm' editor props
260
+ pure f { form = renderer f.form }
260
261
261
262
262
263
-- | Like `useForm`, but allows an alternative render implementation
263
264
-- | to be provided as an additional argument.
264
265
useForm'
265
- :: forall props unvalidated result
266
+ :: forall ui props unvalidated result
266
267
. Mapping ModifyValidated unvalidated unvalidated
267
- => FormBuilder
268
+ => FormBuilder'
269
+ ui
268
270
{ initialState :: unvalidated
269
271
| props
270
272
}
@@ -273,29 +275,28 @@ useForm'
273
275
-> { initialState :: unvalidated
274
276
| props
275
277
}
276
- -> (Forest -> JSX )
277
278
-> Hooks.Hook (Hooks.UseState unvalidated )
278
279
{ formData :: unvalidated
279
280
, setFormData :: (unvalidated -> unvalidated ) -> Effect Unit
280
281
, setModified :: Effect Unit
281
282
, reset :: Effect Unit
282
283
, validated :: Maybe result
283
- , form :: JSX
284
+ , form :: ui
284
285
}
285
- useForm' editor props renderer = Hooks .do
286
+ useForm' editor props = Hooks .do
286
287
formData /\ setFormData <- Hooks .useState props.initialState
287
288
288
289
let
289
290
{ edit, validate: validated } = un FormBuilder editor props formData
290
- forest = Array .mapMaybe pruneTree $ edit setFormData
291
+ ui = edit setFormData
291
292
292
293
pure
293
294
{ formData
294
295
, setFormData
295
296
, setModified: setFormData setModified
296
297
, reset: setFormData \_ -> props.initialState
297
298
, validated
298
- , form: renderer forest
299
+ , form: ui
299
300
}
300
301
301
302
0 commit comments