From e55f215210af4caf6abeca0159810a514eb3ea55 Mon Sep 17 00:00:00 2001 From: OlgunR Date: Wed, 21 Jan 2026 10:21:51 +0100 Subject: [PATCH] Integrate DevExpress Blazor UI components throughout app Replaced Bootstrap UI with DevExpress components in Catalogs.razor, including forms and data grid. Added DevExpress.Blazor package, styles, and service registration. Updated _Imports.razor for global DevExpress usage. Modernizes UI and improves user experience. --- DbFirst.BlazorWasm/DbFirst.BlazorWasm.csproj | 1 + DbFirst.BlazorWasm/Pages/Catalogs.razor | 119 +++++++++---------- DbFirst.BlazorWasm/Program.cs | 3 + DbFirst.BlazorWasm/_Imports.razor | 1 + DbFirst.BlazorWasm/wwwroot/index.html | 2 + 5 files changed, 64 insertions(+), 62 deletions(-) diff --git a/DbFirst.BlazorWasm/DbFirst.BlazorWasm.csproj b/DbFirst.BlazorWasm/DbFirst.BlazorWasm.csproj index 570aeb8..67b3338 100644 --- a/DbFirst.BlazorWasm/DbFirst.BlazorWasm.csproj +++ b/DbFirst.BlazorWasm/DbFirst.BlazorWasm.csproj @@ -9,6 +9,7 @@ + diff --git a/DbFirst.BlazorWasm/Pages/Catalogs.razor b/DbFirst.BlazorWasm/Pages/Catalogs.razor index 5d83a3a..964fe44 100644 --- a/DbFirst.BlazorWasm/Pages/Catalogs.razor +++ b/DbFirst.BlazorWasm/Pages/Catalogs.razor @@ -15,40 +15,35 @@ else if (!string.IsNullOrWhiteSpace(infoMessage)) }
- + Neuen Eintrag anlegen
@if (showForm) { - -
-
- - -
-
- - -
-
- - @if (isEditing) - { -
-
- - - - - -
-
- } - -
- - -
+ + + + + + + + + @if (isEditing) + { + + + + } + + + @((isEditing ? "Speichern" : "Anlegen")) + Abbrechen + + + } @@ -62,38 +57,26 @@ else if (items.Count == 0) } else { - - - - - - - - - - - - - - - @foreach (var item in items) - { - - - - - - - - - - - } - -
IdTitelStringAngelegt vonAngelegt amGeändert vonGeändert am
@item.Guid@item.CatTitle@item.CatString@item.AddedWho@item.AddedWhen.ToString("g")@item.ChangedWho@(item.ChangedWhen.HasValue ? item.ChangedWhen.Value.ToString("g") : string.Empty) - - -
+ + + + + + + + + + + + @{ var item = (CatalogReadDto)cell.DataItem; } +
+ Bearbeiten + Löschen +
+
+
+
+
} @code { @@ -106,6 +89,12 @@ else private string? errorMessage; private string? infoMessage; + private readonly List procedureOptions = new() + { + new() { Value = 0, Text = "PRTBMY_CATALOG_UPDATE" }, + new() { Value = 1, Text = "PRTBMY_CATALOG_SAVE" } + }; + protected override async Task OnInitializedAsync() { await LoadCatalogs(); @@ -223,4 +212,10 @@ else errorMessage = $"Fehler beim Löschen: {ex.Message}"; } } + + private sealed class ProcedureOption + { + public int Value { get; set; } + public string Text { get; set; } = string.Empty; + } } diff --git a/DbFirst.BlazorWasm/Program.cs b/DbFirst.BlazorWasm/Program.cs index c70848c..73e3696 100644 --- a/DbFirst.BlazorWasm/Program.cs +++ b/DbFirst.BlazorWasm/Program.cs @@ -2,11 +2,14 @@ using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Components.WebAssembly.Hosting; using DbFirst.BlazorWasm; using DbFirst.BlazorWasm.Services; +using DevExpress.Blazor; var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add("#app"); builder.RootComponents.Add("head::after"); +builder.Services.AddDevExpressBlazor(); + var apiBaseUrl = builder.Configuration["ApiBaseUrl"] ?? builder.HostEnvironment.BaseAddress; builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(apiBaseUrl) }); builder.Services.AddScoped(); diff --git a/DbFirst.BlazorWasm/_Imports.razor b/DbFirst.BlazorWasm/_Imports.razor index 99ead6c..fb7bcf1 100644 --- a/DbFirst.BlazorWasm/_Imports.razor +++ b/DbFirst.BlazorWasm/_Imports.razor @@ -10,3 +10,4 @@ @using DbFirst.BlazorWasm.Layout @using DbFirst.BlazorWasm.Models @using DbFirst.BlazorWasm.Services +@using DevExpress.Blazor diff --git a/DbFirst.BlazorWasm/wwwroot/index.html b/DbFirst.BlazorWasm/wwwroot/index.html index d925b4f..0e994e1 100644 --- a/DbFirst.BlazorWasm/wwwroot/index.html +++ b/DbFirst.BlazorWasm/wwwroot/index.html @@ -6,6 +6,8 @@ DbFirst.BlazorWasm + +