2018-12-03 04:58:25 -06:00
|
|
|
import React, { PureComponent } from 'react';
|
|
|
|
|
2019-01-22 02:22:38 -06:00
|
|
|
import { LogLabel } from './LogLabel';
|
2019-05-22 16:10:05 -05:00
|
|
|
import { Labels, LogRowModel } from '@grafana/ui';
|
2018-12-03 04:58:25 -06:00
|
|
|
|
2019-01-22 02:22:38 -06:00
|
|
|
interface Props {
|
2019-01-22 01:59:22 -06:00
|
|
|
getRows?: () => LogRowModel[];
|
2019-03-29 03:41:37 -05:00
|
|
|
labels: Labels;
|
2018-12-03 04:58:25 -06:00
|
|
|
plain?: boolean;
|
|
|
|
onClickLabel?: (label: string, value: string) => void;
|
2019-01-22 02:22:38 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
export class LogLabels extends PureComponent<Props> {
|
2018-12-03 04:58:25 -06:00
|
|
|
render() {
|
2018-12-09 06:23:44 -06:00
|
|
|
const { getRows, labels, onClickLabel, plain } = this.props;
|
2019-03-11 09:55:11 -05:00
|
|
|
return (
|
|
|
|
<span className="logs-labels">
|
|
|
|
{Object.keys(labels).map(key => (
|
|
|
|
<LogLabel
|
|
|
|
key={key}
|
|
|
|
getRows={getRows}
|
|
|
|
label={key}
|
|
|
|
value={labels[key]}
|
|
|
|
plain={plain}
|
|
|
|
onClickLabel={onClickLabel}
|
|
|
|
/>
|
|
|
|
))}
|
|
|
|
</span>
|
|
|
|
);
|
2018-12-03 04:58:25 -06:00
|
|
|
}
|
|
|
|
}
|