diff --git a/public/app/core/components/RolePicker/RolePickerMenu.tsx b/public/app/core/components/RolePicker/RolePickerMenu.tsx index a85fd804381..121b7b1b787 100644 --- a/public/app/core/components/RolePicker/RolePickerMenu.tsx +++ b/public/app/core/components/RolePicker/RolePickerMenu.tsx @@ -118,14 +118,15 @@ export const RolePickerMenu = ({ const group = optionGroups.find((g) => { return g.value === value; }); - if (groupSelected(value)) { + if (groupSelected(value) || groupPartiallySelected(value)) { if (group) { setSelectedOptions(selectedOptions.filter((role) => !group.options.find((option) => role.uid === option.uid))); } } else { if (group) { + const groupOptions = group.options.filter((role) => role.delegatable); const restOptions = selectedOptions.filter((role) => !group.options.find((option) => role.uid === option.uid)); - setSelectedOptions([...restOptions, ...group.options]); + setSelectedOptions([...restOptions, ...groupOptions]); } } };