Skip to content

feat(tree): add selectable input to KbqTreeOption (#DS-4276)#1629

Open
lskramarov wants to merge 3 commits into
mainfrom
feat/DS-4276
Open

feat(tree): add selectable input to KbqTreeOption (#DS-4276)#1629
lskramarov wants to merge 3 commits into
mainfrom
feat/DS-4276

Conversation

@lskramarov

Copy link
Copy Markdown
Contributor

No description provided.

@lskramarov lskramarov self-assigned this Jun 10, 2026
@lskramarov lskramarov requested a review from artembelik as a code owner June 10, 2026 13:42
@lskramarov lskramarov added the enhancement New feature or request label Jun 10, 2026
@artembelik artembelik requested a review from Copilot June 10, 2026 13:45
@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 7da0013):

https://koobiq-next--prs-1629-3tmdqiha.web.app

(expires Mon, 15 Jun 2026 15:49: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 introduces a new selectable input for KbqTreeOption to allow disabling user-driven selection (click/keyboard/select-all) while keeping options focusable/navigable/expandable, and includes related fixes for option action button integration with dropdown/tooltip triggers.

Changes:

  • Add selectable input to KbqTreeOption and update tree selection logic to respect it across click, keyboard, range selection, and select-all.
  • Fix KbqOptionActionComponent integration by keeping tooltip/dropdown triggers as decorator @ContentChild queries (not signal queries) and restoring dropdownClosed as an EventEmitter.
  • Add/extend unit tests and update tree examples/docs to describe the new selectable behavior.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tools/public_api_guard/components/tree.api.md Updates extracted public API for KbqTreeOption queries and selectable input.
tools/public_api_guard/components/list.api.md Updates extracted public API for KbqListOption queries after switching trigger queries back to decorator-based.
tools/public_api_guard/components/dropdown.api.md Updates extracted public API for KbqDropdownTrigger.dropdownClosed type change.
packages/components/tree/tree-selection.component.ts Enforces selectable across selection paths (click, keyboard auto-select, range selection, select all).
packages/components/tree/tree-selection.component.spec.ts Adds coverage for non-selectable behavior and regression coverage for action button + dropdown rendering.
packages/components/tree/tree-option.component.ts Adds selectable input and switches tooltip/dropdown trigger queries to decorator @ContentChild for option-action compatibility.
packages/components/tree/examples.tree.ru.md Documents selectable behavior in Russian examples.
packages/components/tree/examples.tree.en.md Documents selectable behavior in English examples.
packages/components/list/list-selection.component.ts Switches tooltip/dropdown trigger queries to decorator @ContentChild for option-action compatibility.
packages/components/dropdown/dropdown-trigger.directive.ts Keeps dropdownClosed as @Output() EventEmitter<void> so option-action can subscribe via .pipe().

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

Comment thread packages/components/tree/tree-selection.component.ts
Comment thread packages/components/tree/tree-selection.component.ts
Comment thread packages/components/tree/tree-option.component.ts Outdated
Comment thread packages/components/list/list-selection.component.ts Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants