1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-04 00:18:01 +01:00

feat: limit user filter options (#9179)

This commit is contained in:
Mateusz Kwasniewski 2025-01-31 10:09:29 +01:00 committed by GitHub
parent 1b97b1b931
commit ec014c0fdf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 38 additions and 33 deletions

View File

@ -125,12 +125,14 @@ export const GroupFormUsersSelect: VFC<IGroupFormUsersSelectProps> = ({
renderOption(props, option as UserOption, selected) renderOption(props, option as UserOption, selected)
} }
filterOptions={(options, { inputValue }) => filterOptions={(options, { inputValue }) =>
options.filter( options
({ name, username, email }) => .filter(
caseInsensitiveSearch(inputValue, email) || ({ name, username, email }) =>
caseInsensitiveSearch(inputValue, name) || caseInsensitiveSearch(inputValue, email) ||
caseInsensitiveSearch(inputValue, username), caseInsensitiveSearch(inputValue, name) ||
) caseInsensitiveSearch(inputValue, username),
)
.slice(0, 100)
} }
isOptionEqualToValue={(option, value) => option.id === value.id} isOptionEqualToValue={(option, value) => option.id === value.id}
getOptionLabel={(option: UserOption) => getOptionLabel={(option: UserOption) =>

View File

@ -414,34 +414,37 @@ export const ProjectAccessAssign = ({
} }
}} }}
filterOptions={(options, { inputValue }) => filterOptions={(options, { inputValue }) =>
options.filter((option: IAccessOption) => { options
if ( .filter((option: IAccessOption) => {
option.type === ENTITY_TYPE.USER || if (
option.type === option.type ===
ENTITY_TYPE.SERVICE_ACCOUNT ENTITY_TYPE.USER ||
) { option.type ===
const optionUser = ENTITY_TYPE.SERVICE_ACCOUNT
option.entity as IUser; ) {
return ( const optionUser =
caseInsensitiveSearch( option.entity as IUser;
inputValue, return (
optionUser.email, caseInsensitiveSearch(
) || inputValue,
caseInsensitiveSearch( optionUser.email,
inputValue, ) ||
optionUser.name, caseInsensitiveSearch(
) || inputValue,
caseInsensitiveSearch( optionUser.name,
inputValue, ) ||
optionUser.username, caseInsensitiveSearch(
) inputValue,
optionUser.username,
)
);
}
return caseInsensitiveSearch(
inputValue,
option.entity.name,
); );
} })
return caseInsensitiveSearch( .slice(0, 100)
inputValue,
option.entity.name,
);
})
} }
isOptionEqualToValue={(option, value) => isOptionEqualToValue={(option, value) =>
option.type === value.type && option.type === value.type &&