-
Notifications
You must be signed in to change notification settings - Fork 35
feat: [18904] Working List Filter component for null and not null Values
#4270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
null and not null Valuesnull and not null Values
simonadomnisoru
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @henrikmv. This is a great start, and it's good that you already separated the TEXT filter from the more complex ones 👍 . There are some other things that come to mind that we need to consider:
- We should include a toggle feature to only display the null filter starting from version
2.42. - When a null filter is applied, the user should be able to save it via a
POSTrequest to the following three endpoints:/trackedEntityInstanceFilters,/programStageWorkingLists, and/eventFilters - When a null filter is applied, the user should also be able to update it via a
PUTrequest to the same three endpoints. - When a stored WL containing a null filter is selected by the user, it should be loaded (
GETrequest from the three endpoints mentioned above) and then applied to all three WL types.
|
Hi @henrikmv. Looks like we're heading in the right direction 👏 ! There are just a few more things I think we should look into:
Thanks! |
simonadomnisoru
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great progress on this feature, everything is working well now 👏 ! I’ve added a few small suggestions to improve the structure of the EmptyValue folder. Apart from that, do you think it would be relevant to add Cypress tests for this feature?
src/core_modules/capture-core/components/FiltersForTypes/EmptyValue/emptyValueFilterHelpers.js
Outdated
Show resolved
Hide resolved
src/core_modules/capture-core/components/FiltersForTypes/EmptyValue/emptyValueFilterHelpers.js
Outdated
Show resolved
Hide resolved
src/core_modules/capture-core/components/FiltersForTypes/EmptyValue/emptyValueFilterHelpers.js
Outdated
Show resolved
Hide resolved
...s/capture-core/components/FiltersForTypes/EmptyValue/EmptyValueFilterCheckboxes.component.js
Outdated
Show resolved
Hide resolved
src/core_modules/capture-core/components/FiltersForTypes/EmptyValue/emptyValueFilterHelpers.js
Outdated
Show resolved
Hide resolved
|
Hi @simonadomnisoru, thanks for the review! The Cypress test will be implemented in https://dhis2.atlassian.net/browse/DHIS2-19972. |
|
🚀 Deployed on https://deploy-preview-4270.capture.netlify.dhis2.org |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job! 👏
|
# [104.2.0](v104.1.2...v104.2.0) (2025-10-17) ### Features * [18904] Working List Filter component for `null` and `not null` Values ([#4270](#4270)) ([aea03d7](aea03d7))
|
🎉 This PR is included in version 104.2.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |




DHIS2-18904
This pull request introduces support for
empty valuefiltering in working list filters. It adds UI elements for users to filter for empty or non-empty values, and ensures correct conversion between client and API representations for these filters.Added the
emptyValueFilterfeature flag and set its minimum supported version.Added
EmptyValueFilterCheckboxescomponent and supporting helpers to allow users to filter text fields by empty or non-empty values.Updated conversion helpers to translate empty value filters between client and API formats for both Event and Tracker working lists.
Refined the text input handling to better manage Enter key events and value updates.
Note: The task has been split into two tickets to simplify implementation and review: one for creating the reusable "No value" component and applying it to the text filter, and another for extending it to other filter types.