mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
remove stringquery panel, replaced with query
This commit is contained in:
parent
9cf6a524df
commit
a768c9c1c2
@ -1,17 +0,0 @@
|
|||||||
<div>
|
|
||||||
<div class="row-fluid">
|
|
||||||
<div class="span2">
|
|
||||||
<label class="small">Multi-query</label><input type="checkbox" ng-change="set_multi(panel.multi) "ng-model="panel.multi" ng-checked="panel.multi">
|
|
||||||
</div>
|
|
||||||
<div class="span3" ng-show="panel.multi">
|
|
||||||
<label class="small">Arrangement</label>
|
|
||||||
<select class="input-small" ng-model="panel.multi_arrange" ng-options="f for f in ['vertical','horizontal']"></select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row-fluid" ng-show="panel.multi">
|
|
||||||
<div class="span12">
|
|
||||||
<h5>A note on multi query panels</h5>
|
|
||||||
<p>You turned on multi panel support: <i>cool</i>. Be aware that not all panels support display of multiple queries. Panels that don't support receiving several queries at one time will (should) display the results of the <strong>first query in the list</strong>. Further, some panels might not support receiving multiple queries in all modes. For example, the <strong>pie panel</strong> supports multiple queries only in <strong>query mode</strong>. In its other modes it will display the results of the first query in the list</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
@ -1,49 +0,0 @@
|
|||||||
<kibana-panel ng-controller='stringquery' ng-init="init()">
|
|
||||||
<div ng-show="!panel.multi">
|
|
||||||
<form>
|
|
||||||
<table class="form-horizontal">
|
|
||||||
<tr><td><label><small>{{panel.label}}</small></label></td></tr>
|
|
||||||
<tr>
|
|
||||||
<td width="97%" style="padding-right:20px">
|
|
||||||
<span style="position:relative">
|
|
||||||
<i class="icon-remove-sign pointer" style="position:absolute;left:10px;top:3px" ng-show="panel.query.length > 0" ng-click="panel.query='';send_query(panel.query)"></i>
|
|
||||||
<input bs-typeahead="panel.history" data-min-length=0 data-items=100 type="text" style="text-indent:20px;width:100%" ng-model="panel.query">
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
<td style="margin-left:20px" width="1%">
|
|
||||||
<button style="margin-top:0px" type="submit" class="btn btn-success btn-small" ng-click="send_query(panel.query)"><i class="icon-search"></i></button>
|
|
||||||
</td>
|
|
||||||
<tr>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
<div class='row-fluid' ng-show="panel.multi && panel.multi_arrange == 'horizontal'">
|
|
||||||
<span ng-repeat="q in panel.query">
|
|
||||||
<span style="margin-bottom:0px;margin-right:5px;display:inline-block;position:relative">
|
|
||||||
<i class="icon-remove-sign pointer" style="position:absolute;left:10px;top:8px" ng-show="panel.query.length > 1" ng-click="remove_query($index);send_query(panel.query)"></i>
|
|
||||||
<input bs-typeahead="panel.history" data-min-length=0 data-items=100 style="margin-bottom:5px; text-indent: 20px;" type="text" ng-model="panel.query[$index]" ng-model-onblur style="width:90%">
|
|
||||||
<br>
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
<br>
|
|
||||||
<button type="submit" class="btn btn-info" ng-click="send_query(panel.query)"><i class="icon-search"></i> Search</button>
|
|
||||||
<button type="submit" class="btn" ng-click="add_query();"><i class="icon-plus"></i></button>
|
|
||||||
</div>
|
|
||||||
<div ng-show="panel.multi && panel.multi_arrange == 'vertical'">
|
|
||||||
<form>
|
|
||||||
<table class="form-horizontal" style="margin-bottom:5px;">
|
|
||||||
<tr><td class="small">Queries</td></tr>
|
|
||||||
<tr ng-repeat="q in panel.query" style="margin-bottom:10px">
|
|
||||||
<td width="99%">
|
|
||||||
<span style="position:relative">
|
|
||||||
<i class="icon-remove-sign pointer" style="position:absolute;left:10px;top:3px" ng-show="panel.query.length > 1" ng-click="remove_query($index);send_query(panel.query)"></i>
|
|
||||||
<input bs-typeahead="panel.history" data-min-length=0 data-items=100 type="text" ng-model="panel.query[$index]" ng-model-onblur style="text-indent: 20px;width:100%">
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
<td width="1%" style="visibility:hidden"><button class="btn btn-info" type="submit"></button></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<button type="submit" class="btn btn-info" ng-click="send_query(panel.query)"><i class="icon-search"></i> Search</button>
|
|
||||||
<button type="submit" class="btn" ng-click="send_query(panel.query);add_query();"><i class="icon-plus"></i> Add Query</button>
|
|
||||||
</form>
|
|
||||||
</kibana-panel>
|
|
@ -1,81 +0,0 @@
|
|||||||
/*
|
|
||||||
|
|
||||||
## Stringquery
|
|
||||||
|
|
||||||
Broadcasts a query object to other panels
|
|
||||||
|
|
||||||
### Parameters
|
|
||||||
* label :: The label to stick over the field
|
|
||||||
* query :: A string or an array of querys. String if multi is off, array if it is on
|
|
||||||
This should be fixed, it should always be an array even if its only
|
|
||||||
one element
|
|
||||||
* multi :: Allow input of multiple queries? true/false
|
|
||||||
* multi_arrange :: How to arrange multu query string panels, 'vertical' or 'horizontal'
|
|
||||||
### Group Events
|
|
||||||
#### Sends
|
|
||||||
* query :: Always broadcast as an array, even in multi: false
|
|
||||||
#### Receives
|
|
||||||
* query :: An array of queries. This is probably needs to be fixed.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
angular.module('kibana.stringquery', [])
|
|
||||||
.controller('stringquery', function($scope, eventBus) {
|
|
||||||
|
|
||||||
// Set and populate defaults
|
|
||||||
var _d = {
|
|
||||||
status : "Stable",
|
|
||||||
label : "Search",
|
|
||||||
query : "*",
|
|
||||||
group : "default",
|
|
||||||
multi : false,
|
|
||||||
multi_arrange: 'horizontal',
|
|
||||||
history : [],
|
|
||||||
remember: 10 // max: 100, angular strap can't take a variable for items param
|
|
||||||
}
|
|
||||||
_.defaults($scope.panel,_d);
|
|
||||||
|
|
||||||
$scope.init = function() {
|
|
||||||
// If we're in multi query mode, they all get wiped out if we receive a
|
|
||||||
// query. Query events must be exchanged as arrays.
|
|
||||||
eventBus.register($scope,'query',function(event,query) {
|
|
||||||
$scope.panel.query = query;
|
|
||||||
update_history(query);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
$scope.send_query = function(query) {
|
|
||||||
var _query = _.isArray(query) ? query : [query];
|
|
||||||
update_history(_query);
|
|
||||||
eventBus.broadcast($scope.$id,$scope.panel.group,'query',_query);
|
|
||||||
}
|
|
||||||
|
|
||||||
$scope.add_query = function() {
|
|
||||||
if (_.isArray($scope.panel.query))
|
|
||||||
$scope.panel.query.push("")
|
|
||||||
else {
|
|
||||||
$scope.panel.query = new Array($scope.panel.query)
|
|
||||||
$scope.panel.query.push("")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$scope.set_multi = function(multi) {
|
|
||||||
$scope.panel.query = multi ?
|
|
||||||
new Array($scope.panel.query) : $scope.panel.query[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
$scope.remove_query = function(index) {
|
|
||||||
$scope.panel.query.splice(index,1);
|
|
||||||
}
|
|
||||||
|
|
||||||
var update_history = function(query) {
|
|
||||||
if($scope.panel.remember > 0) {
|
|
||||||
$scope.panel.history = _.union(query.reverse(),$scope.panel.history)
|
|
||||||
var _length = $scope.panel.history.length
|
|
||||||
if(_length > $scope.panel.remember) {
|
|
||||||
$scope.panel.history = $scope.panel.history.slice(0,$scope.panel.remember)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
Loading…
Reference in New Issue
Block a user