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