diff --git a/src/app/components/timeSeries.js b/src/app/components/timeSeries.js
index 8858b01a139..e49b45e17e4 100644
--- a/src/app/components/timeSeries.js
+++ b/src/app/components/timeSeries.js
@@ -11,6 +11,46 @@ function (_, kbn) {
this.label = opts.info.alias;
}
+ function matchSeriesOverride(aliasOrRegex, seriesAlias) {
+ if (aliasOrRegex[0] === '/') {
+ var match = aliasOrRegex.match(new RegExp('^/(.*?)/(g?i?m?y?)$'));
+ var regex = new RegExp(match[1], match[2]);
+ return seriesAlias.match(regex) != null;
+ }
+
+ return aliasOrRegex === seriesAlias;
+ }
+
+ function translateFillOption(fill) {
+ return fill === 0 ? 0.001 : fill/10;
+ }
+
+ TimeSeries.prototype.applySeriesOverrides = function(overrides) {
+ this.lines = {};
+ this.points = {};
+ this.bars = {};
+ this.info.yaxis = 1;
+ delete this.stack;
+
+ for (var i = 0; i < overrides.length; i++) {
+ var override = overrides[i];
+ if (!matchSeriesOverride(override.alias, this.info.alias)) {
+ continue;
+ }
+ if (override.lines !== void 0) { this.lines.show = override.lines; }
+ if (override.points !== void 0) { this.points.show = override.points; }
+ if (override.bars !== void 0) { this.bars.show = override.bars; }
+ if (override.fill !== void 0) { this.lines.fill = translateFillOption(override.fill); }
+ if (override.stack !== void 0) { this.stack = override.stack; }
+ if (override.linewidth !== void 0) { this.lines.lineWidth = override.linewidth; }
+ if (override.pointradius !== void 0) { this.points.radius = override.pointradius; }
+ if (override.steppedLine !== void 0) { this.lines.steps = override.steppedLine; }
+ if (override.yaxis !== void 0) {
+ this.info.yaxis = override.yaxis;
+ }
+ }
+ };
+
TimeSeries.prototype.getFlotPairs = function (fillStyle, yFormats) {
var result = [];
diff --git a/src/app/directives/grafanaGraph.js b/src/app/directives/grafanaGraph.js
index 6004b6e366c..3525e3a98f4 100755
--- a/src/app/directives/grafanaGraph.js
+++ b/src/app/directives/grafanaGraph.js
@@ -118,7 +118,7 @@ function (angular, $, kbn, moment, _) {
lines: {
show: panel.lines,
zero: false,
- fill: panel.fill === 0 ? 0.001 : panel.fill/10,
+ fill: translateFillOption(panel.fill),
lineWidth: panel.linewidth,
steps: panel.steppedLine
},
@@ -155,8 +155,8 @@ function (angular, $, kbn, moment, _) {
for (var i = 0; i < data.length; i++) {
var series = data[i];
+ series.applySeriesOverrides(panel.seriesOverrides);
series.data = series.getFlotPairs(panel.nullPointMode, panel.y_formats);
- applySeriesOverrideOptions(series);
}
if (data.length && data[0].info.timeStep) {
@@ -183,42 +183,6 @@ function (angular, $, kbn, moment, _) {
}
}
- function matchSeriesOverride(aliasOrRegex, seriesAlias) {
- if (aliasOrRegex[0] === '/') {
- var match = aliasOrRegex.match(new RegExp('^/(.*?)/(g?i?m?y?)$'));
- var regex = new RegExp(match[1], match[2]);
- return seriesAlias.match(regex) != null;
- }
-
- return aliasOrRegex === seriesAlias;
- }
-
- function applySeriesOverrideOptions(series) {
- series.lines = {};
- series.points = {};
- series.bars = {};
- delete series.stack;
-
- for (var i = 0; i < scope.panel.seriesOverrides.length; i++) {
- var override = scope.panel.seriesOverrides[i];
- if (!matchSeriesOverride(override.alias, series.info.alias)) {
- continue;
- }
- if (override.lines !== void 0) { series.lines.show = override.lines; }
- if (override.points !== void 0) { series.points.show = override.points; }
- if (override.bars !== void 0) { series.bars.show = override.bars; }
- if (override.fill !== void 0) { series.lines.fill = translateFillOption(override.fill); }
- if (override.stack !== void 0) { series.stack = override.stack; }
- if (override.linewidth !== void 0) { series.lines.lineWidth = override.linewidth; }
- if (override.pointradius !== void 0) { series.points.radius = override.pointradius; }
- if (override.steppedLine !== void 0) { series.lines.steps = override.steppedLine; }
- if (override.yaxis !== void 0) {
- series.yaxis = override.yaxis;
- series.info.yaxis = override.yaxis;
- }
- }
- }
-
function translateFillOption(fill) {
return fill === 0 ? 0.001 : fill/10;
}
diff --git a/src/app/panels/graph/legend.html b/src/app/panels/graph/legend.html
index 5524a8047fe..0e5edc459ce 100755
--- a/src/app/panels/graph/legend.html
+++ b/src/app/panels/graph/legend.html
@@ -34,12 +34,12 @@
-
-