From 8311513eec75b8f9e7899c06578778707a31d6b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Halling?= Date: Thu, 9 Apr 2026 10:58:49 +0100 Subject: [PATCH] fix(demo): resolve DashboardGridDemo RenderFragment compile errors Refactor data-driven widget rendering in DashboardGridDemo.razor to use valid RenderFragment helper methods instead of invalid Razor markup inside lambda switch arms. Preserves existing UI behavior while fixing Razor/C# parsing issues and restoring successful build. --- .../Properties/launchSettings.json | 12 ++ .../Pages/Components/DashboardGridDemo.razor | 172 +++++++++--------- 2 files changed, 100 insertions(+), 84 deletions(-) create mode 100644 demos/BlazorBlueprint.Demo.Auto/BlazorBlueprint.Demo.Auto.Client/Properties/launchSettings.json diff --git a/demos/BlazorBlueprint.Demo.Auto/BlazorBlueprint.Demo.Auto.Client/Properties/launchSettings.json b/demos/BlazorBlueprint.Demo.Auto/BlazorBlueprint.Demo.Auto.Client/Properties/launchSettings.json new file mode 100644 index 000000000..961d0cd15 --- /dev/null +++ b/demos/BlazorBlueprint.Demo.Auto/BlazorBlueprint.Demo.Auto.Client/Properties/launchSettings.json @@ -0,0 +1,12 @@ +{ + "profiles": { + "BlazorBlueprint.Demo.Auto.Client": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "https://localhost:53100;http://localhost:53101" + } + } +} \ No newline at end of file diff --git a/demos/BlazorBlueprint.Demo.Shared/Pages/Components/DashboardGridDemo.razor b/demos/BlazorBlueprint.Demo.Shared/Pages/Components/DashboardGridDemo.razor index b72865290..a4e8f2977 100644 --- a/demos/BlazorBlueprint.Demo.Shared/Pages/Components/DashboardGridDemo.razor +++ b/demos/BlazorBlueprint.Demo.Shared/Pages/Components/DashboardGridDemo.razor @@ -1054,93 +1054,97 @@ private RenderFragment RenderDataDrivenWidgetContent(DataDrivenWidgetConfig widget) => widget.Type switch { - "bar-chart" => __builder => - { - - - - - - - }, - "area-chart" => __builder => - { - - - - - - - - - - - - - - }, - "line-chart" => __builder => - { - - - - - - - }, - "pie-chart" => __builder => - { - - - - - - }, - "kpi" => __builder => - { - var kpi = GetDataDrivenKpi(widget); -
- @kpi.Value - @kpi.Label - @if (kpi.Change != null) - { - var isPositive = kpi.Change.StartsWith("+"); - - @kpi.Change from last month - - } -
- }, - "table" => __builder => - { - var rows = GetDataDrivenTableRows(widget); -
- - - - - - - - - - @foreach (var row in rows) - { - - - - - - } - -
NameValueChange
@row.Name@row.Value - @row.Change -
-
- }, + "bar-chart" => RenderBarChartWidget(widget), + "area-chart" => RenderAreaChartWidget(widget), + "line-chart" => RenderLineChartWidget(widget), + "pie-chart" => RenderPieChartWidget(widget), + "kpi" => RenderKpiWidget(widget), + "table" => RenderTableWidget(widget), _ => @
Unknown widget type: @widget.Type
}; + private RenderFragment RenderBarChartWidget(DataDrivenWidgetConfig widget) => + @ + + + + + ; + + private RenderFragment RenderAreaChartWidget(DataDrivenWidgetConfig widget) => + @ + + + + + + + + + + + + ; + + private RenderFragment RenderLineChartWidget(DataDrivenWidgetConfig widget) => + @ + + + + + ; + + private RenderFragment RenderPieChartWidget(DataDrivenWidgetConfig widget) => + @ + + + + ; + + private RenderFragment RenderKpiWidget(DataDrivenWidgetConfig widget) + { + var kpi = GetDataDrivenKpi(widget); + return @
+ @kpi.Value + @kpi.Label + @if (kpi.Change != null) + { + var isPositive = kpi.Change.StartsWith("+"); + + @kpi.Change from last month + + } +
; + } + + private RenderFragment RenderTableWidget(DataDrivenWidgetConfig widget) + { + var rows = GetDataDrivenTableRows(widget); + return @
+ + + + + + + + + + @foreach (var row in rows) + { + + + + + + } + +
NameValueChange
@row.Name@row.Value + @row.Change +
+
; + } + private List GetDataDrivenTimeSeries(DataDrivenWidgetConfig widget) => widget.DataSource switch { "revenue" => new()