Skip to content

Commit 00cd501

Browse files
feat(rbac): disable selected permissions (#1117)
1 parent 4d46abc commit 00cd501

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

plugins/rbac/src/components/CreateRole/PermissionPoliciesForm.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,14 @@ export const PermissionPoliciesForm = ({
149149
}
150150
onRemove={() => onRowRemove(index)}
151151
handleBlur={handleBlur}
152+
getPermissionDisabled={(permission: string) => {
153+
const pluginPermissionPolicies = permissionPoliciesRows.filter(
154+
ppr => ppr.plugin === pp.plugin,
155+
);
156+
return !!pluginPermissionPolicies.find(
157+
ppp => ppp.permission === permission,
158+
);
159+
}}
152160
/>
153161
))}
154162
<Button className={classes.addButton} size="small" onClick={onRowAdd}>

plugins/rbac/src/components/CreateRole/PermissionPoliciesFormRow.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ type PermissionPoliciesFormRowProps = {
2828
onChangePermission: (permission: string, policies?: string[]) => void;
2929
onChangePolicy: (isChecked: boolean, policyIndex: number) => void;
3030
handleBlur: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
31+
getPermissionDisabled: (permission: string) => boolean;
3132
};
3233

3334
export const PermissionPoliciesFormRow = ({
@@ -41,6 +42,7 @@ export const PermissionPoliciesFormRow = ({
4142
onChangePolicy,
4243
onChangePlugin,
4344
handleBlur,
45+
getPermissionDisabled,
4446
}: PermissionPoliciesFormRowProps) => {
4547
const classes = useStyles();
4648
const [pluginSearch, setPluginSearch] = React.useState('');
@@ -97,6 +99,7 @@ export const PermissionPoliciesFormRow = ({
9799
}
98100
inputValue={permissionSearch}
99101
onInputChange={(_e, newSearch) => setPermissionSearch(newSearch)}
102+
getOptionDisabled={getPermissionDisabled}
100103
renderInput={params => (
101104
<TextField
102105
{...params}

0 commit comments

Comments
 (0)