kibana-sinatra 3.0.0.0 → 3.0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -3
  3. data/lib/kibana/assets/app/components/extend-jquery.js +1 -1
  4. data/lib/kibana/assets/app/components/kbn.js +1 -1
  5. data/lib/kibana/assets/app/components/lodash.extended.js +1 -1
  6. data/lib/kibana/assets/app/components/require.config.js +1 -0
  7. data/lib/kibana/assets/app/controllers/all.js +1 -1
  8. data/lib/kibana/assets/app/controllers/dash.js +1 -1
  9. data/lib/kibana/assets/app/controllers/pulldown.js +1 -1
  10. data/lib/kibana/assets/app/controllers/row.js +1 -1
  11. data/lib/kibana/assets/app/dashboards/blank.json +1 -1
  12. data/lib/kibana/assets/app/dashboards/guided.json +1 -1
  13. data/lib/kibana/assets/app/dashboards/noted.json +1 -1
  14. data/lib/kibana/assets/app/directives/addPanel.js +1 -1
  15. data/lib/kibana/assets/app/directives/all.js +1 -1
  16. data/lib/kibana/assets/app/directives/arrayJoin.js +1 -1
  17. data/lib/kibana/assets/app/directives/configModal.js +1 -1
  18. data/lib/kibana/assets/app/directives/confirmClick.js +1 -1
  19. data/lib/kibana/assets/app/directives/dashUpload.js +1 -1
  20. data/lib/kibana/assets/app/directives/esVersion.js +1 -1
  21. data/lib/kibana/assets/app/directives/kibanaPanel.js +1 -1
  22. data/lib/kibana/assets/app/directives/kibanaSimplePanel.js +2 -2
  23. data/lib/kibana/assets/app/directives/ngBlur.js +1 -1
  24. data/lib/kibana/assets/app/directives/ngModelOnBlur.js +1 -1
  25. data/lib/kibana/assets/app/directives/tip.js +1 -1
  26. data/lib/kibana/assets/app/factories/store.js +1 -1
  27. data/lib/kibana/assets/app/filters/all.js +11 -3
  28. data/lib/kibana/assets/app/panels/bettermap/module.js +2 -2
  29. data/lib/kibana/assets/app/panels/filtering/module.html +19 -19
  30. data/lib/kibana/assets/app/panels/filtering/module.js +3 -1
  31. data/lib/kibana/assets/app/panels/goal/module.js +1 -1
  32. data/lib/kibana/assets/app/panels/histogram/editor.html +3 -0
  33. data/lib/kibana/assets/app/panels/histogram/module.js +4 -4
  34. data/lib/kibana/assets/app/panels/hits/module.js +1 -1
  35. data/lib/kibana/assets/app/panels/map/module.js +1 -1
  36. data/lib/kibana/assets/app/panels/query/editors/topN.html +3 -3
  37. data/lib/kibana/assets/app/panels/query/meta.html +7 -7
  38. data/lib/kibana/assets/app/panels/query/module.html +9 -9
  39. data/lib/kibana/assets/app/panels/query/module.js +4 -3
  40. data/lib/kibana/assets/app/panels/sparklines/module.js +1 -1
  41. data/lib/kibana/assets/app/panels/stats/module.js +2 -2
  42. data/lib/kibana/assets/app/panels/table/micropanel.html +1 -1
  43. data/lib/kibana/assets/app/panels/table/modal.html +1 -3
  44. data/lib/kibana/assets/app/panels/table/module.html +7 -0
  45. data/lib/kibana/assets/app/panels/table/module.js +22 -13
  46. data/lib/kibana/assets/app/panels/terms/module.html +21 -5
  47. data/lib/kibana/assets/app/panels/terms/module.js +3 -3
  48. data/lib/kibana/assets/app/panels/timepicker/module.js +0 -1
  49. data/lib/kibana/assets/app/panels/trends/module.js +6 -8
  50. data/lib/kibana/assets/app/partials/dashLoader.html +1 -1
  51. data/lib/kibana/assets/app/partials/dasheditor.html +4 -4
  52. data/lib/kibana/assets/app/partials/querySelect.html +3 -3
  53. data/lib/kibana/assets/app/services/dashboard.js +14 -12
  54. data/lib/kibana/assets/app/services/esVersion.js +14 -8
  55. data/lib/kibana/assets/app/services/fields.js +16 -15
  56. data/lib/kibana/assets/app/services/filterSrv.js +28 -22
  57. data/lib/kibana/assets/app/services/kbnIndex.js +23 -20
  58. data/lib/kibana/assets/app/services/querySrv.js +29 -20
  59. data/lib/kibana/sinatra/version.rb +1 -1
  60. data/lib/kibana/views/config.erb +5 -0
  61. data/lib/tasks/update.rb +6 -4
  62. metadata +2 -2
@@ -7,28 +7,28 @@
7
7
  </style>
8
8
 
9
9
  <fieldset>
10
- <select class="input-small" ng-model="querySrv.list[id].type" ng-change="typeChange(querySrv.list[id])">
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> &nbsp<a href="" class="small" ng-click="queryHelp(querySrv.list[id].type)"> About the {{querySrv.list[id].type}} query</a>
12
+ </select> &nbsp<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="querySrv.list[id].alias" placeholder="Alias...">
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(querySrv.list[id].type)"></div>
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':querySrv.list[id].color == color,'icon-circle':querySrv.list[id].color != color}" ng-style="{color:color}" ng-click="querySrv.list[id].color = color;render();"> </i>
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="querySrv.list[id].enable=false;dashboard.refresh();dismiss();" class="pointer">Deactivate</a>
31
- <a class="btn btn-mini" ng-class="{active:querySrv.list[id].pin}" ng-click="toggle_pin(id);dismiss();" class="pointer">Pin <i class="icon-pushpin"></i></a>
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 = (querySrv.ids|pinnedQuery:false))" ng-class="{'short-query': unPinnedQueries.length>1}">
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(querySrv.list[id].type)" ng-show="querySrv.list[id].enable" data-unique="1" bs-popover="'app/panels/query/meta.html'" data-placement="bottomLeft" ng-style="{color: querySrv.list[id].color}"></i>
6
- <i class="pointer icon-circle-blank" ng-click="querySrv.list[id].enable=true;dashboard.refresh();" ng-hide="querySrv.list[id].enable" bs-tooltip="'Activate query'" ng-style="{color: querySrv.list[id].color}"></i>
7
- <i class="icon-remove-sign pointer remove-query" ng-show="querySrv.ids.length > 1" ng-click="querySrv.remove(id);refresh()"></i>
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="!querySrv.list[id].enable" ng-class="{ 'input-block-level': unPinnedQueries.length==1, 'last-query': $last, 'has-remove': querySrv.ids.length > 1 }" bs-typeahead="panel.history" data-min-length=0 data-items=100 type="text" ng-model="querySrv.list[id].query" />
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 querySrv.ids|pinnedQuery:true">
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="querySrv.list[id].enable" ng-style="{color: querySrv.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="querySrv.list[id].enable=true;dashboard.refresh();" ng-hide="querySrv.list[id].enable" ng-style="{color: querySrv.list[id].color}"></i>
23
- <span bs-tooltip="querySrv.list[id].query | limitTo:45"> {{querySrv.list[id].alias || querySrv.list[id].query}}</span>
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.querySrv.list,'query'));
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
- querySrv.list[id].pin = querySrv.list[id].pin ? false : true;
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
- querySrv.list[_nq.id] = querySrv.defaults(_nq);
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
- <div>
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, fields, querySrv, dashboard, filterSrv) {
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.modalField = field;
161
- showModal(
162
- '{"height":"300px","chart":"'+chart+'","field":"'+field+'"}','terms');
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
- var panelModal = $modal({
187
+ /*
188
+ $modal({
178
189
  template: './app/panels/table/modal.html',
179
- persist: true,
180
- show: false,
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> <td style="padding-right:10px;padding-left:10px;">{{term.label}}</td><td>{{term.data[0][1]}}</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
- <span><i class="icon-circle" ng-style="{color:term.color}"></i> {{term.label}} ({{term.data[0][1]}}) </span>
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> <td style="padding-right:10px;padding-left:10px;">{{term.label}}</td><td>{{term.data[0][1]}}</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
- <span><i class="icon-circle" ng-style="{color:term.color}"></i></span> {{term.label}} ({{term.data[0][1]}}) </span>
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
  &nbsp | {{ 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 below.
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 simplifie greatly with the new kbn.parseDate
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(_ids_without_time).must(
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>