Panel Component

Prev Next

Overview                                                

The Panel component  creates self-contained sections or pages in modules, and acts as a storage unit for other components. You can also use Panel components to help with navigation, create pop-up modal, or display components from other modules.

Panel components are important when used in conjunction with other components. For example, the Modal setting turns the component into a pop-up modal when triggered. Panel components are necessary when configure Navigation components because the Navigation component uses them as  each page of your module.

You can also add Panel components inside other Panel components, nesting them as sub-sections inside larger sections.

You'll find the Panel component in the Display & Layout group to the left of the Module Builder.

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 Settings

Contextual Help

Setting

Description

Description                                                                        

An internal description of what this panel's purpose is. Does not display in Express View.

Default State Options

Setting

Description

Accordion                                                                        

Allows the end-user to minimize and maximize the Panel component. A plus (+) or minus (-) symbol displays to the right of the Panel component in Express View.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Collapse Content                                                                        

Setting this Collapse Content toggle to A toggle switch indicating an on/off state for a user interface element. (ON) results in the end-user seeing the Panel component minimized by default. The end-user has to maximize the Panel component manually to display its contents.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Enable Scrollspy                                                                        

Scrollspy is a jQuery plugin that lets end-users return to a specified component in Express View. When set to  A toggle switch indicating an on/off state for a user interface element. (ON), Scrollspy is enabled in the Panel component.

For Scrollspy to work correctly, you must also configure a Content component in your module. In the Content component, enter: <div scroll-spy-link="propertyIdOfFirstComponent">Back to Top</div>. In this example, propertyIdOfFirstComponent represents the Property ID of the component at the top of your Panel component. When your end-user clicks this new button in Express View, they return to the top of the Pane componentl.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Vertical Offset                                                                            

The number of pixels you want to offset the Scrollspy data from the top of the screen. This setting is useful when you want to take into account a fixed header on your screen.

Disable Panel                                                                        

Prevents end-users from interacting with or editing the input field in Express View. When the end-user hovers over the field, their cursor changes to alert them to the status change.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Hide Panel                                                                        

Hides the Panel component and all components inside it from the end-user. Use this setting instead of hiding each component.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Display - Interaction Type

Panel

The Panel setting displays the Panel component inline with the rest of the module, and is the default setting.

Modal

The Panel becomes a Modal when triggered by a logic component. The Panel remains hidden until triggered.

In Centauri (v1.0), modal stack on top of one another when a new one is opened. In Vega (v2.0), the most recent modal replaces the current one.

Triggers & Events

Some logic output events like dynamicRefresh and trigger, will not execute until the modal is opened at least once.

Setting

Description

Open Modal Event                                                                        

Lists the event that opens the modal. This event is triggered by components like Decisions, Initializer, or Plug-In components.

Dismiss Modal Event                                                                        

Lists the event that dismisses or closes the modal. The modal closes without saving changes made to its internal state.

Trigger on Manual Modal Dismissal                                                                        

The Property ID of the component to trigger when the Panel component's modal is manually dismissed. You can dismiss the Panel component's modal by closing it. If enabled, you can also dismiss by clicking outside of the modal.

Allow Clicking Outside Modal to Dismiss                                                                        

Allows you to click anywhere outside of the pop-up modal to close it.

By default, this setting is A toggle switch indicating an on/off state for a user interface element. (ON).

A static image displaying the Panel component's Modal settings.

Modal Styles

Setting

Description

Open Modal CSS Class

Specifies the on-open custom CSS class applied to the modal.

Display - Imported and Dynamic Content

Import Existing Module

Setting

Description

Import type                                                                        

Choose between referencing or copying the imported module.

Reference                                                                            

Automatically or manually detects when changes are made to the imported module.

Copy                                                                            

Imports a copy of the specified module. Changes to the imported module are not automatically or manually updated.

Update Type                                                                    

Choose between automatically or manually refreshing the imported module when changes are detected.

Automatic                                                                                                                                              

Detects any changes made in the source module, then automatically updates the module in this imported module.

Manual

Coming soon.

A static image displaying the Import Existing Module settings in the Panel component configuration page.

Enable Dynamic Refresh

This setting refreshes the Panel component with a dynamic set of components at run-time. Turning this setting to A toggle switch indicating an on/off state for a user interface element. (ON) adds an icon to identify that this Panel component is refreshable on the Module Builder canvas. Use the dynamicRefreshOutput Type in your logic components.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF). When this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF), the Panel component does not respond to dynamic refresh operations targeting it.

To learn more about using Dynamic Refresh, view our Dynamic Refresh article.

A static image displaying the Panel Component's Dynamic Refresh settings.

Setting

Description

Post Refresh Trigger                                                                        

The component to trigger when a dynamic refresh of the Panel component is completed. This action occurs after the incoming component(s) loads and renders.

When Dynamic Refreshing, use this setting instead of a Plug-In component's post-trigger.

Show Prior Components When Refreshing                                                                        

Controls the visual appearance of prior components in this Panel component while a refresh is taking place. Prior components are kept in the DOM  until incoming components are rendered. Once the refresh is complete, this appearance no longer applies.

By default, this setting is A toggle switch indicating an on/off state for a user interface element. (ON) when Dynamic Refresh is enabled.

Overlay Display Options                                                                            

Choose the opaqueness (transparency) of the overlay that displays on top of components being replaced by refreshed components. The overlay disappears when the new elements refresh in.

Options include:

  • None: No overlay displays on top of elements in the panel.

  • Partially Transparent: Sets the overlay's opacity  to a predefined  value (85%).

  • Custom Opacity: Sets the overlay's opacity using a percentage value ranging from 0 (fully visible) to 100 (invisible).

By default, Overlay Display Options is set to Partially Transparent.

Hiding and Opacity prevent the prior components from being interactive to end-users while refreshing.

Show Animation While Refreshing                                                                        

Displays a predefined animation in the Panel component while a refresh is taking place. Refresh operations do not indicate the percentage of completion. Once a refresh is complete, this animation no longer applies.

By default, this setting is A toggle switch indicating an on/off state for a user interface element. (ON) when Dynamic Refresh is enabled.

Animations are useful for dynamic refreshes involving a large number of components, large component definitions (in MB), or both.

Animation Options

Sets the type of animation to display when a Dynamic Refresh occurs.

Options include:

  • Loading Spinner: Displays a circular loading bar.

  • Progress Bar: Displays a linear loading bar.

  • Three Dots: Displays three dots that change in opacity as the Dynamic Refresh occurs.

Custom Text While Refreshing                                                                        

Enter text to display in the Panel component while refreshing. Text displays underneath the animation option. Once a refresh is complete, this text no longer displays.

Custom CSS Class While Refreshing                                                                        

A unique CSS class that lets a Creator specifically style the Panel component while a refresh is taking place. Once a refresh is complete, this CSS class no longer applies.

CSS can also modify the Show Animation While Refreshing settings.

Display Errors in Panel                                                                        

Displays all dynamic refresh-related error messages in the Panel component, and in the DevTools Console log. Doing so helps with debugging dynamic refresh configurations.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF) when Dynamic Refresh is enabled.

Use this setting for debugging purposes only. It is not recommended to display these error messages to end-users.

Runtime

Setting

Description

Render Components With

Select which runtime to use for the Panel component. The runtime affects Module Import, Dynamic Refresh, or adding components in the Panel component.

Runtimes include:

  • Centauri (1.0): The first-generation foundation of the Unqork Designer Platform. Centauri provides Creators a codeless experience for developing applications. This is the default setting.

  • Vega (2.0): The next-generation engine of the UDesigner platform. Vega uses cutting-edge technologies to improve the Creator and end-user experience.

Promote Data to Top Level

Set to A toggle switch indicating an on/off state for a user interface element. (ON) to bring Vega runtime data up a level. Vega data copies to the top level of submission data.

See an example of promoting runtime data in our Introduction to Cross-Runtime Support article.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF). Vega data stores in the Panel component's key.

Data to Clear on Refresh

For components inside of the Vega-enabled Panel component, enter one or multiple component Property ID values to prevent their data from importing into the module's submission data.

A static image displaying the Panel Component's Runtime settings.

Validation Settings

User Input

Setting

Description

Allow Validation                                                                        

Allows for the Panel component to be targeted and validated individually, instead of validating on navigation. This setting is helpful in cases where you have multiple Panel components on a page, but only trigger validations on some of them.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

A static image displaying the Panel component's Validation settings.

Advanced Settings

Additional Styling

Setting

Description

Custom CSS Class                                                                        

Enter a Custom CSS 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.

A static image displaying the Panel Component's Advanced Setting.

Accessibility Settings

ARIA

Setting

Description

Aria                                                                        

Use these settings to create ARIA (Accessible Rich Internet Applications) attributes to better support end-users that require screen readers to navigate your applications.

Aria Label                                                                            

Use this field to define the component when when a screen reader arrives at it in Express View.

Aria Role                                                                            

ARIA roles provide semantic meaning to content, letting screen readers and other accessibility tools present and support interaction with an element  that is consistent with end-user expectations. ARIA roles are used to describe elements that do not exist in HTML or not supported by the browser.

To learn about supported ARIA roles in Unqork, view our ARIA Accessibility Settings reference guide.

A static image dispaying the Panel component's Accessibility settings.

Adding a Panel Component

In this use case, you'll use Panel components to create a pop-up modal. This basic configuration will help with more complex designs. Your module will contain a single button with the label Open. When the end-user clicks the button, a modal displays the message Hello!.

These instructions assume that you have an open FEmodule saved with a title.

Configure the Panel Component

Configure the Panel component to serve as a modal. The openMyModal value is a custom value that the Decisions component uses to trigger the Panel component to open. This value can be whatever you want, as long as you keep it consistent throughout your module.

  1. In the Module Builder, drag and drop a Panel component onto your canvas.

  2. In the Property ID field, enter panelModal.

  3. Set the Interaction Type to Modal.

  4. In the Open Modal Event field, enter openMyModal.

  5. In the Dismiss Modal Event field, enter closeMyModal.

    A static image displaying the Panel Configuration page, the property ID is "panelModal", the Interactio type is set to "Modal", and the Open Modal Event field reads "panelPopModal".

  6. Click Save Component.

Configure the Decisions Component

Next, add a Decisions component that triggers your modal to open. The input of buttonClick watches for any button click. Recall that this Open button's Event ID is openModal.

In the Micro Decisions table, you can see that openModal triggers openMyModal, which is the panelModal Panel component's open modal event. This action opens the modal.

  1. Drag and drop a Decisions component onto your canvas, placing it below the panelModal Panel component.

  2. In the Property ID enter ruleButton.

  3. In the Canvas Label Text field, enter ruleButton.

  4. From the Trigger Type drop-down, select Watch.

  5. In the Inputs table, enter the following:

    Source

    Alias

    Type

    Required

    Silent

    1

    buttonClick

    exact

    ☐ (unchecked)

    ☐ (unchecked)

  6. In the Outputs table, enter the following:

    Source

    Type

    1

    panelModal

    trigger

  7. Under the Conditionals table, click the New button twice.

  8. In the Conditionals table, enter the following:

    buttonClick

    panelModal_trigger

    1

    openModal

    openMyModal

    2

    closeModal

    closeMyModal

    A static image showing the Inputs, Outputs and Micro Decisions tables of the Decisions component.

  9. Click Save Component.

Configure the btnOpen Button Component

This Button component triggers your pop-up Panel modal.

  1. Drag and drop a Button component Icon Button component onto your canvas, placing it below the ruleButton Decisions component.

  2. In the Property ID  field, enter btnOpen.

  3. In the Label Text field, enter Open.

  4. Navigate to the component's Actions settings.

  5. From the Action Type drop-down, select Event.

  6. In the Click Event field, enter openModal.

    The openModal Event ID is not a component. Instead, it's a value that the Decisions component uses to trigger the opening of the modal. You can customize this value however you want.

    A static image displaying the Button component configuration page, the Interaction Type is set to Modal, and the Open Modal Event field is set to panelPopModal

  7. Click Save Component.

Configure the HTML Element Component

You can place any component in your pop-up modal. For this example, use a simple HTML Element component.

  1. Drag and drop an HTML Element component onto your canvas, placing it inside the panelModal Panel component.

  2. In the Property ID field, enter htmlModalPanel.

  3. In the Content field, enter Hello World!.

  4. In the Tag field, enter h3.

    A static image of the HTML Element component's Display settings, the Tag field is set to h3, and the Content field contains the words "Hello World!".

  5. Click Save Component.

Configure the Close Button Component

This Button component triggers your pop-up modal to close.

  1. Drag and drop a Button component Icon Button component onto your canvas, placing inside the panelModal Panel component, and below the htmlModalPanel HTML Element component.

  2. In the Property ID  field, enter btnClose.

  3. In the Label Text field, enter Close.

  4. Navigate to the component's Actions settings.

  5. From the Action Type drop-down, select Event.

  6. In the Click Event field, enter closeModal.

  7. Click Save Component.

  8. Save your module.

Preview your module in Express View. You'll see the following functionality:

Overview

The Panel component  creates self-contained sections or pages in modules, and acts as a storage unit for other components. You can also use Panel components to help with navigation, create pop-up modal, or display components from other modules.

Panel components are important when used in conjunction with other components. For example, the Modal setting turns the component into a pop-up modal when triggered. Panel components are necessary when configure Navigation components because the Navigation component uses them as  each page of your module.

You can also add Panel components inside other Panel components, nesting them as sub-sections inside larger sections.

You'll find the Panel component in the Display & Layout group to the left of the Module Builder.

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 Panel component's Display settings.

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.

Contextual Help

Setting

Description

Description                                                                                        

An internal description of what this panel's purpose is. Does not display in Express View.

Interaction Type

Panel

The Panel setting displays the Panel component inline with the rest of the module. This is the default setting.

Modal

The Panel becomes a Modal when triggered by a logic component. The Panel remains hidden until triggered.

Triggers & Events

Setting

Description

Open Modal Event                                                                                        

Lists the event that opens the modal. This event is triggered by components like Decisions, Initializer, or Plug-In components.

Dismiss Modal Event                                                                                        

Lists the event that dismisses or closes the modal. The modal closes without saving changes made to its internal state.

Trigger on Manual Modal Dismissal                                                                                        

The Property ID of the component to trigger when the Panel modal is manually dismissed. You can dismiss the Panel modal by closing it. If enabled, you can also dismiss by clicking outside of the modal.

Allow Clicking Outside Modal to Dismiss                                                                                        

Allows you to click anywhere outside of the modal pop-up to close the modal.

By default, this setting is A toggle switch indicating an on/off state for a user interface element. (ON).

Modal Styles

Setting

Description

Open Modal CSS Class                                                                                        

Specifies the on-open custom CSS class applied to the modal.

Default State Options

Setting

Description

Accordion                                                                        

Allows the end-user to minimize and maximize the Panel. A plus (+) or minus (-) symbol displays to the right of the Panel.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Collapse Content                                                                        

Setting this Collapse Content toggle to ON results in the end-user seeing the Panel minimized by default. The end-user has to maximize the Panel manually to see its contents.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Enable Scrollspy                                                                        

Scrollspy is a jQuery plugin that allows end-users to return to a specified component in Express View. When set to A toggle switch indicating an on/off state for a user interface element. (ON), Scrollspy enables in the Panel.

For Scrollspy to work correctly, you must also configure a Content component in your module. In the Content component, enter: <div scroll-spy-link="propertyIdOfFirstComponent">Back to Top</div>. In this example, propertyIdOfFirstComponent represents the Property ID of the component at the top of your Panel. When your end-user clicks this new button in Express View, they return to the top of the Panel.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Vertical Offset                                                                            

The number of pixels you want to offset the Scrollspy data from the top of the screen. This is useful when you want to take into account a fixed header on your screen.

Disable Panel                                                                        

Prevents end-users from interacting with or editing the input field in Express View. When the end-user hovers over the field, their cursor changes to alert them to the status change.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Hide Panel                                                                        

Hides the Panel and all components inside from the end-user. Use this setting instead of hiding each component.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Imported and Dynamic Content

Import Existing Module

A static image displaying the Import Existing Module settings in the Panel component configuration page.

Setting

Description

Import type                                                                        

Choose between referencing or copying the imported module.

Reference

Automatically or manually detects when changes are made to the imported module.

Before Save                                                                                

Select the module that will load into the Panel component.

Update Type                                                                                

Automatic Updates detects any changes made in the source module, then automatically updates the imported module.

Choose between Automatic or Manual. By default, the setting is Automatic.

Copy

Imports a copy of the specified module. Changes to the imported module are not automatically or manually updated.

Before Save                                                                                

Select the module that will load into the Panel component.

Enable Dynamic Refresh

A static image displaying the Dynamic Refresh settings in the Panel Component configuration page.

This setting allows this Panel to refresh with a dynamic set of components at run-time. Turning this setting to A toggle switch indicating an on/off state for a user interface element. (ON) adds an icon to identify this panel is refreshable in the Module Builder canvas. Use the dynamicRefresh output type found in logic components.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF). When this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF), the Panel does not respond to dynamic refresh operations targeting it.

To learn more about using Dynamic Refresh, view our Dynamic Refresh article.

Setting

Description

Post Refresh Trigger                                                                        

The component to trigger when a dynamic refresh of the Panel completes. This occurs after the incoming component(s) loads and renders.

When Dynamic Refreshing, use this setting instead of a Plug-In component's post-trigger.

Show Prior Components When Refreshing                                                                        

Control the visual appearance of prior components in this Panel while a refresh is taking place. Prior components are kept in the DOM right up until incoming components are rendered. Once a refresh is complete, this appearance no longer applies.

By default, this setting is A toggle switch indicating an on/off state for a user interface element. (ON) when Dynamic Refresh is enabled.

Overlay Opacity %                                                                            

Sets the opaqueness (transparency) of the overlay above components that are replaced by refreshed components.

The percentage value range is 0 (fully visible) to 100 (invisible).

Hiding and Opacity prevent the prior components from being interactive to end-users while refreshing.

Show Animation While Refreshing                                                                        

Display a pre-defined animation in this Panel while a refresh is taking place. Refresh operations are indeterminate and do not indicate the percentage (%) of completion. Once a refresh is complete, this animation no longer applies.

The three options are:

  • Loading Spinner

  • Progress Bar

  • Three Dots

By default, this setting is A toggle switch indicating an on/off state for a user interface element. (ON) when Dynamic Refresh is enabled.

Animations are useful for dynamic refreshes involving lots of components, large ( MB size) component definitions, or both.

Custom Text While Refreshing                                                                        

Text to display in this Panel while refreshing. Once a refresh is complete, this text no longer applies.

Custom CSS Class While Refreshing                                                                        

A unique CSS class that lets a creator specifically style this Panel while a refresh is taking place. Once a refresh is complete, this CSS class no longer applies.

CSS can also modify the Show Animation While Refreshing settings.

Display Errors in Panel                                                                        

Displays any dynamic refresh-related error messages in this Panel visually, as well as in the Console log. Aids with debugging dynamic refresh configurations.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF) when Dynamic Refresh is enabled.

Use this setting for debug purposes only, it is not recommended to display these error messages to end-users.

Runtime

Panel components can contain components from the Centauri or Vega runtimes. By default, Panel components are set to the Centauri runtime in Centauri modules, and the vega runtime in Vega modules.

A static image dispaying the Panel component's Runtime settings.

Setting

Description

Render Components With

Select which runtime to use for the Panel component. The runtime affects Module Import, Dynamic Refresh, or adding components in the Panel component.

Runtimes include:

  • Centauri (1.0): The first-generation foundation of the Unqork Designer Platform. Centauri provides Creators a codeless experience for developing applications. This is the default setting.

  • Vega (2.0): The next-generation engine of the UDesigner platform. Vega uses cutting-edge technologies to improve the Creator and end-user experience.

Promote Data to Top Level

Set to A toggle switch indicating an on/off state for a user interface element. (ON) to bring Vega runtime data up a level. Vega data copies to the top level of submission data.

See an example of promoting runtime data in our Introduction to Cross-Runtime Support article.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF). Vega data stores in the Panel component's key.

Data to Clear on Refresh

For components inside of the Vega-enabled Panel component, enter one or multiple component Property ID values to prevent their data from importing into the module's submission data.

Validation Panel

A static image dispaying the Panel component's Validation settings.

User Input

Setting

Description

Allow Validation                                                                        

Allows for the Panel to be targeted and validated individually instead of validating on navigation. This setting is helpful in cases where you have multiple Panels on a page and would like to trigger validation on some of the Panels.

By default, this setting is A toggle switch in the 'on' position, indicating an active setting or feature. (OFF).

Advanced Panel

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

Additional Styling

Setting

Description

Custom CSS Class                                                                        

Enter a Custom CSS 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.

Accessibility Panel

A static image dispaying the Panel component's Accessibility settings.

ARIA

Setting

Description

Aria                                                                        

Use these settings to create ARIA (Accessible Rich Internet Applications) attributes to better support end-users that require screen readers to navigate your applications.

Aria Label                                                                            

Use this field to define the component when when a screen reader arrives at it in Express View.

Aria Role                                                                            

ARIA roles provide semantic meaning to content, letting screen readers and other accessibility tools present and support interaction with an element  that is consistent with end-user expectations. ARIA roles are used to describe elements that do not exist in HTML or not supported by the browser.

To learn about supported ARIA roles in Unqork, view our ARIA Accessibility Settings reference guide.

To learn more about settings that display when a component is associated with Data Models, view our General Component Settings article.

Adding a Panel Component

In this use case, you'll use Panel components to create a pop-up modal. This basic configuration will help with more complex designs. Your module will contain a single button with the label Open. When the end-user clicks the button, a modal displays the message Hello!.

These instructions assume that you have an open FEmodule saved with a title.

Configure the Panel Component

Configure the Panel component to serve as a modal. The openMyModal value is a custom value that the Decisions component uses to trigger the Panel component to open. This value can be whatever you want, as long as you keep it consistent throughout your module.

  1. In the Module Builder, drag and drop a Panel component onto your canvas.

  2. In the Property ID field, enter panelModal.

  3. Set the Interaction Type as Modal.

  4. In the Open Modal Event field, enter openMyModal.

  5. In the Dismiss Modal Event field, enter closeMyModal.

    A static image displaying the Panel Configuration page, the property ID is "panelModal", the Interactio type is set to "Modal", and the Open Modal Event field reads "panelPopModal".

  6. Click Save & Close.

Configure the Decisions Component

Next, add a Decisions component that triggers your modal to open. The input of buttonClick watches for any button click. Recall that this Open button's Event ID is openModal.

In the Micro Decisions table, you can see that openModal triggers openMyModal, which is the panelModal Panel component's open modal event. This action opens the modal.

  1. Drag and drop a Decisions component onto your canvas, placing it below the panelModal Panel component.

  2. In the Property ID enter ruleButton.

  3. In the Canvas Label Text field, enter ruleButton.

  4. In the component's configuration menu, select Actions Icon Actions.

  5. Set the Trigger Type to Watch.

  6. In the Inputs table, enter the following:

    Property ID

    Alias

    Type

    Required

    Silent

    1

    buttonClick

    exact

    ☐ (unchecked)

    ☐ (unchecked)

  7. In the Outputs table, enter the following:

    Property ID

    Type

    1

    panelModal

    trigger

  8. In the Micro Decisions table, enter the following:

    Input Values

    Output Values

    buttonClick

    panelModal_trigger

    1

    openModal

    openMyModal

    2

    closeModal

    closeMyModal

    A static image showing the Inputs, Outputs and Micro Decisions tables of the Decisions component.

  9. Click Save & Close.

Configure the Open Button Component

This Button component triggers your pop-up modal to open.

  1. Drag and drop a Button component Icon Button component onto your canvas, placing it below the ruleButton Decisions component.

  2. In the Property ID  field, enter btnOpen.

  3. In the Label Text field, enter Open.

    A static image displaying the Button configuration page, the Property ID is set to btnOpen, and the Label Text field reads "Open".

  4. In the component's configuration menu, select Actions Icon Actions.

  5. Set the Action Type to Event.

  6. In the Click Event field, enter openModal.

    The openModal Event ID is not a component. Instead, it's a value that the Decisions component uses to trigger the opening of the modal. You can customize this value however you want.

    A static image displaying the Button component configuration page, the Interaction Type is set to Modal, and the Open Modal Event field is set to panelPopModal

  7. Click Save & Close.

Configure the HTML Element Component

You can place any component in your pop-up modal. For this example, use a simple HTML Element component.

  1. Drag and drop an HTML Element component onto your canvas, placing it inside the panelModal Panel component.

  2. In the Property ID field, enter htmlModalPanel.

  3. In the Tag field, enter h3.

  4. In the Content field, enter Hello World!.

    A static image of the HTML Element component's Display settings, the Tag field is set to h3, and the Content field contains the words "Hello World!".

  5. Click Save & Close.

Configure the Close Button Component

This Button component triggers your pop-up Panel modal to close.

  1. Drag and drop a Button component Icon Button component onto your canvas, placing it below the htmlModalPanel HTML Element component, inside the panelModal Panel component.

  2. In the Property ID  field, enter btnClose.

  3. In the Label Text field, enter Close.

    A static image displaying the Button configuration page, the Property ID is set to btnClose, and the Label Text field reads "Close".

  4. In the component's configuration menu, select Actions Icon Actions.

  5. Set the Action Type to Event.

  6. In the Click Event field, enter closeModal.

    A static image displaying the Button component configuration page, the Action Type is set to Event, and the Click Event field is set to closeModal.

  7. Click Save & Close.

  8. Save your module.

Preview your module in Express View. You'll see the following functionality:

Resources