diff --git a/common/css/main.css b/common/css/main.css index 1d72620a14d..3dad01af61c 100644 --- a/common/css/main.css +++ b/common/css/main.css @@ -6,17 +6,19 @@ color: #000; } -.kibana-row { - margin-left: 15px; - margin-bottom: 15px; -} - .navbar .brand { color: #eee; } .navbar-inner { - border-width: 0 0 0px; + border-width: 0 0 0px; + padding-left: 0px; + padding-right: 0px; +} + +.kibana-row { + margin-left: 15px; + margin-bottom: 15px; } .row-close { @@ -54,6 +56,10 @@ background-color: #f9f9f9; } +.nomargin { + margin: 0px; +} + [ng\:cloak], [ng-cloak], .ng-cloak { display: none !important; } @@ -90,7 +96,15 @@ opacity: 1; } -.pointer:hover { +.link { + cursor: pointer; +} + +.pointer { + cursor: pointer; +} + +.link:hover { color: #0088CC; } @@ -98,30 +112,34 @@ max-width: 500px; } -.pointer { - cursor: pointer; +.popover-title { display: none; } + +.tiny { + font-size: 50%; } .small { font-size: 85%; } -.input-append label { - font-size: inherit !important; -} - .large { font-size: 120%; } -.nomargin { - margin: 0px; -} - .strong { font-weight: bold; } +.input-append label { + font-size: inherit !important; +} + +.input-smaller { + width: 75px; +} + +.typeahead { z-index: 1051; } + .btn-active { background-color: #E6E6E6; background-image: none; @@ -129,23 +147,7 @@ outline: 0 none } -.popover-title { display: none; } - -.input-smaller { - width: 75px; -} - -.tiny { - font-size: 50%; -} - .remove:hover { background-color: #A60000; } -.typeahead { z-index: 1051; } - -.navbar-inner { - padding-left: 0px; - padding-right: 0px; -} \ No newline at end of file diff --git a/panels/column/editor.html b/panels/column/editor.html index c260bafe38a..e5dec0361b4 100644 --- a/panels/column/editor.html +++ b/panels/column/editor.html @@ -33,4 +33,4 @@ - \ No newline at end of file + diff --git a/panels/column/module.js b/panels/column/module.js index f55d46dde08..e48c2975c55 100644 --- a/panels/column/module.js +++ b/panels/column/module.js @@ -1,3 +1,20 @@ +/* + + ## Column + + The column panel is sort of a hack to allow you to put multiple, veritcal, + panels next to a bigger panel. Note that it has no group, and setting a group + for the panel itself will do nothing + + ### Parameters + * panels :: an array of panel objects. All of their spans should be set to 12 + + ### Group Events + #### Sends + * time :: Object Includes from, to and index + +*/ + angular.module('kibana.column', []) .controller('column', function($scope, $rootScope) { // Set and populate defaults diff --git a/panels/dashcontrol/module.js b/panels/dashcontrol/module.js index 7fb38f71ef0..fcef5a44e48 100644 --- a/panels/dashcontrol/module.js +++ b/panels/dashcontrol/module.js @@ -1,3 +1,32 @@ +/* + + ## Dashcontrol + + Dash control allows for saving, loading and sharing of dashboards. Do not + disable the dashcontrol module as a special instance of it allows for loading + the default dashboard from dashboards/default + + ### Parameters + * save + ** gist :: Allow saving to gist. Requires registering an oauth domain with Github + ** elasticsearch :: Allow saving to a special Kibana index within Elasticsearch + ** local :: Allow saving to local file + * load + ** gist :: Allow loading from gists + ** elasticsearch :: Allow searching and loading of elasticsearch saved dashboards + ** local :: Allow loading of dashboards from Elasticsearch + * hide_control :: Upon save, hide this panel + * elasticsearch_size :: show this many dashboards under the ES section in the load drop down + * elasticsearch_saveto :: Special kibana index to save to + * temp :: Allow saving of temp dashboards + * temp_ttl :: How long should temp dashboards persist + + ### Group Events + #### Sends + * dashboard :: An object containing an entire dashboard to be loaded + +*/ + angular.module('kibana.dashcontrol', []) .controller('dashcontrol', function($scope, $routeParams, $http, eventBus, timer) { $scope.panel = $scope.panel || {}; diff --git a/panels/debug/module.js b/panels/debug/module.js index 5a955dade9a..ae0bdddf527 100644 --- a/panels/debug/module.js +++ b/panels/debug/module.js @@ -1,3 +1,21 @@ +/* + + ## Debug + + Shows the exchange of events between panels. Disabled by default and usually + should be. This panel exists in the ALL group by default so that it receives + all of the events from every panel + + ### Parameters + * size :: How many events to show + * style :: A hash containing css style parameters + + ### Group Events + #### Receives + * $kibana_debug :: Contains a meta object of any event sent + +*/ + angular.module('kibana.debug', []) .controller('debug', function($scope, eventBus) { diff --git a/panels/fields/module.js b/panels/fields/module.js index 1abb646d29c..dcafdb46360 100644 --- a/panels/fields/module.js +++ b/panels/fields/module.js @@ -1,3 +1,22 @@ +/* + + ## Fields + + Allows for enabling and disabling of fields in the table panel as well as a + micro anaylsis panel for analyzing the events in the table panel + + ### Parameters + * style :: a hash containing css styles + * arrange :: the layout pf the panel 'horizontal' or 'vertical' + * micropanel_position :: where to place the micropanel in relation to the field + + ### Group Events + #### Recieves + * table_documents :: An object containing the documents in the table panel + *** Sends + * fields :: an object containing the sort order, existing fields and selected fields + +*/ angular.module('kibana.fields', []) .controller('fields', function($scope, eventBus, $timeout) { diff --git a/panels/histogram/module.js b/panels/histogram/module.js index 42f3287a547..9ec721b0ca9 100644 --- a/panels/histogram/module.js +++ b/panels/histogram/module.js @@ -1,3 +1,42 @@ +/* + + ## Histogram + + A bucketted time series representation of the current query or queries. Note that this + panel uses facetting. I tried to make it safe by using sequential/serial querying but, + yeah, you should know that it uses facetting. It should be pretty safe. + + ### Parameters + * query :: an array of objects as such: {query: 'somequery', label 'legent text'}. + this is usually populated by a stringquery panel wher the query and label + parameter are the same + * interval :: Generated automatically. Tells ES how to bucket the data points + * fill :: Only applies to line charts. Level of area shading from 0-10 + * linewidth :: Only applies to line charts. How thick the line should be in pixels + While the editor only exposes 0-10, this can be any numeric value. + Set to 0 and you'll get something like a scatter plot + * timezone :: This isn't totally functional yet. Currently only supports browser and utc. + browser will adjust the x-axis labels to match the timezone of the user's + browser + * spyable :: Dislay the 'eye' icon that show the last elasticsearch query + * zoomlinks :: Show the zoom links? + * bars :: Show bars in the chart + * stack :: Stack multiple queries. This generally a crappy way to represent things. + You probably should just use a line chart without stacking + * points :: Should circles at the data points on the chart + * lines :: Line chart? Sweet. + * legend :: Show the legend? + * x-axis :: Show x-axis labels and grid lines + * y-axis :: Show y-axis labels and grid lines + ### Group Events + #### Receives + * time :: An object containing the time range to use and the index(es) to query + * query :: An Array of queries, even if its only one + #### Sends + * get_time :: On panel initialization get time range to query + +*/ + angular.module('kibana.histogram', []) .controller('histogram', function($scope, eventBus) { diff --git a/panels/hits/module.js b/panels/hits/module.js index 879beb309ab..eb40eeb852e 100644 --- a/panels/hits/module.js +++ b/panels/hits/module.js @@ -1,12 +1,34 @@ +/* + + ## Hits + + A variety of representations of the hits a query matches + + ### Parameters + * query :: An array of queries. No labels here, just an array of strings. Maybe + there should be labels. Probably. + * style :: A hash of css styles + * arrangement :: How should I arrange the query results? 'horizontal' or 'vertical' + * chart :: Show a chart? 'none', 'bar', 'pie' + * donut :: Only applies to 'pie' charts. Punches a hole in the chart for some reason + * tilt :: Only 'pie' charts. Janky 3D effect. Looks terrible 90% of the time. + * lables :: Only 'pie' charts. Labels on the pie? + ### Group Events + #### Sends + * get_time :: On panel initialization get time range to query + #### Receives + * time :: An object containing the time range to use and the index(es) to query + * query :: An Array of queries, even if its only one + +*/ angular.module('kibana.hits', []) .controller('hits', function($scope, eventBus) { // Set and populate defaults var _d = { - query : "*", + query : ["*"], group : "default", style : { "font-size": '10pt'}, - aggregate : true, arrangement : 'vertical', chart : 'none', counter_pos : 'above', diff --git a/panels/map/module.js b/panels/map/module.js index 17afbc2d3fc..cf8a824a158 100644 --- a/panels/map/module.js +++ b/panels/map/module.js @@ -1,3 +1,32 @@ +/* + + ## Map + + LOL. Should this even be documented? Zach's map panel is going to ruin this one. + For serious. This shades a map of the world, the US or Europe with the number of + events that match the query. Uses 2 letter country codes and nothing else. This uses + a terms facet. Its probably safe as long as you point it at the right field. Nach. + There's no way to query sequentially here, so I'm going to hit them all at once! + + ### Parameters + * query :: A single query string, not and array. This panel can only handle one + query at a time. + * map :: 'world', 'us' or 'europe' + * colors :: an array of colors to use for the regions of the map. If this is a 2 + element array, jquerymap will generate shades between these colors + * size :: How big to make the facet. Higher = more countries + * exclude :: Exlude the array of counties + * spyable :: Show the 'eye' icon that reveals the last ES query + * index_limit :: This does nothing yet. Eventually will limit the query to the first + N indices + ### Group Events + #### Sends + * get_time :: On panel initialization get time range to query + #### Receives + * time :: An object containing the time range to use and the index(es) to query + * query :: An Array of queries, this panel uses only the first one +*/ + angular.module('kibana.map', []) .controller('map', function($scope, eventBus) { diff --git a/panels/pie/module.js b/panels/pie/module.js index 0c3e8d5502f..2dc0ddcbb53 100644 --- a/panels/pie/module.js +++ b/panels/pie/module.js @@ -1,3 +1,37 @@ +/* + + ## Pie + + This panel is probably going away. For now its has 2 modes: + * terms: Run a terms facet on the query. You're gonna have a bad (ES crashing) day + if you run in this mode on a high cardinality field + * goal: Compare the query to this number and display the percentage that the query + represents + + ### Parameters + * query :: An object with 3 possible parameters depends on the mode: + ** field: Fields to run a terms facet on. Only does anything in terms mode + ** query: A string of the query to run + ** goal: How many to shoot for, only does anything in goal mode + * exclude :: In terms mode, ignore these terms + * donut :: Drill a big hole in the pie + * tilt :: A janky 3D representation of the pie. Looks terrible 90% of the time. + * legend :: Show the legend? + * labels :: Label the slices of the pie? + * mode :: 'terms' or 'goal' + * default_field :: LOL wat? A dumb fail over field if for some reason the query object + doesn't have a field + * spyable :: Show the 'eye' icon that displays the last ES query for this panel + + ### Group Events + #### Sends + * get_time :: On panel initialization get time range to query + #### Receives + * time :: An object containing the time range to use and the index(es) to query + * query :: An Array of queries, this panel will use the first in the array + +*/ + angular.module('kibana.pie', []) .controller('pie', function($scope, eventBus) { diff --git a/panels/sort/module.js b/panels/sort/module.js index 064f43beafe..8bcb07823e7 100644 --- a/panels/sort/module.js +++ b/panels/sort/module.js @@ -1,3 +1,25 @@ +/* + + ## Sort + + This will probably be removed in the near future since it only interacts with + the table panel and the table panel already implements all of its functionality. + It only interacts with the table panel in any case + + ### Parameters + * label :: The label to stick over the drop down + * sort :: An array where the first elemetn is the field to sort on an the second + is the direction ('asc' or 'desc') + ### Group Events + #### Sends + * sort :: An array where the first elemetn is the field to sort on an the second + is the direction ('asc' or 'desc') + #### Receives + * fields :: An array containing the fields in a table. This will be concat'd + + uniqued with the curent list. + +*/ + angular.module('kibana.sort', []) .controller('sort', function($scope, eventBus) { diff --git a/panels/stringquery/editor.html b/panels/stringquery/editor.html index a2e274a0cc9..a057ca99b0f 100644 --- a/panels/stringquery/editor.html +++ b/panels/stringquery/editor.html @@ -7,13 +7,6 @@ -