mirror of
https://github.com/Unleash/unleash.git
synced 2025-08-04 13:48:56 +02:00
chore: limit requested approver count to 10 (#10279)
This commit is contained in:
parent
48efcefba7
commit
bed467520d
@ -158,6 +158,7 @@ export const ChangeRequestAddRequestedApprovers: FC<{
|
|||||||
}> = ({ changeRequest, saveClicked, existingReviewers }) => {
|
}> = ({ changeRequest, saveClicked, existingReviewers }) => {
|
||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
const [reviewers, setReviewers] = useState<AvailableReviewerSchema[]>([]);
|
const [reviewers, setReviewers] = useState<AvailableReviewerSchema[]>([]);
|
||||||
|
const allReviewers = [...existingReviewers, ...reviewers];
|
||||||
const { reviewers: fetchedReviewers, loading: isLoading } =
|
const { reviewers: fetchedReviewers, loading: isLoading } =
|
||||||
useAvailableChangeRequestReviewers(
|
useAvailableChangeRequestReviewers(
|
||||||
changeRequest.project,
|
changeRequest.project,
|
||||||
@ -207,6 +208,13 @@ export const ChangeRequestAddRequestedApprovers: FC<{
|
|||||||
options={availableReviewers}
|
options={availableReviewers}
|
||||||
renderOption={renderOption}
|
renderOption={renderOption}
|
||||||
filterOptions={filterOptions}
|
filterOptions={filterOptions}
|
||||||
|
freeSolo={allReviewers.length >= 10 ? false : undefined}
|
||||||
|
getOptionDisabled={(options) => {
|
||||||
|
return (
|
||||||
|
allReviewers.length >= 10 &&
|
||||||
|
!reviewers.find((opt) => opt.id === options.id)
|
||||||
|
);
|
||||||
|
}}
|
||||||
isOptionEqualToValue={(option, value) => option.id === value.id}
|
isOptionEqualToValue={(option, value) => option.id === value.id}
|
||||||
getOptionLabel={(option: AvailableReviewerSchema) =>
|
getOptionLabel={(option: AvailableReviewerSchema) =>
|
||||||
option.email || option.name || option.username || ''
|
option.email || option.name || option.username || ''
|
||||||
|
@ -147,6 +147,13 @@ export const DraftChangeRequestActions: FC<{
|
|||||||
options={availableReviewers}
|
options={availableReviewers}
|
||||||
renderOption={renderOption}
|
renderOption={renderOption}
|
||||||
filterOptions={filterOptions}
|
filterOptions={filterOptions}
|
||||||
|
freeSolo={reviewers.length >= 10 ? false : undefined}
|
||||||
|
getOptionDisabled={(options) => {
|
||||||
|
return (
|
||||||
|
reviewers.length >= 10 &&
|
||||||
|
!reviewers.find((opt) => opt.id === options.id)
|
||||||
|
);
|
||||||
|
}}
|
||||||
isOptionEqualToValue={(option, value) => option.id === value.id}
|
isOptionEqualToValue={(option, value) => option.id === value.id}
|
||||||
getOptionLabel={(option: AvailableReviewerSchema) =>
|
getOptionLabel={(option: AvailableReviewerSchema) =>
|
||||||
option.email || option.name || option.username || ''
|
option.email || option.name || option.username || ''
|
||||||
|
Loading…
Reference in New Issue
Block a user