Angular Dashboard Layout - Build Interactive Layouts | Syncfusion
Overview
Angular Dashboard Layout is a grid-structured layout component that helps create static and dynamic dashboard layouts with panels. It is also referred as Angular Dashboard Layout Template. Dashboard panels are the basic building blocks of a dashboard and can be added programmatically or dynamically at runtime. The panels hold UI components and allow resizing, reordering, dragging and dropping, removing, and adding. Easily place components at the desired positions within the grid layout.
The Angular Dashboard Layout is a component with a grid-like structure that can easily split content into equal-sized cells.
The panels allow for resizing, rearranging, dragging, and dropping, removing and adding UI components. Components can be placed conveniently within the grid arrangement in the desired positions.
DataGrid, Charts, gauges, Maps, or any HTML content can be placed as panel content inside the layout to present metrics.
With floating support, the panels in the layout will automatically organize themselves by sliding upward to occupy any open spaces. This makes efficient use of the layout for positioning panels.
The Dashboard Layout is a highly responsive with an optimized design for desktops, touchscreens, and smart phones. It works well on all mobile phones that use iOS, Android, or Windows OS.
Cutting-edge design with several built-in themes, such as Fluent, Tailwind CSS, Bootstrap, Material, and Fabric. Utilize the online Theme Studio tool to customize themes easily.
Angular Dashboard Layout Code Example
Easily get started with the Angular Dashboard Layout using a few simple lines of HTML and TS code example as demonstrated below. Also, explore our Angular Dashboard Layout Example, that shows you how to render and configure a Dashboard Layout in Angular.
<div class="control-section"> <div style="padding:5px;text-align: right;"> <button id="add" class="e-btn e-info" (click)="addPanel()">Add Panel</button> </div> <ejs-dashboardlayout id='default_dashboard' columns="5" #default_dashboard [cellSpacing]='cellSpacing' [allowResizing]='true'> <div id="one" class="e-panel" data-row="0" data-col="0" data-sizeX="1" data-sizeY="1"> <span id="close" class="e-template-icon e-close-icon" (click)="onCloseIconHandler($event)"></span> <div class="e-panel-container"> <div class="text-align">0</div> </div> </div> </ejs-dashboardlayout> </div>
import { Component, ViewEncapsulation, Inject, ViewChild } from '@angular/core'; import { DashboardLayoutComponent, PanelModel } from '@syncfusion/ej2-angular-layouts'; /** * Default component */ @Component({ selector: 'app-root', styleUrls: ['app.component.css'], templateUrl: 'app.component.html', encapsulation: ViewEncapsulation.None }) export class AppComponent { @ViewChild('default_dashboard') public dashboard: DashboardLayoutComponent; constructor() { } public count: number = 8; public cellSpacing: number[] = [10, 10]; addPanel(): void { let panel: PanelModel[] = [{ 'id': this.count.toString(), 'sizeX': 1, 'sizeY': 1, 'row': 0, 'col': 0, content: '<span id="close" class="e-template-icon e-close-icon"></span><div class="text-align">' + this.count.toString() + '</div>' }]; this.dashboard.addPanel(panel[0]); let closeIcon: any = document.getElementById(this.count.toString()).querySelector('.e-close-icon'); closeIcon.addEventListener('click', this.onCloseIconHandler.bind(this)); this.count = this.count + 1; } onCloseIconHandler(event: any): void { if ((<HTMLElement>event.target).offsetParent) { this.dashboard.removePanel((<HTMLElement>event.target).offsetParent.id); } } }
Dynamic layout design
The Angular Dashboard component allows dynamic designing of the layout by adding, removing, resizing, floating, and reordering the panels within the layout.
Drag and Drop
Angular Dashboard with rich UI provides smooth dragging of the panels to replace or re-order at the desired position within the layout.
Resizing
Easy resizing of a panel in all directions enables quick designing of the layout, and fitting small or large-sized content conveniently.
Floating
The panels within the layout will auto arrange by moving in the upward direction to occupy empty spaces available in the layout. This provides effective usage of the layout for panel placement. Angular admin template has all the functionality you’ll need to create beautiful, high-performance admin dashboards. With cool neutral colors and plenty of whitespace, it has a modern minimalist design style.
Placing components as content
Place any HTML content or HTML UI components like Grid, Charts, Gauge, Maps, etc. to represent the metrics or KPI as panel content inside the dashboards.

State persistence
The Angular Dashboard Layout component’s public serialize method allows users to obtain and save the current layout structure of the component in order to construct another dashboard with the same panel structure.

Transform your applications today by downloading our free evaluation version
Syncfusion Angular Dashboard Layout Resources