grafana/public/app/features/admin/ldap/LdapUserGroups.tsx
Torkel Ödegaard 1d689888b0
Prettier: Upgrade to 2 (#30387)
* Updated package json but not updated source files

* Update eslint plugin

* updated files
2021-01-20 07:59:48 +01:00

70 lines
2.2 KiB
TypeScript

import React, { FC } from 'react';
import { Tooltip, Icon } from '@grafana/ui';
import { LdapRole } from 'app/types';
interface Props {
groups: LdapRole[];
showAttributeMapping?: boolean;
}
export const LdapUserGroups: FC<Props> = ({ groups, showAttributeMapping }) => {
const items = showAttributeMapping ? groups : groups.filter((item) => item.orgRole);
return (
<div className="gf-form-group">
<div className="gf-form">
<table className="filter-table form-inline">
<thead>
<tr>
{showAttributeMapping && <th>LDAP Group</th>}
<th>
Organization
<Tooltip placement="top" content="Only the first match for an Organization will be used" theme={'info'}>
<span className="gf-form-help-icon">
<Icon name="info-circle" />
</span>
</Tooltip>
</th>
<th>Role</th>
</tr>
</thead>
<tbody>
{items.map((group, index) => {
return (
<tr key={`${group.orgId}-${index}`}>
{showAttributeMapping && (
<>
<td>{group.groupDN}</td>
{!group.orgRole && (
<>
<td />
<td>
<span className="text-warning">
No match
<Tooltip placement="top" content="No matching groups found" theme={'info'}>
<span className="gf-form-help-icon">
<Icon name="info-circle" />
</span>
</Tooltip>
</span>
</td>
</>
)}
</>
)}
{group.orgName && (
<>
<td>{group.orgName}</td>
<td>{group.orgRole}</td>
</>
)}
</tr>
);
})}
</tbody>
</table>
</div>
</div>
);
};