Refactor useFilteredSearchEntityQuery to accept multiple filters (#1526)

* refactoring useFilteredSearchEntityQuery

* refactor with filter addition

---------

Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com>
This commit is contained in:
Aditya Pimpalkar
2023-09-11 00:12:16 +01:00
committed by GitHub
parent b6eb280639
commit bcbf303364
7 changed files with 78 additions and 41 deletions

View File

@ -26,11 +26,17 @@ export function FilterDropdownUserSearchSelect({
const usersForSelect = useFilteredSearchEntityQuery({
queryHook: useSearchUserQuery,
searchOnFields: ['firstName', 'lastName'],
filters: [
{
fieldName: 'firstName',
filter: filterDropdownSearchInput,
},
{
fieldName: 'lastName',
filter: filterDropdownSearchInput,
},
],
orderByField: 'lastName',
selectedIds: filterDropdownSelectedEntityId
? [filterDropdownSelectedEntityId]
: [],
mappingFunction: (entity) => ({
id: entity.id,
entityType: Entity.User,
@ -38,7 +44,9 @@ export function FilterDropdownUserSearchSelect({
avatarType: 'rounded',
avatarUrl: entity.avatarUrl ?? '',
}),
searchFilter: filterDropdownSearchInput,
selectedIds: filterDropdownSelectedEntityId
? [filterDropdownSelectedEntityId]
: [],
});
return (

View File

@ -29,8 +29,17 @@ export function UserPicker({
const users = useFilteredSearchEntityQuery({
queryHook: useSearchUserQuery,
selectedIds: userId ? [userId] : [],
searchFilter: relationPickerSearchFilter,
filters: [
{
fieldName: 'firstName',
filter: relationPickerSearchFilter,
},
{
fieldName: 'lastName',
filter: relationPickerSearchFilter,
},
],
orderByField: 'firstName',
mappingFunction: (user) => ({
entityType: Entity.User,
id: user.id,
@ -38,8 +47,7 @@ export function UserPicker({
avatarType: 'rounded',
avatarUrl: user.avatarUrl ?? '',
}),
orderByField: 'firstName',
searchOnFields: ['firstName', 'lastName'],
selectedIds: userId ? [userId] : [],
});
async function handleEntitySelected(