1818 itemIndex = parsedItemIndex ;
1919 }
2020}
21+ @functions
22+ {
23+ public enum FrameworkContext
24+ {
25+ Net ,
26+ NetCore ,
27+ NetStandard ,
28+ NetFramework
29+ }
30+
31+ public string GetBadgeTooltip (FrameworkContext context , PackageFrameworkCompatibilityData tfmCompatibilityData )
32+ {
33+ var badgeVersion = tfmCompatibilityData .Framework .GetBadgeVersion ();
34+ string tfmType ;
35+ switch (context )
36+ {
37+ case FrameworkContext .Net :
38+ tfmType = " .NET" ;
39+ break ;
40+ case FrameworkContext .NetCore :
41+ tfmType = " .NET Core" ;
42+ break ;
43+ case FrameworkContext .NetStandard :
44+ tfmType = " .NET Standard" ;
45+ break ;
46+ case FrameworkContext .NetFramework :
47+ tfmType = " .NET Framework" ;
48+ break ;
49+ default :
50+ tfmType = " " ;
51+ break ;
52+ }
53+
54+ if (badgeVersion .IsEmpty ())
55+ {
56+ return string .Format (String .SupportedFrameworks_EmptyVersion_Template_Tooltip , tfmType );
57+ }
58+
59+ var toolTipTemplate = tfmCompatibilityData .IsComputed
60+ ? String .SupportedFrameworks_Computed_Tooltip
61+ : String .SupportedFrameworks_Asset_Tooltip ;
62+
63+ var tfmName = tfmType + " " + badgeVersion ;
64+ var toolTip = string .Format (toolTipTemplate , tfmName );
65+
66+ return toolTip ;
67+ }
68+ }
2169
2270<div class =" framework framework-badges" >
2371 @if (Model .Net != null )
3078 @:data-package-id =" @Model.PackageId" data-package-version =" @Model.PackageVersion"
3179 @:data-badge-framework =" @Model.Net.Framework.GetShortFolderName()" data-badge-is-computed =" @Model.Net.IsComputed"
3280 } >
33- <span class =@(Model.Net.IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria-label =" @String.SupportedFrameworks_Tooltip " data-content =" @String.SupportedFrameworks_Tooltip " >
81+ <span class =@(Model.Net.IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria-label =" @GetBadgeTooltip(FrameworkContext.Net, Model.Net) " data-content =" @GetBadgeTooltip(FrameworkContext.Net, Model.Net) " >
3482 .NET @Model.Net.Framework.GetBadgeVersion()
3583 </span >
3684 </a >
3785 }
3886 @if (Model .NetCore != null )
3987 {
40- if (Model .NetCore .Framework .GetBadgeVersion ().IsEmpty ())
41- {
42- < a href = @Url .FrameworksTab (Model .PackageId , Model .PackageVersion )
43- @if (itemIndex .HasValue )
44- {
45- @: data - track = " @eventName" data - track - value = " @itemIndex" data - click - source = " FrameworkBadge"
46- @: data - package - id = " @Model.PackageId" data - package - version = " @Model.PackageVersion"
47- @: data - badge - framework = " @Model.NetCore.Framework.GetShortFolderName()" data - badge - is - computed = " @Model.NetCore.IsComputed"
48- }>
49- < span class = @(Model .NetCore .IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria - label = " @String.SupportedFrameworks_EmptyVersionTooltip" data - content = " @String.SupportedFrameworks_EmptyVersionTooltip" >
50- .NET Core
51- < / span >
52- < / a >
53- }
54- else
55- {
56- <a href =@Url.FrameworksTab(Model.PackageId, Model.PackageVersion)
57- @if (itemIndex.HasValue)
58- {
59- @:data-track =" @eventName" data-track-value =" @itemIndex" data-click-source =" FrameworkBadge"
60- @:data-package-id =" @Model.PackageId" data-package-version =" @Model.PackageVersion"
61- @:data-badge-framework =" @Model.NetCore.Framework.GetShortFolderName()" data-badge-is-computed =" @Model.NetCore.IsComputed"
62- } >
63- <span class =@(Model.NetCore.IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria-label =" @String.SupportedFrameworks_Tooltip" data-content =" @String.SupportedFrameworks_Tooltip" >
64- .NET Core @Model.NetCore.Framework.GetBadgeVersion()
65- </span >
66- </a >
67- }
88+ <a href =@Url.FrameworksTab(Model.PackageId, Model.PackageVersion)
89+ @if (itemIndex.HasValue)
90+ {
91+ @:data-track =" @eventName" data-track-value =" @itemIndex" data-click-source =" FrameworkBadge"
92+ @:data-package-id =" @Model.PackageId" data-package-version =" @Model.PackageVersion"
93+ @:data-badge-framework =" @Model.NetCore.Framework.GetShortFolderName()" data-badge-is-computed =" @Model.NetCore.IsComputed"
94+ } >
95+ <span class =@(Model.NetCore.IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria-label =" @GetBadgeTooltip(FrameworkContext.NetCore, Model.NetCore)" data-content =" @GetBadgeTooltip(FrameworkContext.NetCore, Model.NetCore)" >
96+ @if (Model .NetCore .Framework .GetBadgeVersion ().IsEmpty ())
97+ {
98+ @: .NET Core
99+ }
100+ else
101+ {
102+ @: .NET Core @Model.NetCore.Framework.GetBadgeVersion()
103+ }
104+ </span >
105+ </a >
68106 }
69107 @if (Model .NetStandard != null )
70108 {
71- if (Model .NetStandard .Framework .GetBadgeVersion ().IsEmpty ())
72- {
73- < a href = @Url .FrameworksTab (Model .PackageId , Model .PackageVersion )
74- @if (itemIndex .HasValue )
75- {
76- @: data - track = " @eventName" data - track - value = " @itemIndex" data - click - source = " FrameworkBadge"
77- @: data - package - id = " @Model.PackageId" data - package - version = " @Model.PackageVersion"
78- @: data - badge - framework = " @Model.NetStandard.Framework.GetShortFolderName()" data - badge - is - computed = " @Model.NetStandard.IsComputed"
79- }>
80- < span class = @(Model .NetStandard .IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria - label = " @String.SupportedFrameworks_EmptyVersionTooltip" data - content = " @String.SupportedFrameworks_EmptyVersionTooltip" >
81- .NET Standard
82- < / span >
83- < / a >
84- }
85- else
86- {
87- <a href =@Url.FrameworksTab(Model.PackageId, Model.PackageVersion)
88- @if (itemIndex.HasValue)
89- {
90- @:data-track =" @eventName" data-track-value =" @itemIndex" data-click-source =" FrameworkBadge"
91- @:data-package-id =" @Model.PackageId" data-package-version =" @Model.PackageVersion"
92- @:data-badge-framework =" @Model.NetStandard.Framework.GetShortFolderName()" data-badge-is-computed =" @Model.NetStandard.IsComputed"
93- } >
94- <span class =@(Model.NetStandard.IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria-label =" @String.SupportedFrameworks_Tooltip" data-content =" @String.SupportedFrameworks_Tooltip" >
95- .NET Standard @Model.NetStandard.Framework.GetBadgeVersion()
96- </span >
97- </a >
98- }
109+ <a href =@Url.FrameworksTab(Model.PackageId, Model.PackageVersion)
110+ @if (itemIndex.HasValue)
111+ {
112+ @:data-track =" @eventName" data-track-value =" @itemIndex" data-click-source =" FrameworkBadge"
113+ @:data-package-id =" @Model.PackageId" data-package-version =" @Model.PackageVersion"
114+ @:data-badge-framework =" @Model.NetStandard.Framework.GetShortFolderName()" data-badge-is-computed =" @Model.NetStandard.IsComputed"
115+ } >
116+ <span class =@(Model.NetStandard.IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria-label =" @GetBadgeTooltip(FrameworkContext.NetStandard, Model.NetStandard)" data-content =" @GetBadgeTooltip(FrameworkContext.NetStandard, Model.NetStandard)" >
117+ @if (Model .NetStandard .Framework .GetBadgeVersion ().IsEmpty ())
118+ {
119+ @: .NET Standard
120+ }
121+ else
122+ {
123+ @: .NET Standard @Model.NetStandard.Framework.GetBadgeVersion()
124+ }
125+ </span >
126+ </a >
99127 }
100128 @if (Model .NetFramework != null )
101129 {
102- if (Model .NetFramework .Framework .GetBadgeVersion ().IsEmpty ())
103- {
104- < a href = @Url .FrameworksTab (Model .PackageId , Model .PackageVersion )
105- @if (itemIndex .HasValue )
106- {
107- @: data - track = " @eventName" data - track - value = " @itemIndex" data - click - source = " FrameworkBadge"
108- @: data - package - id = " @Model.PackageId" data - package - version = " @Model.PackageVersion"
109- @: data - badge - framework = " @Model.NetFramework.Framework.GetShortFolderName()" data - badge - is - computed = " @Model.NetFramework.IsComputed"
110- }>
111- < span class = @(Model .NetFramework .IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria - label = " @String.SupportedFrameworks_EmptyVersionTooltip" data - content = " @String.SupportedFrameworks_EmptyVersionTooltip" >
112- .NET Framework
113- < / span >
114- < / a >
115- }
116- else
117- {
118- <a href =@Url.FrameworksTab(Model.PackageId, Model.PackageVersion)
119- @if (itemIndex.HasValue)
120- {
121- @:data-track =" @eventName" data-track-value =" @itemIndex" data-click-source =" FrameworkBadge"
122- @:data-package-id =" @Model.PackageId" data-package-version =" @Model.PackageVersion"
123- @:data-badge-framework =" @Model.NetFramework.Framework.GetShortFolderName()" data-badge-is-computed =" @Model.NetFramework.IsComputed"
124- } >
125- <span class =@(Model.NetFramework.IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria-label =" @String.SupportedFrameworks_Tooltip" data-content =" @String.SupportedFrameworks_Tooltip" >
126- .NET Framework @Model.NetFramework.Framework.GetBadgeVersion()
127- </span >
128- </a >
129- }
130+ <a href =@Url.FrameworksTab(Model.PackageId, Model.PackageVersion)
131+ @if (itemIndex.HasValue)
132+ {
133+ @:data-track =" @eventName" data-track-value =" @itemIndex" data-click-source =" FrameworkBadge"
134+ @:data-package-id =" @Model.PackageId" data-package-version =" @Model.PackageVersion"
135+ @:data-badge-framework =" @Model.NetFramework.Framework.GetShortFolderName()" data-badge-is-computed =" @Model.NetFramework.IsComputed"
136+ } >
137+ <span class =@(Model.NetFramework.IsComputed ? " framework-badge-computed" : " framework-badge-asset" ) aria-label =" @GetBadgeTooltip(FrameworkContext.NetFramework, Model.NetFramework)" data-content =" @GetBadgeTooltip(FrameworkContext.NetFramework, Model.NetFramework)" >
138+ @if (Model .NetFramework .Framework .GetBadgeVersion ().IsEmpty ())
139+ {
140+ @: .NET Framework
141+ }
142+ else
143+ {
144+ @: .NET Framework @Model.NetFramework.Framework.GetBadgeVersion()
145+ }
146+ </span >
147+ </a >
130148 }
131149</div >
0 commit comments