mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
feat(templating): added new template variable type constant
This commit is contained in:
parent
ca8543348b
commit
1ea54049d0
@ -25,6 +25,7 @@ function (angular, _) {
|
||||
{value: "interval", text: "Interval"},
|
||||
{value: "datasource", text: "Data source"},
|
||||
{value: "custom", text: "Custom"},
|
||||
{value: "constant", text: "Constant"},
|
||||
];
|
||||
|
||||
$scope.refreshOptions = [
|
||||
@ -141,15 +142,34 @@ function (angular, _) {
|
||||
$scope.current = angular.copy(replacementDefaults);
|
||||
};
|
||||
|
||||
$scope.showSelectionOptions = function() {
|
||||
if ($scope.current) {
|
||||
if ($scope.current.type === 'query') {
|
||||
return true;
|
||||
}
|
||||
if ($scope.current.type === 'custom') {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
$scope.typeChanged = function () {
|
||||
if ($scope.current.type === 'interval') {
|
||||
$scope.current.query = '1m,10m,30m,1h,6h,12h,1d,7d,14d,30d';
|
||||
$scope.current.refresh = 0;
|
||||
}
|
||||
|
||||
if ($scope.current.type === 'query') {
|
||||
$scope.current.query = '';
|
||||
}
|
||||
|
||||
if ($scope.current.type === 'constant') {
|
||||
$scope.current.query = '';
|
||||
$scope.current.refresh = 0;
|
||||
$scope.current.hide = 2;
|
||||
}
|
||||
|
||||
if ($scope.current.type === 'datasource') {
|
||||
$scope.current.query = $scope.datasourceTypes[0].value;
|
||||
$scope.current.regex = '';
|
||||
|
@ -152,6 +152,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-show="current.type === 'constant'" class="gf-form-group">
|
||||
<h5 class="section-heading">Constant options</h5>
|
||||
<div class="gf-form">
|
||||
<span class="gf-form-label">Value</span>
|
||||
<input type="text" class="gf-form-input" ng-model='current.query' ng-blur="runQuery()" placeholder="your metric prefix"></input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-show="current.type === 'query'" class="gf-form-group">
|
||||
<h5 class="section-heading">Query Options</h5>
|
||||
|
||||
@ -214,7 +222,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section gf-form-group" ng-hide="current.type === 'datasource'">
|
||||
<div class="section gf-form-group" ng-show="showSelectionOptions()">
|
||||
<h5 class="section-heading">Selection Options</h5>
|
||||
<div class="section">
|
||||
<gf-form-switch class="gf-form"
|
||||
|
@ -168,6 +168,11 @@ function (angular, _, kbn) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (variable.type === 'constant') {
|
||||
variable.options = [{text: variable.query, value: variable.query}];
|
||||
return;
|
||||
}
|
||||
|
||||
// extract options in comma seperated string
|
||||
variable.options = _.map(variable.query.split(/[,]+/), function(text) {
|
||||
return { text: text.trim(), value: text.trim() };
|
||||
@ -175,6 +180,7 @@ function (angular, _, kbn) {
|
||||
|
||||
if (variable.type === 'interval') {
|
||||
self.updateAutoInterval(variable);
|
||||
return;
|
||||
}
|
||||
|
||||
if (variable.type === 'custom' && variable.includeAll) {
|
||||
@ -273,7 +279,7 @@ function (angular, _, kbn) {
|
||||
if (currentOption) {
|
||||
return self.setVariableValue(variable, currentOption, false);
|
||||
} else {
|
||||
if (!variable.options.length) { return; }
|
||||
if (!variable.options.length) { return $q.when(null); }
|
||||
return self.setVariableValue(variable, variable.options[0]);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user