ui/logviewer/ErrorLines.jsx (36 lines of code) (raw):
import React from 'react';
import PropTypes from 'prop-types';
export default class ErrorLines extends React.PureComponent {
render() {
const { errors, onClickLine } = this.props;
return (
<div className="error-lines">
<table>
<tbody>
{errors.map((error) => (
<tr
key={error.lineNumber}
onClick={() => onClickLine([error.lineNumber], true)}
className="error-line pointable small"
>
<td className="badge badge-secondary pb-1 pr-1 rounded-0">
{error.lineNumber}
</td>
<td className="error-line-text">{error.line}</td>
</tr>
))}
</tbody>
</table>
</div>
);
}
}
ErrorLines.propTypes = {
errors: PropTypes.arrayOf(
PropTypes.shape({
line: PropTypes.string.isRequired,
lineNumber: PropTypes.number.isRequired,
}),
).isRequired,
onClickLine: PropTypes.func.isRequired,
};