uimf-svelte3 v1.3.2
/form lifecycle
- Resolve
- Create
FormInstance - Initialize
FormInstanceinput fields from URL parameters
- Create
- Create Svelte component (
Form) - Initialize Svelte component (
Form)- If
postOnLoad == trueand all required inputs have values, post the form - Select response handler and handle the response
- If
Default response handler (FormComponentResponseHandler)
FormComponentResponseHandler is the default response handler. It will
- set
FormInstanceoutput fields - render output fields
FormInstance
FormInstance provides API to communicate with the server-side form.
Events
form:posting- just before form is posted to the server (fired byFormInstance). UsesFormEventArgsfor event arguments.form:responseReceived- fired when response from the server is received, but hasn't been processed yet (fired byFormInstance). UsesFormEventArgsfor event arguments.form:responseHandled- fired after response from the server has been handled (fired byFormInstance). UsesFormEventArgsfor event arguments.
Form.html
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.
parent
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.
Custom events with fireAndBubbleUp
Each input or output field can publish events up to its Form component and to all parent forms using Form.fireAndBubbleUp.
Built-in events
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.
inputs
Array of input components (i.e. - Svelte components like Textarea.html) which were instantiated for this form.
Input.html
Each input component gets initialized with the these properties:
field-InputFieldValueinstancetabindex- auto-calculated tabindexid- auto-generated unique identifierapp-UmfAppinstanceform- parentForm.htmlwrapper- instance ofInput.htmlwhich wraps the actual input component.
Output.html
Each input component gets initialized with the these properties:
field-InputFieldValueinstanceapp-UmfAppinstanceform-FormInstanceobjectparent- instance ofForm.htmlcomponent inside which the output is rendered