This repository has been archived on 2022-08-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
outline/frontend/scenes/Settings/components/ApiKeyRow/ApiKeyRow.js
2017-05-11 17:23:56 -07:00

49 lines
990 B
JavaScript

// @flow
import React, { PropTypes } from 'react';
import styles from './ApiKeyRow.scss';
import classNames from 'classnames/bind';
const cx = classNames.bind(styles);
class ApiKeyRow extends React.Component {
static propTypes = {
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
secret: PropTypes.string.isRequired,
onDelete: PropTypes.func.isRequired,
};
state = {
disabled: false,
};
onClick = () => {
this.props.onDelete(this.props.id);
this.setState({ disabled: true });
};
render() {
const { name, secret } = this.props;
const { disabled } = this.state;
return (
<tr>
<td>{name}</td>
<td><code>{secret}</code></td>
<td>
<span
role="button"
onClick={this.onClick}
className={cx(styles.deleteAction, { disabled })}
>
Delete
</span>
</td>
</tr>
);
}
}
export default ApiKeyRow;