Skip to content

fix(filter-bar): restore keyboard focus ring on pipe trigger after selection (#DS-3829)#1694

Merged
lskramarov merged 2 commits into
mainfrom
fix/DS-3829
Jul 3, 2026
Merged

fix(filter-bar): restore keyboard focus ring on pipe trigger after selection (#DS-3829)#1694
lskramarov merged 2 commits into
mainfrom
fix/DS-3829

Conversation

@lskramarov

Copy link
Copy Markdown
Contributor

No description provided.

@lskramarov lskramarov requested review from NikGurev and artembelik July 3, 2026 09:19
@lskramarov lskramarov self-assigned this Jul 3, 2026
@lskramarov lskramarov added the bug Something isn't working label Jul 3, 2026
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 84c126b):

https://koobiq-next--prs-1694-y0wnyu3a.web.app

(expires Wed, 08 Jul 2026 09:23:57 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: c9e37e518febda70d0317d07e8ceb35ac43c534c

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR restores the visible keyboard focus ring on filter-bar pipe triggers after making a selection/applying a value, by centralizing focus restoration logic in the shared KbqBasePipe and updating individual pipe implementations to use it. It also extends keyboard support for adding pipes via the “add pipe” dropdown.

Changes:

  • Added a shared restoreTriggerFocus() helper in KbqBasePipe using CDK FocusMonitor + tracked focus origin to preserve keyboard focus styling on restore.
  • Updated multiple pipe components (select/tree-select/multi-select/date/datetime/text) to restore trigger focus after selection/apply/close.
  • Added Enter/Space keyboard activation for adding a pipe from KbqPipeAdd, with accompanying unit tests.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tools/public_api_guard/components/filter-bar.api.md Updates public API snapshot for new base-pipe members and optional listSelection signals.
packages/components/filter-bar/pipes/base-pipe.ts Introduces focus origin tracking and restoreTriggerFocus() for consistent focus restoration behavior.
packages/components/filter-bar/pipes/pipe-tree-select.ts Uses shared focus-restore helper after selection.
packages/components/filter-bar/pipes/pipe-tree-select.spec.ts Adds test asserting trigger focus restoration after selection.
packages/components/filter-bar/pipes/pipe-text.ts Restores trigger focus after apply.
packages/components/filter-bar/pipes/pipe-text.spec.ts Adapts tests to async timing and adds focus-restore assertion.
packages/components/filter-bar/pipes/pipe-select.ts Restores trigger focus after selection.
packages/components/filter-bar/pipes/pipe-select.spec.ts Adds keyboard selection + focus-restore coverage (including origin expectation).
packages/components/filter-bar/pipes/pipe-multi-tree-select.ts Restores trigger focus on close.
packages/components/filter-bar/pipes/pipe-multi-tree-select.spec.ts Adds focus-restore assertion on close and flushes timers.
packages/components/filter-bar/pipes/pipe-multi-select.ts Restores trigger focus on close.
packages/components/filter-bar/pipes/pipe-multi-select.spec.ts Adds focus-restore assertion on close and flushes timers.
packages/components/filter-bar/pipes/pipe-datetime.ts Makes listSelection optional; focuses list on open in list mode; restores trigger focus after apply/select; avoids required query access after close.
packages/components/filter-bar/pipes/pipe-datetime.spec.ts Adds focus-restore assertions and verifies list focusing on popover open.
packages/components/filter-bar/pipes/pipe-date.ts Mirrors datetime changes: optional listSelection, focus list on open, restore trigger focus after apply/select.
packages/components/filter-bar/pipes/pipe-date.spec.ts Adds focus-restore assertions and verifies list focusing on popover open.
packages/components/filter-bar/pipe-add.ts Adds Enter/Space handlers to add/open pipes from options via keyboard.
packages/components/filter-bar/pipe-add.spec.ts Adds keyboard interaction tests for adding/opening pipes via Enter/Space.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lskramarov lskramarov merged commit 17317fb into main Jul 3, 2026
10 checks passed
@lskramarov lskramarov deleted the fix/DS-3829 branch July 3, 2026 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants