--- title: "Dynamic Index Snippet" slug: "dynamic-index-snippet" updated: 2025-09-26T10:46:00Z published: 2025-09-26T10:46:00Z canonical: "docs.unqork.io/dynamic-index-snippet" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Dynamic Index Snippet ## Overview **Dynamic Index** is one of the most powerful features for using complex logic with a [Dynamic Grid](/v1/docs/dynamic-grid-component) component. In this configuration guide, you'll learn how to use logic and triggers with the Dynamic Index feature. This how-to snippet helps you understand dynamic indexing for a specific use case. It also helps you explore the extent of this type of logic. Specifically for use cases where you might want to trigger an event when clicking an individual cell or row. In this snippet, a [Dynamic Grid](/v1/docs/dynamic-grid-component) displays several rows of values. These rows include insurance ID and type, date, and the US State associated with the insurance policy. This module uses Dynamic Index to set a variable row index (#). The module's configuration invokes dynamic indexing when selecting a row's insurance ID or when clicking the View Record button in the Dynamic Grid. This button triggers logic that displays row-specific data in a modal, for easy review. It's important to note that for Dynamic Index to work, you must trigger logic inside the grid. If you configure a [Button](/v1/docs/button-component) component to trigger outside the grid, Dynamic Index doesn't know which row you selected. Here's how the snippet looks in Express View: [![A static image displaying the Dynamic Index snippet in Express View.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Snippets_DynamicIndex_ExpressView_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Snippets%20DynamicIndex%20ExpressView.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) And here's how the snippet looks in the [Module Builder](/v1/docs/introduction-to-the-module-builder): [![A static image displaying the Dynamic Index Snippet in the Module Builder.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Snippets_DynamicIndex_ModuleEditor_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Snippets%20DynamicIndex%20ModuleEditor.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) ### How to Reference Dynamic Index The Dynamic Grid component syntax supports referencing Dynamic Index. Dynamic Index can stand in as a row index value and lets you set up logic that triggers an event in any row index. An event could refer to adding or editing a row. But, you can only trigger events using your logic component's Manual Trigger Type. To reference Dynamic Index, you can use # anywhere you use the rowIndex parameter. For example: myGrid.row(#).col(insuranceId). It's also important to note that Dynamic Index is specific to [submission data](/v1/docs/submission-data). It ignores visual attributes, like row grouping, filtering, sorting, aggregation, and pivoting. Dynamic Index also doesn't work when a Dynamic Grid is set up using a Data Reference Key. Dynamic Index relies on the grid's **submission.data**. If you configure a Data Reference Key, it references another component's **submission.data**. When creating triggers or rules referencing a row index value, you'll rarely need to hard-code that row index value in your configuration. It's often more useful to define the index value at run time, based on end-user interaction. For example, referencing the row index value of the row the end-user selects. Dynamic Index is a way to set a variable row index (#) in your configuration. Then, when your trigger or rule runs, the associated row index passes along to the triggered logic component based on the end-user's interaction. The logic component, in turn, can use the dynamically-populated row index value. ## What You'll Learn After completing this article, you'll learn how the Dynamic Index snippet works and how to customize it. ## How the Snippet Works This snippet uses Dynamic Index to set a variable row index (#). When your end-user clicks **View Record**, the associated row index passes to two Decisions components. These logic components use the dynamically-populated row index value selected by the end-user. A modal displays giving the end-user information specific to that row. Let's look at the specific components that make this configuration work. ### How the insuranceRecords Dynamic Grid Component Works The **insuranceRecords** **![Dynamic Grid Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/dynamicGrid_teal_icon.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Dynamic Grid** component has the following preconfigured column setup: | Header Label | Property ID | Column Type | | --- | --- | --- | | Insurance ID | insuranceId | Text Field | | Date | dateOfInsurance | Text Field | | Type | insuranceType | Single-select Dropdown | | State | insuredState | Text Field | | View Record | button | Button | This configuration populates the Dynamic Grid with preconfigured data from the **dtInsuranceGrid** **![Data Table](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/data_table_teal_component(11).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Data Table** component. When the end-user clicks an insurance ID in the Dynamic Grid, the action triggers the **ruleSelectedRow** **![Decisions icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/decisionsComponent_teal_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Decisions** component. This Decisions component displays the insurance ID in the **rowDisplay** **![Text Field icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/text_field_teal_component(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Text Field** component. When the end-user clicks **View Record**, it triggers the **initTriggerModal** **![Initializer Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/initializer_teal_component(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Initializer** component. This Initializer initiates the gathering of that row's information and displays it in a modal. The Dynamic Grid component also has the following settings enabled: | Setting | Description | | --- | --- | | **Allow User to Group Rows** | When set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) **(ON)**, your end-user can group all data-based column types. This excludes the Button column type. Row grouping automatically groups data based on shared values and can be nested many times. > [!NOTE] > In the case of a Checkbox column type, the end-user sees checkbox values as text. For instance, end-users might see Checked (true) and Unchecked (false). This feature makes it easier when grouping and sifting through large data sets. | | **Allow User to Aggregate & Pivot Across All Columns** | When set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) **(ON)**, your end-user can perform aggregation and pivot functions. When enabled, the Pivot Mode toggle shows in the Side Panel. Aggregation lets your end-user apply pre-defined functions to values. To see aggregated values, apply the row group or set Pivot Mode to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) **(ON)**. The available aggregation actions vary by column type. For example: - **Text Field**: Count, First, Last. - **Number**: Avg, Sum, Min, Max, Count, First, Last. - **Date**: Count, First, Last, Min, Max. - **Checkbox**: Count, First, Last. - **Single-select Dropdown**: Count, First, Last. - **Multi-select Dropdown**: Count, First, Last. - **Button**: Not supported. Pivoting allows for data generalization across another axis (Y-axis). Your end-user can pivot all data-based column types. This excludes the Button column type. To use Pivot Mode, the Pivot Mode toggle in the grid's Side Panel must be set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) **(ON)**. Enabling Pivot Mode temporarily hides tabular data, like creating a new Pivot Table instance in Excel. | | **Allow User to Sort by Column** | When set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) **(ON)**, end-users can sort column values. Clicking a column's header in the grid sorts the column's values in ascending order. Clicking the column's header again sorts the column's values in descending order. Clicking the column's header again removes the sort order. When sorted in ascending order, an ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/dynamicGrid_icon_upArrow.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) (**Upwards Arrow**) icon shows in the column's header. When sorted in descending order, a ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/dynamicGrid_icon_downArrow.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) (**Downwards Arrow**) icon shows in the column's header. | | **Allow Multi-Column Sorting** | When set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) **(ON)**, end-users can sort by multiple columns at the same time. Press and hold the **Shift** key when selecting more column headers. Press and hold the **Shift** key when clicking a header to change the sort order. | | **Allow User to Filter Columns** | When set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) **(ON)**, end-users can filter column values. Each column header in the grid shows a ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/dynamicGrid_icon_hamburger.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) (**Hamburger**) icon. When clicked, a column-specific Filter menu opens. The available filtering actions vary by column type. For example: - **Text Field**: Supports filtering by the available values in that column. - **Number**: Equals, Not equal, Less than, Less than or equals, Greater than, Greater than or equals, and In range. Also supports joining filters using the AND and OR radio buttons. - **Date**: Equals, Greater than, Less than, Not equal, In range. Also supports joining filters using the AND and OR radio buttons. - **Checkbox**: Unchecked (false), Checked (true), or Empty (undefined or null). - **Single-select Dropdown**: Supports filtering by the available values in that column. - **Multi-select Dropdown**: Supports filtering by the available values in that column. > [!NOTE] > For a Multi-select Dropdown, filtering by value is interpreted as "any array that contains any of the selected values." For example, if filtering by "USA", both ["USA", "Canada"] and ["USA", "Canada", "Mexico"] match the filter criteria. - **Button**: Not supported. | | **Show Filter Panel** | When selected, a Filter panel shows in the Side Panel. From the Side Panel, your end-user can apply column-specific filters. The available filtering actions vary by column type. | | **Allow User to Invoke Edit State Upon Single-Click** | Select how many times the end-user must click an editable cell to edit the cell. | > [!TIP] > For more information on Dynamic Grid settings, see our [Dynamic Grid Component](/v1/docs/dynamic-grid-component) article. ### How the ruleSelectedRow Decisions Component Works The **ruleSelectedRow** **![Decisions Component](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/decisionsComponent_teal_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Decisions** component fires when the **initTriggerModal ![Initializer Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/initializer_teal_component(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Initializer** component triggers. The Initializer fires as a result of an end-user clicking **View Record** for a specific row. The **ruleSelectedRow** **![Decisions Component](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/decisionsComponent_teal_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Decisions** component does the following: 1. Inputs the Dynamic Index of insuranceRecords.row(#).col(insuranceId) to retrieve the submission data for the selected row in the Dynamic Grid component. 2. Outputs and stores the data in the **selectedRow** **![Hidden Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/hidden_teal_icon(3).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Hidden** component. 3. Outputs the insurance ID to display in the **rowDisplay** **![Text Field](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/text_field_teal_component(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Text Field** component. The **rowDisplay** **![Text Field](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/text_field_teal_component(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Text Field** component is simply a visual component for the end-user. When an end-user clicks an **insurance ID** in the **![Dynamic Grid Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/dynamicGrid_teal_icon.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Dynamic Grid**, the text field displays that insurance ID. The **selectedRow** **![Hidden Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/hidden_teal_icon(3).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Hidden** component stores the data for the **ruleSetRowInfo** **![Decisions Component](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/decisionsComponent_teal_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Decisions** component. ### How the ruleSetRowInfo Decisions Component Works The **ruleSetRowInfo** **![Decisions Component](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/decisionsComponent_teal_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Decisions** component fires when the **initTriggerModal ![Initializer Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/initializer_teal_component(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Initializer** component triggers. The Initializer fires as a result of an end-user clicking **View Record** for a specific row. The **ruleSetRowInfo** **![Decisions Component](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/decisionsComponent_teal_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Decisions** component does the following: 1. Inputs the stored submission data from the **selectedRow** **![Hidden Icon](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/hidden_teal_icon(3).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Hidden** component. 2. Inputs the submission ID of the selected row. 3. Inputs all preconfigured fields from the submission. 4. Outputs all values from the input fields to display in a modal. 5. Triggers the **ruleOpenModal ![Decisions Component](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/decisionsComponent_teal_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Decisions** component. The **ruleOpenModal ![Decisions Component](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/decisionsComponent_teal_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Decisions** component opens and displays all the submission data associated with that selected row. Here's how the **ruleSetRowInfo** **![Decisions Component](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/decisionsComponent_teal_icon(2).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) Decisions** component looks in the Module Builder: [![A static image displaying the Decisions component's configuration settings for Input and Output tables.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Snippets_DynamicIndex_DecisionsSettings_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Snippets%20DynamicIndex%20DecisionsSettings.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) ### How the panelModal Panel Component Works After triggering the module by clicking **View Record**, a pop-up modal displays with that row's specific information. Preview the module in Express View to see the results. Click **View Record** for any of the preconfigured rows. The snippet comes preconfigured with the following fields: - Insurance ID - Insurance Submission ID - Insured - Insurance Type - Insurance Broker - Insured Amount - State of Insurance - Date of Insurance Here's how the modal looks in Express View: [![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Snippets_DynamicIndex_Modal_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Snippets%20DynamicIndex%20Modal.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A17Z&se=2026-11-09T04%3A51%3A17Z&sr=c&sp=r&sig=L9%2BeQ99EkgULlbvCkzRjpCCAD45XkwTpvfnLU%2BMhh4Q%3D) ## Customizing the Snippet The focus of the Dynamic Index - How To snippet is to help you understand how to set up a variable row index (#) in your configuration. But the snippet is completely customizable. Dynamic Index syntax works similarly with our Dynamic Grid, Freeform Grid, and Uniform Grid components. That way, you can use this snippet to set up a variable row index (#) with any grid component. You can also customize the grid component to meet your business needs. For example, you might want end-users to add or edit rows in the grid. ## Resources - [Learn how to Browse, Add, Remove, and Create Snippets](/v1/docs/unqork-marketplace-key-concepts). - [Dynamic Grid Component](/v1/docs/dynamic-index-snippet). - [Dynamic Grid: Targeted Logic and Referencing Syntax](/v1/docs/dynamic-grid-targeted-logic-and-referencing-syntax). - [Dynamic Grid Use Case: Using Logic with Dynamic Index](/v1/docs/dynamic-grid-using-logic-with-dynamic-index). A modal is a window that appears on top of the content you are currently viewing. Express View is how your end-user views your 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. 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.