Skip to content

Commit 4a62be7

Browse files
authored
Merge pull request #22776 from abpframework/enhance-taghelpers-doc
Fix rendered section and add Properties section for each element
2 parents 3b210f6 + 6054829 commit 4a62be7

30 files changed

+340
-22
lines changed

modules/basic-theme/Volo.Abp.BasicTheme.sln

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.14.35906.104
5+
MinimumVisualStudioVersion = 10.0.40219.1
36
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{ED6D078F-B0A2-48E8-A09D-3B7CDF6CE3D1}"
47
EndProject
58
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0BC55E3B-4964-48E3-A390-2ADD37980149}"
@@ -65,6 +68,9 @@ Global
6568
{D02053D9-10EF-4717-A792-A53F83347816}.Release|Any CPU.ActiveCfg = Release|Any CPU
6669
{D02053D9-10EF-4717-A792-A53F83347816}.Release|Any CPU.Build.0 = Release|Any CPU
6770
EndGlobalSection
71+
GlobalSection(SolutionProperties) = preSolution
72+
HideSolutionNode = FALSE
73+
EndGlobalSection
6874
GlobalSection(NestedProjects) = preSolution
6975
{C8068E7F-4A04-4755-8976-C2A4C0ADC708} = {ED6D078F-B0A2-48E8-A09D-3B7CDF6CE3D1}
7076
{655C0CF7-7BFA-45E4-A157-E868A97FB45B} = {ED6D078F-B0A2-48E8-A09D-3B7CDF6CE3D1}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
@using System.Reflection
2+
3+
@model List<PropertyInfo>
4+
5+
<h4>Properties</h4>
6+
7+
<ul>
8+
@foreach (var property in Model)
9+
{
10+
<li>
11+
<strong>@property.Name</strong>
12+
@{
13+
var typeName = property.PropertyType.Name;
14+
if (property.PropertyType.IsGenericType && property.PropertyType.GetGenericTypeDefinition() == typeof(Nullable<>))
15+
{
16+
typeName = property.PropertyType.GetGenericArguments()[0].Name;
17+
}
18+
}
19+
(<code>@typeName</code>)
20+
@if (property.PropertyType.IsEnum)
21+
{
22+
<ul>
23+
<li>
24+
<span class="text-muted">
25+
[ @string.Join(", ", Enum.GetNames(property.PropertyType)) ]
26+
</span>
27+
</li>
28+
</ul>
29+
}
30+
</li>
31+
}
32+
</ul>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Reflection;
4+
using Microsoft.AspNetCore.Mvc;
5+
using Microsoft.AspNetCore.Mvc.RazorPages;
6+
using Microsoft.AspNetCore.Razor.TagHelpers;
7+
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers;
8+
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Card;
9+
10+
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Components.TagHelperProperties;
11+
12+
public class TagHelperPropertiesViewComponent : AbpViewComponent
13+
{
14+
public List<PropertyInfo> Properties { get; } = new();
15+
public IViewComponentResult Invoke(Type type)
16+
{
17+
foreach (var property in type.GetRuntimeProperties())
18+
{
19+
if (typeof(AbpTagHelper).IsAssignableFrom(property.DeclaringType) &&
20+
property.GetCustomAttribute<HtmlAttributeNotBoundAttribute>() == null &&
21+
!property.PropertyType.IsAbstract &&
22+
property.GetMethod?.IsPublic == true)
23+
{
24+
Properties.Add(property);
25+
}
26+
}
27+
28+
return View("/Components/TagHelperProperties/Default.cshtml", Properties);
29+
}
30+
}

modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Alerts.cshtml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@page
22
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo
3+
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Alert
34
@model Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components.AlertsModel
45
@{
56
ViewData["Title"] = "Alerts";
@@ -258,4 +259,8 @@
258259
</abp-tab>
259260
</abp-tabs>
260261
</div>
261-
</div>
262+
</div>
263+
264+
<hr />
265+
266+
@await Component.InvokeAsync("TagHelperProperties", typeof(AbpAlertTagHelper))

modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Badges.cshtml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,8 @@
209209
</abp-tab>
210210
</abp-tabs>
211211
</div>
212-
</div>
212+
</div>
213+
214+
<hr />
215+
216+
@await Component.InvokeAsync("TagHelperProperties", typeof(AbpBadgeTagHelper))

modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Blockquotes.cshtml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,6 @@
3030
</div>
3131
</div>
3232

33+
<hr />
34+
35+
@await Component.InvokeAsync("TagHelperProperties", typeof(AbpBlockquoteTagHelper))

modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Borders.cshtml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@page
22
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo
3+
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Border
34
@model Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components.BordersModel
45
@{
56
ViewData["Title"] = "Borders";
@@ -196,3 +197,7 @@
196197
</abp-tabs>
197198
</div>
198199
</div>
200+
201+
<hr />
202+
203+
@await Component.InvokeAsync("TagHelperProperties", typeof(AbpBorderTagHelper))

modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Breadcrumbs.cshtml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@page
22
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo
3+
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Breadcrumb
34
@model Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components.BreadcrumbsModel
45
@{
56
ViewData["Title"] = "Breadcrumbs";
@@ -77,3 +78,7 @@
7778
</abp-tabs>
7879
</div>
7980
</div>
81+
82+
<hr />
83+
84+
@await Component.InvokeAsync("TagHelperProperties", typeof(AbpBreadcrumbTagHelper))

modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/ButtonGroups.cshtml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@page
22
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo
3+
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Button
34
@model Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components.ButtonGroupsModel
45
@{
56
ViewData["Title"] = "ButtonGroups";
@@ -268,4 +269,8 @@
268269
</abp-tab>
269270
</abp-tabs>
270271
</div>
271-
</div>
272+
</div>
273+
274+
<hr />
275+
276+
@await Component.InvokeAsync("TagHelperProperties", typeof(AbpButtonGroupTagHelper))

modules/basic-theme/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Buttons.cshtml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@page
22
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo
3+
@using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Button
34
@model Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components.ButtonsModel
45
@{
56
ViewData["Title"] = "Buttons";
@@ -258,4 +259,8 @@
258259
</li>
259260
</ul>
260261
</div>
261-
</div>
262+
</div>
263+
264+
<hr />
265+
266+
@await Component.InvokeAsync("TagHelperProperties", typeof(AbpButtonTagHelper))

0 commit comments

Comments
 (0)