- Timestamp:
- 08/03/11 16:48:31 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/expressoMail1_2/MailArchiver/2.2/expressoMail1_2/js/MAQueryConfig.js
r4873 r4899 20 20 this.body = null; 21 21 this.date = null; 22 this. flag = null;22 this.tag = null; 23 23 this.folder = null; 24 24 this.order = null; 25 this.preview_message = null; 26 this.preview_tooltip = null; 25 27 this.defaults = null; 26 28 } … … 42 44 this.setDate(cl[p]); 43 45 if(p.toLowerCase() == 'flags') 44 this.set Flags(cl[p]);46 this.setTag(cl[p]); 45 47 if(p.toLowerCase() == 'folder') 46 48 this.setFolder(cl[p]); … … 52 54 MAQueryConfig.prototype.setDefaults = function(defaults){ 53 55 this.defaults = defaults; 56 } 57 58 MAQueryConfig.prototype.setExpressoDefaults = function(data_default){ 59 //Expresso defaults came from "messages_controller.js": here, we maps 60 //each array entry from messages_list intended to run by our own behavior 61 if(data_default.length != 7) 62 return; 63 //expresso default argument list => new Array(baseFolder,msg_range_begin,emails_per_page,sort_box_type,sort_box_reverse,preview_msg_subject,preview_msg_tip); 64 this.setFolder(data_default[0]); 65 this.setBounds(data_default[1], data_default[2]); 66 67 if (parseInt(data_default[4]) == 0) 68 var oexpor = 'asc'; 69 else 70 var oexpor = 'desc'; 71 72 switch(data_default[3].toLowerCase()){ 73 case 'sortfrom': 74 var oexpcrt = 'from'; 75 break; 76 case 'sortsubject': 77 var oexpcrt = 'subject'; 78 break; 79 case 'sortsize': 80 var oexpcrt = 'size'; 81 break; 82 default: 83 var oexpcrt = 'date'; 84 break; 85 } 86 87 var oexporder = eval('({"' + oexpcrt + '":"' + oexpor + '"})'); 88 89 this.setOrder(oexporder); 54 90 } 55 91 … … 181 217 182 218 //flags data 183 MAQueryConfig.prototype.set Flags= function(flaglist){219 MAQueryConfig.prototype.setTag = function(flaglist){ 184 220 if(flaglist.flags.length <= 0){ 185 this. flag = null;186 return; 187 } 188 189 this. flag = '"flag":[';221 this.tag = null; 222 return; 223 } 224 225 this.tag = '"flag":['; 190 226 var flag_data = flaglist.flags.split(','); 191 227 if(flag_data.length > 0){ 192 228 for(var k=0; k<flag_data.length; k++){ 193 this. flag += '{"@value":"'+flag_data[k]+'"},'229 this.tag += '{"@value":"'+flag_data[k]+'"},' 194 230 } 195 this. flag = this.flag.substr(0,this.flag.length-1);231 this.tag = this.tag.substr(0,this.tag.length-1); 196 232 } 197 233 else{ 198 this. flag += '{"@value":"'+flaglist.flags+'"},';199 } 200 this. flag += '],';234 this.tag += '{"@value":"'+flaglist.flags+'"},'; 235 } 236 this.tag += '],'; 201 237 } 202 238 203 239 //Folder data 204 240 MAQueryConfig.prototype.setFolder = function(folderslist){ 205 if(folderslist. folderlength <= 0){241 if(folderslist.length <= 0){ 206 242 this.folder = null; 207 243 return; … … 209 245 210 246 this.folder = '"folder":['; 211 var folder_data = folderslist.folder.split(','); 212 if(folder_data.length > 0){ 213 for(var k=0; k<folder_data.length; k++){ 214 this.folder += '{"@id":"'+folder_data[k]+'"},' 247 if (folderslist.indexOf(',') != -1){ 248 var folder_data = folderslist.folder.split(','); 249 if(folder_data.length > 0){ 250 for(var k=0; k<folder_data.length; k++){ 251 this.folder += '{"@id":"'+folder_data[k]+'"},' 252 } 253 this.folder = this.folder.substr(0,this.folder.length-1); 215 254 } 216 this.folder = this.folder.substr(0,this.folder.length-1); 255 else{ 256 this.folder += '{"@id":"'+folderslist+'"}'; 257 } 217 258 } 218 259 else{ 219 this.folder += '{"@id":"'+folderslist.folder+'"},';260 this.folder += '{"@id":"' + folderslist + '"}'; 220 261 } 221 262 this.folder += '],'; … … 224 265 //Order criteria 225 266 MAQueryConfig.prototype.setOrder = function(order){ 226 if( order.length <= 0){267 if(typeof(order) != 'object'){ 227 268 this.order = null; 228 269 return; … … 259 300 } 260 301 302 MAQueryConfig.prototype.getFrom = function(){ 303 (this.from != null) ? retdata = this.from : retdata = ""; 304 return(retdata); 305 } 306 307 MAQueryConfig.prototype.getTo = function(){ 308 (this.to != null) ? retdata = this.to : retdata = ""; 309 return(retdata); 310 } 311 312 MAQueryConfig.prototype.getCc = function(){ 313 (this.cc != null) ? retdata = this.cc : retdata = ""; 314 return(retdata); 315 } 316 317 MAQueryConfig.prototype.getSubject = function(){ 318 (this.subject != null) ? retdata = this.subject : retdata = ""; 319 return(retdata); 320 } 321 322 MAQueryConfig.prototype.getBody = function(){ 323 (this.body != null) ? retdata = this.body : retdata = ""; 324 return(retdata); 325 } 326 327 MAQueryConfig.prototype.getDate = function(){ 328 (this.date != null) ? retdata = this.date : retdata = ""; 329 return(retdata); 330 } 331 332 MAQueryConfig.prototype.getTag = function(){ 333 (this.tag != null) ? retdata = this.tag : retdata = ""; 334 return(retdata); 335 } 336 337 MAQueryConfig.prototype.getFolder = function(){ 338 (this.folder != null) ? retdata = this.folder : retdata = ""; 339 return(retdata); 340 } 341 342 MAQueryConfig.prototype.getOrder = function(){ 343 (this.order != null) ? retdata = this.order : retdata = ""; 344 return(retdata); 345 } 346 261 347 //Query criteria (core api) 262 348 MAQueryConfig.prototype.query = function(offsetlow,offsethight, criterialist){ 263 this.setBounds(offsetlow, offsethight); 264 this.setCriteriaList(criterialist); 349 if ((offsetlow) && (offsethight)) 350 this.setBounds(offsetlow, offsethight); 351 352 if (criterialist) 353 if(criterialist.length > 0) 354 this.setCriteriaList(criterialist); 355 265 356 var querystring = '{"query":{' + this.lowerIndex + this.upperIndex; 266 querystring += this. from;267 querystring += this. to;268 querystring += this. cc;269 querystring += this. subject;270 querystring += this. body;271 querystring += this. date;272 querystring += this. flag;273 querystring += this. folder;274 querystring += this. order;357 querystring += this.getFrom(); 358 querystring += this.getTo(); 359 querystring += this.getCc(); 360 querystring += this.getSubject(); 361 querystring += this.getBody(); 362 querystring += this.getDate(); 363 querystring += this.getTag(); 364 querystring += this.getFolder(); 365 querystring += this.getOrder(); 275 366 querystring += '}}'; 276 367 return(querystring);
Note: See TracChangeset
for help on using the changeset viewer.