- @if (DashboardClient.IsEnabled)
+ @if (DashboardClient.IsEnabled && !showCollapsedPane)
{
var filterTitle = ControlsStringsLoc[nameof(ControlsStrings.ChartContainerFiltersHeader)];
}
-
+ ;
+
+
+ @* A single header keeps section subscriptions stable across viewport changes. *@
+
+ @if (showCollapsedPane)
+ {
+
+ @if (_isResourcePickerOpen)
+ {
+ @resourcePane
+ }
+
+ }
+ else
+ {
+ @resourcePane
+ }
@* Keep the page mounted during expansion; navigation stays outside the hidden content region. *@
$"resource-row-action resource-row-action-priority-{Math.Min(actionIndex, 3)}";
- // On desktop the title is a heading. On mobile it also opens the resource list, which is a full-screen sheet, so it
- // is drawn as a select, with the list icon and a chevron, to show that it can be changed. The button is inside the
- // heading rather than replacing it, so the page keeps its heading. A raw button gives the start-aligned
- // layout that a FluentButton can't without styling its shadow parts.
+ // Keep the heading when its title opens the resource list: a popover on collapsed desktop layouts, or a full-screen
+ // sheet on mobile. The mobile picker uses a raw button for its full-width, start-aligned layout.
private void RenderTitle(RenderTreeBuilder __builder, string text, bool isDesktop)
{
- if (isDesktop)
+ if (isDesktop && !_isPaneCollapsed)
{
@text
+ }
+ else if (isDesktop)
+ {
+
+
+ @((RenderFragment)RenderHeaderIcon)
+ @text
+
+
}
else
{
@@ -701,6 +734,60 @@
}
}
+ private void RenderHeaderIcon(RenderTreeBuilder __builder)
+ {
+ if (CurrentTab == ResourceTab.Parameters)
+ {
+
+ }
+ else if (SelectedResource is { } selected)
+ {
+
+ }
+ else if (SelectedTelemetryOnlyResource is { } telemetryOnly)
+ {
+
+ }
+ else if (IsMultiSelection)
+ {
+
+ }
+ else if (SelectedResourceName is not null && _isLoaded)
+ {
+
+ }
+ else
+ {
+
+ }
+ }
+
private void RenderHeaderRow(RenderTreeBuilder __builder, bool isDesktop)
{