TimeSeries: don't auto-disable fill of fillBelowTo targets (#43165) (#43244)

(cherry picked from commit 8fdbc6cc20)

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
This commit is contained in:
Grot (@grafanabot)
2021-12-16 22:12:48 +01:00
committed by GitHub
co-authored by Leon Sorokin
parent 5c9c5f2f61
commit 3362ccd1cc
6 changed files with 3 additions and 27 deletions
@@ -1991,7 +1991,7 @@
"axisLabel": "",
"axisPlacement": "auto",
"drawStyle": "line",
"fillOpacity": 29,
"fillOpacity": 0,
"gradientMode": {
"label": "None",
"value": "none"
@@ -1346,7 +1346,7 @@
"axisPlacement": "auto",
"drawStyle": "line",
"fillGradient": "hue",
"fillOpacity": 25,
"fillOpacity": 0,
"hideFrom": {
"graph": false,
"legend": false,
@@ -307,7 +307,6 @@ export const preparePlotConfigBuilder: UPlotConfigPrepFn<{ sync: DashboardCursor
}
if (stackingGroups.size !== 0) {
builder.setStacking(true);
for (const [_, seriesIds] of stackingGroups.entries()) {
const seriesIdxs = orderIdsByCalcs({ ids: seriesIds, legend, frame });
for (let j = seriesIdxs.length - 1; j > 0; j--) {
@@ -548,7 +548,6 @@ describe('UPlotConfigBuilder', () => {
describe('Stacking', () => {
it('allows stacking config', () => {
const builder = new UPlotConfigBuilder();
builder.setStacking();
builder.addSeries({
drawStyle: GraphDrawStyle.Line,
scaleKey: 'scale-x',
@@ -40,7 +40,6 @@ export class UPlotConfigBuilder {
private scales: UPlotScaleBuilder[] = [];
private bands: Band[] = [];
private cursor: Cursor | undefined;
private isStacking = false;
private select: uPlot.Select | undefined;
private hasLeftAxis = false;
private hooks: Hooks.Arrays = {};
@@ -122,10 +121,6 @@ export class UPlotConfigBuilder {
this.select = select;
}
setStacking(enabled = true) {
this.isStacking = enabled;
}
addSeries(props: SeriesProps) {
this.series.push(new UPlotSeriesBuilder(props));
}
@@ -224,24 +219,8 @@ export class UPlotConfigBuilder {
config.tzDate = this.tzDate;
config.padding = this.padding;
if (this.isStacking) {
// Let uPlot handle bands and fills
if (this.bands.length) {
config.bands = this.bands;
} else {
// When fillBelowTo option enabled, handle series bands fill manually
if (this.bands?.length) {
config.bands = this.bands;
const killFill = new Set<number>();
for (const b of config.bands) {
killFill.add(b.series[1]);
}
for (let i = 1; i < config.series.length; i++) {
if (killFill.has(i)) {
config.series[i].fill = undefined;
}
}
}
}
return config;
@@ -213,7 +213,6 @@ export const preparePlotConfigBuilder: UPlotConfigPrepFn<BarChartOptions> = ({
}
if (stackingGroups.size !== 0) {
builder.setStacking(true);
for (const [_, seriesIds] of stackingGroups.entries()) {
const seriesIdxs = orderIdsByCalcs({ ids: seriesIds, legend, frame });
for (let j = seriesIdxs.length - 1; j > 0; j--) {