While similar, Initializers and Decisions differ in how they handle inputs. A Decisions component relies on specific input values (if an end-user responds yes to a question, the Decision triggers). Initializers, on the other hand, trigger on actions (such as a button-click or a new submission on a page).
To trigger an operation based on an action instead of a value, use the Initializer component.
After completing this article, you’ll know when to use an Initializer component, how to configure its settings, and how to use it in an Unqork application.
About the Configuration Window
To learn more about general component settings and those that display when a component is associated with Data Models, view our General Component Settings article.
Display Panel
Field Text
Setting
Description
Canvas Label Text
Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field.
User-friendly labels make your module more accessible. Keep labels short and descriptive (a word or two) using title case. For longer entries, use sentence case.
Actions Panel
Triggers
Setting
Description
Trigger Type
A drop-down menu showing the following options:
Manual: The component fires when triggered by another component (for example, a Button or Plug-In component).
Watch: The component fires when there's any action taken on the input component(s) listed in the Inputs table. Actions include entering a new value or editing or overwriting a saved value. If there are multiple inputs, use the Required setting to specify what inputs must be present before firing.
New Submission: The component fires when the page or called module loads without an existing submission ID. Dashboards and remote execute modules are great uses for this trigger.
Edit Submission: The component fires when the page loads with a submission ID.
Browser Event: The component fires when the end-user closes or refreshes their page. When this happens, the end-user sees a pop-up. Try to keep your operations simple. Long API (application programming interface) calls, for example, might not complete before the page closes.
When using New and Edit Submission Trigger Types in a workflow, submissions carry through the workflow. The New Submission Trigger Type only works for the first module of a workflow. For subsequent modules, use Edit Submission.
Inputs Table
The Inputs table is for inputting components that trigger the Initializer component.
Setting
Description
Source
The Source (Enter Property ID) column is where you enter inputs that your logic component references. Examples of supported inputs include:
The Property ID of another component in the module. For example, a component that acts as a trigger, as an input for a Micro Decision, or referenced in a formula.
When using a Trigger Type of Watch, enter all inputs the component must watch for in the Property ID column.
Values that aren't the Property ID of a component in the module, but are still present in the submission object. For example, the currentUser object contains information about the end-user.
Native values generated by the Unqork Designer Platform. For example, buttonClick, which Unqork creates following button-click events.
Alias
To simplify the configuration, give each component an alias. An easy approach is to assign each component a different letter of the alphabet. For example, A, B, C.
Required
If (checked), the end-user must enter a value in the field of this input component before the logic component fires.
By default, this setting is ☐ (unchecked).
Delete Input
Deletes the row from the Inputs table. This action is not reversible.
Outputs Table
The Outputs table is for outputting components and actions you want the Initializer component to perform.
Setting
Description
Source
For your logic component to recognize an output, you must enter the destination component's Property ID(s).
The Outputs Type drop-down contains a list of possible actions. When the Initializer triggers, the output type actions against the Source. For example, if your Source is a Text Field and the output type is set to Clear, then the Text Field's value clears when the Initializer triggers.
The following output Types are not supported: Steps, Focus, Pattern, Content, SelectValues, Editable, Hidden, and Clicked.
Value
Supporting text or values that work in conjunction with the Output Type selected. If the Type requires custom text (PopMessage or PopError, for example), enter the text here. Otherwise, if the Type needs a yes, no, or GO Value (for example, Required or Trigger), enter that here.
Delete Output
Deletes the row from the Outputs table. This action is not reversible.
Advanced Panel
Set Execution
Setting
Description
Disable Execution
If Disable Execution is set to (ON), the logic tied to this component does not execute. Use this to keep the component's settings, but disable the operations it performs.
By default, this setting is set to (OFF).
Set Debounce
The number of milliseconds that pass before the module loads this component. This is useful if you have a large module and you load several components at the same time.
1,000 milliseconds = 1 second.
For an Initializer component, this is how much time passes before triggering.
Adding an Initializer Component
In this example, you'll learn how to set up an Initializer component without configuring the Input table. Instead of referencing the Input table, your Initializer watches for new submissions. With each new submission, your Initializer fires the value yes to a series of Radio Buttons.
These instructions assume that you have an open module saved and with a title.
What You Need
For this configuration, you need the following components:
Start your configuration by adding two Radio Buttons components. These Radio Buttons serve as the output location for the Initializer component.
The first Radio Buttons component asks the end-user if they completed an application. The second Radio Buttons component asks the end-user if the application was completed less than a month ago.
1.
In the Module Builder, drag and drop two Radio Buttons components onto your canvas.
Was this application started less than one month ago?
3.
For each Radio Buttons component, complete the Values table as follows:
Option Label
Value to Store in the Submission Data
Yes
yes
No
no
4.
Click Save Component for each Radio Buttons component as you complete it.
Configure the Initializer Component
The Initializer component, once triggered, pushes the value yes to each Radio Buttons component. The Initializer component triggers as soon as the module loads. This trigger action occurs based on the selection of the New Submission Trigger Type.
1.
In the Module Builder, drag and drop an Initializer component onto your canvas, placing it above your Radio Buttons components.
Here are some real-world examples of when to use an Initializer component:
Auto-completing fields when an end-user opens a page or clicks a button.
Triggering a Plug-In component in a remote execute module.
Triggering the creation of a time-stamp on a module submission.
While similar, Initializers and Decisions differ in how they handle inputs. A Decisions component relies on specific input values (if an end-user responds yes to a question, the Decision triggers). Initializers, on the other hand, trigger on actions (such as a button-click or a new submission on a page).
To trigger an operation based on an action instead of a value, use the Initializer component.
After completing this article, you’ll know when to use an Initializer component, how to configure its settings, and how to use it in an Unqork application.
About the Configuration Window
To learn more about general component settings and those that display when a component is associated with Data Models, view our General Component Settings article.
Display Panel
Setting
Description
Canvas Label Text
Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field.
User-friendly labels make your module more accessible. Keep labels short and descriptive (a word or two) using title case. For longer entries, use sentence case.
Actions Panel
Triggers
Setting
Description
Trigger Type
A drop-down menu showing the following options:
Manual: The component fires when triggered by another component (for example, a Button or Plug-In component).
Watch: The component fires when there's any action taken on the input component(s) listed in the Inputs table. Actions include entering a new value or editing or overwriting a saved value. If there are multiple inputs, use the Required setting to specify what inputs must be present before firing.
New Submission: The component fires when the page or called module loads without an existing submission ID. Dashboards and remote execute modules are great uses for this trigger.
Edit Submission: The component fires when the page loads with a submission ID.
Browser Event: The component fires when the end-user closes or refreshes their page. When this happens, the end-user sees a pop-up. Try to keep your operations simple. Long API (application programming interface) calls, for example, might not complete before the page closes.
When using New and Edit Submission Trigger Types in a workflow, submissions carry through the workflow. The New Submission Trigger Type only works for the first module of a workflow. For subsequent modules, use Edit Submission.
Inputs Table
The Inputs table is for inputting components that trigger the Initializer component.
Setting
Description
Property ID
The Source column is where you enter inputs for your logic component to reference. Examples of supported inputs include:
The Property ID of another component in the module. Examples include a component that acts as a trigger, an input for a Micro Decision, or a referenced formula.
When using a Watch Trigger Type, enter all inputs the component must watch for in the Property ID column.
Values that are not the Property ID of a component in the module, but are still present in the submission object. For example, the currentUser object contains information about the end-user.
Native values generated by the Unqork Designer Platform. For example, buttonClick. This Unqork value is created following button-click events.
Alias
To simplify the configuration, give each component an alias. An easy approach is to assign each component a different letter of the alphabet. For example, A, B, C.
Required
If (checked), the end-user must enter a value in the field of this input component before the logic component fires.
By default, this setting is ☐ (unchecked).
Outputs Table
The Outputs table is for outputting components, and actions you want the Initializer component to perform.
Setting
Description
Property ID
For your logic component to recognize an output, you must enter the destination component's Property ID(s).
The Outputs Type drop-down contains a list of possible actions. When the Initializer triggers, the output type actions against the Property ID. For example, if your Property ID references a Text Field and the output type is set to Clear, then the Text Field's value clears when the Initializer triggers.
The following output Types are not supported or referenced above: Steps, Focus, Pattern, Content, SelectValues, Editable, Hidden, and Clicked.
Value
Supporting text or values that work in conjunction with the Output Type selected. If the Type requires custom text (PopMessage or PopError, for example), enter the text here. Otherwise, if the Type needs a yes, no, or GO Value (for example, Required or Trigger), enter that here.
Advanced Panel
Set Execution
Setting
Description
Disable Execution
If Disable Execution is set to (ON), the logic tied to this component does not execute. Use this to keep the component's settings, but disable the operations it performs.
By default, this setting is set to (OFF).
Set Debounce
The number of milliseconds that pass before the module loads this component. This is useful if you have a large module and you load several components at the same time.
1,000 milliseconds = 1 second.
For an Initializer component, this is how much time passes before triggering.
Adding an Initializer Component
In this example, you'll learn how to set up an Initializer component without configuring the Input table. Instead of referencing the Input table, your Initializer watches for new submissions. With each new submission, your Initializer fires the value yes to a series of Radio Buttons.
These instructions assume that you have an open module saved and with a title.
What You Need
For this configuration, you need the following components:
Start your configuration by adding two Radio Buttons components. These Radio Buttons serve as the output location for the Initializer component.
The first Radio Buttons component asks the end-user if they completed an application. The second Radio Buttons component asks the end-user if the application was completed less than a month ago.
1.
In the Module Builder, drag and drop two Radio Buttons components onto your canvas.
Was this application started less than one month ago?
3.
For each Radio Buttons component, complete the Values table as follows:
Option Label
Value to Store in the Submission Data
Yes
yes
No
no
4.
Save & Close each Radio Buttons component as you complete it.
Configure the Initializer Component
The Initializer component, once triggered, pushes the value yes to each Radio Buttons component. The Initializer component triggers as soon as the module loads. This trigger action occurs based on the selection of the New Submission Trigger Type.
1.
In the Module Builder, drag and drop an Initializer component onto your canvas, placing it above your Radio Buttons components.