q = new ManifoldQuery();
return jQuery.extend(true, q, this);
}
+
this.add_filter = function(key, op, value) {
this.filters.push(new Array(key, op, 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