mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 02:23:31 -06:00
graph legend: minor refactor
This commit is contained in:
parent
302158fb2b
commit
36354856f9
@ -26,6 +26,10 @@ export class SeriesColorPicker extends React.Component<SeriesColorPickerProps> {
|
||||
this.openColorPicker = this.openColorPicker.bind(this);
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
this.destroyDrop();
|
||||
}
|
||||
|
||||
openColorPicker() {
|
||||
if (this.colorPickerDrop) {
|
||||
this.destroyDrop();
|
||||
|
@ -61,10 +61,36 @@ export class LegendItem extends React.PureComponent<LegendItemProps, LegendItemS
|
||||
this.forceUpdate();
|
||||
};
|
||||
|
||||
getOptionSeriesCSSClasses() {
|
||||
const { series, hidden } = this.props;
|
||||
const classes = [];
|
||||
if (series.yaxis === 2) {
|
||||
classes.push('graph-legend-series--right-y');
|
||||
}
|
||||
if (hidden) {
|
||||
classes.push('graph-legend-series-hidden');
|
||||
}
|
||||
return classes.join(' ');
|
||||
}
|
||||
|
||||
renderLegendValues() {
|
||||
const { series, asTable } = this.props;
|
||||
const legendValueItems = [];
|
||||
for (const valueName of LEGEND_STATS) {
|
||||
if (this.props[valueName]) {
|
||||
const valueFormatted = series.formatValue(series.stats[valueName]);
|
||||
legendValueItems.push(
|
||||
<LegendValue key={valueName} valueName={valueName} value={valueFormatted} asTable={asTable} />
|
||||
);
|
||||
}
|
||||
}
|
||||
return legendValueItems;
|
||||
}
|
||||
|
||||
render() {
|
||||
const { series, hidden, asTable } = this.props;
|
||||
const seriesOptionClasses = getOptionSeriesCSSClasses(series, hidden);
|
||||
const valueItems = this.props.values ? renderLegendValues(this.props, series, asTable) : [];
|
||||
const { series, values, asTable } = this.props;
|
||||
const seriesOptionClasses = this.getOptionSeriesCSSClasses();
|
||||
const valueItems = values ? this.renderLegendValues() : [];
|
||||
const seriesLabel = (
|
||||
<LegendSeriesLabel
|
||||
label={series.aliasEscaped}
|
||||
@ -188,27 +214,3 @@ function LegendValue(props: LegendValueProps) {
|
||||
}
|
||||
return <div className={`graph-legend-value ${valueName}`}>{value}</div>;
|
||||
}
|
||||
|
||||
function renderLegendValues(props: LegendItemProps, series, asTable = false) {
|
||||
const legendValueItems = [];
|
||||
for (const valueName of LEGEND_STATS) {
|
||||
if (props[valueName]) {
|
||||
const valueFormatted = series.formatValue(series.stats[valueName]);
|
||||
legendValueItems.push(
|
||||
<LegendValue key={valueName} valueName={valueName} value={valueFormatted} asTable={asTable} />
|
||||
);
|
||||
}
|
||||
}
|
||||
return legendValueItems;
|
||||
}
|
||||
|
||||
function getOptionSeriesCSSClasses(series, hidden) {
|
||||
const classes = [];
|
||||
if (series.yaxis === 2) {
|
||||
classes.push('graph-legend-series--right-y');
|
||||
}
|
||||
if (hidden) {
|
||||
classes.push('graph-legend-series-hidden');
|
||||
}
|
||||
return classes.join(' ');
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user