Syncfusion aspnetcore dashboard layout
Skill syncfusion/aspnetcore-ui-components-skills/skills/syncfusion-aspnetcore-dashboard-layout
This repository contains AI Skills of ASPNET Core UI Components
npx -y skills add syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-dashboard-layoutAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Implement responsive, resizable, and draggable panel layouts with the Syncfusion ASP.NET Core Dashboard Layout component.
SKILL.md
8.4 KB, as published. Nobody here has run it
Implementing Dashboard Layout
The Syncfusion Dashboard Layout control is a powerful grid-based layout system that allows developers to create interactive dashboards with flexible panel management capabilities. Panels can be arranged in a customizable grid, resized, dragged, reordered, and dynamically added or removed to meet dynamic dashboard requirements.
When to Use This Skill
Use the Dashboard Layout control when you need to:
- Create grid-based dashboards with a flexible panel structure
- Enable drag-and-drop functionality to allow users to reorder panels
- Implement responsive layouts that adapt to different screen sizes
- Add resizable panels with min/max size constraints
- Enable floating panels to automatically fill empty grid cells
- Manage panel state and maintain layout persistence across sessions
- Handle dynamic panel operations (add, remove, move, update panels)
- Customize panel headers and content with HTML or templates
- Support RTL layouts for right-to-left language support
Component Overview
The Dashboard Layout consists of:
- Main Container - The grid-based layout that holds panels
- Panels - Individual grid cells that contain content
- Grid System - Configurable columns and cell spacing
- Interaction Features - Dragging, resizing, and dynamic operations
- State Management - Persistence and serialization capabilities
Documentation and Navigation Guide
Getting Started
π Read: references/getting-started.md
- Installation and NuGet package setup
- ASP.NET Core project configuration
- TagHelper registration and setup
- Resource references (styles and scripts)
- Basic Dashboard Layout initialization
- Two initialization methods (content template vs tag helper)
Core Configuration
π Read: references/configuring-layouts.md
- Grid system setup with columns property
- Cell spacing and aspect ratio configuration
- Panel positioning using row and column properties
- Layout structure and grid cell management
- Complete working examples with code
Panel Management
π Read: references/panel-operations.md
- Adding panels dynamically with addPanel method
- Removing panels and clearing layout (removePanel, removeAll)
- Moving panels to different positions (movePanel)
- Updating existing panels (updatePanel)
- Resizing panels with sizeX, sizeY properties
- Applying min/max size constraints to panels
Interaction Features
π Read: references/dragging-and-dropping.md
- Enabling drag-and-drop with allowDragging property
- Understanding drag event lifecycle (dragStart, drag, dragStop)
- Customizing drag handlers with draggableHandle selector
- Panel collision detection and adaptive repositioning
- Handling drag events with proper event binding
Panel Resizing
π Read: references/resizing-panels.md
- Enabling resize functionality with allowResizing property
- Configuring resizable handles with resizableHandles property
- Understanding resize event lifecycle (resizeStart, resize, resizeStop)
- Setting minimum and maximum panel size constraints
- Handling resize events in your application
Responsive Behavior
π Read: references/responsive-layouts.md
- Implementing floating panels with allowFloating property
- Configuring responsive breakpoints with mediaQuery
- Automatic panel stacking for mobile devices
- RTL support with enableRtl property
- Adapting layouts to different screen resolutions
State & Persistence
π Read: references/state-and-persistence.md
- Enabling state persistence with enablePersistence property
- Serializing dashboard configuration (serialize method)
- Component lifecycle events (created, destroyed)
- Managing state across page reloads
- HTML sanitization for security
Complete API Reference
π Read: references/api-reference.md
- All Dashboard Layout properties with descriptions and defaults
- Complete method signatures and usage examples
- Event definitions and event argument types
- Panel model properties and constraints
- Cross-references to detailed feature documentation
Quick Start Example
Here's a minimal example of creating a Dashboard Layout with two panels using proper camelCase API properties:
@{
var cellSpacing = new double[] { 10, 10 };
}
<ejs-dashboardlayout id="dashboard" allowDragging="true" allowResizing="true"
allowFloating="true" columns="6" cellSpacing="@cellSpacing">
<e-dashboardlayout-panels>
<e-dashboardlayout-panel id="panel1" sizeX="3" sizeY="2" row="0" col="0"
header="<div>Sales Report</div>"
content="<div class='content'>Sales data content goes here</div>">
</e-dashboardlayout-panel>
<e-dashboardlayout-panel id="panel2" sizeX="3" sizeY="2" row="0" col="3"
header="<div>Revenue Chart</div>"
content="<div class='content'>Revenue chart content goes here</div>">
</e-dashboardlayout-panel>
</e-dashboardlayout-panels>
</ejs-dashboardlayout>
Common Patterns
Pattern 1: Enable All Interactions
Enable dragging, resizing, and floating for maximum interactivity:
<ejs-dashboardlayout id="dashboard" allowDragging="true" allowResizing="true"
allowFloating="true" columns="4">
<e-dashboardlayout-panels>
<e-dashboardlayout-panel id="panel1" sizeX="2" sizeY="1" row="0" col="0"
header="<div>Panel 1</div>"
content="<div class='content'>Content</div>">
</e-dashboardlayout-panel>
</e-dashboardlayout-panels>
</ejs-dashboardlayout>
Pattern 2: Responsive Breakpoint
Configure layout to stack panels on mobile devices:
<ejs-dashboardlayout id="responsive-dashboard" mediaQuery="(max-width: 768px)"
columns="6" allowFloating="true">
<e-dashboardlayout-panels>
<e-dashboardlayout-panel id="panel1" sizeX="3" sizeY="2" row="0" col="0"
content="<div>Panel 1</div>">
</e-dashboardlayout-panel>
<e-dashboardlayout-panel id="panel2" sizeX="3" sizeY="2" row="0" col="3"
content="<div>Panel 2</div>">
</e-dashboardlayout-panel>
</e-dashboardlayout-panels>
</ejs-dashboardlayout>
Pattern 3: Dynamic Panel Operations
Add panels programmatically based on user actions - covered in Panel Management reference.
Pattern 4: Persist User Layout
Save and restore dashboard configuration across sessions - covered in State & Persistence reference.
Key Properties Overview
| Property | Type | Purpose | Default |
|---|---|---|---|
columns | number | Number of grid columns | 1 |
cellSpacing | number[] | Spacing between panels [horizontal, vertical] | [5, 5] |
allowDragging | boolean | Enable drag-and-drop | true |
allowResizing | boolean | Enable panel resizing | false |
allowFloating | boolean | Auto-fill empty cells | true |
draggableHandle | string | CSS selector for drag handle | null |
resizableHandles | string[] | Resize handle directions | ['e-south-east'] |
mediaQuery | string | Responsive breakpoint | 'max-width:600px' |
enablePersistence | boolean | Save state to storage | false |
enableRtl | boolean | Right-to-left layout | false |
showGridLines | boolean | Visualize grid structure | false |
Common Use Cases
- Analytics Dashboard - Arrange chart panels with resize and drag capabilities
- Sales Dashboard - Monitor KPIs with resizable metric panels
- Project Management - Organize task boards with dynamic panel operations
- Business Intelligence - Display reports with state persistence
- Admin Portal - Customizable dashboard with user-defined layout
Next Steps: Start with the Getting Started reference to set up your Dashboard Layout project, then explore the specific features you need.