kibana-sinatra 0.0.2 → 0.0.3

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 (237) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +30 -2
  3. data/Rakefile +1 -0
  4. data/kibana-sinatra.gemspec +2 -0
  5. data/lib/kibana/assets/app/app.js +0 -0
  6. data/lib/kibana/assets/app/components/extend-jquery.js +0 -0
  7. data/lib/kibana/assets/app/components/kbn.js +132 -2
  8. data/lib/kibana/assets/app/components/require.config.js +0 -0
  9. data/lib/kibana/assets/app/components/settings.js +0 -0
  10. data/lib/kibana/assets/app/components/underscore.extended.js +0 -0
  11. data/lib/kibana/assets/app/controllers/all.js +1 -0
  12. data/lib/kibana/assets/app/controllers/dash.js +0 -0
  13. data/lib/kibana/assets/app/controllers/dashLoader.js +10 -3
  14. data/lib/kibana/assets/app/controllers/pulldown.js +45 -0
  15. data/lib/kibana/assets/app/controllers/row.js +3 -0
  16. data/lib/kibana/assets/app/dashboards/blank.json +0 -0
  17. data/lib/kibana/assets/app/dashboards/default.json +78 -19
  18. data/lib/kibana/assets/app/dashboards/guided.json +60 -52
  19. data/lib/kibana/assets/app/dashboards/logstash.js +6 -49
  20. data/lib/kibana/assets/app/dashboards/logstash.json +104 -95
  21. data/lib/kibana/assets/app/dashboards/noted.json +56 -87
  22. data/lib/kibana/assets/app/directives/addPanel.js +0 -0
  23. data/lib/kibana/assets/app/directives/all.js +1 -0
  24. data/lib/kibana/assets/app/directives/arrayJoin.js +0 -0
  25. data/lib/kibana/assets/app/directives/confirmClick.js +0 -0
  26. data/lib/kibana/assets/app/directives/dashUpload.js +0 -0
  27. data/lib/kibana/assets/app/directives/kibanaPanel.js +1 -1
  28. data/lib/kibana/assets/app/directives/kibanaSimplePanel.js +54 -0
  29. data/lib/kibana/assets/app/directives/ngBlur.js +0 -0
  30. data/lib/kibana/assets/app/directives/ngModelOnBlur.js +0 -0
  31. data/lib/kibana/assets/app/directives/tip.js +0 -0
  32. data/lib/kibana/assets/app/filters/all.js +11 -1
  33. data/lib/kibana/assets/app/panels/bettermap/editor.html +0 -0
  34. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/layers-2x.png +0 -0
  35. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/layers.png +0 -0
  36. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-icon-2x.png +0 -0
  37. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-icon.png +0 -0
  38. data/lib/kibana/assets/app/panels/bettermap/leaflet/images/marker-shadow.png +0 -0
  39. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet-src.js +0 -0
  40. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.css +0 -0
  41. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.ie.css +0 -0
  42. data/lib/kibana/assets/app/panels/bettermap/leaflet/leaflet.js +0 -0
  43. data/lib/kibana/assets/app/panels/bettermap/leaflet/plugins.css +0 -0
  44. data/lib/kibana/assets/app/panels/bettermap/leaflet/plugins.js +0 -0
  45. data/lib/kibana/assets/app/panels/bettermap/module.css +0 -0
  46. data/lib/kibana/assets/app/panels/bettermap/module.html +0 -0
  47. data/lib/kibana/assets/app/panels/bettermap/module.js +0 -0
  48. data/lib/kibana/assets/app/panels/column/editor.html +0 -0
  49. data/lib/kibana/assets/app/panels/column/module.html +0 -0
  50. data/lib/kibana/assets/app/panels/column/module.js +0 -0
  51. data/lib/kibana/assets/app/panels/column/panelgeneral.html +0 -0
  52. data/lib/kibana/assets/app/panels/dashcontrol/editor.html +0 -0
  53. data/lib/kibana/assets/app/panels/dashcontrol/load.html +0 -0
  54. data/lib/kibana/assets/app/panels/dashcontrol/module.html +0 -0
  55. data/lib/kibana/assets/app/panels/dashcontrol/module.js +0 -0
  56. data/lib/kibana/assets/app/panels/dashcontrol/save.html +0 -0
  57. data/lib/kibana/assets/app/panels/dashcontrol/share.html +0 -0
  58. data/lib/kibana/assets/app/panels/derivequeries/editor.html +0 -0
  59. data/lib/kibana/assets/app/panels/derivequeries/module.html +0 -0
  60. data/lib/kibana/assets/app/panels/derivequeries/module.js +0 -0
  61. data/lib/kibana/assets/app/panels/fields/editor.html +0 -0
  62. data/lib/kibana/assets/app/panels/fields/micropanel.html +0 -0
  63. data/lib/kibana/assets/app/panels/fields/module.html +0 -0
  64. data/lib/kibana/assets/app/panels/fields/module.js +0 -0
  65. data/lib/kibana/assets/app/panels/filtering/editor.html +0 -0
  66. data/lib/kibana/assets/app/panels/filtering/meta.html +0 -0
  67. data/lib/kibana/assets/app/panels/filtering/module.html +25 -13
  68. data/lib/kibana/assets/app/panels/filtering/module.js +6 -2
  69. data/lib/kibana/assets/app/panels/histogram/editor.html +1 -1
  70. data/lib/kibana/assets/app/panels/histogram/interval.js +0 -0
  71. data/lib/kibana/assets/app/panels/histogram/module.html +26 -24
  72. data/lib/kibana/assets/app/panels/histogram/module.js +8 -11
  73. data/lib/kibana/assets/app/panels/histogram/timeSeries.js +0 -0
  74. data/lib/kibana/assets/app/panels/hits/editor.html +0 -0
  75. data/lib/kibana/assets/app/panels/hits/module.html +0 -0
  76. data/lib/kibana/assets/app/panels/hits/module.js +0 -0
  77. data/lib/kibana/assets/app/panels/map/editor.html +0 -0
  78. data/lib/kibana/assets/app/panels/map/lib/jquery.jvectormap.min.js +0 -0
  79. data/lib/kibana/assets/app/panels/map/lib/map.europe.js +0 -0
  80. data/lib/kibana/assets/app/panels/map/lib/map.usa.js +0 -0
  81. data/lib/kibana/assets/app/panels/map/lib/map.world.js +0 -0
  82. data/lib/kibana/assets/app/panels/map/module.html +0 -0
  83. data/lib/kibana/assets/app/panels/map/module.js +0 -1
  84. data/lib/kibana/assets/app/panels/pie/editor.html +0 -0
  85. data/lib/kibana/assets/app/panels/pie/module.html +0 -0
  86. data/lib/kibana/assets/app/panels/pie/module.js +1 -2
  87. data/lib/kibana/assets/app/panels/query/editor.html +0 -0
  88. data/lib/kibana/assets/app/panels/query/meta.html +0 -0
  89. data/lib/kibana/assets/app/panels/query/module.html +1 -1
  90. data/lib/kibana/assets/app/panels/query/module.js +0 -0
  91. data/lib/kibana/assets/app/panels/query/query.css +0 -0
  92. data/lib/kibana/assets/app/panels/table/editor.html +0 -0
  93. data/lib/kibana/assets/app/panels/table/micropanel.html +1 -1
  94. data/lib/kibana/assets/app/panels/table/module.html +2 -2
  95. data/lib/kibana/assets/app/panels/table/module.js +1 -3
  96. data/lib/kibana/assets/app/panels/table/pagination.html +0 -0
  97. data/lib/kibana/assets/app/panels/terms/editor.html +0 -0
  98. data/lib/kibana/assets/app/panels/terms/module.html +0 -0
  99. data/lib/kibana/assets/app/panels/terms/module.js +0 -1
  100. data/lib/kibana/assets/app/panels/text/editor.html +0 -0
  101. data/lib/kibana/assets/app/panels/text/lib/showdown.js +0 -0
  102. data/lib/kibana/assets/app/panels/text/module.html +0 -0
  103. data/lib/kibana/assets/app/panels/text/module.js +0 -0
  104. data/lib/kibana/assets/app/panels/timepicker/custom.html +78 -0
  105. data/lib/kibana/assets/app/panels/timepicker/editor.html +8 -28
  106. data/lib/kibana/assets/app/panels/timepicker/module.html +49 -69
  107. data/lib/kibana/assets/app/panels/timepicker/module.js +137 -190
  108. data/lib/kibana/assets/app/panels/timepicker/refreshctrl.html +0 -0
  109. data/lib/kibana/assets/app/panels/trends/editor.html +0 -0
  110. data/lib/kibana/assets/app/panels/trends/module.html +0 -0
  111. data/lib/kibana/assets/app/panels/trends/module.js +2 -1
  112. data/lib/kibana/assets/app/partials/dashLoader.html +76 -47
  113. data/lib/kibana/assets/app/partials/dashLoaderShare.html +0 -0
  114. data/lib/kibana/assets/app/partials/dashboard.html +77 -61
  115. data/lib/kibana/assets/app/partials/dasheditor.html +38 -17
  116. data/lib/kibana/assets/app/partials/inspector.html +0 -0
  117. data/lib/kibana/assets/app/partials/load.html +0 -0
  118. data/lib/kibana/assets/app/partials/modal.html +0 -0
  119. data/lib/kibana/assets/app/partials/paneladd.html +0 -0
  120. data/lib/kibana/assets/app/partials/paneleditor.html +0 -0
  121. data/lib/kibana/assets/app/partials/panelgeneral.html +0 -0
  122. data/lib/kibana/assets/app/partials/querySelect.html +0 -0
  123. data/lib/kibana/assets/app/partials/roweditor.html +1 -1
  124. data/lib/kibana/assets/app/services/alertSrv.js +0 -0
  125. data/lib/kibana/assets/app/services/all.js +0 -0
  126. data/lib/kibana/assets/app/services/dashboard.js +49 -7
  127. data/lib/kibana/assets/app/services/fields.js +0 -0
  128. data/lib/kibana/assets/app/services/filterSrv.js +79 -47
  129. data/lib/kibana/assets/app/services/kbnIndex.js +0 -0
  130. data/lib/kibana/assets/app/services/panelMove.js +1 -16
  131. data/lib/kibana/assets/app/services/querySrv.js +0 -0
  132. data/lib/kibana/assets/app/services/timer.js +0 -0
  133. data/lib/kibana/assets/css/animate.min.css +0 -0
  134. data/lib/kibana/assets/css/bootstrap-responsive.min.css +0 -0
  135. data/lib/kibana/assets/css/bootstrap.dark.min.css +1 -1
  136. data/lib/kibana/assets/css/bootstrap.light.min.css +1 -1
  137. data/lib/kibana/assets/css/font-awesome.min.css +0 -0
  138. data/lib/kibana/assets/css/normalize.min.css +0 -0
  139. data/lib/kibana/assets/css/timepicker.css +0 -0
  140. data/lib/kibana/assets/font/FontAwesome.otf +0 -0
  141. data/lib/kibana/assets/font/fontawesome-webfont.eot +0 -0
  142. data/lib/kibana/assets/font/fontawesome-webfont.svg +0 -0
  143. data/lib/kibana/assets/font/fontawesome-webfont.ttf +0 -0
  144. data/lib/kibana/assets/font/fontawesome-webfont.woff +0 -0
  145. data/lib/kibana/assets/img/glyphicons-halflings-white.png +0 -0
  146. data/lib/kibana/assets/img/glyphicons-halflings.png +0 -0
  147. data/lib/kibana/assets/img/kibana.png +0 -0
  148. data/lib/kibana/assets/img/load.gif +0 -0
  149. data/lib/kibana/assets/img/load_big.gif +0 -0
  150. data/lib/kibana/assets/index.html +5 -7
  151. data/lib/kibana/assets/vendor/angular/angular-dragdrop.js +0 -0
  152. data/lib/kibana/assets/vendor/angular/angular-sanitize.js +28 -26
  153. data/lib/kibana/assets/vendor/angular/angular-strap.js +0 -0
  154. data/lib/kibana/assets/vendor/angular/angular.js +3128 -1410
  155. data/lib/kibana/assets/vendor/angular/datepicker.js +0 -0
  156. data/lib/kibana/assets/vendor/angular/timepicker.js +0 -0
  157. data/lib/kibana/assets/vendor/bootstrap/bootstrap.js +34 -0
  158. data/lib/kibana/assets/vendor/bootstrap/less/accordion.less +0 -0
  159. data/lib/kibana/assets/vendor/bootstrap/less/alerts.less +0 -0
  160. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.dark.less +0 -0
  161. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.less +0 -0
  162. data/lib/kibana/assets/vendor/bootstrap/less/bootstrap.light.less +0 -0
  163. data/lib/kibana/assets/vendor/bootstrap/less/bootswatch.dark.less +0 -0
  164. data/lib/kibana/assets/vendor/bootstrap/less/bootswatch.light.less +0 -0
  165. data/lib/kibana/assets/vendor/bootstrap/less/breadcrumbs.less +0 -0
  166. data/lib/kibana/assets/vendor/bootstrap/less/button-groups.less +0 -0
  167. data/lib/kibana/assets/vendor/bootstrap/less/buttons.less +0 -0
  168. data/lib/kibana/assets/vendor/bootstrap/less/carousel.less +0 -0
  169. data/lib/kibana/assets/vendor/bootstrap/less/close.less +0 -0
  170. data/lib/kibana/assets/vendor/bootstrap/less/code.less +0 -0
  171. data/lib/kibana/assets/vendor/bootstrap/less/component-animations.less +0 -0
  172. data/lib/kibana/assets/vendor/bootstrap/less/dropdowns.less +0 -0
  173. data/lib/kibana/assets/vendor/bootstrap/less/forms.less +0 -0
  174. data/lib/kibana/assets/vendor/bootstrap/less/grid.less +0 -0
  175. data/lib/kibana/assets/vendor/bootstrap/less/hero-unit.less +0 -0
  176. data/lib/kibana/assets/vendor/bootstrap/less/labels-badges.less +0 -0
  177. data/lib/kibana/assets/vendor/bootstrap/less/layouts.less +0 -0
  178. data/lib/kibana/assets/vendor/bootstrap/less/media.less +0 -0
  179. data/lib/kibana/assets/vendor/bootstrap/less/mixins.less +0 -0
  180. data/lib/kibana/assets/vendor/bootstrap/less/modals.less +0 -0
  181. data/lib/kibana/assets/vendor/bootstrap/less/navbar.less +0 -0
  182. data/lib/kibana/assets/vendor/bootstrap/less/navs.less +0 -0
  183. data/lib/kibana/assets/vendor/bootstrap/less/overrides.less +221 -5
  184. data/lib/kibana/assets/vendor/bootstrap/less/pager.less +0 -0
  185. data/lib/kibana/assets/vendor/bootstrap/less/pagination.less +0 -0
  186. data/lib/kibana/assets/vendor/bootstrap/less/popovers.less +0 -0
  187. data/lib/kibana/assets/vendor/bootstrap/less/progress-bars.less +0 -0
  188. data/lib/kibana/assets/vendor/bootstrap/less/reset.less +0 -0
  189. data/lib/kibana/assets/vendor/bootstrap/less/responsive-1200px-min.less +0 -0
  190. data/lib/kibana/assets/vendor/bootstrap/less/responsive-767px-max.less +0 -0
  191. data/lib/kibana/assets/vendor/bootstrap/less/responsive-768px-979px.less +0 -0
  192. data/lib/kibana/assets/vendor/bootstrap/less/responsive-navbar.less +0 -0
  193. data/lib/kibana/assets/vendor/bootstrap/less/responsive-utilities.less +0 -0
  194. data/lib/kibana/assets/vendor/bootstrap/less/responsive.less +0 -0
  195. data/lib/kibana/assets/vendor/bootstrap/less/scaffolding.less +0 -0
  196. data/lib/kibana/assets/vendor/bootstrap/less/sprites.less +0 -0
  197. data/lib/kibana/assets/vendor/bootstrap/less/tables.less +0 -0
  198. data/lib/kibana/assets/vendor/bootstrap/less/tests/buttons.html +0 -0
  199. data/lib/kibana/assets/vendor/bootstrap/less/tests/css-tests.css +0 -0
  200. data/lib/kibana/assets/vendor/bootstrap/less/tests/css-tests.html +0 -0
  201. data/lib/kibana/assets/vendor/bootstrap/less/tests/forms-responsive.html +0 -0
  202. data/lib/kibana/assets/vendor/bootstrap/less/tests/forms.html +0 -0
  203. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar-fixed-top.html +0 -0
  204. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar-static-top.html +0 -0
  205. data/lib/kibana/assets/vendor/bootstrap/less/tests/navbar.html +0 -0
  206. data/lib/kibana/assets/vendor/bootstrap/less/thumbnails.less +0 -0
  207. data/lib/kibana/assets/vendor/bootstrap/less/tooltip.less +0 -0
  208. data/lib/kibana/assets/vendor/bootstrap/less/type.less +0 -0
  209. data/lib/kibana/assets/vendor/bootstrap/less/utilities.less +0 -0
  210. data/lib/kibana/assets/vendor/bootstrap/less/variables.dark.less +0 -0
  211. data/lib/kibana/assets/vendor/bootstrap/less/variables.less +0 -0
  212. data/lib/kibana/assets/vendor/bootstrap/less/variables.light.less +0 -0
  213. data/lib/kibana/assets/vendor/bootstrap/less/wells.less +0 -0
  214. data/lib/kibana/assets/vendor/elasticjs/elastic-angular-client.js +0 -0
  215. data/lib/kibana/assets/vendor/elasticjs/elastic.js +0 -0
  216. data/lib/kibana/assets/vendor/filesaver.js +0 -0
  217. data/lib/kibana/assets/vendor/jquery/jquery-1.8.0.js +0 -0
  218. data/lib/kibana/assets/vendor/jquery/jquery-ui-1.10.3.js +0 -0
  219. data/lib/kibana/assets/vendor/jquery/jquery.flot.js +0 -0
  220. data/lib/kibana/assets/vendor/jquery/jquery.flot.pie.js +0 -0
  221. data/lib/kibana/assets/vendor/jquery/jquery.flot.selection.js +0 -0
  222. data/lib/kibana/assets/vendor/jquery/jquery.flot.stack.js +0 -0
  223. data/lib/kibana/assets/vendor/jquery/jquery.flot.stackpercent.js +0 -0
  224. data/lib/kibana/assets/vendor/jquery/jquery.flot.time.js +0 -0
  225. data/lib/kibana/assets/vendor/modernizr-2.6.1.js +0 -0
  226. data/lib/kibana/assets/vendor/moment.js +0 -0
  227. data/lib/kibana/assets/vendor/require/css-build.js +0 -0
  228. data/lib/kibana/assets/vendor/require/css.js +0 -0
  229. data/lib/kibana/assets/vendor/require/require.js +0 -0
  230. data/lib/kibana/assets/vendor/require/text.js +0 -0
  231. data/lib/kibana/assets/vendor/require/tmpl.js +0 -0
  232. data/lib/kibana/assets/vendor/timezone.js +0 -0
  233. data/lib/kibana/assets/vendor/underscore.js +0 -0
  234. data/lib/kibana/sinatra/version.rb +1 -1
  235. data/lib/tasks/update.rb +51 -0
  236. metadata +34 -3
  237. data/lib/kibana/assets/css/main.css +0 -193
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 897512369a6b277f44b6b5ed555c99848c26b0da
4
- data.tar.gz: 9422c7cd1c3e9e1c1c92927e27933da39ec52d95
3
+ metadata.gz: 221a7a79930e7d8f883991735a36f74c1b5bd1dd
4
+ data.tar.gz: 025fb9fc6da32eec6bc51afd7539787f4a7d7d3d
5
5
  SHA512:
6
- metadata.gz: 68e8330aa19e504ebefe3bf684add055883466d4fd6b8e52ee2842391fb53fda33b0d8cb5d4ebe13aa3c4524066c4e711a302c8a37decfe0b47c25f2ff4382b0
7
- data.tar.gz: 0f81d2e506e4e09dafbb343173a21709b3375752706f6d4ac95a067c7fcfedd63d1adef63f07f2e29257ec3d3abbe96af45f44c8a3ed9a9d5742da58fb8799df
6
+ metadata.gz: d1ea7865b8a2402452b6322cc87d86532c5149c118689f90790460a0672277a23834959c076fe4ef84d1b9a5e3ea026d930320b523a33164415e65142b38eb09
7
+ data.tar.gz: 3277260d44cb68aff4e94e11715548d49f398b5d4e6344fa4a9c102d681c99093e5199a84ce03ef59bd3db9621672efcee5053aa4fbc629e7aed5d56571af899
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Kibana::Sinatra
2
2
 
3
- TODO: Write a gem description
3
+ [![Dependency Status](https://gemnasium.com/ianneub/kibana-sinatra.png)](https://gemnasium.com/ianneub/kibana-sinatra)
4
+
5
+ This gem provides [Kibana 3](https://github.com/elasticsearch/kibana) inside a [Sinatra](http://www.sinatrarb.com/) app that you can include in any Rack based system, including Rails.
4
6
 
5
7
  ## Installation
6
8
 
@@ -18,7 +20,33 @@ Or install it yourself as:
18
20
 
19
21
  ## Usage
20
22
 
21
- TODO: Write usage instructions here
23
+ ### Inside Rails
24
+
25
+ First you will need to configure Kibana's config.js file so that a web browser can find your [elasticsearch](http://www.elasticsearch.org/) cluster.
26
+
27
+ Create a new file in `config/initializers` and include the following code. Replace the strings with the location of your elasticsearch cluster and the kibana index. Note that both of these are optional.
28
+
29
+ ```ruby
30
+ module Kibana::Sinatra
31
+ class Web
32
+ def self.elasticsearch_url
33
+ "http://\"+window.location.hostname+\":9200"
34
+ end
35
+
36
+ def self.kibana_index
37
+ "kibana-int"
38
+ end
39
+ end
40
+ end
41
+ ```
42
+
43
+ In your `config/routes.rb` file mount the Kibana::Sinatra::Web class to a route:
44
+
45
+ mount Kibana::Sinatra::Web => '/kibana', :trailing_slash => true
46
+
47
+ The trailing slash is important due to the way Kibana links to CSS & JS files.
48
+
49
+ Start your server and you should now be able to load `/kibana/` and Kibana 3 should start up!
22
50
 
23
51
  ## Contributing
24
52
 
data/Rakefile CHANGED
@@ -1 +1,2 @@
1
1
  require "bundler/gem_tasks"
2
+ require "./lib/tasks/update"
@@ -20,5 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "uuid"
24
+ spec.add_development_dependency "rubyzip"
23
25
  spec.add_dependency "sinatra", "~> 1.4"
24
26
  end
File without changes
File without changes
@@ -1,5 +1,5 @@
1
- define(['jquery', 'underscore'],
2
- function($, _) {
1
+ define(['jquery', 'underscore','moment'],
2
+ function($, _, moment) {
3
3
  'use strict';
4
4
 
5
5
  var kbn = {};
@@ -247,6 +247,136 @@ function($, _) {
247
247
  return new Date(new Date().getTime() - (kbn.interval_to_ms(string)));
248
248
  };
249
249
 
250
+ /* This is a simplified version of elasticsearch's date parser */
251
+ kbn.parseDate = function(text) {
252
+ if(_.isDate(text)) {
253
+ return text;
254
+ }
255
+ var time,
256
+ mathString = "",
257
+ index,
258
+ parseString;
259
+ if (text.substring(0,3) === "now") {
260
+ time = new Date();
261
+ mathString = text.substring("now".length);
262
+ } else {
263
+ index = text.indexOf("||");
264
+ parseString;
265
+ if (index === -1) {
266
+ parseString = text;
267
+ mathString = ""; // nothing else
268
+ } else {
269
+ parseString = text.substring(0, index);
270
+ mathString = text.substring(index + 2);
271
+ }
272
+ // We're going to just require ISO8601 timestamps, k?
273
+ time = new Date(parseString);
274
+ }
275
+
276
+ if (!mathString.length) {
277
+ return time;
278
+ }
279
+
280
+ //return [time,parseString,mathString];
281
+ return kbn.parseDateMath(mathString, time);
282
+ };
283
+
284
+ kbn.parseDateMath = function(mathString, time, roundUp) {
285
+ var dateTime = moment(time);
286
+ for (var i = 0; i < mathString.length; ) {
287
+ var c = mathString.charAt(i++),
288
+ type,
289
+ num,
290
+ unit;
291
+ if (c === '/') {
292
+ type = 0;
293
+ } else if (c === '+') {
294
+ type = 1;
295
+ } else if (c === '-') {
296
+ type = 2;
297
+ } else {
298
+ return false;
299
+ }
300
+
301
+ if (isNaN(mathString.charAt(i))) {
302
+ num = 1;
303
+ } else {
304
+ var numFrom = i;
305
+ while (!isNaN(mathString.charAt(i))) {
306
+ i++;
307
+ }
308
+ num = parseInt(mathString.substring(numFrom, i),10);
309
+ }
310
+ if (type === 0) {
311
+ // rounding is only allowed on whole numbers
312
+ if (num !== 1) {
313
+ return false;
314
+ }
315
+ }
316
+ unit = mathString.charAt(i++);
317
+ switch (unit) {
318
+ case 'M':
319
+ if (type === 0) {
320
+ roundUp ? dateTime.endOf('month') : dateTime.startOf('month');
321
+ } else if (type === 1) {
322
+ dateTime.add('months',num);
323
+ } else if (type === 2) {
324
+ dateTime.subtract('months',num);
325
+ }
326
+ break;
327
+ case 'w':
328
+ if (type === 0) {
329
+ roundUp ? dateTime.endOf('week') : dateTime.startOf('week');
330
+ } else if (type === 1) {
331
+ dateTime.add('weeks',num);
332
+ } else if (type === 2) {
333
+ dateTime.subtract('weeks',num);
334
+ }
335
+ break;
336
+ case 'd':
337
+ if (type === 0) {
338
+ roundUp ? dateTime.endOf('day') : dateTime.startOf('day');
339
+ } else if (type === 1) {
340
+ dateTime.add('days',num);
341
+ } else if (type === 2) {
342
+ dateTime.subtract('days',num);
343
+ }
344
+ break;
345
+ case 'h':
346
+ case 'H':
347
+ if (type === 0) {
348
+ roundUp ? dateTime.endOf('hour') : dateTime.startOf('hour');
349
+ } else if (type === 1) {
350
+ dateTime.add('hours',num);
351
+ } else if (type === 2) {
352
+ dateTime.subtract('hours',num);
353
+ }
354
+ break;
355
+ case 'm':
356
+ if (type === 0) {
357
+ roundUp ? dateTime.endOf('minute') : dateTime.startOf('minute');
358
+ } else if (type === 1) {
359
+ dateTime.add('minutes',num);
360
+ } else if (type === 2) {
361
+ dateTime.subtract('minutes',num);
362
+ }
363
+ break;
364
+ case 's':
365
+ if (type === 0) {
366
+ roundUp ? dateTime.endOf('second') : dateTime.startOf('second');
367
+ } else if (type === 1) {
368
+ dateTime.add('seconds',num);
369
+ } else if (type === 2) {
370
+ dateTime.subtract('seconds',num);
371
+ }
372
+ break;
373
+ default:
374
+ return false;
375
+ }
376
+ }
377
+ return dateTime.toDate();
378
+ };
379
+
250
380
  // LOL. hahahahaha. DIE.
251
381
  kbn.flatten_json = function(object,root,array) {
252
382
  if (typeof array === 'undefined') {
File without changes
File without changes
@@ -2,4 +2,5 @@ define([
2
2
  './dash',
3
3
  './dashLoader',
4
4
  './row',
5
+ './pulldown'
5
6
  ], function () {});
File without changes
@@ -11,18 +11,25 @@ function (angular, _) {
11
11
  $scope.loader = dashboard.current.loader;
12
12
 
13
13
  $scope.init = function() {
14
+ $scope.advancedLoad = false;
15
+ $scope.advancedSave = false;
16
+
14
17
  $scope.gist_pattern = /(^\d{5,}$)|(^[a-z0-9]{10,}$)|(gist.github.com(\/*.*)\/[a-z0-9]{5,}\/*$)/;
15
18
  $scope.gist = $scope.gist || {};
16
19
  $scope.elasticsearch = $scope.elasticsearch || {};
17
20
  };
18
21
 
19
22
  $scope.showDropdown = function(type) {
20
- var _l = $scope.loader;
23
+ if(_.isUndefined(dashboard.current.loader)) {
24
+ return true;
25
+ }
26
+
27
+ var _l = dashboard.current.loader;
21
28
  if(type === 'load') {
22
29
  return (_l.load_elasticsearch || _l.load_gist || _l.load_local);
23
30
  }
24
31
  if(type === 'save') {
25
- return (_l.save_elasticsearch || _l.save_gist || _l.local_local || _l.save_default);
32
+ return (_l.save_elasticsearch || _l.save_gist || _l.save_local || _l.save_default);
26
33
  }
27
34
  if(type === 'share') {
28
35
  return (_l.save_temp);
@@ -120,4 +127,4 @@ function (angular, _) {
120
127
 
121
128
  });
122
129
 
123
- });
130
+ });
@@ -0,0 +1,45 @@
1
+ define([
2
+ 'angular',
3
+ 'app',
4
+ 'underscore'
5
+ ],
6
+ function (angular, app, _) {
7
+ 'use strict';
8
+
9
+ var module = angular.module('kibana.controllers');
10
+
11
+ module.controller('PulldownCtrl', function($scope, $rootScope, $timeout,ejsResource, querySrv) {
12
+ var _d = {
13
+ collapse: false,
14
+ notice: false,
15
+ enable: true
16
+ };
17
+
18
+ _.defaults($scope.pulldown,_d);
19
+
20
+ $scope.init = function() {
21
+ $scope.querySrv = querySrv;
22
+
23
+ // Provide a combined skeleton for panels that must interact with panel and row.
24
+ // This might create name spacing issues.
25
+ $scope.panel = $scope.pulldown;
26
+ $scope.row = $scope.pulldown;
27
+ };
28
+
29
+ $scope.toggle_pulldown = function(pulldown) {
30
+ pulldown.collapse = pulldown.collapse ? false : true;
31
+ if (!pulldown.collapse) {
32
+ $timeout(function() {
33
+ $scope.$broadcast('render');
34
+ });
35
+ } else {
36
+ $scope.row.notice = false;
37
+ }
38
+ };
39
+
40
+ $scope.init();
41
+
42
+ }
43
+ );
44
+
45
+ });
@@ -16,6 +16,7 @@ function (angular, app, _) {
16
16
  collapsable: true,
17
17
  editable: true,
18
18
  panels: [],
19
+ notice: false
19
20
  };
20
21
 
21
22
  _.defaults($scope.row,_d);
@@ -34,6 +35,8 @@ function (angular, app, _) {
34
35
  $timeout(function() {
35
36
  $scope.$broadcast('render');
36
37
  });
38
+ } else {
39
+ row.notice = false;
37
40
  }
38
41
  };
39
42
 
File without changes
@@ -13,7 +13,9 @@
13
13
  "query": "*",
14
14
  "alias": "",
15
15
  "color": "#7EB26D",
16
- "id": 0
16
+ "id": 0,
17
+ "pin": false,
18
+ "type": "lucene"
17
19
  }
18
20
  },
19
21
  "ids": [
@@ -22,24 +24,12 @@
22
24
  },
23
25
  "filter": {
24
26
  "idQueue": [
27
+ 0,
25
28
  1,
26
29
  2
27
30
  ],
28
- "list": {
29
- "0": {
30
- "from": "2013-07-27T22:08:06.800Z",
31
- "to": "2013-07-27T23:08:06.801Z",
32
- "field": "@timestamp",
33
- "type": "time",
34
- "mandate": "must",
35
- "active": true,
36
- "alias": "",
37
- "id": 0
38
- }
39
- },
40
- "ids": [
41
- 0
42
- ]
31
+ "list": {},
32
+ "ids": []
43
33
  }
44
34
  },
45
35
  "rows": [
@@ -59,7 +49,7 @@
59
49
  ],
60
50
  "type": "text",
61
51
  "mode": "markdown",
62
- "content": "![kibana](img/kibana.png) \n\n##### Did you just upgrade? Not expecting this screen?\nIf you were using the old default page you might not be expecting this screen. I understand, change can be awkward. Let me explain. \n\n##### Setting a global default dashboard\nKibana has always shipped with an interface for Logstash, still does! You can access it [here](index.html#dashboard/file/logstash.json). However, if you want to make it your default again, all you you need to do is rename a file!\nIn your Kibana installation directory: \n\nRename *logstash.json* to *default.json* and refresh. Should be all set.\n\n##### But wait, there's more!\nIn fact, you can add any exported dashboard to that directory and access it as *http://YOUR-HOST -HERE/index.html#dashboard/file/YOUR-DASHBOARD.json*. Neat trick eh?",
52
+ "content": "![kibana](img/kibana.png) \n\n##### Did you just upgrade? Not expecting this screen?\nIf you were using the old default page you might not be expecting this screen. I understand, change can be awkward. Let me explain. \n\n##### Setting a global default dashboard\nKibana has always shipped with an interface for Logstash, still does! You can access it [here](index.html#dashboard/file/logstash.json). However, if you want to make it your default again, all you need to do is rename a file!\nIn your Kibana installation directory: \n\nRename *logstash.json* to *default.json* and refresh. Should be all set.\n\n##### But wait, there's more!\nIn fact, you can add any exported dashboard to that directory and access it as *http://YOUR-HOST -HERE/index.html#dashboard/file/YOUR-DASHBOARD.json*. Neat trick eh?",
63
53
  "style": {},
64
54
  "title": "",
65
55
  "status": "Stable"
@@ -77,7 +67,8 @@
77
67
  "style": {},
78
68
  "status": "Stable"
79
69
  }
80
- ]
70
+ ],
71
+ "notice": false
81
72
  }
82
73
  ],
83
74
  "editable": false,
@@ -85,5 +76,73 @@
85
76
  "interval": "none",
86
77
  "pattern": "[logstash-]YYYY.MM.DD",
87
78
  "default": "_all"
88
- }
79
+ },
80
+ "style": "dark",
81
+ "failover": false,
82
+ "panel_hints": true,
83
+ "pulldowns": [
84
+ {
85
+ "type": "query",
86
+ "collapse": true,
87
+ "notice": false,
88
+ "query": "*",
89
+ "pinned": true,
90
+ "history": [],
91
+ "remember": 10
92
+ },
93
+ {
94
+ "type": "filtering",
95
+ "collapse": true,
96
+ "notice": false
97
+ }
98
+ ],
99
+ "nav": [
100
+ {
101
+ "type": "timepicker",
102
+ "collapse": false,
103
+ "notice": false,
104
+ "status": "Stable",
105
+ "time_options": [
106
+ "5m",
107
+ "15m",
108
+ "1h",
109
+ "6h",
110
+ "12h",
111
+ "24h",
112
+ "2d",
113
+ "7d",
114
+ "30d"
115
+ ],
116
+ "refresh_intervals": [
117
+ "5s",
118
+ "10s",
119
+ "30s",
120
+ "1m",
121
+ "5m",
122
+ "15m",
123
+ "30m",
124
+ "1h",
125
+ "2h",
126
+ "1d"
127
+ ],
128
+ "timefield": "@timestamp",
129
+ "now": true,
130
+ "filter_id": 0
131
+ }
132
+ ],
133
+ "loader": {
134
+ "save_gist": false,
135
+ "save_elasticsearch": true,
136
+ "save_local": true,
137
+ "save_default": true,
138
+ "save_temp": true,
139
+ "save_temp_ttl_enable": true,
140
+ "save_temp_ttl": "30d",
141
+ "load_gist": true,
142
+ "load_elasticsearch": true,
143
+ "load_elasticsearch_size": 20,
144
+ "load_local": true,
145
+ "hide": false
146
+ },
147
+ "refresh": false
89
148
  }