a:14:{s:9:"#provides";s:25:"dojox.data.util.JsonQuery";s:9:"#resource";s:22:"data/util/JsonQuery.js";s:25:"dojox.data.util.JsonQuery";a:3:{s:4:"type";s:8:"Function";s:9:"classlike";b:1;s:7:"summary";s:0:"";}s:44:"dojox.data.util.JsonQuery.useFullIdInQueries";a:2:{s:9:"prototype";s:25:"dojox.data.util.JsonQuery";s:7:"summary";s:0:"";}s:38:"dojox.data.util.JsonQuery._toJsonQuery";a:6:{s:9:"prototype";s:25:"dojox.data.util.JsonQuery";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:4:"args";a:1:{s:4:"type";s:0:"";}s:19:"jsonQueryPagination";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:2409:" var first = true; var self = this; function buildQuery(path, query){ if(query.__id){ // it is a reference to a persisted object, need to make it a query by id var newQuery = {}; newQuery[self.idAttribute] = self.useFullIdInQueries ? query.__id : query[self.idAttribute]; query = newQuery; } for(var i in query){ // iterate through each property, adding them to the overall query var value = query[i]; var newPath = path + (/^[a-zA-Z_][\w_]*$/.test(i) ? '.' + i : '[' + dojo._escapeString(i) + ']'); if(value && typeof value == "object"){ buildQuery(newPath, value); }else if(value!="*"){ // full wildcards can be ommitted jsonQuery += (first ? "" : "&") + newPath + ((args.queryOptions && args.queryOptions.ignoreCase) ? "~" : "=") + dojo.toJson(value); first = false; } } } // performs conversion of Dojo Data query objects and sort arrays to JSONQuery strings if(args.query && typeof args.query == "object"){ // convert Dojo Data query objects to JSONQuery var jsonQuery = "[?("; buildQuery("@", args.query); if(!first){ // use ' instead of " for quoting in JSONQuery, and end with ] jsonQuery += ")]"; }else{ jsonQuery = ""; } args.queryStr = jsonQuery.replace(/\\"|"/g,function(t){return t == '"' ? "'" : t;}); }else if(!args.query || args.query == '*'){ args.query = ""; } var sort = args.sort; if(sort){ // if we have a sort order, add that to the JSONQuery expression args.queryStr = args.queryStr || (typeof args.query == 'string' ? args.query : ""); first = true; for(i = 0; i < sort.length; i++){ args.queryStr += (first ? '[' : ',') + (sort[i].descending ? '\\' : '/') + "@[" + dojo._escapeString(sort[i].attribute) + "]"; first = false; } if(!first){ args.queryStr += ']'; } } // this is optional because with client side paging JSONQuery doesn't yield the total count if(jsonQueryPagination && (args.start || args.count)){ // pagination args.queryStr = (args.queryStr || (typeof args.query == 'string' ? args.query : "")) + '[' + (args.start || '') + ':' + (args.count ? (args.start || 0) + args.count : '') + ']'; } if(typeof args.queryStr == 'string'){ args.queryStr = args.queryStr.replace(/\\"|"/g,function(t){return t == '"' ? "'" : t;}); return args.queryStr; } return args.query;";s:7:"private";b:1;s:7:"summary";s:0:"";}s:45:"dojox.data.util.JsonQuery.jsonQueryPagination";a:2:{s:9:"prototype";s:25:"dojox.data.util.JsonQuery";s:7:"summary";s:0:"";}s:31:"dojox.data.util.JsonQuery.fetch";a:5:{s:9:"prototype";s:25:"dojox.data.util.JsonQuery";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"args";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:88:" this._toJsonQuery(args, this.jsonQueryPagination); return this.inherited(arguments);";s:7:"summary";s:0:"";}s:38:"dojox.data.util.JsonQuery.isUpdateable";a:4:{s:9:"prototype";s:25:"dojox.data.util.JsonQuery";s:4:"type";s:8:"Function";s:6:"source";s:14:" return true;";s:7:"summary";s:0:"";}s:38:"dojox.data.util.JsonQuery.matchesQuery";a:5:{s:9:"prototype";s:25:"dojox.data.util.JsonQuery";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:4:"item";a:1:{s:4:"type";s:0:"";}s:7:"request";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:135:" request._jsonQuery = request._jsonQuery || dojox.json.query(this._toJsonQuery(request)); return request._jsonQuery([item]).length;";s:7:"summary";s:0:"";}s:41:"dojox.data.util.JsonQuery.clientSideFetch";a:5:{s:9:"prototype";s:25:"dojox.data.util.JsonQuery";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:7:"request";a:1:{s:4:"type";s:6:"Object";}s:11:"baseResults";a:1:{s:4:"type";s:5:"Array";}}s:6:"source";s:278:" request._jsonQuery = request._jsonQuery || dojox.json.query(this._toJsonQuery(request)); // we use client side paging function here instead of JSON Query because we must also determine the total count return this.clientSidePaging(request, request._jsonQuery(baseResults));";s:7:"summary";s:0:"";}s:39:"dojox.data.util.JsonQuery.querySuperSet";a:5:{s:9:"prototype";s:25:"dojox.data.util.JsonQuery";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:9:"argsSuper";a:1:{s:4:"type";s:0:"";}s:7:"argsSub";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:88:" if(!argsSuper.query){ return argsSub.query; } return this.inherited(arguments);";s:7:"summary";s:0:"";}s:15:"dojox.data.util";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:10:"dojox.data";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}s:5:"dojox";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}