Skip to content
WORKSPACE · COMPLETE

DashboardLayout

Let users arrange their own dashboard by moving and resizing tiles.

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.

All controls ยท Documentation