Skip to content

Commit 67867b5

Browse files
committed
Refactor URL display properties to support nullable icon names and variants; enhance FluentButton accessibility with AriaLabel
1 parent 1589fa1 commit 67867b5

File tree

6 files changed

+9
-9
lines changed

6 files changed

+9
-9
lines changed

src/Aspire.Dashboard/Components/ResourcesGridColumns/UrlsColumnDisplay.razor

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ else if (DisplayedUrls.Count > 1)
6868
{
6969
if (string.IsNullOrWhiteSpace(displayedUrl.IconName) == false && IconResolver.ResolveIconName(displayedUrl.IconName, IconSize.Size16, iconVariant: displayedUrl.IconVariant) is { } icon)
7070
{
71-
return @<FluentButton Appearance="Appearance.Lightweight" Title="@displayedUrl.Text" StopPropagation="true" OnClick="@(() => JSRuntime.InvokeAsync<object>("open", displayedUrl.Url, "_blank"))" >
71+
return @<FluentButton Appearance="Appearance.Lightweight" Title="@displayedUrl.Text" AriaLabel="@displayedUrl.Text" StopPropagation="true" OnClick="@(() => JSRuntime.InvokeAsync<object>("open", displayedUrl.Url, "_blank"))" >
7272
<FluentIcon Value="@icon" Width="16px" Title="@displayedUrl.Text" />
7373
</FluentButton>;
7474
}
75-
//<a href="@displayedUrl.Url" target="_blank" @onclick:stopPropagation="true">
75+
7676

7777
return @<a href="@displayedUrl.Url" target="_blank" @onclick:stopPropagation="true">@displayedUrl.Text</a>;
7878
}

src/Aspire.Dashboard/Components/ResourcesGridColumns/UrlsColumnDisplay.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ public partial class UrlsColumnDisplay
3434

3535
[Inject]
3636
public required IJSRuntime JSRuntime { get; init; }
37-
37+
3838
private bool _popoverVisible;
3939
}

src/Aspire.Dashboard/Model/ResourceViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ public UrlViewModel(string? endpointName, Uri url, bool isInternal, bool isInact
430430

431431
public record UrlDisplayPropertiesViewModel(string DisplayName, int SortOrder, string? IconName, IconVariant? IconVariant)
432432
{
433-
public static readonly UrlDisplayPropertiesViewModel Empty = new(string.Empty, 0, string.Empty, (IconVariant)(-1));
433+
public static readonly UrlDisplayPropertiesViewModel Empty = new(string.Empty, 0, string.Empty, null);
434434
}
435435

436436
public sealed record class VolumeViewModel(int index, string Source, string Target, string MountType, bool IsReadOnly) : IPropertyGridItem

src/Aspire.Hosting/ApplicationModel/CustomResourceSnapshot.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ internal void Deconstruct(out string? name, out string url, out bool isInternal,
230230
/// <param name="SortOrder">The order of the url in UI. Higher numbers are displayed first in the UI.</param>
231231
/// <param name="IconName">The icon name for the Url. The name should be a valid FluentUI icon name. https://aka.ms/fluentui-system-icons</param>
232232
/// <param name="IconVariant">The icon variant.</param>
233-
///
233+
234234
public sealed record UrlDisplayPropertiesSnapshot(string DisplayName = "", int SortOrder = 0, string? IconName = null, IconVariant? IconVariant = null);
235235

236236
/// <summary>

src/Aspire.Hosting/ApplicationModel/ResourceUrlAnnotation.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ public sealed class ResourceUrlAnnotation : IResourceAnnotation
3939
/// <summary>
4040
/// The name of the icon to display with this URL.
4141
/// </summary>
42-
public string IconName { get; set; } = string.Empty;
43-
42+
public string? IconName { get; set; }?
43+
4444
/// <summary>
4545
/// The variant of the icon to display with this URL.
4646
/// </summary>
47-
public IconVariant IconVariant { get; set; } = IconVariant.Regular;
47+
public IconVariant? IconVariant { get; set; }
4848

4949
internal bool IsInternal => DisplayLocation == UrlDisplayLocation.DetailsOnly;
5050

src/Aspire.Hosting/Dashboard/proto/Partials.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public static Resource FromSnapshot(ResourceSnapshot snapshot)
7575
{
7676
displayProperties.IconVariant = MapIconVariant(urlSnapshot.DisplayProperties.IconVariant);
7777
}
78-
78+
7979
url.DisplayProperties = displayProperties;
8080
resource.Urls.Add(url);
8181
}

0 commit comments

Comments
 (0)