Skip to content

feat(components/filter-bar): extend generics for filter types in filter items#4175

Merged
Blackbaud-CoreyArcher merged 4 commits into13.x.xfrom
extended-filter-bar-types
Feb 2, 2026
Merged

feat(components/filter-bar): extend generics for filter types in filter items#4175
Blackbaud-CoreyArcher merged 4 commits into13.x.xfrom
extended-filter-bar-types

Conversation

@Blackbaud-CoreyArcher
Copy link
Copy Markdown
Contributor

No description provided.

@Blackbaud-CoreyArcher Blackbaud-CoreyArcher added the risk level (author): 1 No additional bugs expected from this change label Jan 30, 2026
@nx-cloud
Copy link
Copy Markdown

nx-cloud bot commented Jan 30, 2026

View your CI Pipeline Execution ↗ for commit e573b9f

Command Status Duration Result
nx build code-examples-playground --baseHref=ht... ✅ Succeeded 4m 7s View ↗
nx build playground --baseHref=https://blackbau... ✅ Succeeded 1m 45s View ↗
nx build integration --baseHref=https://blackba... ✅ Succeeded 12s View ↗

☁️ Nx Cloud last updated this comment at 2026-02-02 17:02:24 UTC

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Extends the filter-bar type model to support strongly-typed filter values by introducing generics across filter item interfaces, modal context/instance types, and lookup async search types.

Changes:

  • Added TValue generics (defaulting to unknown) across filter item, modal, and filter value models to preserve backward compatibility while improving type safety.
  • Updated filter-item modal and lookup components to propagate typed filter values through the service and modal/selection flows.
  • Extended SkyFilterBarService.getFilterValueUpdates to return typed filter-value streams.

Reviewed changes

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

Show a summary per file
File Description
libs/components/filter-bar/src/lib/modules/filter-bar/models/filter-item.ts Makes SkyFilterItem generic so each filter item can carry a typed filter value.
libs/components/filter-bar/src/lib/modules/filter-bar/models/filter-item-modal.ts Adds TValue to the modal marker interface and wires it into the modal instance type.
libs/components/filter-bar/src/lib/modules/filter-bar/models/filter-item-modal-saved-args.ts Makes saved modal args generic so filterValue is typed.
libs/components/filter-bar/src/lib/modules/filter-bar/models/filter-item-modal-instance.ts Adds TValue to modal instance API and updates save args typing (but currently misses updating context typing).
libs/components/filter-bar/src/lib/modules/filter-bar/models/filter-item-modal-context.ts Adds TValue to modal context so filterValue is strongly typed.
libs/components/filter-bar/src/lib/modules/filter-bar/models/filter-item-lookup-search-async-result.ts Makes lookup async results generic so items are typed.
libs/components/filter-bar/src/lib/modules/filter-bar/models/filter-item-lookup-search-async-args.ts Makes lookup async args generic and types result accordingly.
libs/components/filter-bar/src/lib/modules/filter-bar/models/filter-bar-item.ts Makes internal filter-bar item representation generic for typed filter values.
libs/components/filter-bar/src/lib/modules/filter-bar/filter-items/filter-item-modal.component.ts Propagates TValue through modal component typing and service calls (but currently injects modal context with incorrect generic args).
libs/components/filter-bar/src/lib/modules/filter-bar/filter-items/filter-item-lookup.component.ts Makes lookup component generic and propagates typed value updates (but output typing doesn’t yet preserve TValue, and there’s a remaining cast that can be avoided).
libs/components/filter-bar/src/lib/modules/filter-bar/filter-bar.service.ts Adds generic getFilterValueUpdates<TValue>() returning typed filter values (uses a cast due to storage typing).

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

@blackbaud-sky-build-user
Copy link
Copy Markdown
Collaborator

@Blackbaud-CoreyArcher Blackbaud-CoreyArcher merged commit 1a2e08c into 13.x.x Feb 2, 2026
27 checks passed
@Blackbaud-CoreyArcher Blackbaud-CoreyArcher deleted the extended-filter-bar-types branch February 2, 2026 17:23
@blackbaud-sky-build-user
Copy link
Copy Markdown
Collaborator

Cherry-pick successful! 🍒 🎉 See #4182

johnhwhite added a commit that referenced this pull request Feb 4, 2026
* origin/13.x.x:
  fix(components/data-manager): set docked data manager to be `inset`  (#4180)
  docs(components/pages): include SkyModalLinkListComponent in docs (#4178)
  feat(components/filter-bar): extend generics for filter types in filter items (#4175)
johnhwhite pushed a commit that referenced this pull request Feb 4, 2026
##
[14.0.0-alpha.1](14.0.0-alpha.0...14.0.0-alpha.1)
(2026-02-04)


### Features

* **components/filter-bar:** extend generics for filter types in filter
items ([#4175](#4175))
([#4182](#4182))
([8278d17](8278d17))
* **components/pages:** modal link list items may provide a click
handler ([#4169](#4169))
([#4170](#4170))
([76e6d4d](76e6d4d)),
closes [AB#3682483](https://github.com/blackbaud/AB/issues/3682483)
* **sdk/stylelint-config-skyux:** update stylelint to 17.1.0
([#4187](#4187))
([86fafb0](86fafb0)),
closes [AB#3642976](https://github.com/blackbaud/AB/issues/3642976)
[AB#3691772](https://github.com/blackbaud/AB/issues/3691772)
* **sdk/testing:** update axe-core to 4.11.1
([#4185](#4185))
([6c3f370](6c3f370)),
closes [AB#3642976](https://github.com/blackbaud/AB/issues/3642976)
[AB#3691545](https://github.com/blackbaud/AB/issues/3691545)


### Bug Fixes

* **components/filter-bar:** ensure order of selected filters remains
constant ([#4158](#4158))
([#4166](#4166))
([833f7ce](833f7ce))
* **components/indicators:** use correct info icon matte token
([#4161](#4161))
([#4165](#4165))
([f4bfe2b](f4bfe2b))
johnhwhite pushed a commit that referenced this pull request Feb 9, 2026
#
[13.13.0](13.12.0...13.13.0)
(2026-02-05)


### Bug Fixes

* **components/action-bars:** default theme summary action bar secondary
action button dropdown uses correct button class
([#4188](#4188))
([89beb76](89beb76)),
closes [AB#3696493](https://github.com/AB/issues/3696493)
* **components/data-manager:** set docked data manager to be `inset`
([#4180](#4180))
([7e7a9ae](7e7a9ae)),
closes [AB#3689062](https://github.com/AB/issues/3689062)
* **components/filter-bar:** ensure order of selected filters remains
constant ([#4158](#4158))
([a233c63](a233c63))
* **components/forms:** select inputs have proper text overflow and
right padding ([#4168](#4168))
([85d3357](85d3357)),
closes [AB#3673505](https://github.com/AB/issues/3673505)
* **components/indicators:** use correct info icon matte token
([#4161](#4161))
([3b4fe65](3b4fe65))


### Features

* **components/filter-bar:** extend generics for filter types in filter
items ([#4175](#4175))
([1a2e08c](1a2e08c))
* **components/pages:** modal link list items may provide a click
handler ([#4169](#4169))
([0f9bb8e](0f9bb8e)),
closes [AB#3682483](https://github.com/AB/issues/3682483)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk level (author): 1 No additional bugs expected from this change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants