import { useForm } from 'react-hook-form'; import { ConnectedProps, connect } from 'react-redux'; import { Button, Field, FieldSet, Input, Stack } from '@grafana/ui'; import { TeamRolePicker } from 'app/core/components/RolePicker/TeamRolePicker'; import { useRoleOptions } from 'app/core/components/RolePicker/hooks'; import { SharedPreferences } from 'app/core/components/SharedPreferences/SharedPreferences'; import { contextSrv } from 'app/core/services/context_srv'; import { AccessControlAction, Team } from 'app/types'; import { updateTeam } from './state/actions'; const mapDispatchToProps = { updateTeam, }; const connector = connect(null, mapDispatchToProps); interface OwnProps { team: Team; } export type Props = ConnectedProps & OwnProps; export const TeamSettings = ({ team, updateTeam }: Props) => { const canWriteTeamSettings = contextSrv.hasPermissionInMetadata(AccessControlAction.ActionTeamsWrite, team); const currentOrgId = contextSrv.user.orgId; const [{ roleOptions }] = useRoleOptions(currentOrgId); const { handleSubmit, register, formState: { errors }, } = useForm({ defaultValues: team }); const canUpdateRoles = contextSrv.hasPermission(AccessControlAction.ActionTeamsRolesAdd) && contextSrv.hasPermission(AccessControlAction.ActionTeamsRolesRemove); const canListRoles = contextSrv.hasPermissionInMetadata(AccessControlAction.ActionTeamsRolesList, team) && contextSrv.hasPermission(AccessControlAction.ActionRolesList); const onSubmit = async (formTeam: Team) => { updateTeam(formTeam.name, formTeam.email || ''); }; return (
{contextSrv.licensedAccessControlEnabled() && canListRoles && ( )}
); }; export default connector(TeamSettings);