- Resolve
- Create
FormInstance
- Initialize
FormInstance
input fields from URL parameters
- Create
- Create Svelte component (
Form
) - Initialize Svelte component (
Form
)- If
postOnLoad == true
and all required inputs have values, post the form - Select response handler and handle the response
- If
FormComponentResponseHandler
is the default response handler. It will
- set
FormInstance
output fields - render output fields
FormInstance
provides API to communicate with the server-side form.
form:posting
- just before form is posted to the server (fired byFormInstance
). UsesFormEventArgs
for event arguments.form:responseReceived
- fired when response from the server is received, but hasn't been processed yet (fired byFormInstance
). UsesFormEventArgs
for event arguments.form:responseHandled
- fired after response from the server has been handled (fired byFormInstance
). UsesFormEventArgs
for event arguments.
Form is a UI control which can render a form in a browser. Form
uses FormInstance
to facilitate communication with the server and to ensure form lifecycle.
Components are assembled into a hierarchy. Form
components can be nested using InlineForm
output field. The nested form can access its parent form via Form.parent
.
Each input or output field can publish events up to its Form
component and to all parent forms using Form.fireAndBubbleUp
.
Form has several built in-events:
form:loaded
- fired as soon as the form has been rendered and initialized (before the initialpost-on-load
). arguments.form:responseHandled
- fired after response from the server has been handled.
Array of input components (i.e. - Svelte components like Textarea.html) which were instantiated for this form.
Each input component gets initialized with the these properties:
field
-InputFieldValue
instancetabindex
- auto-calculated tabindexid
- auto-generated unique identifierapp
-UmfApp
instanceform
- parentForm.html
wrapper
- instance ofInput.html
which wraps the actual input component.
Each input component gets initialized with the these properties:
field
-InputFieldValue
instanceapp
-UmfApp
instanceform
-FormInstance
objectparent
- instance ofForm.html
component inside which the output is rendered