mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 10:03:33 -06:00
Fixed double loading indices issue
This commit is contained in:
parent
b96277c0c8
commit
278c069b4c
@ -23,7 +23,6 @@ angular.module('kibana.services', [])
|
||||
if(_.contains(_types,'$kibana_debug'))
|
||||
$rootScope.$broadcast('$kibana_debug',packet);
|
||||
|
||||
//console.log('Sent: '+type + ' to ' + to + ' from ' + from + ': ' + angular.toJson(data))
|
||||
$rootScope.$broadcast(type,{
|
||||
from: from,
|
||||
to: to,
|
||||
@ -46,7 +45,6 @@ angular.module('kibana.services', [])
|
||||
var _time = packet.time
|
||||
var _group = (!(_.isUndefined(scope.panel))) ? scope.panel.group : ["NONE"]
|
||||
|
||||
//console.log('registered:' + type + " for " + scope.panel.title + " " + scope.$id)
|
||||
if(!(_.isArray(_to)))
|
||||
_to = [_to];
|
||||
if(!(_.isArray(_group)))
|
||||
@ -61,7 +59,6 @@ angular.module('kibana.services', [])
|
||||
_.indexOf(_to,'ALL') > -1) &&
|
||||
_from !== _id
|
||||
) {
|
||||
//console.log('Got: '+type + ' from ' + _from + ' to ' + _to + ': ' + angular.toJson(packet.data))
|
||||
fn(event,packet.data,{time:_time,to:_to,from:_from,type:_type});
|
||||
}
|
||||
});
|
||||
@ -208,13 +205,15 @@ angular.module('kibana.services', [])
|
||||
"#E0F9D7","#FCEACA","#CFFAFF","#F9E2D2","#FCE2DE","#BADFF4","#F9D9F9","#DEDAF7" //7
|
||||
];
|
||||
|
||||
// Save a reference to this
|
||||
this.list = dashboard.current.services.query.list;
|
||||
this.ids = dashboard.current.services.query.ids;
|
||||
|
||||
// Save a reference to this
|
||||
var self = this;
|
||||
|
||||
var init = function() {
|
||||
this.init = function() {
|
||||
_q = dashboard.current.services.query;
|
||||
self.list = dashboard.current.services.query.list;
|
||||
self.ids = dashboard.current.services.query.ids;
|
||||
|
||||
if (self.ids.length == 0) {
|
||||
self.set({});
|
||||
}
|
||||
@ -273,7 +272,7 @@ angular.module('kibana.services', [])
|
||||
return self.colors[id % self.colors.length]
|
||||
}
|
||||
|
||||
init();
|
||||
self.init();
|
||||
|
||||
})
|
||||
.service('filterSrv', function(dashboard, ejsResource) {
|
||||
@ -292,9 +291,19 @@ angular.module('kibana.services', [])
|
||||
// Save a reference to this
|
||||
var self = this;
|
||||
|
||||
// Accessors
|
||||
this.list = dashboard.current.services.filter.list;
|
||||
this.ids = dashboard.current.services.filter.ids;
|
||||
// Call this whenever we need to reload the important stuff
|
||||
this.init = function() {
|
||||
// Accessors
|
||||
self.list = dashboard.current.services.filter.list;
|
||||
self.ids = dashboard.current.services.filter.ids;
|
||||
_f = dashboard.current.services.filter;
|
||||
|
||||
_.each(self.getByType('time',true),function(time) {
|
||||
self.list[time.id].from = new Date(time.from)
|
||||
self.list[time.id].to = new Date(time.to)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
// This is used both for adding filters and modifying them.
|
||||
// If an id is passed, the filter at that id is updated
|
||||
@ -396,7 +405,8 @@ angular.module('kibana.services', [])
|
||||
}
|
||||
|
||||
this.idsByType = function(type,inactive) {
|
||||
return _.pluck(_.where(self.list,{type:type,active:(inactive ? false:true)}),'id')
|
||||
var _require = inactive ? {type:type} : {type:type,active:true}
|
||||
return _.pluck(_.where(self.list,_require),'id')
|
||||
}
|
||||
|
||||
// This special function looks for all time filters, and returns a time range according to the mode
|
||||
@ -446,6 +456,9 @@ angular.module('kibana.services', [])
|
||||
}
|
||||
}
|
||||
|
||||
// Now init
|
||||
self.init();
|
||||
|
||||
})
|
||||
.service('dashboard', function($routeParams, $http, $rootScope, $injector, ejsResource, timer, kbnIndex) {
|
||||
// A hash of defaults to use when loading a dashboard
|
||||
@ -466,16 +479,17 @@ angular.module('kibana.services', [])
|
||||
var ejs = ejsResource(config.elasticsearch);
|
||||
var gist_pattern = /(^\d{5,}$)|(^[a-z0-9]{10,}$)|(gist.github.com(\/*.*)\/[a-z0-9]{5,}\/*$)/;
|
||||
|
||||
// Empty dashboard object
|
||||
this.current = {};
|
||||
this.last = {};
|
||||
this.indices = [];
|
||||
|
||||
// Store a reference to this
|
||||
var self = this;
|
||||
var filterSrv,query;
|
||||
|
||||
this.current = {};
|
||||
this.last = {};
|
||||
|
||||
$rootScope.$on('$routeChangeSuccess',function(){
|
||||
// Clear the current dashboard to prevent reloading
|
||||
self.current = {};
|
||||
self.indices = [];
|
||||
route();
|
||||
})
|
||||
|
||||
@ -538,19 +552,26 @@ angular.module('kibana.services', [])
|
||||
}
|
||||
|
||||
this.dash_load = function(dashboard) {
|
||||
// Cancel all timers
|
||||
timer.cancel_all();
|
||||
|
||||
// If not using time based indices, use the default index
|
||||
if(dashboard.index.interval === 'none') {
|
||||
self.indices = [dashboard.index.default]
|
||||
}
|
||||
|
||||
self.current = dashboard;
|
||||
self.current = _.clone(dashboard);
|
||||
|
||||
// Ok, now that we've setup the current dashboard, we can inject our services
|
||||
query = $injector.get('query');
|
||||
filterSrv = $injector.get('filterSrv')
|
||||
|
||||
// Make sure these re-init
|
||||
query.init();
|
||||
filterSrv.init();
|
||||
|
||||
if(dashboard.index.interval !== 'none' && filterSrv.idsByType('time').length == 0) {
|
||||
//if(dashboard.index.interval !== 'none') {
|
||||
self.refresh();
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
*/
|
||||
|
||||
angular.module('kibana.dashcontrol', [])
|
||||
.controller('dashcontrol', function($scope, $routeParams, $http, timer, dashboard) {
|
||||
.controller('dashcontrol', function($scope, $http, timer, dashboard) {
|
||||
|
||||
$scope.panel = $scope.panel || {};
|
||||
// Set and populate defaults
|
||||
|
@ -49,7 +49,7 @@ angular.module('kibana.histogram', [])
|
||||
auto_int : true,
|
||||
resolution : 100,
|
||||
interval : '5m',
|
||||
fill : 3,
|
||||
fill : 0,
|
||||
linewidth : 3,
|
||||
timezone : 'browser', // browser, utc or a standard timezone
|
||||
spyable : true,
|
||||
|
Loading…
Reference in New Issue
Block a user