Commit 71984b25 by Torkel Ödegaard

Merge pull request #2808 from utkarshcmu/master

Implemented Opentsdb MultiSelect Templating.
parents 4100c988 6f43cbf6
......@@ -186,7 +186,7 @@
All format
</li>
<li ng-show="current.includeAll">
<select class="input-medium tight-form-input last" ng-model="current.allFormat" ng-change="runQuery()" ng-options="f for f in ['glob', 'wildcard', 'regex wildcard', 'regex values', 'lucene']"></select>
<select class="input-medium tight-form-input last" ng-model="current.allFormat" ng-change="runQuery()" ng-options="f for f in ['glob', 'wildcard', 'regex wildcard', 'regex values', 'lucene', 'pipe']"></select>
</li>
</ul>
<div class="clearfix"></div>
......@@ -217,7 +217,7 @@
Multi format
</li>
<li ng-show="current.multi">
<select class="input-medium tight-form-input last" ng-model="current.multiFormat" ng-change="runQuery()" ng-options="f for f in ['glob', 'regex values', 'lucene']"></select>
<select class="input-medium tight-form-input last" ng-model="current.multiFormat" ng-change="runQuery()" ng-options="f for f in ['glob', 'regex values', 'lucene', 'pipe']"></select>
</li>
</ul>
<div class="clearfix"></div>
......
......@@ -46,6 +46,9 @@ function (angular, _) {
case "lucene": {
return '(' + value.join(' OR ') + ')';
}
case "pipe": {
return value.join('|');
}
default: {
return '{' + value.join(',') + '}';
}
......
......@@ -271,6 +271,10 @@ function (angular, _, kbn) {
}).join('|') + ')';
break;
}
case 'pipe': {
allValue = _.pluck(variable.options, 'text').join('|');
break;
}
default: {
allValue = '{';
allValue += _.pluck(variable.options, 'text').join(',');
......
......@@ -81,6 +81,16 @@ define([
expect(result).to.be('(test|test2)');
});
it('multi value and pipe should render pipe string', function() {
var result = _templateSrv.renderVariableValue({
multiFormat: 'pipe',
current: {
value: ['test','test2'],
}
});
expect(result).to.be('test|test2');
});
});
describe('can check if variable exists', function() {
......
......@@ -349,6 +349,17 @@ define([
});
});
describeUpdateVariable('with include all pipe all values', function(scenario) {
scenario.setup(function() {
scenario.variable = { type: 'query', query: 'apps.*', name: 'test', includeAll: true, allFormat: 'pipe' };
scenario.queryResult = [{text: 'backend1'}, {text: 'backend2'}, { text: 'backend3'}];
});
it('should add pipe delimited string', function() {
expect(scenario.variable.options[0].value).to.be('backend1|backend2|backend3');
});
});
});
});
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