@grafana/ui
Version:
Grafana Components Library
59 lines (54 loc) • 1.88 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var jsxRuntime = require('react/jsx-runtime');
var React = require('react');
var PanelContext = require('../../components/PanelChrome/PanelContext.cjs');
var PlotLegend = require('../../components/uPlot/PlotLegend.cjs');
var ThemeContext = require('../../themes/ThemeContext.cjs');
var GraphNG = require('../GraphNG/GraphNG.cjs');
var utils = require('./utils.cjs');
;
const propsToDiff = ["legend", "options", "theme"];
class UnthemedTimeSeries extends React.Component {
constructor() {
super(...arguments);
this.prepConfig = (alignedFrame, allFrames, getTimeRange) => {
const { sync } = this.context;
const { theme, timeZone, renderers, tweakAxis, tweakScale } = this.props;
return utils.preparePlotConfigBuilder({
frame: alignedFrame,
theme,
timeZones: Array.isArray(timeZone) ? timeZone : [timeZone],
getTimeRange,
sync,
allFrames,
renderers,
tweakScale,
tweakAxis
});
};
this.renderLegend = (config) => {
const { legend, frames } = this.props;
if (!config || legend && !legend.showLegend || !PlotLegend.hasVisibleLegendSeries(config, frames)) {
return null;
}
return /* @__PURE__ */ jsxRuntime.jsx(PlotLegend.PlotLegend, { data: frames, config, ...legend });
};
}
render() {
return /* @__PURE__ */ jsxRuntime.jsx(
GraphNG.GraphNG,
{
...this.props,
prepConfig: this.prepConfig,
propsToDiff,
renderLegend: this.renderLegend
}
);
}
}
UnthemedTimeSeries.contextType = PanelContext.PanelContextRoot;
const TimeSeries = ThemeContext.withTheme2(UnthemedTimeSeries);
TimeSeries.displayName = "TimeSeries";
exports.TimeSeries = TimeSeries;
//# sourceMappingURL=TimeSeries.cjs.map