Formless.Query
- Package
- purescript-halogen-formless
- Repository
- thomashoneyman/purescript-halogen-formless
This module exports helpers for working with Formless queries. Action-style
queries are already specialized to Unit
for you. Prefer these over using
data constructors from the Formless query algebra. Remember that you can
freely extend the Formless query algebra with your own queries by using the
injQuery
function.
#asQuery Source
asQuery :: forall form q ps. Variant (PublicAction form) -> Query form q ps Unit
Convert a Formless public action to an action-style query. Any action from Formless.Action will work, but no others.
#submitReply Source
submitReply :: forall form query ps a. (Maybe (form Record OutputField) -> a) -> Query form query ps a
Submit the form, returning the output of validation if successful
and Nothing
otherwise.
#sendQuery Source
sendQuery :: forall outS outL inS inL form msg q ps cq cm pps r0 r1 st pmsg act m a. IsSymbol outL => IsSymbol inL => Cons outL (Slot (Query form q ps) msg outS) r0 pps => Cons inL (Slot cq cm inS) r1 ps => Ord outS => Ord inS => Proxy outL -> outS -> Proxy inL -> inS -> cq a -> HalogenM st act pps pmsg m (Maybe a)
When you have specified a child component within Formless and need to query it, you can do so in two ways.
First, you can use H.query
as usual within the handleExtraQuery
function
you provide to Formless as input. You can, for example, write your own query
which manages the child component, write it into the render function you
supply Formless, and then when that query is triggered, query the child
component.
Second, you can use the sendQuery
function within your parent component's
handleAction
or handleQuery
functions. Given the slot for Formless, the
slot for the child component within Formless, and the query you'd like to
send the child component, sendQuery
will run through Formless and return
the query result to the parent.
For example, this is how you would query a dropdown component being run within a Formless form from the parent component.
-- in the parent component which mounts Formless
handleAction = case _ of
SendDropdown (dropdownQuery -> do
result <- F.sendQuery _formless unit _dropdown 10 dropdownQuery
- Modules
- Formless
- Formless.
Action - Formless.
Class. Initial - Formless.
Component - Formless.
Data. FormFieldResult - Formless.
Internal. Component - Formless.
Internal. Debounce - Formless.
Internal. Transform - Formless.
Query - Formless.
Retrieve - Formless.
Transform. Record - Formless.
Transform. Row - Formless.
Types. Component - Formless.
Types. Form - Formless.
Validation