GridV2 Component
Overview
A Grid component is useful for arranging other component in a grid layout. The Grid is made of of a series of rows and columns. Columns are pre-defined using the columns element. The number of Rows is configured dynamically based on the components in the grid. The height of each row is adjusted to fit the components in that row.
Each component in the grid can be placed in an exact location and can span multiple rows and columns if desired.
This component supersedes Grid and should be used in all new reports.
Schemas
Grid
| key | type | required | description |
|---|---|---|---|
| type | string |
required | A string defining the component type as a GridV2. |
| columns | GridColumn[] |
required | An array of GridColumns describing the column layout of the grid. |
| components | Component[] |
required | An array of components that will be rendered inside the grid. Each component in the array must define a gridRow and gridColumn property to be properly placed inside the grid. |
| dataQuery | string |
optional | A JSONata query to use as the data source for this component and all child components. If repeating is true, the query must resolve to an array of objects in order to repeat components in components. |
| repeating | boolean |
optional | If true, all components defined in components will repeat for each element in the array returned by dataQuery. Default is true. |
| pageBreak | boolean |
optional | A boolean indicating whether to add a page break after each repeated group of components. Default is false. |
| gridRow | integer |
optional | The grid row to place the component. Only applicable when inside a GridV2 component. |
| gridColumn | integer |
optional | The grid column to place the component. Only applicable when inside a GridV2 component. |
| gridRowSpan | integer |
optional | The number of rows to span inside the grid. Only applicable when inside a GridV2 component. Default value is 1. |
| gridColumnSpan | integer |
optional | The number of columns to span inside the grid. Only applicable when inside a GridV2 component. Default value is 1. |
| rowWidth | float |
optional | A fixed width for the component inside the row. Only applicable when inside a RowV2 component. |
| rowRelativeWidth | float |
optional | A proportional width for the component inside the row. Only applicable when inside a RowV2 component. |
| sectionName | string |
optional | Marks the component, its contents, and any sub-components as a named section in the report. A section can span multiple pages. The first, last and page count of a section can be inserted into the report using tokens: e.g. $(SECTION_BEGIN_[section-name]), $(SECTION_END_[section-name]) and $(SECTION_COUNT_[section-name]). |
| sectionLink | string |
optional | If defined, the entire component will become a link to a named section in the report. The link will redirect the user to the beginning of the named section in the report. |
| debug | DebugOptions |
optional | Enables highlighting of this component in the report. Useful for debugging layout issues. |
| style | string or Style |
optional | Either a style identifier or a style object used to define the layout/styling options for the component. Any textOptions in the style are ignored for this component. For a more detailed explanation of the style system, see Styles. |
| condition | Conditional |
optional | The component will not be rendered in the report if a condition is present and it evaluates to false. For more information on conditions, see Conditionals. |
GridColumn
| key | type | required | description |
|---|---|---|---|
| width | number |
optional | A fixed width for the grid column. Not allowed if relativeWidth is present. |
| relativeWidth | number |
optional | A relative width for the grid column. Not allowed if width is present |
Example
An example of a grid:
{
"type": "GridV2",
"columns": [{},{},{}],
"components": [
{
"type": "Text",
"text": "$($DATE)",
"gridRow": 1,
"gridColumn": 1
},
{
"type": "Text",
"text": "Sales Report",
"gridRow": 2,
"gridColumn": 2
},
{
"type": "Text",
"text": "8/22/2022",
"gridRow": 3,
"gridColumn": 3
}
]
}
The component defined above renders as in the following image:
