lib/kibana/assets/app/services/querySrv.js in kibana-sinatra-3.0.0.0 vs lib/kibana/assets/app/services/querySrv.js in kibana-sinatra-3.0.1.0
- old
+ new
@@ -133,45 +133,53 @@
self.types.push(name);
}
});
});
+
+ this.list = function () {
+ return dashboard.current.services.query.list;
+ };
+
+ this.ids = function () {
+ return dashboard.current.services.query.ids;
+ };
+
this.init = function() {
- self.list = dashboard.current.services.query.list;
- self.ids = dashboard.current.services.query.ids;
- self.ids = dashboard.current.services.query.ids =
- _.intersection(_.map(self.list,function(v,k){return parseInt(k,10);}),self.ids);
+ dashboard.current.services.query.ids =
+ _.intersection(_.map(dashboard.current.services.query.list,
+ function(v,k){return parseInt(k,10);}),self.ids());
// Check each query object, populate its defaults
- _.each(self.list,function(query) {
+ _.each(dashboard.current.services.query.list,function(query) {
query = self.defaults(query);
});
- if (self.ids.length === 0) {
+ if (dashboard.current.services.query.ids.length === 0) {
self.set({});
}
};
// This is used both for adding queries and modifying them. If an id is passed,
// the query at that id is updated
this.set = function(query,id) {
if(!_.isUndefined(id)) {
- if(!_.isUndefined(self.list[id])) {
- _.extend(self.list[id],query);
+ if(!_.isUndefined(dashboard.current.services.query.list[id])) {
+ _.extend(dashboard.current.services.query.list[id],query);
return id;
} else {
return false;
}
} else {
// Query must have an id and color already
query.id = _.isUndefined(query.id) ? nextId() : query.id;
query.color = query.color || colorAt(query.id);
// Then it can get defaults
query = self.defaults(query);
- self.list[query.id] = query;
- self.ids.push(query.id);
+ dashboard.current.services.query.list[query.id] = query;
+ dashboard.current.services.query.ids.push(query.id);
return query.id;
}
};
this.defaults = function(query) {
@@ -180,14 +188,14 @@
query.color = query.color || colorAt(query.id);
return query;
};
this.remove = function(id) {
- if(!_.isUndefined(self.list[id])) {
- delete self.list[id];
+ if(!_.isUndefined(dashboard.current.services.query.list[id])) {
+ delete dashboard.current.services.query.list[id];
// This must happen on the full path also since _.without returns a copy
- self.ids = dashboard.current.services.query.ids = _.without(self.ids,id);
+ dashboard.current.services.query.ids = _.without(dashboard.current.services.query.ids,id);
return true;
} else {
return false;
}
};
@@ -220,27 +228,28 @@
// BROKEN
this.idsByMode = function(config) {
switch(config.mode)
{
case 'all':
- return _.pluck(_.where(self.list,{enable:true}),'id');
+ return _.pluck(_.where(dashboard.current.services.query.list,{enable:true}),'id');
case 'pinned':
- return _.pluck(_.where(self.list,{pin:true,enable:true}),'id');
+ return _.pluck(_.where(dashboard.current.services.query.list,{pin:true,enable:true}),'id');
case 'unpinned':
- return _.pluck(_.where(self.list,{pin:false,enable:true}),'id');
+ return _.pluck(_.where(dashboard.current.services.query.list,{pin:false,enable:true}),'id');
case 'selected':
- return _.intersection(_.pluck(_.where(self.list,{enable:true}),'id'),config.ids);
+ return _.intersection(_.pluck(_.where(dashboard.current.services.query.list,{enable:true}),'id'),config.ids);
default:
- return _.pluck(_.where(self.list,{enable:true}),'id');
+ return _.pluck(_.where(dashboard.current.services.query.list,{enable:true}),'id');
}
};
// This populates the internal query list and returns a promise containing it
this.resolve = function() {
// Find ids of all abstract queries
// Get a list of resolvable ids, constrast with total list to get abstract ones
- return $q.all(_.map(self.ids,function(q) {
- return self.queryTypes[self.list[q].type].resolve(_.clone(self.list[q])).then(function(data){
+ return $q.all(_.map(dashboard.current.services.query.ids,function(q) {
+ return self.queryTypes[dashboard.current.services.query.list[q].type].resolve(
+ _.clone(dashboard.current.services.query.list[q])).then(function(data){
return data;
});
})).then(function(data) {
resolvedQueries = _.flatten(data);
_.each(resolvedQueries,function(q,i) {
\ No newline at end of file