Add MudBlazor docs and "BlazorUI" doc-params dimension#25380
Merged
Conversation
- Introduce a new "BlazorUI" doc-params dimension (Blazorise / MudBlazor) so Blazor docs can show MudBlazor variants of code samples next to the existing Blazorise ones - Cover framework/ui/blazor (overall, theming, basic-theme, forms-validation, submit-button, page-layout, page-header, page-toolbar-extensions, entity-action-extensions, data-table-column-extensions, error-handling, customization-overriding-components) - Cover ui-themes (index, basic-theme, lepton-x, lepton-x-lite) - Cover tutorials (book-store part 02/03/09/10, todo single-layer/layered, modular-crm part 03/05/06, book-store-with-abp-suite part-05) - Add an optional "DependsOn" map to DocumentParameterDto so a parameter can be hidden when dependencies aren't satisfied (e.g. only show BlazorUI when UI is one of Blazor/BlazorServer/BlazorWebApp). Visibility is evaluated on the server in the project document index page.
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds a new BlazorUI doc parameter dimension (Blazorise vs MudBlazor), updates many docs to include MudBlazor variants, and introduces server-side evaluation for conditional doc-parameter visibility via dependsOn.
Changes:
- Add
DependsOntoDocumentParameterDtoand propagate it into the project document preferences. - Implement server-side parameter visibility logic and hide non-applicable parameters on the project docs index page.
- Update docs (themes/framework/tutorials) to include
BlazorUIdoc-params and MudBlazor-specific content blocks.
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs | Adds IsParameterVisible and copies DependsOn into saved preferences. |
| modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml | Hides parameter UI blocks based on server-evaluated visibility. |
| modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/DocumentParameterDto.cs | Introduces DependsOn conditional visibility metadata on doc params. |
| docs/en/ui-themes/lepton-x/blazor.md | Adds BlazorUI param and MudBlazor variant notes for LeptonX. |
| docs/en/ui-themes/lepton-x-lite/blazor.md | Adds BlazorUI param and MudBlazor variant notes for LeptonX Lite. |
| docs/en/ui-themes/index.md | Documents Blazor UI library choice (Blazorise vs MudBlazor). |
| docs/en/ui-themes/basic-theme/index.md | Clarifies Basic Theme package names for the two Blazor UI library variants. |
| docs/en/tutorials/todo/single-layer/index.md | Adds BlazorUI param and MudBlazor alternative UI snippets. |
| docs/en/tutorials/todo/layered/index.md | Adds BlazorUI param and MudBlazor alternative UI snippets. |
| docs/en/tutorials/modular-crm/part-06.md | Adds BlazorUI param and MudBlazor UI snippet. |
| docs/en/tutorials/modular-crm/part-05.md | Adds BlazorUI param and MudBlazor UI snippet. |
| docs/en/tutorials/modular-crm/part-03.md | Adds BlazorUI param and MudBlazor UI snippet. |
| docs/en/tutorials/book-store/part-10.md | Adds BlazorUI param and MudBlazor alternatives for UI parts. |
| docs/en/tutorials/book-store/part-09.md | Adds BlazorUI param and MudBlazor alternatives for Authors UI implementation. |
| docs/en/tutorials/book-store/part-03.md | Adds BlazorUI param and MudBlazor alternatives for Books UI snippets. |
| docs/en/tutorials/book-store/part-02.md | Adds BlazorUI param and MudBlazor CRUD page variant content. |
| docs/en/tutorials/book-store-with-abp-suite/part-05.md | Adds BlazorUI param to tutorial doc-params. |
| docs/en/framework/ui/blazor/theming.md | Adds BlazorUI param and MudBlazor-specific theming guidance. |
| docs/en/framework/ui/blazor/page-toolbar-extensions.md | Adds BlazorUI param and MudBlazor examples/snippets. |
| docs/en/framework/ui/blazor/page-layout.md | Adds BlazorUI param and MudBlazor examples/snippets. |
| docs/en/framework/ui/blazor/page-header.md | Adds BlazorUI param and MudBlazor breadcrumb/toolbar examples. |
| docs/en/framework/ui/blazor/overall.md | Adds BlazorUI param and MudBlazor variant overview content. |
| docs/en/framework/ui/blazor/forms-validation.md | Adds BlazorUI param and MudBlazor validation documentation. |
| docs/en/framework/ui/blazor/error-handling.md | Adds BlazorUI param and MudBlazor error-handling examples/snippets. |
| docs/en/framework/ui/blazor/entity-action-extensions.md | Adds BlazorUI param and MudBlazor-specific EntityAction examples. |
| docs/en/framework/ui/blazor/data-table-column-extensions.md | Adds BlazorUI param and MudBlazor data-grid column example. |
| docs/en/framework/ui/blazor/customization-overriding-components.md | Adds BlazorUI param and MudBlazor theme-specific override guidance. |
| docs/en/framework/ui/blazor/components/submit-button.md | Adds BlazorUI param and MudBlazor alternative guidance (no SubmitButton wrapper). |
| docs/en/framework/ui/blazor/basic-theme.md | Adds BlazorUI param and MudBlazor variant notes for Basic Theme. |
| docs/en/docs-params.json | Defines new BlazorUI doc param with dependsOn gating by UI. |
- forms-validation: drop incorrect manual _form.Validate() inside OnCreatingEntityAsync; the base CreateEntityAsync validates CreateFormRef before calling the override hook - book-store/part-03: note that MudDatePicker.@bind-Date requires DateTime? and link the abp-samples/MudBlazorSample reference
- book-store/part-02: switch the Books page from AbpMudExtensibleDataGrid to the standard MudBlazor MudDataGrid + <PropertyColumn> pattern (matches Identity.Pro SecurityLogManagement); use RowsPerPage instead of PageSize - book-store/part-03: replace the abp-internal MudDataGridEntityActionsColumn / MudEntityActions / MudEntityAction wrappers with the standard MudBlazor TemplateColumn + MudMenu + MudMenuItem so the tutorial stays approachable; drop a misleading link to the legacy abp-samples/MudBlazorSample demo; add a note that MudDatePicker.@bind-Date requires DateTime? - book-store/part-09: wrap MudDialog.ShowAsync/CloseAsync calls with InvokeAsync (matches Identity.Pro OrganizationUnitsManagement) and harden OnDataGridReadAsync against null SortBy entries
- Index.cshtml.cs: cache the rendered parameter name set so
IsParameterVisible doesn't allocate a HashSet per call inside the cshtml
loop; clarify per-rule semantics in comments (empty allow-list is an
explicit "never show", null/unknown-key rules fail-open)
- forms-validation.md: drop the inaccurate IValidationRule reference and
describe MudBlazor's actual validation surface (ValidationAttribute on
the Validation parameter, Func<T,string>/Func<T,IEnumerable<string>>,
optional FluentValidation)
- book-store/part-02.md: use {(int)context.Item.Type} for the BookType
localization key to stay consistent with the rest of the tutorial
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## rel-10.4 #25380 +/- ##
============================================
- Coverage 49.30% 49.29% -0.01%
============================================
Files 3667 3667
Lines 123171 123177 +6
Branches 9407 9409 +2
============================================
- Hits 60731 60722 -9
- Misses 60631 60645 +14
- Partials 1809 1810 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
ismcagdas
approved these changes
May 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolve #25378
Adds a "BlazorUI" doc-params dimension (Blazorise / MudBlazor) and fills MudBlazor variants for the Blazor UI framework docs, theme docs, and book-store / todo / modular-crm tutorials.
Adds an optional DependsOn map to DocumentParameterDto so a parameter can be hidden when dependencies aren't satisfied (e.g. BlazorUI only shows when UI is one of Blazor/BlazorServer/BlazorWebApp). Visibility is evaluated on the server in the project document index page.