Add alpha color channel support for graph bars (#10956)

* Set fillColor in bars on load and on color change

* Change bar fill color on color override

* Added test for series overrides

* Moved bars fill color setting into time_series. Fixed issue with prev commit where you could not show bars because of series overrides.
This commit is contained in:
Chris Rice 2018-05-08 07:18:57 -06:00 committed by Torkel Ödegaard
parent 3095dabe3c
commit 10f934d287
3 changed files with 23 additions and 3 deletions

View File

@ -281,6 +281,20 @@ describe('TimeSeries', function() {
expect(series.zindex).toBe(2);
});
});
describe('override color', function() {
beforeEach(function() {
series.applySeriesOverrides([{ alias: 'test', color: '#112233' }]);
});
it('should set color', function() {
expect(series.color).toBe('#112233');
});
it('should set bars.fillColor', function() {
expect(series.bars.fillColor).toBe('#112233');
});
});
});
describe('value formatter', function() {

View File

@ -99,6 +99,7 @@ export default class TimeSeries {
this.alias = opts.alias;
this.aliasEscaped = _.escape(opts.alias);
this.color = opts.color;
this.bars = { fillColor: opts.color };
this.valueFormater = kbn.valueFormats.none;
this.stats = {};
this.legend = true;
@ -112,11 +113,11 @@ export default class TimeSeries {
dashLength: [],
};
this.points = {};
this.bars = {};
this.yaxis = 1;
this.zindex = 0;
this.nullPointMode = null;
delete this.stack;
delete this.bars.show;
for (var i = 0; i < overrides.length; i++) {
var override = overrides[i];
@ -168,7 +169,7 @@ export default class TimeSeries {
this.fillBelowTo = override.fillBelowTo;
}
if (override.color !== void 0) {
this.color = override.color;
this.setColor(override.color);
}
if (override.transform !== void 0) {
this.transform = override.transform;
@ -346,4 +347,9 @@ export default class TimeSeries {
return false;
}
setColor(color) {
this.color = color;
this.bars.fillColor = color;
}
}

View File

@ -235,7 +235,7 @@ class GraphCtrl extends MetricsPanelCtrl {
}
changeSeriesColor(series, color) {
series.color = color;
series.setColor(color);
this.panel.aliasColors[series.alias] = series.color;
this.render();
}