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.
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>