Initializer Component

Prev Next

Overview

The Initializer component is one of Unqork's core logic components. Initializers trigger operations based on an end-user's interaction with components and modules. Initializer component can be set up to trigger an operation with each new 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.

The Initializer component is in the Data & Event Processing group to the left of the Module Builder.

What You'll Learn                                                

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.

A static displaying the Initalizer Component's Display settings.
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.

You can trigger Initializers set to New Submission or Edit Submission with a Post Trigger in another component.

When using New Submission or 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.

A static image displaying the Initalizer component's Actions settings.
Inputs Table

The Inputs table is for inputting components that trigger the Initializer component.

A static image dispaying the Initializer component's Inputs Table

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.

    You can use dot notation to reference values nested under a Property ID in the submission data.

  • 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 executes.

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.

A static image dispaying the Initializer component's Outputs Table

Setting

Description

Source                                                                    

For your logic component to recognize an output, you must enter the destination component's Property ID(s).

The Property ID entered must match the Property ID of the component that acts as the output. Remember, use camel case without spaces or punctuation.

Type                                                                    

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.

To learn more about output types, view our Logic Components: Input & Output Types article.

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 A toggle switch indicating an on/off state for a user interface element. (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 A toggle switch in the 'on' position, indicating an active setting or feature. (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.

A static image displaying the Initializer component's Advanced settings. 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:

Configure the Radio Buttons 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 icon Radio Buttons components onto your canvas.

  2. In the Property ID and Label Text fields, enter the following:

    Property ID

    Label Text

    fillOut                                                                    

    Did you fill out this application yourself?

    startDate                                                                    

    Was this application started less than one month ago?

  3. For each Radio Buttons component, complete the Values table as follows:

    Property ID

    Label Text

    fillOut                                                                    

    Did you fill out this application yourself?

    startDate                                                                    

    Was this application started less than one month ago?

  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.

  2. In the Property ID  field, enter initNewSubmission.

  3. In the Canvas Label Text field, enter Yes to All.

  4. Set the Trigger Type as New Submission.

  5. In the Outputs table, set the following: a

    #

    Source

    Type

    Value

    1

    fillOut                                                                    

    value                                                                    

    yes

    2

    startDate                                                                    

    value                                                                    

    yes

    A static image displaying the Initalizer component Actions settings, the Trigger Type is set to New Submission and the Outputs table includes the fillOut and startDate Property IDs.

  6. Click Save Component.

  7. Save your module.

Once configured, click Preview to open your module in Express View. Here's how your module displays:

A static image displaying an Express View with two radio button components. The Initalizer component has automatically selected two of the radio buttons on submission load.

Overview

The Initializer component is one of Unqork's core logic components. Initializers trigger operations based on an end-user's interaction with components and modules. Initializer component can be set up to trigger an operation with each new module submission.

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.

The Initializer component is in the Data & Event Processing group to the left of the Module Builder.

What You'll Learn                                                

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

A static image dispaying the Initializer component's Display settings.

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

A static image dispaying the Initializer component's Actions settings.

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.

You can trigger Initializers set to New Submission or Edit Submission with a Post Trigger in another component.

When using New Submission or 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.

    You can use dot notation to reference values nested under a Property ID in the submission data.

  • 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 executes.

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 Property ID entered must match the Property ID of the component that acts as the output. Remember, use camel case without spaces or punctuation.

Type

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.

To learn more about Output Types, view our Logic Components: Input & Output Types article

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

A static image dispaying the Initializer component's Advanced settings.

Set Execution

Setting

Description

Disable Execution                                                                    

If  Disable Execution  is set to A toggle switch indicating an on/off state for a user interface element. (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 A toggle switch in the 'on' position, indicating an active setting or feature. (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:

Configure the Radio Buttons 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 icon Radio Buttons components onto your canvas.

  2. In the Property ID and Label Text fields, enter the following:

    Property ID

    Label Text

    fillOut                                                                    

    Did you fill out this application yourself?

    startDate                                                                    

    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 icon Radio Buttons components.

  2. In the Property ID  field, enter initNewSubmission.

  3. In the Canvas Label Text field, enter Yes to All.

  4. Set the Trigger Type as New Submission.

  5. In the Outputs table, set the following:

    Property ID

    Type

    Value

    1

    fillOut

    value

    yes

    2

    startDate

    value

    yes

    A static image displaying the Initalizer component Actions settings, the Trigger Type is set to New Submission and the Outputs table includes the fillOut and startDate Property IDs.

  6. Click Save & Close.

  7. Save your module.

Once configured, click Preview to open your module in Express View. Here's how your module displays:

A static image displaying an Express View with two radio button components. The Initalizer component has automatically selected two of the radio buttons on submission load.

Resources