|
@@ -33,7 +33,7 @@ function (angular, app, _, kbn, moment) {
|
|
|
var module = angular.module('kibana.panels.table', []);
|
|
var module = angular.module('kibana.panels.table', []);
|
|
|
app.useModule(module);
|
|
app.useModule(module);
|
|
|
|
|
|
|
|
- module.controller('table', function($rootScope, $scope, fields, querySrv, dashboard, filterSrv) {
|
|
|
|
|
|
|
+ module.controller('table', function($rootScope, $scope, $modal, $q, $compile, fields, querySrv, dashboard, filterSrv) {
|
|
|
$scope.panelMeta = {
|
|
$scope.panelMeta = {
|
|
|
modals : [
|
|
modals : [
|
|
|
{
|
|
{
|
|
@@ -93,8 +93,42 @@ function (angular, app, _, kbn, moment) {
|
|
|
$scope.get_data();
|
|
$scope.get_data();
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ // Create a percent function for the view
|
|
|
$scope.percent = kbn.to_percent;
|
|
$scope.percent = kbn.to_percent;
|
|
|
|
|
|
|
|
|
|
+ $scope.termsModal = function(field) {
|
|
|
|
|
+ $scope.modalField = field;
|
|
|
|
|
+ showModal(
|
|
|
|
|
+ '{"height":"200px","chart":"bar","field":"'+field+'"}','terms');
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ $scope.statsModal = function(field) {
|
|
|
|
|
+ $scope.modalField = field;
|
|
|
|
|
+ showModal(
|
|
|
|
|
+ '{"field":"'+field+'"}','statistics');
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ var showModal = function(panel,type) {
|
|
|
|
|
+
|
|
|
|
|
+ $scope.facetPanel = panel;
|
|
|
|
|
+ $scope.facetType = type;
|
|
|
|
|
+
|
|
|
|
|
+ // create a new modal. Can't reuse one modal unforunately as the directive will not
|
|
|
|
|
+ // re-render on show.
|
|
|
|
|
+ var panelModal = $modal({
|
|
|
|
|
+ template: './app/panels/table/modal.html',
|
|
|
|
|
+ persist: true,
|
|
|
|
|
+ show: false,
|
|
|
|
|
+ scope: $scope,
|
|
|
|
|
+ keyboard: false
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ // and show it
|
|
|
|
|
+ $q.when(panelModal).then(function(modalEl) {
|
|
|
|
|
+ modalEl.modal('show');
|
|
|
|
|
+ });
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
$scope.toggle_micropanel = function(field,groups) {
|
|
$scope.toggle_micropanel = function(field,groups) {
|
|
|
var docs = _.map($scope.data,function(_d){return _d.kibana._source;});
|
|
var docs = _.map($scope.data,function(_d){return _d.kibana._source;});
|
|
|
var topFieldValues = kbn.top_field_values(docs,field,10,groups);
|
|
var topFieldValues = kbn.top_field_values(docs,field,10,groups);
|