import { css, cx } from '@emotion/css'; import React, { PureComponent } from 'react'; import { UserRolePicker } from 'app/core/components/RolePicker/UserRolePicker'; import { contextSrv } from 'app/core/core'; import { AccessControlAction, OrgRole, Role, ServiceAccountDTO } from 'app/types'; import { OrgRolePicker } from '../admin/OrgRolePicker'; interface Props { label: string; serviceAccount: ServiceAccountDTO; onRoleChange: (role: OrgRole) => void; roleOptions: Role[]; builtInRoles: Record; } export class ServiceAccountRoleRow extends PureComponent { render() { const { label, serviceAccount, roleOptions, builtInRoles, onRoleChange } = this.props; const canUpdateRole = contextSrv.hasPermissionInMetadata(AccessControlAction.ServiceAccountsWrite, serviceAccount); const rolePickerDisabled = !canUpdateRole; const labelClass = cx( 'width-16', css` font-weight: 500; ` ); const inputId = `${label}-input`; return ( {contextSrv.licensedAccessControlEnabled() ? ( ) : ( )} ); } }