Skip to content

Commit 4b76294

Browse files
committed
Improve Grid docs, type safety, and API clarity
- Enhance XML docs and add `[Description]`/`[DefaultValue]` to all parameters - Use nullable reference types for optional parameters - Add `[EditorRequired]` to required template/column content - Switch docs and code to generic types (`TItem`) for better type inference - Add async select/unselect all methods to `Grid<TItem>` - Make parameters like `FiltersRowCssClass` and `HeaderRowCssClass` nullable - Add null checks and null-forgiving operators for robustness - Update docs to include new template components and generic parameter tables - Ensure consistent documentation and default value annotations throughout - Minor refactoring for clarity and code cleanup
1 parent 5402910 commit 4b76294

8 files changed

Lines changed: 299 additions & 236 deletions

File tree

BlazorBootstrap.Demo.RCL/Components/Pages/Docs/Grid/Grid_Doc_01_Documentation.razor

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,39 +15,55 @@
1515
</Section>
1616

1717
<Section Class="p-0" Size="HeadingSize.H3" Name="Grid Parameters" PageUrl="@pageUrl" Link="grid-parameters">
18-
<DocxTable TItem="Grid<object>" DocType="DocType.Parameters" />
18+
<DocxTable TItem="Grid<TItem>" DocType="DocType.Parameters" />
1919
</Section>
2020

2121
<Section Class="p-0" Size="HeadingSize.H3" Name="Grid Methods" PageUrl="@pageUrl" Link="grid-methods">
22-
<DocxTable TItem="Grid<object>" DocType="DocType.Methods" />
22+
<DocxTable TItem="Grid<TItem>" DocType="DocType.Methods" />
2323
</Section>
2424

2525
<Section Class="p-0" Size="HeadingSize.H3" Name="Grid Events" PageUrl="@pageUrl" Link="grid-events">
26-
<DocxTable TItem="Grid<object>" DocType="DocType.Events" />
26+
<DocxTable TItem="Grid<TItem>" DocType="DocType.Events" />
27+
</Section>
28+
29+
<Section Class="p-0" Size="HeadingSize.H3" Name="GridSettings Properties" PageUrl="@pageUrl" Link="grid-settings-properties">
30+
<DocxTable TItem="GridSettings" DocType="DocType.Properties" />
2731
</Section>
2832

2933
<Section Class="p-0" Size="HeadingSize.H3" Name="GridColumns Parameters" PageUrl="@pageUrl" Link="grid-columns-parameters">
3034
<DocxTable TItem="GridColumns" DocType="DocType.Parameters" />
3135
</Section>
3236

3337
<Section Class="p-0" Size="HeadingSize.H3" Name="GridColumn Parameters" PageUrl="@pageUrl" Link="grid-column-parameters">
34-
<DocxTable TItem="GridColumn<object>" DocType="DocType.Parameters" />
38+
<DocxTable TItem="GridColumn<TItem>" DocType="DocType.Parameters" />
3539
</Section>
3640

3741
<Section Class="p-0" Size="HeadingSize.H3" Name="GridDetailView Parameters" PageUrl="@pageUrl" Link="grid-detailview-parameters">
38-
<DocxTable TItem="GridDetailView<object>" DocType="DocType.Parameters" />
42+
<DocxTable TItem="GridDetailView<TItem>" DocType="DocType.Parameters" />
3943
</Section>
4044

41-
<Section Class="p-0" Size="HeadingSize.H3" Name="GridSettings Properties" PageUrl="@pageUrl" Link="grid-settings-properties">
42-
<DocxTable TItem="GridSettings" DocType="DocType.Properties" />
45+
<Section Class="p-0" Size="HeadingSize.H3" Name="GridTemplates Parameters" PageUrl="@pageUrl" Link="grid-templates-parameters">
46+
<DocxTable TItem="GridTemplates" DocType="DocType.Parameters" />
47+
</Section>
48+
49+
<Section Class="p-0" Size="HeadingSize.H3" Name="GridEmptyDataTemplate Parameters" PageUrl="@pageUrl" Link="grid-empty-data-templates-parameters">
50+
<DocxTable TItem="GridEmptyDataTemplate<TItem>" DocType="DocType.Parameters" />
51+
</Section>
52+
53+
<Section Class="p-0" Size="HeadingSize.H3" Name="GridLoadingTemplate Parameters" PageUrl="@pageUrl" Link="grid-loading-template-parameters">
54+
<DocxTable TItem="GridLoadingTemplate<TItem>" DocType="DocType.Parameters" />
4355
</Section>
4456

4557
@code {
46-
private const string componentName = nameof(Grid<object>);
58+
private const string componentName = nameof(Grid<TItem>);
4759
private const string pageUrl = DemoRouteConstants.Docs_URL_Grid;
4860
private const string pageTitle = componentName;
4961
private const string pageDescription = $"This documentation provides a comprehensive reference for the <code>{componentName}</code> component, guiding you through its configuration options.";
5062
private const string metaTitle = $"Blazor {componentName} Component";
5163
private const string metaDescription = $"This documentation provides a comprehensive reference for the {componentName} component, guiding you through its configuration options.";
5264
private const string imageUrl = DemoScreenshotSrcConstants.Demos_URL_Grid_Overview;
65+
66+
public class TItem : object
67+
{
68+
}
5369
}

0 commit comments

Comments
 (0)