Commit 8f17a84f by Torkel Ödegaard

mysql: added basic templating support

parent 253b8be4
...@@ -7,11 +7,22 @@ export class MysqlDatasource { ...@@ -7,11 +7,22 @@ export class MysqlDatasource {
name: any; name: any;
/** @ngInject */ /** @ngInject */
constructor(instanceSettings, private backendSrv, private $q) { constructor(instanceSettings, private backendSrv, private $q, private templateSrv) {
this.name = instanceSettings.name; this.name = instanceSettings.name;
this.id = instanceSettings.id; this.id = instanceSettings.id;
} }
interpolateVariable(value) {
if (typeof value === 'string') {
return '\"' + value + '\"';
}
var quotedValues = _.map(value, function(val) {
return '\"' + val + '\"';
});
return quotedValues.join(',');
}
query(options) { query(options) {
var queries = _.filter(options.targets, item => { var queries = _.filter(options.targets, item => {
return item.hide !== true; return item.hide !== true;
...@@ -21,7 +32,7 @@ export class MysqlDatasource { ...@@ -21,7 +32,7 @@ export class MysqlDatasource {
intervalMs: options.intervalMs, intervalMs: options.intervalMs,
maxDataPoints: options.maxDataPoints, maxDataPoints: options.maxDataPoints,
datasourceId: this.id, datasourceId: this.id,
rawSql: item.rawSql, rawSql: this.templateSrv.replace(item.rawSql, options.scopedVars, this.interpolateVariable),
format: item.format, format: item.format,
}; };
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment