Skip to content

Migrate from Radzen.Blazor to MudBlazor#1082

Open
Sopor10 wants to merge 7 commits intomainfrom
feature/migrate-to-mudblazor
Open

Migrate from Radzen.Blazor to MudBlazor#1082
Sopor10 wants to merge 7 commits intomainfrom
feature/migrate-to-mudblazor

Conversation

@Sopor10
Copy link
Copy Markdown
Owner

@Sopor10 Sopor10 commented Apr 4, 2026

Summary

  • Replace all Radzen.Blazor components with MudBlazor equivalents across the entire project (buttons, dialogs, selects, checkboxes, sliders, tree views, tabs, etc.)
  • Introduce DialogTracker service to bridge MudBlazor's dialog API with Fluxor effects for closing dialogs after state changes
  • Resolve namespace conflicts (Transition, Edge) by scoping @using MudBlazor to only the components that need it

Changes

  • Package swap: Radzen.Blazor 10.2.0MudBlazor 9.2.0 in Directory.Packages.props and all .csproj files
  • Startup: Replace AddRadzenComponents() with AddMudServices(), update CSS/JS references in index.html
  • Components: Migrate all Razor components (filters, settings, keyboard, sliders, tree views, dialogs) to MudBlazor API
  • Filter tree: Replace RadzenTree + context menus with MudTreeView + inline icon buttons for add/edit/remove actions
  • 27 files changed across Generator, Siteswaps.Components, and Webassembly projects

Test plan

  • Slider/Numeric inputs (Jugglers, Period, Clubs) verified via Playwright
  • Throw checkboxes tested
  • Filter dialog: all 3 tabs (Pattern, Number, State) tested
  • Add, edit, and delete filters in tree view
  • Generate button produces results
  • Transition and State pages render correctly
  • Settings page saves correctly

larsl added 7 commits April 4, 2026 22:24
Replace all Radzen component usages with MudBlazor equivalents across the entire codebase. Introduces DialogTracker service to handle dialog lifecycle management previously done by Radzen's DialogService.

Made-with: Cursor
MudMenu popover does not work correctly when nested inside recursive MudTreeViewItem render fragments due to ChildContent resolution conflicts. Using inline icon buttons provides a cleaner, more accessible UX.

Made-with: Cursor
… Edit dialog title

- Add ToStringFunc to MudSelect in Number Filter so Throw displays as readable text instead of raw record
- Arrange State Filter checkboxes horizontally with flex-wrap
- Change edit dialog title from 'New Pattern Filter' to 'Edit Filter'

Made-with: Cursor
Add two MudSlider components for Min and Max below the numeric fields, restoring the visual slider interaction that was lost during Radzen migration.

Made-with: Cursor
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud bot commented Apr 4, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
1 Security Hotspot

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant