Timer Component

Overview

The Timer component lets you add time-based rules and logic to your application. Say you want to set a 10-minute timer for an end-user to confirm an order. If the end-user End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. fails to confirm the order in the allotted 10 minutes, the order process resets. In this situation, the time limit might give the end-user a sense of urgency. Plus, restarting an idle process could free up resources for other end-users.

Some other uses of the Timer component include:

  • Ensuring an end-user spends enough time on a page.
  • Limiting the amount of time an end-user can stay on a page.
  • Automatically reloading a page when the timer expires.
  • Detecting if an end-user becomes inactive.

You can use the Timer component to trigger one or many components when it expires. For example, the Trigger setting fires a single component after the timer expires. You could also use a Decisions component to trigger a number of actions after the timer expires. Once the timer expires, its value is -0. So, you can set up micro decisions to fire based on the timer's value of -0.

Server-side executed modules do not support the Timer component. For example, if you create a workflow with Task modules, any reference from one module to another in that workflow where a Timer component exists will result in an error.

You'll find the Timer component 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 a Timer component, how to configure its settings, and how to use it in an Unqork application.

About the Configuration Window

General

Setting

Description

Property ID

A Property ID is the unique field ID used by Unqork to track and link components in your module.

The Property ID is how the software identifies your component. Using Property IDs lets you link components, creating logic-based configurations and API APIs (application programming interfaces) are a set of protocols and definitions developers use to build and integrate application software. APIs act as the connective tissue between products and services. calls.

Property IDs must use camel case A naming convention for computer programming. Use camelCase for Property IDs, for example: newUser, lastName, & rdoButton. (stylized as camelCase) without spaces or punctuation.

(ON)/(OFF)

The component is active and visible in Express View Express View is how your end-user views you application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View.. While active, other components and processes can reference your component.

Setting the toggle to (OFF) makes your component inactive. Other components and processes cannot reference your component while it's inactive.

By default, the Active toggle is set to (ON).

Notes

Select this tab to display the component's Notes area. You can use notes to keep your teammates informed.

The Notes editor offers a semi-WYSIWYG (What You See is What You Get) content editor. Built to look like a word processor, this editor lets you create, edit, and format your notes. Notes save when saving the component.

Data Icon Data

Select this tab to manage your component's data settings.

Actions Icon Actions

Select this tab to manage your component's actions settings.

Advanced Icon Advanced

Select this tab to manage your component's advanced settings.

Permissions Icon Permissions

Select this tab to see the RBAC RBAC (Role-Based Access Control) is a method to control system access for authorized users. The role in RBAC refers to the levels of access employees have to a network. settings of the component.

Field Tag Icon Field Tags

Assign components one-word labels to help organize, identify, and group the components in your application.

Consider an example from the API Specification Snippet: Field Tags are applied to Hidden components in the panelRequest and panelResponse Panel components. The Field Tags identify the data type of parameters included in the API APIs (application programming interfaces) are a set of protocols and definitions developers use to build and integrate application software. APIs act as the connective tissue between products and services. request and response. The API Docs Dashboard tool populates with information about each parameter’s data type, identified by the Field Tag.

Field Tags act as a type of Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. group and let you group components for configuration purposes. Field Tags let you target two or more components using a simple logic component.

For example, add the Field Tag tagForDecision to multiple components in your module. Open the Inputs table of a Decisions component and reference the tagForDecision Field Tag as the input of the Decisions component. The output of the Decisions component then affects all components with the tagForDecision Field Tag.

Save your Field Tags by pressing Enter (Return) or adding a comma after each entry.

Shortcuts Icon Shortcuts

Select this tab to open the list of supported keyboard shortcuts you can use in the component settings modal. Keyboard shortcuts include:

  • Cmd + S (Mac) / Ctrl + S (PC): Save and close the component settings modal.

  • Cmd + G (Mac) / Ctrl + G (PC): Opens a search window to find specific fields and settings in the component settings modal.

  • Tab: Tab to the next field or setting in the component settings modal. This keyboard shortcut tabs left to right and top to bottom.

  • Shift + Tab: Tab to the previous field or setting in the component settings modal. The keyboard shortcut tabs from right to left and bottom to top.

  • Enter (Return): When tabbing to a Tooltip Icon (tooltip), press Enter (Return) to display the field or setting tooltip. Press Enter (Return) again to hide the tooltip.

Additional keyboard shortcuts:

  • Drop-down menus: When you Tab to a settings drop-down, use the keyboard's Up-Arrow Icon (up)/ Down-Arrow icon (down) arrows to make a selection. Then, press Enter (Return) to confirm the selection.

Documentation IconDocumentation

Select this tab to access the component documentation in Unqork's In-Product Help.

Cancel

Click this button to undo any unsaved configuration changes and return to the Module Builder canvas.

Save & Close

Click this button to save all setting  configuration changes and return to the Module Builder canvas.

Display Panel

A static image dispaying the Timer component's Display settings.
(click to expand image)

Field Text

Setting

Description

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.

Placeholder Text

A short prompt telling end-users the expected value of an input field. For example: Enter your Social Security Number. Placeholder Text displays inside the input field until the end-user begins an entry.

Contextual Help

Setting

Description

Tooltip

A short hint that displays when an end-user positions their cursor over the Questionmark Icon (Tooltip) icon. Tooltips can display across more than one line.

Helper Text

A quick tip describing the expected value of an input field. Unlike a Tooltip, Helper Text stays visible under the input field and displays on a single line.

Default State Options

Setting

Description

Set Timer Duration

Sets how long the timer will run in seconds.

Timer Direction

Determines if the timer Counts Up to the Timer Duration or Counts Down from the Timer Duration.

Set Timer Format

The moment.js format for displaying the time remaining. To include words, surround them with square brackets (for example, [Time Remaining] mm:ss).

Reset When User Activity is Detected

When set to Toggle Button set to On (ON), the component keeps track of end-user's interaction with the screen. If activity is detected, the timer resets. As defined by this setting, activity includes mouse clicks and key presses on the currently focused browser page. Simply moving the mouse is not considered activity.

When set to Toggle Button set to Off (OFF), the timer continues for its entire duration regardless of activity on the page.

By default, this toggle is set to Toggle Button set to Off (OFF).

Formatting

Setting

Description

Hide Label

Setting the Hide Label toggle to  (ON) stops Label Text from displaying in Express View Express View is how your end-user views you application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View.. Your Label Text still displays in the Module Builder.

By default, the Hide Label toggle is set to (OFF).

Hide Timer

Shows or hides the component from view. Setting the Hide Timer toggle to Toggle On icon (ON) hides the component in Express View. Setting the toggle to Toggle Off icon (OFF) unhides the component. The component will always remain visible in the Module Builder.

By default, the Hide Timer toggle is set to Toggle Off icon (OFF).

Data Panel

A static image dispaying the Timer component's Data settings.
(click to expand image)

Data Storage

Setting

Description

Store Data in Database

The Store Data in Database setting affects how data persists through your application. When set to  (ON), Unqork stores values entered into the field to the database (server-side submission). This occurs in three scenarios:

  • Navigating between Panels in a Navigation component. On navigation between pages (Panels), the component’s value saves to the database.

  • Triggering a module save event using a Button component with an Action Type of Save.

  • Navigating between screens of a workflow. On navigation between screens, the component’s value saves to the database.

By default, workflows persist data from all fields in the client-side submission when navigating between screens. However, only values from fields with Store Data in Database enabled store in the server-side submission.

Set the toggle to (OFF) when you don’t want to store the values from this field in the database.

When using a Plug-In to remote execute a module, ensure data moving between modules is persistent. You can optionally enable Store Data in Database for components in the source module. But any components in the API module whose values are included in an API response must have Store Data in Database enabled. When a component’s data is not persistent, the data isn't included in an API call's response. So, Plug-Ins or external services requesting data from the API module can't receive non-persistent data in the response. To learn more about Store Data in Database in the context of API modules, see the panelResponse Panel section of the API Specification Snippet article in our In-Product Help.

Store Data in Database also affects what data is tracked using Unqork’s built-in tracker. When the Enable Tracker and Track Value toggles are set to  (ON) in Module Settings, only values from fields with Store Data in Database enabled are tracked.

By default, this toggle is set to (OFF).

Actions Panel

A static image dispaying the Timer component's Actions settings.
(click to expand image)

Triggers

Setting

Description

Trigger

To set up a trigger, enter the Property ID of your chosen logic component into this field. When the timer completes its duration, the specified component fires.

Advanced Panel

A static image dispaying the Timer component's Advanced settings.
(click to expand image)

Additional Styling

Setting

Description

Custom CSS Class

Enter a Custom CSS Cascading Style Sheets (CSS) is a style sheet language used for presenting how a HTML or XML document looks to end-users. Class to apply to your component. Custom CSS lets you maintain a consistent look and feel when the field or element is part of a template or multiple modules.

Updated CSS styling applies to all components that reference this custom class name.

Adding a Timer Component

You can add a Timer component to any page in your Unqork application. For many Timer use cases, you'll hide the component. Only keep the component visible if the end-user must see the timer.

For this use case, set up a simple module. The end-user needs to fill out some personal information, but you want to ensure they take their time filling out the Text Area component. To ensure they spend enough time on the page, use a Timer component. The Timer will count down from 60 seconds. After 60 seconds, a Submit button displays, allowing your end-user to submit their information.

In this configuration, you need the following components:

Configure the Text Field Component

1. In the Module Builder, drag and drop a  Text Field component onto your canvas.
2. In the Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. field, enter name.
3. In the Label Text Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. field, enter Your Name.
4. Click Save & Close.

Configure the Text Area Component

1. In the Module Builder, drag and drop a  Text Area component onto your canvas, placing it below your name  Text Field component.
2. In the Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. field, enter experience.
3. In the Label Text Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. field, enter Your Experience.
4. Click Save & Close.

Configure the Timer Component

1. In the Module Builder, drag and drop a  Timer component onto your canvas, placing it below your experience  Text Area component.
2. In the Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. field, enter timerExperience.
3. In the Label Text Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. field, enter timerExperience.
4. In the Set Timer Duration field, enter 60.
5. In the Set Timer Format field, enter mm:ss.
6. Set the Hide Label toggle to Toggle On icon (ON).

7. Click Save & Close.

Configure the Button Component

This Button displays after the Timer runs out. Ensure the Hide Field setting is toggled ON.

1. In the Module Builder, drag and drop a Decisions Component icon Button component onto your canvas, placing it below your timerExperience  Timer component.
2. In the Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. field, enter btnSubmit.
3. In the Label Text Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. field, enter Submit.
4. Set the Hide Field toggle to Toggle On icon (ON).
5. Click Save & Close.

Configure the Decisions Component

This Decisions component is where you set the rule to only show the Submit button when the timer reaches zero.

1. In the Module Builder, drag and drop a Decisions Component icon Decisions component onto your canvas, placing it between your timerExperience  Timer and btnSubmit Decisions Component icon Button components.
2. In the Property ID A Property ID is the unique field ID used by Unqork to track and link components in your module. and Canvas Label Text fields, enter ruleSixty.
3. Click Actions Icon Actions.
4. Set Trigger Type to Watch.
5. Complete the Inputs table as follows:

Property ID

Alias

Type

timerExperience

 

exact

6. Complete the Outputs as follows:

Property ID

Type

btnSubmit

visible

7. Complete the Micro Decisions table as follows:
  Input Values Output Values
  timerExperience btnSubmit_visible

1

-0

yes

-0 is the Timer's value only after the time expires. So, this Decisions component only fires when the timer reaches zero.

 

8. Click Save & Close.
9. Save your module.

Preview your module in Express View Express View is how your end-user views you application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View.. Here, you'll see how the button only displays after the Timer expires.

Structure of a Timer Component's Data

The Timer component stores as a key/value pair, and displays the current time value in seconds (ss). When viewing a Timer's value in angular, the value displayed is the exact moment the angular command is executed. For example, if a 60-second timer is set to countdown to 0, executing the angular command at 30 seconds displays a value of 30 in the console.

Resources