Containers are the structural building blocks of a dashboard. Every tile, every chart, text tile, and filter, lives inside a container. Containers group related content together, create visible hierarchy, and make dashboards easier to read, navigate, and maintain.
Think of a container as a section. A dashboard built around containers has named, organised sections: "Stay Period Breakdown Header & Description," "Accommodation Revenue by Stay Period." A dashboard without containers is a flat wall of tiles with no structure, harder to scan and harder to update.
The container hierarchy maps directly to the document hierarchy you would use in any structured report:
Top-level section containers (H2 level): each main section of the dashboard, such as "Overview Header & Description" or "Accommodation Revenue by Stay Period"
Nested containers (H3 level, used sparingly): a sub-section inside a top-level section when content genuinely groups into a subordinate unit
Tiles: live inside H2 or H3 containers
This means building a well-structured dashboard and building a well-structured container hierarchy are the same task. If the sections are clear, the containers are clear.
Stack and Grid
There are two container types. Choosing the right one for each situation keeps layouts consistent without manual spacing work.
Stack arranges items in a row or column, a sequence. Use it for content that belongs together: a row of KPI tiles at the top of a section, a section heading with its charts below it, a set of filters displayed side by side. Stack containers auto-align their contents and can be configured for direction, spacing, and wrapping.
Grid allows free-form positioning and resizing within a defined area. Use it for page-level layout, the outer structure that holds different sections at different widths.
Rule of thumb: if items belong together in sequence, use a Stack. If you are composing a whole page from distinct sections, use a Grid.
In FLYR templates, the page layout is a Grid with a full-width container for each section. Within each section, tiles and filters are arranged in Stacks.
Adding a container
In edit mode, select Add > Container and choose Stack or Grid.
Naming containers
Give every container a meaningful name that describes what it holds. An unnamed container, left as the default "Container," makes the dashboard harder to understand and maintain, especially when working across multiple pages.
FLYR templates follow a consistent naming pattern:
Container | Name format | Example |
Dashboard header (title + description + page navigation) | "Report Title, Description & Navigation" | Same on every page |
Section header and description | "[Section Name] Header & Description" | "Stay Period Breakdown Header & Description" |
Each chart or table | Named after the visualisation | "Accommodation Revenue by Stay Period" |
About page content | "About This Dashboard" | Last page on every template |
Use static labels when naming, for example "Stay Period Breakdown" rather than "Stay Date Breakdown," and "Dimension Breakdown" rather than "Macro Segment Breakdown." This keeps container names stable regardless of what a filter is currently set to.
When a dashboard is handed to a colleague or revisited months later, consistent naming makes the structure immediately readable in the editor without needing to open each container to understand what it holds.
Container presets
Presets automatically apply the right padding and spacing for the container's role. Using presets avoids manual spacing work and keeps the dashboard visually consistent.
Container role | Preset to use |
Section header and description | Transparent |
Chart or tile containers | Tile |
Containers placed inside a tile | None |
Filter row containers | Tile Align |
Filters and controls placed directly on the page (not inside a tile) automatically receive Tile Align formatting.
Nesting containers
Containers can be nested inside other containers. A Stack inside a Grid, or a Stack inside another Stack, lets you build structured layouts without losing the benefits of auto-alignment.
Example: a Grid container holds the full page layout. Inside it, a Stack set to column direction holds a section header, a description, and a section-scoped filter, one container for that entire header block. Separately, another Stack holds a single chart tile. Nesting keeps each unit aligned without manual positioning.
Usability note: keep nesting shallow. A single level of nesting is enough for almost every dashboard. The practical rule: one container holds one chart tile along with its associated elements, its title, subtitle or description, and any filter that only applies to that chart (such as a timeframe drill). That is the unit. Do not then group two of those chart containers together inside a parent section container. Put them side by side at the same level instead.
Deeper nesting makes a dashboard significantly harder to maintain: containers become difficult to select, move, and rename, and small layout changes require navigating multiple levels of structure. If you find yourself nesting three or more levels deep, it is usually a sign the layout needs to be simplified rather than made more complex.
Resizing items in stacks
In a column Stack, drag the resize handle between items to adjust their relative heights. The minimum height is 12px. To remove a custom size from an item, right-click it and select Reset sizing.
Row Stacks do not support manual resizing of individual items.
Containers and page conversion
Because each section of a well-built dashboard is already its own container, converting a single-scroll dashboard to a multi-page layout is largely structural rearrangement rather than redesign. Each top-level container becomes a page. The grouping is already correct, the work is moving containers into pages, not rethinking the content.
This is a practical reason to use containers well from the start: it makes future layout changes, including splitting a dashboard into pages when it grows, much faster and lower risk.
Locking containers
Locking a container prevents its contents from being accidentally rearranged in edit mode. Child containers are also locked when a parent is locked. A locked container can still be repositioned by its parent container.
To lock a container: select it in edit mode and use the lock option in the properties panel.
Duplicating containers
Right-click a container and select Duplicate, or use Cmd+D / Ctrl+D. Duplicating a container copies its layout and any tiles inside it.
Note: pages, filters, and controls cannot be duplicated this way, only containers and their tile contents.
Placeholders
Placeholders are wireframing tiles that let you sketch out a dashboard layout before the actual content is ready. They are visible in both edit mode and when the dashboard is shared, making them useful for communicating a structure-in-progress to colleagues or reviewing a layout before connecting all the analyses.
Adding a placeholder
In edit mode, select Add > Layout > Placeholder.
Placeholder types
Choose the type that matches what the placeholder will eventually become:
Type | What it accepts when replaced |
Query | Chart tiles and analyses only |
Filter and control | Filters and controls only |
Text | Creates a new text tile when replaced |
Generic | Accepts both query and filter/control replacements |
Change the type in the properties panel or via right-click.
Labels
The placeholder label defaults to "Placeholder [type]" and is editable. Use the label to describe what goes there, for example "Occupancy vs. LY trend chart," so colleagues reviewing the layout understand the intent.
Replacing a placeholder
Click the Insert button on the placeholder to replace it with real content. The options shown depend on the placeholder type. You can only select from analyses and filters that already exist in the workbook, you cannot create new content directly from a placeholder.
