X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=manifold%2Fjs%2Fmanifold-query.js;h=6036c38cef1ac3a383d343afb8dd2a64fd8e713e;hb=b4be700065b4341db22d1ce46133bf1edef36340;hp=c6ebaabf03959a1dc8840ff7d9315846a7cadd67;hpb=4b9ed7eeaae673d0bf30a4d494fa052bcbc41fdb;p=myslice.git diff --git a/manifold/js/manifold-query.js b/manifold/js/manifold-query.js index c6ebaabf..6036c38c 100644 --- a/manifold/js/manifold-query.js +++ b/manifold/js/manifold-query.js @@ -45,6 +45,7 @@ INSERT INTO object VALUES(field=value) q = new ManifoldQuery(); return jQuery.extend(true, q, this); } + this.add_filter = function(key, op, value) { this.filters.push(new Array(key, op, value)); } @@ -99,19 +100,32 @@ INSERT INTO object VALUES(field=value) return {'added':added, 'removed':removed}; } + // Callaback received 3 parameters: query, data, parent_query this.iter_subqueries = function(callback, data) { - rec = function(query, callback, data) { + rec = function(query, callback, data, parent_query) { + callback(query, data, parent_query); jQuery.each(query.subqueries, function(object, subquery) { - rec(subquery, callback); + rec(subquery, callback, data, query); }); - callback(query, data); }; + if (this.analyzed_query !== undefined) query = this.analyzed_query; else - query = this - rec(query, callback, data); + query = this; + + rec(query, callback, data, null); + } + + this.select = function(field) + { + this.fields.push(field); + } + + this.unselect = function(field) + { + this.fields = $.grep(this.fields, function(x) { return x != field; }); } // we send queries as a json string now