Let users build their own dashboard by moving and resizing tiles with the mouse, touch or the keyboard.
Why it helps
- Move and resize tiles
- Keyboard support
- Your own tile content
Where it fits
- Dashboards
- Home pages
- Monitoring
Example
<DashboardLayout Label="Sales dashboard" OnLayoutChanged="Changed">
<DashboardTile Id="revenue" Title="Revenue" Column="1" Row="1" ColumnSpan="4" RowSpan="2">
<Statistic Label="This month" Value="48,200" />
</DashboardTile>
<DashboardTile Id="trend" Title="Trend" Column="5" Row="1" ColumnSpan="8" RowSpan="3">
<LineChart Label="Orders" Width="560" Height="200" Categories="@(["Jan", "Feb", "Mar", "Apr"])" Series="@([new ChartSeries("Orders", [12, 18, 15, 24])])" />
</DashboardTile>
<DashboardTile Id="share" Title="Status" Column="1" Row="3" ColumnSpan="4" RowSpan="2">
<Gauge Label="Target" Value="72" Unit="%" />
</DashboardTile>
</DashboardLayout>
<p>@_message</p>
@code {
private string _message = "Drag a title to move a tile, drag its corner to resize.";
private void Changed(IReadOnlyList<DashboardPlacement> placements) =>
_message = string.Join(", ", placements.Select(p => $"{p.Id}: column {p.Column}, row {p.Row}, {p.ColumnSpan} x {p.RowSpan}"));
} A short fragment. Add @using RayCraft.Blazor.Components to your page and use an interactive render mode.
Part of RayCraft Complete.