mirror of
https://github.com/Unleash/unleash.git
synced 2025-07-21 13:47:39 +02:00
* feat: new contexts table * improve context list actions * refactor: disabled icon colors * fix: update snapshots * fix: icons * fix: context fields typo * feat: new project access table * fix: header cell styles
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
import { VFC } from 'react';
|
|
import { Box, MenuItem, SelectChangeEvent } from '@mui/material';
|
|
import { IProjectAccessUser } from 'hooks/api/getters/useProjectAccess/useProjectAccess';
|
|
import { IProjectRole } from 'interfaces/role';
|
|
import { ProjectRoleSelect } from '../../ProjectRoleSelect/ProjectRoleSelect';
|
|
import { useStyles } from './ProjectRoleCell.styles';
|
|
|
|
interface IProjectRoleCellProps {
|
|
value: number;
|
|
user: IProjectAccessUser;
|
|
roles: IProjectRole[];
|
|
onChange: (event: SelectChangeEvent) => Promise<void>;
|
|
}
|
|
|
|
export const ProjectRoleCell: VFC<IProjectRoleCellProps> = ({
|
|
value,
|
|
user,
|
|
roles,
|
|
onChange,
|
|
}) => {
|
|
const { classes } = useStyles();
|
|
return (
|
|
<Box className={classes.cell}>
|
|
<ProjectRoleSelect
|
|
id={`role-${user.id}-select`}
|
|
key={user.id}
|
|
placeholder="Choose role"
|
|
onChange={onChange}
|
|
roles={roles}
|
|
value={value || -1}
|
|
>
|
|
<MenuItem value="" disabled>
|
|
Choose role
|
|
</MenuItem>
|
|
</ProjectRoleSelect>
|
|
</Box>
|
|
);
|
|
};
|