Dashboard¶
A dashboard is a visual representation of different data and information sources, that provides a summarized overview of multiple key performance indicators such as metrics, trends and other insights.
Usage¶
The purpose of a dashboard is helping users to monitor, measure and analyze relevant data from different sources in a at-a-glance fashion.
They provide a quick and easy way to track performance metrics and identify areas for improvement, enabling users to make informed decisions based on real-time data.

Dashboards vary significantly depending on the context in which they are used. Before starting to design a dashboard, it is important to understand the purpose and the goals it aims to achieve. This will help to identify the key metrics and information that need to be displayed.
Best practices¶
- Keep it simple. Avoid clutter caused by too much information or showing irrelevant metrics.
- Choose the right visualizations to represent the data. See the charts chapter.
- Use color to draw attention to important information. Avoid using too many different colors or using them in a way that is visually distracting.
- Use real-time data to ensure that the dashboard is up-to-date and provides the most recent information.
- Use consistent units throughout the dashboard to ensure that the data is easily comparable among itself.
- Use either global (affecting all widgets) or local (affecting only one widget) filters, not both simultaneously.
Design¶
Elements¶

- Title (optional): A brief and descriptive name of the whole dashboard.
- Dashboard options (optional): Is the area located just bellow the title that contains filters, menus and other interactive elements that allow users to perform actions affecting the whole dashboard.
- Content area: Is the main area of the dashboard where the actual data, charts, graphs and other visualizations are displayed.
Progressive disclosure¶
Avoid overwhelming users with all the information being display at once by revealing it gradually and as needed. When dealing with large amount of content, it is better to display a summary or overview of the data with the option to expand or drill down to see further details.

Layout¶
- Place the most important items in areas where the viewer's eye will naturally look first. In left-to-right/LTR languages, this is typically the top-left corner of the screen, followed by the center of the screen.
- Place related items close to each other. This helps to create visual groupings and organizes information for the viewer.
- Charts should be sized and proportioned based on their importance and relevance.
See the flexible dashboards chapter for dashboards with user customizable content.
Code¶
The SiDashboardModule consists of a SiDashboardComponent and the SiDashboardCardComponent. The SiDashboardCardComponent extends the SiCardComponent and adds expand and restore functionality. The dashboard works with content-projection slots to configure the layout, e.g. a Bootstrap grid.
The module has its own entry point to reduce the overall bundle size.
Usage¶
import {
SiDashboardCardComponent,
SiDashboardComponent
} from '@siemens/element-ng/dashboard';
@Component({
:
imports: [
:
SiDashboardCardComponent,
SiDashboardComponent,
:
],
standalone: true
})
SiDashboardComponent API Documentation¶
si-dashboardInput Properties¶
| Name | Type | Default | Description |
|---|---|---|---|
| enableExpandInteractions ¶ | boolean | false | Opt-in to enable expand interaction for all cards. |
| heading ¶ | string | Heading for the dashboard page. | |
| hideMenubar ¶ | boolean | false | Option to hide the menu bar. |
| sticky ¶ | boolean | true | Option to turn off the sticky behavior of the heading and menu bar. |
Attributes and Methods¶
| Name | Type | Default | Description |
|---|---|---|---|
| expand(...) ¶ | (card: SiDashboardCardComponent) => void | Expands the provided card to full size in the dashboard. Parameters
| |
| (readonly) isExpanded ¶ | boolean | false | Is true if a card is expanded. |
| restore() ¶ | () => void | Restores the expanded card to it's previous position. |
SiDashboardCardComponent API Documentation¶
si-dashboard-cardInput Properties¶
| Name | Type | Default | Description |
|---|---|---|---|
| actionBarTitle ¶ | TranslatableString | '' | Optional setting of html title attribute for the content action bar. Helpful for a11y when only one action is configured in expand mode. |
| actionBarViewType ¶ | ViewType | 'collapsible' | The view type of the content action bar of the card. Default is collapsible for dashboards. However, in some cases you might need to change to expanded or mobile . |
| actionParam ¶ | any | A param that will be passed to the action in the primary/secondary actions. This allows to re-use the same primary/secondary action arrays across rows in a table. | |
| enableExpandInteraction ¶ | boolean | false | Option to enable and show the UI controls for card expand functionality. Expand and restore action items will be added to the content action bar. The expand resizing has to be implemented by the container of the card. |
| expandText ¶ | TranslatableString | $localize`:@@SI_DASHBOARD.EXPAND:Expand` | Description of expand button & action. |
| heading ¶ | TranslatableString | Card header text. | |
| imgAlt ¶ | TranslatableString | Alt text for a provided image. | |
| imgDir ¶ | (undefined | "horizontal" | "vertical") | 'vertical' | Defines if an image is placed on top or start (left) of the card. |
| imgObjectFit ¶ | (undefined | "fill" | "none" | "contain" | "cover" | "scale-down") | 'scale-down' | Sets the image object-fit CSS property. |
| imgObjectPosition ¶ | string | Sets the image object-position CSS property. | |
| imgSrc ¶ | string | Image source for the card. | |
| primaryActions ¶ | (MenuItem | ContentActionBarMainItem)[] | [] | Input list of primary action items. Supports up to 4 actions and omits additional ones. |
| restoreText ¶ | TranslatableString | $localize`:@@SI_DASHBOARD.RESTORE:Restore` | Description of cancel button & action. |
| secondaryActions ¶ | (MenuItem | MenuItem)[] | [] | Input list of secondary action items. |
| showMenubar ¶ | boolean | true | Used in combination with si-dashboard to show filters when a card is expanded or not. |
| subHeading ¶ | TranslatableString | Card secondary header text. |
Output Properties¶
| Name | Type | Description |
|---|---|---|
| expandChange ¶ | boolean | Emitter for size state change |
Attributes and Methods¶
| Name | Type | Default | Description |
|---|---|---|---|
| (readonly) displayContentActionBar ¶ | Signal<boolean> | ... | Returns true when primary or secondary actions are set. |
| (readonly) enableExpandInteractionComputed ¶ | Signal<boolean> | ... | |
| expand() ¶ | () => void | Expand the dashboard card. | |
| (readonly) isExpanded ¶ | WritableSignal<boolean> | false | Whether the card is currently expanded. |
| restore() ¶ | () => void | Restore the dashboard card to the original, non-expanded state. |
Types Documentation¶
| Represents a translatable string. This can either be a translation key, e.g. ACTIONS.EDIT that will be automatically translated when displayed on the UI or a pre-translated string, e.g. Edit . Equivalent to a normal string in usage and functionality. |
|---|
Translatable import imported from @siemens/element-translate-ng |
|---|
|
|
|
| Represents a menu item that navigates using the Angular Router. Requires a configured Angular Router. | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
| Implement and provide this to an SiMenuFactoryComponent to receive trigger events. | |||||||
|---|---|---|---|---|---|---|---|
| |||||||
|
| Used in events emitted from SiLinkActionService | |||
|---|---|---|---|
|
|
| |||||||||||||||
|
| |||||||||||
| |||||||||||
|
| |||||||||||||||||||||
| |||||||||||||||||||||
|
| |||||||
| |||||||
|
Except where otherwise noted, content on this site is licensed under MIT License.