feat(mixed datasource): changed how query ref ids (letters) are assigned, now they are persisted

This commit is contained in:
Torkel Ödegaard
2015-08-16 11:24:25 +02:00
parent e916f93787
commit 3105215425
7 changed files with 86 additions and 21 deletions

View File

@@ -228,21 +228,13 @@ function (angular, _, $, config, kbn, moment) {
return backendSrv.datasourceRequest(options);
};
GraphiteDatasource.prototype._seriesRefLetters = [
'#A', '#B', '#C', '#D',
'#E', '#F', '#G', '#H',
'#I', '#J', '#K', '#L',
'#M', '#N', '#O', '#P',
'#Q', '#R', '#S', '#T',
'#U', '#V', '#W', '#X',
'#Y', '#Z'
];
GraphiteDatasource.prototype._seriesRefLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
GraphiteDatasource.prototype.buildGraphiteParams = function(options, scopedVars) {
var graphite_options = ['from', 'until', 'rawData', 'format', 'maxDataPoints', 'cacheTimeout'];
var clean_options = [], targets = {};
var target, targetValue, i;
var regex = /(\#[A-Z])/g;
var regex = /\#([A-Z])/g;
var intervalFormatFixRegex = /'(\d+)m'/gi;
if (options.format !== 'png') {
@@ -259,13 +251,17 @@ function (angular, _, $, config, kbn, moment) {
continue;
}
if (!target.refId) {
target.refId = this._seriesRefLetters[i];
}
targetValue = templateSrv.replace(target.target, scopedVars);
targetValue = targetValue.replace(intervalFormatFixRegex, fixIntervalFormat);
targets[this._seriesRefLetters[i]] = targetValue;
targets[target.refId] = targetValue;
}
function nestedSeriesRegexReplacer(match) {
return targets[match];
function nestedSeriesRegexReplacer(match, g1) {
return targets[g1];
}
for (i = 0; i < options.targets.length; i++) {
@@ -274,9 +270,9 @@ function (angular, _, $, config, kbn, moment) {
continue;
}
targetValue = targets[this._seriesRefLetters[i]];
targetValue = targets[target.refId];
targetValue = targetValue.replace(regex, nestedSeriesRegexReplacer);
targets[this._seriesRefLetters[i]] = targetValue;
targets[target.refId] = targetValue;
if (!target.hide) {
clean_options.push("target=" + encodeURIComponent(targetValue));

View File

@@ -48,7 +48,7 @@
<ul class="tight-form-list">
<li class="tight-form-item" style="min-width: 15px; text-align: center">
{{targetLetters[$index]}}
{{target.refId}}
</li>
<li>
<a class="tight-form-item"

View File

@@ -26,7 +26,7 @@
<ul class="tight-form-list">
<li class="tight-form-item" style="min-width: 15px; text-align: center">
{{targetLetters[$index]}}
{{target.refId}}
</li>
<li>
<a class="tight-form-item"