mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
work on tags in variables
This commit is contained in:
@@ -9,7 +9,7 @@ function (angular, app, _) {
|
||||
|
||||
angular
|
||||
.module('grafana.directives')
|
||||
.directive('variableValueSelect', function($compile, $window, $timeout) {
|
||||
.directive('variableValueSelect', function($compile, $window, $timeout, datasourceSrv) {
|
||||
return {
|
||||
scope: {
|
||||
variable: "=",
|
||||
@@ -132,6 +132,9 @@ function (angular, app, _) {
|
||||
}
|
||||
};
|
||||
|
||||
scope.selectTag = function(tag) {
|
||||
};
|
||||
|
||||
scope.hide = function() {
|
||||
scope.selectorOpen = false;
|
||||
bodyEl.off('click', scope.bodyOnClick);
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
</div>
|
||||
<div class="variable-options-column" ng-if="variable.tags">
|
||||
<!-- <div class="variable-options-column-header">Tags</div> -->
|
||||
<a class="variable-option-tag pointer" ng-repeat="(key, values) in variable.tags" ng-click="selectTag(option, $event)">
|
||||
<span class="label-tag" tag-color-from-name="key">{{key}}</span>
|
||||
<a class="variable-option-tag pointer" ng-repeat="tag in variable.tags" ng-click="selectTag(option, $event)">
|
||||
<span class="label-tag" tag-color-from-name="tag">{{tag}}</span>
|
||||
<span class="fa fa-fw variable-option-icon"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -226,6 +226,42 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="editor-row" ng-if="current.type === 'query'">
|
||||
<div class="tight-form-section">
|
||||
<h5>Value Groups/Tags</h5>
|
||||
<div class="tight-form" ng-if="current.useTags">
|
||||
<ul class="tight-form-list">
|
||||
<li class="tight-form-item" style="width: 115px">
|
||||
Tags query
|
||||
</li>
|
||||
<li>
|
||||
<input type="text" style="width: 588px" class="input-xxlarge tight-form-input last" ng-model='current.tagsQuery' placeholder="metric name or tags query" ng-model-onblur ng-change="runQuery()"></input>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="tight-form" ng-if="current.useTags">
|
||||
<ul class="tight-form-list">
|
||||
<li class="tight-form-item" style="width: 115px;">
|
||||
Tags values query
|
||||
</li>
|
||||
<li>
|
||||
<input type="text" style="width: 588px" class="input tight-form-input last" ng-model='current.tagValuesQuery' placeholder="apps.$__tag.*" ng-model-onblur ng-change="runQuery()"></input>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
<div class="tight-form">
|
||||
<ul class="tight-form-list">
|
||||
<li class="tight-form-item last">
|
||||
<editor-checkbox text="Enable" model="current.useTags" change="runQuery()"></editor-checkbox>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="editor-row">
|
||||
<div class="tight-form-section">
|
||||
<h5>Preview of values (shows max 20)</h5>
|
||||
|
||||
@@ -120,7 +120,7 @@ function (angular, _, kbn) {
|
||||
}
|
||||
|
||||
return datasourceSrv.get(variable.datasource).then(function(datasource) {
|
||||
return datasource.metricFindQuery(variable.query).then(function (results) {
|
||||
var queryPromise = datasource.metricFindQuery(variable.query).then(function (results) {
|
||||
variable.options = self.metricNamesToVariableValues(variable, results);
|
||||
|
||||
if (variable.includeAll) {
|
||||
@@ -138,6 +138,19 @@ function (angular, _, kbn) {
|
||||
|
||||
return self.setVariableValue(variable, variable.options[0]);
|
||||
});
|
||||
|
||||
if (variable.useTags) {
|
||||
return queryPromise.then(function() {
|
||||
datasource.metricFindQuery(variable.tagsQuery).then(function (results) {
|
||||
variable.tags = [];
|
||||
for (var i = 0; i < results.length; i++) {
|
||||
variable.tags.push(results[i].text);
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
return queryPromise;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user