grafana/public/app/features/invites/InviteeRow.tsx
Josh Hunt 3c6e0e8ef8
Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00

43 lines
1.0 KiB
TypeScript

import React, { PureComponent } from 'react';
import { connect, ConnectedProps } from 'react-redux';
import { Button, ClipboardButton } from '@grafana/ui';
import { Invitee } from 'app/types';
import { revokeInvite } from './state/actions';
const mapDispatchToProps = {
revokeInvite,
};
const connector = connect(null, mapDispatchToProps);
interface OwnProps {
invitee: Invitee;
}
export type Props = OwnProps & ConnectedProps<typeof connector>;
class InviteeRow extends PureComponent<Props> {
render() {
const { invitee, revokeInvite } = this.props;
return (
<tr>
<td>{invitee.email}</td>
<td>{invitee.name}</td>
<td className="text-right">
<ClipboardButton variant="secondary" size="sm" getText={() => invitee.url}>
Copy Invite
</ClipboardButton>
&nbsp;
</td>
<td>
<Button variant="destructive" size="sm" icon="times" onClick={() => revokeInvite(invitee.code)} />
</td>
</tr>
);
}
}
export default connector(InviteeRow);