mirror of https://github.com/grafana/grafana
parent
e399c328e2
commit
0d560c24e6
File diff suppressed because one or more lines are too long
@ -0,0 +1,7 @@ |
||||
<div> |
||||
<div class="row-fluid"> |
||||
<div class="span12"> |
||||
No options here |
||||
</div> |
||||
</div> |
||||
</div> |
@ -0,0 +1,5 @@ |
||||
<style> |
||||
</style> |
||||
<a class="close" ng-click="render();dismiss();" href="">×</a> |
||||
<input class="input-medium" type="text" ng-model="queries.list[id].alias" placeholder='Alias...' /> |
||||
<i ng-repeat="color in queries.colors" class="pointer" ng-class="{'icon-circle-blank':queries.list[id].color == color,'icon-circle':queries.list[id].color != color}" style="color:{{color}}" ng-click="queries.list[id].color = color;render();"> </i> |
@ -0,0 +1,51 @@ |
||||
<kibana-panel ng-controller='query' ng-init="init()"> |
||||
<style> |
||||
.short-query { |
||||
display:inline-block; |
||||
margin-left: 10px; |
||||
} |
||||
.begin-query { |
||||
position:absolute; |
||||
left:15px; |
||||
top:5px; |
||||
} |
||||
.end-query { |
||||
position:absolute; |
||||
right:15px; |
||||
top:5px; |
||||
} |
||||
.panel-query { |
||||
padding-left: 35px !important; |
||||
height: 31px !important; |
||||
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ |
||||
-moz-box-sizing: border-box; /* Firefox, other Gecko */ |
||||
box-sizing: border-box; /* Opera/IE 8+ */ |
||||
} |
||||
.form-search:hover .has-remove { |
||||
padding-left: 50px !important; |
||||
} |
||||
.remove-query { |
||||
opacity: 0; |
||||
} |
||||
.last-query { |
||||
padding-right: 45px !important; |
||||
} |
||||
.form-search:hover .remove-query { |
||||
opacity: 1; |
||||
} |
||||
</style> |
||||
<label class="small">{{panel.label}}</label> |
||||
<div ng-repeat="id in queries.ids" ng-class="{'short-query': queries.ids.length>1}"> |
||||
<form class="form-search" style="position:relative" ng-submit="refresh()"> |
||||
<span class="begin-query"> |
||||
<i class="icon-circle pointer" data-unique="1" bs-popover="'panels/query/meta.html'" data-placement="right" style="color:{{queries.list[id].color}}"></i> |
||||
<i class="icon-remove-sign pointer remove-query" ng-show="queries.ids.length>1" ng-click="queries.remove(id);refresh()"></i> |
||||
</span> |
||||
<input class="search-query panel-query" ng-class="{'input-block-level': queries.ids.length==1,'last-query': $last,'has-remove': queries.ids.length>1}" bs-typeahead="panel.history" data-min-length=0 data-items=100 type="text" ng-model="queries.list[id].query"/> |
||||
<span class="end-query"> |
||||
<i class="icon-search pointer" ng-click="refresh()" ng-show="$last"></i> |
||||
<i class="icon-plus pointer" ng-click="queries.set({})" ng-show="$last"></i> |
||||
</span |
||||
</form> |
||||
</div> |
||||
</kibana-panel> |
@ -0,0 +1,70 @@ |
||||
/* |
||||
|
||||
## query |
||||
|
||||
An experimental panel for the query service |
||||
|
||||
### 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.query', []) |
||||
.controller('query', function($scope, eventBus, query, $rootScope) { |
||||
|
||||
// Set and populate defaults
|
||||
var _d = { |
||||
status : "Experimental", |
||||
label : "Search", |
||||
query : "*", |
||||
group : "default", |
||||
history : [], |
||||
remember: 10 // max: 100, angular strap can't take a variable for items param
|
||||
} |
||||
_.defaults($scope.panel,_d); |
||||
|
||||
$scope.queries = query; |
||||
|
||||
$scope.init = function() { |
||||
} |
||||
|
||||
$scope.refresh = function(query) { |
||||
console.log('refresh') |
||||
$rootScope.$broadcast('refresh') |
||||
} |
||||
|
||||
$scope.render = function(query) { |
||||
console.log('render') |
||||
$rootScope.$broadcast('render') |
||||
} |
||||
|
||||
$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("") |
||||
} |
||||
} |
||||
|
||||
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) |
||||
} |
||||
} |
||||
} |
||||
|
||||
}); |
@ -1,10 +1,11 @@ |
||||
<kibana-panel ng-controller='trends' ng-init="init()"> |
||||
|
||||
<div ng-style="panel.style" style="line-height:{{panel.style['font-size']}};display:inline-block;padding-right: 5px;" ng-repeat="query in trends"> |
||||
<i class="icon-circle" style="color:{{query.info.color}}"></i> |
||||
<span ng-class="{'text-success': query.hits.new >= query.hits.old, 'text-error': query.hits.old > query.hits.new}" class='strong'> |
||||
<i class='large' ng-class="{'icon-caret-up': query.hits.new >= query.hits.old, 'icon-caret-down': query.hits.old > query.hits.new}"></i> {{query.percent}}% |
||||
</span> |
||||
<span class="tiny pointer light" bs-tooltip="'Then: '+query.hits.old+', Now: '+query.hits.new">({{query.label}})</span> |
||||
<span class="tiny pointer light" bs-tooltip="'Then: '+query.hits.old+', Now: '+query.hits.new" ng-show="query.label != ''">({{query.info.alias}})</span> |
||||
<br ng-show="panel.arrangement == 'vertical'"> |
||||
</div> |
||||
</kibana-panel> |
Loading…
Reference in new issue