Skip to content

[release/17.0] Add dashboard resource-selector dropdown - #22126

Closed
Sébastien Ros (sebastienros) wants to merge 1 commit into
sebros/backport-21840-to-release-17.0from
sebros/backport-21861-to-release-17.0
Closed

Sébastien Ros (sebastienros) wants to merge 1 commit into
sebros/backport-21840-to-release-17.0from
sebros/backport-21861-to-release-17.0

Conversation

@sebastienros

Copy link
Copy Markdown
Contributor

Backport of #21861 to release/17.0

/cc Sébastien Ros (@sebastienros)

Note

Part of a chain of dashboard backports. This PR targets the branch of #22125, so review only its own commit. Merge the chain in order; GitHub retargets each PR as its base merges.

Customer Impact

Testing

Risk

Regression?

## Description

Make resource switching available while the dashboard sidebar is
collapsed, without reopening the full sidebar. This extracts only the
resource-selector dropdown from #21793.

### User-facing usage

Click the resource-name button to open the searchable resource list.
Normal selection closes it; Ctrl/Cmd/Shift selection keeps it open.
Selecting all closes it. Mobile retains the existing drawer.

### Validation

- Passed: **1,394 component tests** (before the final CSS-only
adjustments):
  ```powershell
dotnet test --project
tests\Aspire.Dashboard.Components.Tests\Aspire.Dashboard.Components.Tests.csproj
--no-launch-profile -- --filter-not-trait "quarantined=true"
--filter-not-trait "outerloop=true"
  ```
- Passed after the styling changes:
  ```powershell
aspire resource aspire-dashboard rebuild --apphost
playground\TestShop\TestShop.AppHost\TestShop.AppHost.csproj
--non-interactive
  ```
- Browser-verified popup placement, normal/modifier selection, Select
all, dismissal, and button styling.

### Screenshots / Recordings

> **This PR includes UI changes.** Please add screenshots or screen
recordings so reviewers can evaluate the visual changes without running
locally.
>
> - For before/after comparisons, place them side-by-side or label them
clearly.
> - For interactive changes (animations, transitions, new flows), prefer
a short screen recording (GIF or video).
> - If you cannot capture visuals now, note what scenario to test and
mark this section as TODO.

![Resource selector
dropdown](https://github.com/user-attachments/assets/d5b18733-0a7a-4b1f-bb0f-9e63a1744894)

Fixes # (issue)

## Checklist

- Is this feature complete?
  - [x] Yes. Ready to ship.
  - [ ] No. Follow-up changes expected.
- Are you including unit tests for the changes and scenario tests if
relevant?
  - [x] Yes
  - [ ] No
- Did you add public API?
  - [ ] Yes
    - If yes, did you have an API Review for it?
      - [ ] Yes
      - [ ] No
- Did you add `<remarks />` and `<code />` elements on your triple slash
comments?
      - [ ] Yes
      - [ ] No
  - [x] No
- Does the change make any security assumptions or guarantees?
  - [ ] Yes
    - If yes, have you done a threat model and had a security review?
      - [ ] Yes
      - [ ] No
  - [x] No

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
(cherry picked from commit 52afb3a)

@adamint Adam Ratzman (adamint) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The backport matches #21861, including the fixes made during that review, and the original change completed its full validation successfully.

@joperezr

Copy link
Copy Markdown
Member

Closing this individual backport because its changes are included in #22186, which consolidates all eight dashboard backports into one PR for release/17.0. This keeps review and CI validation together and avoids merging the same changes separately. Please track further work in #22186.

Jose Perez Rodriguez (joperezr) added a commit that referenced this pull request Nov 12, 2026
Combines the stacked dashboard backports into one PR for `release/17.0`.
The commits are cherry-picked in stack order, one per source PR, onto
the current `release/17.0` tip:

1. #22125: Store dashboard tags,
resource order and metric pins in browser local storage (#21840)
2. #22126: Add dashboard
resource-selector dropdown (#21861)
3. #22127: Rename the WithTags
trait from Aspire_Dashboard_Tag to Aspire_Tag (#21881)
4. #22128: Restore single-line
compact rows in the dashboard resource list (#21880)
5. #22129: Allocate the next
dashboard run ID when two dashboards start in the same millisecond
(#21913)
6. #22130: Simplify the
dashboard around its two main jobs (#21943)
7. #22131: Return 400 for OTLP
JSON requests with malformed ids (#21436)
8. #22132: Address deferred
review feedback for the modern dashboard (#21766)

## Conflict resolution

The stack was cut from an older `release/17.0`. Since then, #22123
(Harden Go SDK runtime) landed and regenerated
`TwoPassScanningGeneratedAspire.verified.go`. That conflicted with
#21766, which replaces `WithDashboardPosition` with `WithDisplayOrder`.
The resolution drops `WithDashboardPosition` and regenerates the
snapshot with the current Go generator, so `WithDisplayOrder` now uses
the hardened `s.Err()` pattern. The other seven commits applied cleanly.

## Validation

All `Aspire.Hosting.CodeGeneration.*.Tests` projects pass locally (Go,
Java, Python, Rust, TypeScript).

---------

Co-authored-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: James Newton-King <james@newtonking.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
Co-authored-by: davidfowl <95136+davidfowl@users.noreply.github.com>
Co-authored-by: Maddy Montaquila <maddyleger1@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Maddy Montaquila <maddy@MadBook-Pro-20.local>
Co-authored-by: Taha Koçal <tahakocalgs@gmail.com>
Co-authored-by: Jose Perez Rodriguez <joperezr@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants