kibana-sinatra 3.0.0.0 → 3.0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +9 -3
- data/lib/kibana/assets/app/components/extend-jquery.js +1 -1
- data/lib/kibana/assets/app/components/kbn.js +1 -1
- data/lib/kibana/assets/app/components/lodash.extended.js +1 -1
- data/lib/kibana/assets/app/components/require.config.js +1 -0
- data/lib/kibana/assets/app/controllers/all.js +1 -1
- data/lib/kibana/assets/app/controllers/dash.js +1 -1
- data/lib/kibana/assets/app/controllers/pulldown.js +1 -1
- data/lib/kibana/assets/app/controllers/row.js +1 -1
- data/lib/kibana/assets/app/dashboards/blank.json +1 -1
- data/lib/kibana/assets/app/dashboards/guided.json +1 -1
- data/lib/kibana/assets/app/dashboards/noted.json +1 -1
- data/lib/kibana/assets/app/directives/addPanel.js +1 -1
- data/lib/kibana/assets/app/directives/all.js +1 -1
- data/lib/kibana/assets/app/directives/arrayJoin.js +1 -1
- data/lib/kibana/assets/app/directives/configModal.js +1 -1
- data/lib/kibana/assets/app/directives/confirmClick.js +1 -1
- data/lib/kibana/assets/app/directives/dashUpload.js +1 -1
- data/lib/kibana/assets/app/directives/esVersion.js +1 -1
- data/lib/kibana/assets/app/directives/kibanaPanel.js +1 -1
- data/lib/kibana/assets/app/directives/kibanaSimplePanel.js +2 -2
- data/lib/kibana/assets/app/directives/ngBlur.js +1 -1
- data/lib/kibana/assets/app/directives/ngModelOnBlur.js +1 -1
- data/lib/kibana/assets/app/directives/tip.js +1 -1
- data/lib/kibana/assets/app/factories/store.js +1 -1
- data/lib/kibana/assets/app/filters/all.js +11 -3
- data/lib/kibana/assets/app/panels/bettermap/module.js +2 -2
- data/lib/kibana/assets/app/panels/filtering/module.html +19 -19
- data/lib/kibana/assets/app/panels/filtering/module.js +3 -1
- data/lib/kibana/assets/app/panels/goal/module.js +1 -1
- data/lib/kibana/assets/app/panels/histogram/editor.html +3 -0
- data/lib/kibana/assets/app/panels/histogram/module.js +4 -4
- data/lib/kibana/assets/app/panels/hits/module.js +1 -1
- data/lib/kibana/assets/app/panels/map/module.js +1 -1
- data/lib/kibana/assets/app/panels/query/editors/topN.html +3 -3
- data/lib/kibana/assets/app/panels/query/meta.html +7 -7
- data/lib/kibana/assets/app/panels/query/module.html +9 -9
- data/lib/kibana/assets/app/panels/query/module.js +4 -3
- data/lib/kibana/assets/app/panels/sparklines/module.js +1 -1
- data/lib/kibana/assets/app/panels/stats/module.js +2 -2
- data/lib/kibana/assets/app/panels/table/micropanel.html +1 -1
- data/lib/kibana/assets/app/panels/table/modal.html +1 -3
- data/lib/kibana/assets/app/panels/table/module.html +7 -0
- data/lib/kibana/assets/app/panels/table/module.js +22 -13
- data/lib/kibana/assets/app/panels/terms/module.html +21 -5
- data/lib/kibana/assets/app/panels/terms/module.js +3 -3
- data/lib/kibana/assets/app/panels/timepicker/module.js +0 -1
- data/lib/kibana/assets/app/panels/trends/module.js +6 -8
- data/lib/kibana/assets/app/partials/dashLoader.html +1 -1
- data/lib/kibana/assets/app/partials/dasheditor.html +4 -4
- data/lib/kibana/assets/app/partials/querySelect.html +3 -3
- data/lib/kibana/assets/app/services/dashboard.js +14 -12
- data/lib/kibana/assets/app/services/esVersion.js +14 -8
- data/lib/kibana/assets/app/services/fields.js +16 -15
- data/lib/kibana/assets/app/services/filterSrv.js +28 -22
- data/lib/kibana/assets/app/services/kbnIndex.js +23 -20
- data/lib/kibana/assets/app/services/querySrv.js +29 -20
- data/lib/kibana/sinatra/version.rb +1 -1
- data/lib/kibana/views/config.erb +5 -0
- data/lib/tasks/update.rb +6 -4
- metadata +2 -2
@@ -7,28 +7,28 @@
|
|
7
7
|
</style>
|
8
8
|
|
9
9
|
<fieldset>
|
10
|
-
<select class="input-small" ng-model="
|
10
|
+
<select class="input-small" ng-model="dashboard.current.services.query.list[id].type" ng-change="typeChange(dashboard.current.services.query.list[id])">
|
11
11
|
<option ng-repeat="type in queryTypes">{{type}}</option>
|
12
|
-
</select>  <a href="" class="small" ng-click="queryHelp(
|
12
|
+
</select>  <a href="" class="small" ng-click="queryHelp(dashboard.current.services.query.list[id].type)"> About the {{dashboard.current.services.query.list[id].type}} query</a>
|
13
13
|
|
14
14
|
<hr class="small">
|
15
15
|
|
16
16
|
<label class="small">Legend value</label>
|
17
|
-
<input type="text" ng-model="
|
17
|
+
<input type="text" ng-model="dashboard.current.services.query.list[id].alias" placeholder="Alias...">
|
18
18
|
</fieldset>
|
19
19
|
|
20
|
-
<div ng-include src="queryConfig(
|
20
|
+
<div ng-include src="queryConfig(dashboard.current.services.query.list[id].type)"></div>
|
21
21
|
|
22
22
|
|
23
23
|
<hr class="small">
|
24
24
|
<div>
|
25
|
-
<i ng-repeat="color in querySrv.colors" class="pointer" ng-class="{'icon-circle-blank':
|
25
|
+
<i ng-repeat="color in querySrv.colors" class="pointer" ng-class="{'icon-circle-blank':dashboard.current.services.query.list[id].color == color,'icon-circle':dashboard.current.services.query.list[id].color != color}" ng-style="{color:color}" ng-click="dashboard.current.services.query.list[id].color = color;render();"> </i>
|
26
26
|
</div>
|
27
27
|
|
28
28
|
|
29
29
|
<div class="pull-right">
|
30
|
-
<a class="btn btn-mini" ng-click="
|
31
|
-
<a class="btn btn-mini" ng-class="{active:
|
30
|
+
<a class="btn btn-mini" ng-click="dashboard.current.services.query.list[id].enable=false;dashboard.refresh();dismiss();" class="pointer">Deactivate</a>
|
31
|
+
<a class="btn btn-mini" ng-class="{active:dashboard.current.services.query.list[id].pin}" ng-click="toggle_pin(id);dismiss();" class="pointer">Pin <i class="icon-pushpin"></i></a>
|
32
32
|
<input class="btn btn-mini" ng-click="dashboard.refresh();dismiss();" type="submit"/ value="Close">
|
33
33
|
</div>
|
34
34
|
</div>
|
@@ -1,13 +1,13 @@
|
|
1
1
|
<div ng-controller='query' ng-init="init()" class="query-panel">
|
2
|
-
<div ng-repeat="id in (unPinnedQueries = (
|
2
|
+
<div ng-repeat="id in (unPinnedQueries = (dashboard.current.services.query.ids|pinnedQuery:false))" ng-class="{'short-query': unPinnedQueries.length>1}">
|
3
3
|
<form class="form-search" style="position:relative;margin:5px 0;" ng-submit="refresh()">
|
4
4
|
<span class="begin-query">
|
5
|
-
<i class="pointer" ng-class="queryIcon(
|
6
|
-
<i class="pointer icon-circle-blank" ng-click="
|
7
|
-
<i class="icon-remove-sign pointer remove-query" ng-show="
|
5
|
+
<i class="pointer" ng-class="queryIcon(dashboard.current.services.query.list[id].type)" ng-show="dashboard.current.services.query.list[id].enable" data-unique="1" bs-popover="'app/panels/query/meta.html'" data-placement="bottomLeft" ng-style="{color: dashboard.current.services.query.list[id].color}"></i>
|
6
|
+
<i class="pointer icon-circle-blank" ng-click="dashboard.current.services.query.list[id].enable=true;dashboard.refresh();" ng-hide="dashboard.current.services.query.list[id].enable" bs-tooltip="'Activate query'" ng-style="{color: dashboard.current.services.query.list[id].color}"></i>
|
7
|
+
<i class="icon-remove-sign pointer remove-query" ng-show="dashboard.current.services.query.ids.length > 1" ng-click="querySrv.remove(id);refresh()"></i>
|
8
8
|
</span>
|
9
9
|
<span>
|
10
|
-
<input class="search-query panel-query" ng-disabled="!
|
10
|
+
<input class="search-query panel-query" ng-disabled="!dashboard.current.services.query.list[id].enable" ng-class="{ 'input-block-level': unPinnedQueries.length==1, 'last-query': $last, 'has-remove': dashboard.current.services.query.ids.length > 1 }" bs-typeahead="panel.history" data-min-length=0 data-items=100 type="text" ng-model="dashboard.current.services.query.list[id].query" />
|
11
11
|
</span>
|
12
12
|
<span class="end-query">
|
13
13
|
<i class="icon-search pointer" ng-click="refresh()" ng-show="$last"></i>
|
@@ -15,12 +15,12 @@
|
|
15
15
|
</span>
|
16
16
|
</form>
|
17
17
|
</div>
|
18
|
-
<div style="display:inline-block" ng-repeat="id in
|
18
|
+
<div style="display:inline-block" ng-repeat="id in dashboard.current.services.query.ids|pinnedQuery:true">
|
19
19
|
<span class="pointer badge pins" ng-show="$first" ng-click="panel.pinned = !panel.pinned">Pinned <i ng-class="{'icon-caret-right':panel.pinned,'icon-caret-left':!panel.pinned}"></i></span>
|
20
20
|
<span ng-show="panel.pinned" class="badge pinned">
|
21
|
-
<i class="icon-circle pointer" ng-show="
|
22
|
-
<i class="pointer icon-circle-blank" bs-tooltip="'Activate query'" ng-click="
|
23
|
-
<span bs-tooltip="
|
21
|
+
<i class="icon-circle pointer" ng-show="dashboard.current.services.query.list[id].enable" ng-style="{color: dashboard.current.services.query.list[id].color}" data-unique="1" bs-popover="'app/panels/query/meta.html'" data-placement="bottomLeft"></i>
|
22
|
+
<i class="pointer icon-circle-blank" bs-tooltip="'Activate query'" ng-click="dashboard.current.services.query.list[id].enable=true;dashboard.refresh();" ng-hide="dashboard.current.services.query.list[id].enable" ng-style="{color: dashboard.current.services.query.list[id].color}"></i>
|
23
|
+
<span bs-tooltip="dashboard.current.services.query.list[id].query | limitTo:45"> {{dashboard.current.services.query.list[id].alias || dashboard.current.services.query.list[id].query}}</span>
|
24
24
|
</span>
|
25
25
|
</div>
|
26
26
|
<span style="display:inline-block" ng-show="unPinnedQueries.length == 0">
|
@@ -36,6 +36,7 @@ define([
|
|
36
36
|
_.defaults($scope.panel,_d);
|
37
37
|
|
38
38
|
$scope.querySrv = querySrv;
|
39
|
+
$scope.dashboard = dashboard;
|
39
40
|
|
40
41
|
// A list of query types for the query config popover
|
41
42
|
$scope.queryTypes = querySrv.types;
|
@@ -51,7 +52,7 @@ define([
|
|
51
52
|
};
|
52
53
|
|
53
54
|
$scope.refresh = function() {
|
54
|
-
update_history(_.pluck($scope.
|
55
|
+
update_history(_.pluck($scope.dashboard.current.services.query.list,'query'));
|
55
56
|
dashboard.refresh();
|
56
57
|
};
|
57
58
|
|
@@ -60,7 +61,7 @@ define([
|
|
60
61
|
};
|
61
62
|
|
62
63
|
$scope.toggle_pin = function(id) {
|
63
|
-
|
64
|
+
dashboard.current.services.query.list[id].pin = dashboard.current.services.query.list[id].pin ? false : true;
|
64
65
|
};
|
65
66
|
|
66
67
|
$scope.queryIcon = function(type) {
|
@@ -92,7 +93,7 @@ define([
|
|
92
93
|
alias: q.alias,
|
93
94
|
color: q.color
|
94
95
|
};
|
95
|
-
|
96
|
+
dashboard.current.services.query.list[_nq.id] = querySrv.defaults(_nq);
|
96
97
|
};
|
97
98
|
|
98
99
|
var update_history = function(query) {
|
@@ -173,7 +173,7 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
|
|
173
173
|
_.each(queries, function(q) {
|
174
174
|
var query = $scope.ejs.FilteredQuery(
|
175
175
|
querySrv.toEjsObj(q),
|
176
|
-
filterSrv.getBoolFilter(filterSrv.ids)
|
176
|
+
filterSrv.getBoolFilter(filterSrv.ids())
|
177
177
|
);
|
178
178
|
|
179
179
|
var facet = $scope.ejs.DateHistogramFacet(q.id);
|
@@ -117,7 +117,7 @@ define([
|
|
117
117
|
.facetFilter($scope.ejs.QueryFilter(
|
118
118
|
$scope.ejs.FilteredQuery(
|
119
119
|
boolQuery,
|
120
|
-
filterSrv.getBoolFilter(filterSrv.ids)
|
120
|
+
filterSrv.getBoolFilter(filterSrv.ids())
|
121
121
|
)))).size(0);
|
122
122
|
|
123
123
|
_.each(queries, function (q) {
|
@@ -129,7 +129,7 @@ define([
|
|
129
129
|
.facetFilter($scope.ejs.QueryFilter(
|
130
130
|
$scope.ejs.FilteredQuery(
|
131
131
|
query,
|
132
|
-
filterSrv.getBoolFilter(filterSrv.ids)
|
132
|
+
filterSrv.getBoolFilter(filterSrv.ids())
|
133
133
|
)
|
134
134
|
))
|
135
135
|
);
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<tbody>
|
23
23
|
<tr ng-repeat='field in micropanel.values'>
|
24
24
|
<td>{{$index+1}}.</td>
|
25
|
-
<td style="word-wrap:break-word">{{{true: "__blank__", false:field[0] }[field[0] == '' || field[0] == undefined]|tableTruncate:panel.trimFactor:3}}</td>
|
25
|
+
<td style="word-wrap:break-word">{{{true: "__blank__", false:field[0] }[(field[0] == '' || field[0] == undefined) && field[0] != 0]|tableTruncate:panel.trimFactor:3}}</td>
|
26
26
|
<td>
|
27
27
|
<i class="pointer icon-search" ng-click="build_search(micropanel.field,field[0]);dismiss();"></i>
|
28
28
|
<i class="pointer icon-ban-circle" ng-click="build_search(micropanel.field,field[0],true);dismiss();"></i>
|
@@ -33,9 +33,7 @@
|
|
33
33
|
}
|
34
34
|
</style>
|
35
35
|
<h4>Top 10 terms in field {{modalField}}</h4>
|
36
|
-
<
|
37
|
-
<kibana-simple-panel ng-click="dismiss();" type="'{{facetType}}'" panel='{{facetPanel}}' ng-cloak></kibana-simple-panel>
|
38
|
-
</div>
|
36
|
+
<kibana-simple-panel ng-click="dismiss();" type="'{{facetType}}'" panel='{{facetPanel}}' ng-cloak></kibana-simple-panel>
|
39
37
|
</div>
|
40
38
|
|
41
39
|
<div class="modal-footer">
|
@@ -50,6 +50,7 @@
|
|
50
50
|
</style>
|
51
51
|
|
52
52
|
<div class="table-container">
|
53
|
+
|
53
54
|
<div bindonce ng-class="{'table-sidebar':panel.field_list}" ng-if="panel.field_list">
|
54
55
|
<div class="sidebar-nav">
|
55
56
|
|
@@ -90,6 +91,12 @@
|
|
90
91
|
</div>
|
91
92
|
|
92
93
|
<div style="{{panel.overflow}}:{{panel.height || row.height}};" ng-class="{'table-main':panel.field_list}" class="table-doc-table">
|
94
|
+
|
95
|
+
<div class="table-facet" ng-if="modalField">
|
96
|
+
<h4><button class="btn btn-mini btn-danger" ng-click="closeFacet();">close</button> Top 10 terms in field {{modalField}}</h4>
|
97
|
+
<kibana-simple-panel type="'{{facetType}}'" panel='{{facetPanel}}' ng-cloak></kibana-simple-panel>
|
98
|
+
</div>
|
99
|
+
|
93
100
|
<i class="pull-left icon-chevron-sign-right pointer" ng-click="panel.field_list = !panel.field_list" bs-tooltip="'Show field list'" ng-show="!panel.field_list"></i>
|
94
101
|
<div class="row-fluid" ng-show="panel.paging">
|
95
102
|
<div class="span1 offset1" style="text-align:right">
|
@@ -25,7 +25,8 @@ function (angular, app, _, kbn, moment) {
|
|
25
25
|
var module = angular.module('kibana.panels.table', []);
|
26
26
|
app.useModule(module);
|
27
27
|
|
28
|
-
module.controller('table', function($rootScope, $scope, $modal, $q, $compile,
|
28
|
+
module.controller('table', function($rootScope, $scope, $modal, $q, $compile, $timeout,
|
29
|
+
fields, querySrv, dashboard, filterSrv) {
|
29
30
|
$scope.panelMeta = {
|
30
31
|
modals : [
|
31
32
|
{
|
@@ -156,10 +157,19 @@ function (angular, app, _, kbn, moment) {
|
|
156
157
|
// Create a percent function for the view
|
157
158
|
$scope.percent = kbn.to_percent;
|
158
159
|
|
160
|
+
$scope.closeFacet = function() {
|
161
|
+
if($scope.modalField) {
|
162
|
+
delete $scope.modalField;
|
163
|
+
}
|
164
|
+
};
|
165
|
+
|
159
166
|
$scope.termsModal = function(field,chart) {
|
160
|
-
$scope.
|
161
|
-
|
162
|
-
|
167
|
+
$scope.closeFacet();
|
168
|
+
$timeout(function() {
|
169
|
+
$scope.modalField = field;
|
170
|
+
showModal(
|
171
|
+
'{"height":"200px","chart":"'+chart+'","field":"'+field+'"}','terms');
|
172
|
+
},0);
|
163
173
|
};
|
164
174
|
|
165
175
|
$scope.statsModal = function(field) {
|
@@ -174,18 +184,16 @@ function (angular, app, _, kbn, moment) {
|
|
174
184
|
|
175
185
|
// create a new modal. Can't reuse one modal unforunately as the directive will not
|
176
186
|
// re-render on show.
|
177
|
-
|
187
|
+
/*
|
188
|
+
$modal({
|
178
189
|
template: './app/panels/table/modal.html',
|
179
|
-
persist:
|
180
|
-
show:
|
181
|
-
scope: $scope,
|
190
|
+
persist: false,
|
191
|
+
show: true,
|
192
|
+
scope: $scope.$new(),
|
182
193
|
keyboard: false
|
183
194
|
});
|
195
|
+
*/
|
184
196
|
|
185
|
-
// and show it
|
186
|
-
$q.when(panelModal).then(function(modalEl) {
|
187
|
-
modalEl.modal('show');
|
188
|
-
});
|
189
197
|
};
|
190
198
|
|
191
199
|
|
@@ -306,7 +314,7 @@ function (angular, app, _, kbn, moment) {
|
|
306
314
|
request = request.query(
|
307
315
|
$scope.ejs.FilteredQuery(
|
308
316
|
boolQuery,
|
309
|
-
filterSrv.getBoolFilter(filterSrv.ids)
|
317
|
+
filterSrv.getBoolFilter(filterSrv.ids())
|
310
318
|
))
|
311
319
|
.highlight(
|
312
320
|
$scope.ejs.Highlight($scope.panel.highlight)
|
@@ -324,6 +332,7 @@ function (angular, app, _, kbn, moment) {
|
|
324
332
|
$scope.panelMeta.loading = false;
|
325
333
|
|
326
334
|
if(_segment === 0) {
|
335
|
+
$scope.panel.offset = 0;
|
327
336
|
$scope.hits = 0;
|
328
337
|
$scope.data = [];
|
329
338
|
$scope.current_fields = [];
|
@@ -1,6 +1,9 @@
|
|
1
1
|
<div ng-controller='terms' ng-init="init()">
|
2
2
|
<style>
|
3
3
|
.pieLabel { pointer-events: none }
|
4
|
+
.terms-legend-term {
|
5
|
+
word-break: break-all;
|
6
|
+
}
|
4
7
|
</style>
|
5
8
|
|
6
9
|
<!-- START Pie or bar chart -->
|
@@ -8,13 +11,18 @@
|
|
8
11
|
<!-- vertical legend above -->
|
9
12
|
<table class="small" ng-show="panel.arrangement == 'vertical'">
|
10
13
|
<tr ng-repeat="term in legend">
|
11
|
-
<td><i class="icon-circle" ng-style="{color:term.color}"></i></td>
|
14
|
+
<td><i class="icon-circle" ng-style="{color:term.color}"></i></td>
|
15
|
+
<td class="terms-legend-term" style="padding-right:10px;padding-left:10px;">{{term.label}}</td>
|
16
|
+
<td>{{term.data[0][1]}}</td>
|
12
17
|
</tr>
|
13
18
|
</table>
|
14
19
|
|
15
20
|
<!-- horizontal legend above -->
|
16
21
|
<span class="small" ng-show="panel.arrangement == 'horizontal'" ng-repeat="term in legend" style="float:left;padding-left: 10px;">
|
17
|
-
|
22
|
+
<span>
|
23
|
+
<i class="icon-circle" ng-style="{color:term.color}"></i>
|
24
|
+
<span class="terms-legend-term">{{term.label}}</span> ({{term.data[0][1]}})
|
25
|
+
</span>
|
18
26
|
</span>
|
19
27
|
|
20
28
|
<span class="small pull-left" ng-show="panel.tmode == 'terms_stats'">
|
@@ -32,28 +40,36 @@
|
|
32
40
|
<!-- vertical legend below -->
|
33
41
|
<table class="small" ng-show="panel.arrangement == 'vertical'">
|
34
42
|
<tr ng-repeat="term in legend">
|
35
|
-
<td><i class="icon-circle" ng-style="{color:term.color}"></i></i></td>
|
43
|
+
<td><i class="icon-circle" ng-style="{color:term.color}"></i></i></td>
|
44
|
+
<td class="terms-legend-term" style="padding-right:10px;padding-left:10px;">{{term.label}}</td>
|
45
|
+
<td>{{term.data[0][1]}}</td>
|
36
46
|
</tr>
|
37
47
|
</table>
|
38
48
|
|
39
49
|
<!-- horizontal legend below -->
|
40
50
|
<span class="small" ng-show="panel.arrangement == 'horizontal'" ng-repeat="term in legend" style="float:left;padding-left: 10px;">
|
41
|
-
|
51
|
+
<span>
|
52
|
+
<i class="icon-circle" ng-style="{color:term.color}"></i>
|
53
|
+
<span class="terms-legend-term">{{term.label}}</span> ({{term.data[0][1]}})
|
54
|
+
</span>
|
42
55
|
</span>
|
43
56
|
|
44
57
|
<span class="small pull-left" ng-show="panel.tmode == 'terms_stats'">
|
45
58
|
  | {{ panel.tstat }} of <strong>{{ panel.valuefield }}</strong>
|
46
59
|
</span>
|
47
60
|
|
61
|
+
<div style="clear:both"></div>
|
48
62
|
</div>
|
49
63
|
<!-- END Pie or Bar chart -->
|
50
64
|
|
65
|
+
|
66
|
+
|
51
67
|
<table ng-style="panel.style" class="table table-striped table-condensed" ng-show="panel.chart == 'table'">
|
52
68
|
<thead>
|
53
69
|
<th>Term</th> <th>{{ panel.tmode == 'terms_stats' ? panel.tstat : 'Count' }}</th> <th>Action</th>
|
54
70
|
</thead>
|
55
71
|
<tr ng-repeat="term in data" ng-show="showMeta(term)">
|
56
|
-
<td>{{term.label}}</td>
|
72
|
+
<td class="terms-legend-term">{{term.label}}</td>
|
57
73
|
<td>{{term.data[0][1]}}</td>
|
58
74
|
<td>
|
59
75
|
<span ng-hide="term.meta == 'other'">
|
@@ -96,7 +96,7 @@ function (angular, app, _, $, kbn) {
|
|
96
96
|
*/
|
97
97
|
chart : 'bar',
|
98
98
|
/** @scratch /panels/terms/5
|
99
|
-
* counter_pos:: The location of the legend in respect to the chart, above or
|
99
|
+
* counter_pos:: The location of the legend in respect to the chart, above, below, or none.
|
100
100
|
*/
|
101
101
|
counter_pos : 'above',
|
102
102
|
/** @scratch /panels/terms/5
|
@@ -177,7 +177,7 @@ function (angular, app, _, $, kbn) {
|
|
177
177
|
.facetFilter($scope.ejs.QueryFilter(
|
178
178
|
$scope.ejs.FilteredQuery(
|
179
179
|
boolQuery,
|
180
|
-
filterSrv.getBoolFilter(filterSrv.ids)
|
180
|
+
filterSrv.getBoolFilter(filterSrv.ids())
|
181
181
|
)))).size(0);
|
182
182
|
}
|
183
183
|
if($scope.panel.tmode === 'terms_stats') {
|
@@ -190,7 +190,7 @@ function (angular, app, _, $, kbn) {
|
|
190
190
|
.facetFilter($scope.ejs.QueryFilter(
|
191
191
|
$scope.ejs.FilteredQuery(
|
192
192
|
boolQuery,
|
193
|
-
filterSrv.getBoolFilter(filterSrv.ids)
|
193
|
+
filterSrv.getBoolFilter(filterSrv.ids())
|
194
194
|
)))).size(0);
|
195
195
|
}
|
196
196
|
|
@@ -81,7 +81,6 @@ function (angular, app, _, moment, kbn) {
|
|
81
81
|
$scope.temptime.from.date.setHours(0,0,0,0);
|
82
82
|
$scope.temptime.to.date.setHours(0,0,0,0);
|
83
83
|
|
84
|
-
console.log(new Date().getTimezoneOffset());
|
85
84
|
|
86
85
|
// This is an ugly hack, but works.
|
87
86
|
if(new Date().getTimezoneOffset() < 0) {
|
@@ -110,11 +110,13 @@ function (angular, app, _, kbn) {
|
|
110
110
|
timeField = timeField[0];
|
111
111
|
}
|
112
112
|
|
113
|
-
// This logic can be
|
113
|
+
// This logic can be simplified greatly with the new kbn.parseDate
|
114
114
|
$scope.time = filterSrv.timeRange('last');
|
115
|
+
|
116
|
+
|
115
117
|
$scope.old_time = {
|
116
|
-
from : new Date($scope.time.from.getTime() - kbn.interval_to_ms($scope.panel.ago)),
|
117
|
-
to : new Date($scope.time.to.getTime() - kbn.interval_to_ms($scope.panel.ago))
|
118
|
+
from : new Date($scope.time.from.getTime() - kbn.interval_to_ms($scope.panel.ago)).valueOf(),
|
119
|
+
to : new Date($scope.time.to.getTime() - kbn.interval_to_ms($scope.panel.ago)).valueOf()
|
118
120
|
};
|
119
121
|
|
120
122
|
var _segment = _.isUndefined(segment) ? 0 : segment;
|
@@ -128,11 +130,7 @@ function (angular, app, _, kbn) {
|
|
128
130
|
_.each(queries, function(query) {
|
129
131
|
var q = $scope.ejs.FilteredQuery(
|
130
132
|
querySrv.toEjsObj(query),
|
131
|
-
filterSrv.getBoolFilter(
|
132
|
-
$scope.ejs.RangeFilter(timeField)
|
133
|
-
.from($scope.time.from)
|
134
|
-
.to($scope.time.to)
|
135
|
-
));
|
133
|
+
filterSrv.getBoolFilter(filterSrv.ids()));
|
136
134
|
|
137
135
|
request = request
|
138
136
|
.facet($scope.ejs.QueryFacet(query.id)
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
<li ng-repeat="pulldown in dashboard.current.nav" ng-controller="PulldownCtrl" ng-show="pulldown.enable"><kibana-simple-panel type="pulldown.type" ng-cloak></kibana-simple-panel></li>
|
8
8
|
|
9
|
-
<li><a bs-tooltip="'Goto saved default'" data-placement="bottom" href='#/dashboard'><i class='icon-home'></i></a></li>
|
9
|
+
<li ng-if="dashboard.current.loader.show_home !== false"><a bs-tooltip="'Goto saved default'" data-placement="bottom" href='#/dashboard'><i class='icon-home'></i></a></li>
|
10
10
|
<li class="dropdown" ng-show="showDropdown('load')" >
|
11
11
|
<a href="#" bs-tooltip="'Load'" data-placement="bottom" class="dropdown-toggle" data-toggle="dropdown" ng-click="elasticsearch_dblist('title:'+elasticsearch.query+'*')">
|
12
12
|
<i class='icon-folder-open'></i>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<div ng-model="editor.index" bs-tabs style="text-transform:capitalize;">
|
5
5
|
<div ng-repeat="tab in ['General','Index','Rows','Controls']" data-title="{{tab}}">
|
6
6
|
</div>
|
7
|
-
<div ng-repeat="tab in dashboard.current.nav" data-title="{{tab.type}}">
|
7
|
+
<div ng-repeat="tab in dashboard.current.nav|editable" data-title="{{tab.title || tab.type}}">
|
8
8
|
</div>
|
9
9
|
</div>
|
10
10
|
|
@@ -162,14 +162,14 @@
|
|
162
162
|
<div class="editor-option" ng-repeat="pulldown in dashboard.current.pulldowns">
|
163
163
|
<label class="small" style="text-transform:capitalize;">{{pulldown.type}}</label><input type="checkbox" ng-model="pulldown.enable" ng-checked="pulldown.enable">
|
164
164
|
</div>
|
165
|
-
<div class="editor-option" ng-repeat="pulldown in dashboard.current.nav">
|
165
|
+
<div class="editor-option" ng-repeat="pulldown in dashboard.current.nav|editable">
|
166
166
|
<label class="small" style="text-transform:capitalize;">{{pulldown.type}}</label><input type="checkbox" ng-model="pulldown.enable" ng-checked="pulldown.enable">
|
167
167
|
</div>
|
168
168
|
</div>
|
169
169
|
</div>
|
170
170
|
</div>
|
171
171
|
|
172
|
-
<div ng-repeat="pulldown in dashboard.current.nav" ng-controller="PulldownCtrl" ng-show="editor.index == 4+$index">
|
172
|
+
<div ng-repeat="pulldown in dashboard.current.nav|editable" ng-controller="PulldownCtrl" ng-show="editor.index == 4+$index">
|
173
173
|
<ng-include ng-show="pulldown.enable" src="edit_path(pulldown.type)"></ng-include>
|
174
174
|
<button ng-hide="pulldown.enable" class="btn" ng-click="pulldown.enable = true">Enable the {{pulldown.type}}</button>
|
175
175
|
</div>
|
@@ -181,4 +181,4 @@
|
|
181
181
|
<button type="button" ng-click="add_row(dashboard.current,row); reset_row();" class="btn btn-info" ng-show="editor.index == 2">Create Row</button>
|
182
182
|
<button type="button" class="btn btn-success" ng-click="editor.index=0;editSave(dashboard);dismiss();reset_panel();dashboard.refresh()">Save</button>
|
183
183
|
<button type="button" class="btn btn-danger" ng-click="editor.index=0;dismiss();reset_panel();dashboard.refresh()">Cancel</button>
|
184
|
-
</div>
|
184
|
+
</div>
|
@@ -16,9 +16,9 @@
|
|
16
16
|
</div>
|
17
17
|
<div class="span9 querySelect" ng-show="panel.queries.mode == 'selected'">
|
18
18
|
<label class="small">Selected Queries</label>
|
19
|
-
<span ng-style="{'border-color': querySrv.list[id].color}" ng-class="{selected:_.contains(panel.queries.ids,id),unselected:!_.contains(panel.queries.ids,id)}" ng-repeat="id in querySrv.ids" ng-click="panel.queries.ids = _.toggleInOut(panel.queries.ids,id);set_refresh(true);" class="query pointer badge">
|
20
|
-
<i class="icon-circle" ng-style="{color: querySrv.list[id].color}"></i>
|
21
|
-
<span> {{querySrv.list[id].alias || querySrv.list[id].query}}</span>
|
19
|
+
<span ng-style="{'border-color': querySrv.list()[id].color}" ng-class="{selected:_.contains(panel.queries.ids,id),unselected:!_.contains(panel.queries.ids,id)}" ng-repeat="id in querySrv.ids()" ng-click="panel.queries.ids = _.toggleInOut(panel.queries.ids,id);set_refresh(true);" class="query pointer badge">
|
20
|
+
<i class="icon-circle" ng-style="{color: querySrv.list()[id].color}"></i>
|
21
|
+
<span> {{querySrv.list()[id].alias || querySrv.list()[id].query}}</span>
|
22
22
|
</span>
|
23
23
|
</div>
|
24
24
|
</div>
|