Changeset 6545
- Timestamp:
- 06/19/12 23:40:56 (11 years ago)
- Location:
- sandbox/expressoServiceImap/prototype
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/expressoServiceImap/prototype/api/datalayer.js
r6444 r6545 1182 1182 if( !result && (bothSides || oneSide) ) 1183 1183 { 1184 result = this.request( concept, id || filter.filter , filter.criteria );1184 result = this.request( concept, id || filter.filter || false, filter.criteria ); 1185 1185 1186 1186 if( result && bothSides && (!filter || … … 1957 1957 }, 1958 1958 1959 codec: function( concept, namespace, codec ){1959 codec: function( concept, namespace, codec, set ){ 1960 1960 1961 1961 if( codec.encoder ) 1962 this.encoder( concept, namespace, codec.encoder );1962 this.encoder( concept, namespace, codec.encoder, set ); 1963 1963 if( codec.decoder ) 1964 this.decoder( concept, namespace, codec.decoder );1964 this.decoder( concept, namespace, codec.decoder, set ); 1965 1965 if( codec.criteria ) 1966 this.register( "criterias", concept + ":" + namespace, codec.criteria );1967 1968 }, 1969 1970 encoder: function( concept, namespace, encoder ){1971 1972 this.register( "encoders", concept + ":" + namespace, encoder );1966 this.register( "criterias", concept + ":" + namespace, codec.criteria, set ); 1967 1968 }, 1969 1970 encoder: function( concept, namespace, encoder, set ){ 1971 1972 this.register( "encoders", concept + ":" + namespace, encoder, set ); 1973 1973 1974 1974 }, … … 1984 1984 }, 1985 1985 1986 decoder: function( concept, namespace, decoder ){1987 1988 this.register( "decoders", concept + ":" + namespace, decoder );1986 decoder: function( concept, namespace, decoder, set ){ 1987 1988 this.register( "decoders", concept + ":" + namespace, decoder, set ); 1989 1989 1990 1990 }, … … 2011 2011 }, 2012 2012 2013 register: function( kind, concept, deployable ){2013 register: function( kind, concept, deployable, set ){ 2014 2014 2015 2015 if( arguments.length < 3 ) … … 2020 2020 } 2021 2021 2022 if( !this[ kind ][ concept ] )2022 if( !this[ kind ][ concept ] || set ) 2023 2023 this[ kind ][ concept ] = []; 2024 2024 -
sandbox/expressoServiceImap/prototype/modules/attach_message/attach_message.js
r6529 r6545 43 43 44 44 current_folder = targetId.replace(dashes, '.'); 45 current_count = DataLayer.get( 'message', { criteria: { count: true } }, true );45 current_count = DataLayer.get( 'message', { criteria: { count: true, properties: {context:{folder:current_folder}} } }, true ); 46 46 47 47 $("#message_attacher_grid").trigger("reloadGrid") -
sandbox/expressoServiceImap/prototype/modules/attach_message/common.js
r6510 r6545 4 4 months = ['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec']; 5 5 current_folder = 'INBOX'; 6 current_count = DataLayer.get( 'message', { criteria: { count: true, properties: {context:{folder:current_folder}} } }, true ); 6 7 7 8 DataLayer.codec( 'folder', 'tree', { … … 56 57 57 58 encoder: function( data, crit ){ 58 59 if( !crit.criteria.properties.context.folder.indexOf( 'local_messages/' ) ) 59 60 crit = crit.criteria; 61 62 if( !crit.properties.context.folder.indexOf( 'local_messages/' ) ) 60 63 { 61 var msgs = expresso_local_messages.get_local_range_msgs( crit. criteria.properties.context.folder.replace(dots, "/").replace("local_messages/", ""),64 var msgs = expresso_local_messages.get_local_range_msgs( crit.properties.context.folder.replace(dots, "/").replace("local_messages/", ""), 62 65 crit.offset + 1, crit.limit, "SORTARRIVAL", crit.orderDesc, "ALL", 1, 1 ); 63 66 … … 75 78 } 76 79 77 return( {"rows": msgs, 78 "records": msgs.length, 79 "page": crit.page, 80 "total": Math.ceil( msgs.num_msgs / crit.limit )} ); 80 data = msgs; 81 81 } 82 82 83 return( data ); 83 return( {"rows": data, 84 "records": data.num_msgs || current_count, 85 "page": crit.offset / crit.limit + 1, 86 "total": Math.ceil( data.num_msgs || current_count / crit.limit )} ); 84 87 }, 85 88 criteria: function( crit ){ 86 89 87 return { criteria: { properties: {context:{folder: current_folder || 'INBOX'}}, offset: crit.rows * ( crit.page - 1 ), limit: crit.rows, orderDesc: crit.sord == "desc" } };90 return { criteria: { properties: {context:{folder: current_folder || 'INBOX'}}, offset: crit.rows * ( crit.page - 1 ), limit: crit.rows, orderDesc: crit.sord == "desc", currentCount: current_count } }; 88 91 89 92 } -
sandbox/expressoServiceImap/prototype/modules/filters/filters.js
r6529 r6545 397 397 var total = data.length ? Math.ceil( data.length / numRows ) : 0; 398 398 399 delete DataLayer.criterias['message:inboxSearch'];400 delete DataLayer.encoders['message:inboxSearch'];399 // delete DataLayer.criterias['message:inboxSearch']; 400 // delete DataLayer.encoders['message:inboxSearch']; 401 401 402 402 DataLayer.codec( 'message', 'inboxSearch', { … … 427 427 return( false ); 428 428 429 return { filter: [ " msgNumber", "IN", msgNumber ], criteria: { properties: { context: { folder: 'INBOX', page: crit.page }, order: crit.sidx } } };429 return { filter: [ "IN", "msgNumber", msgNumber ], criteria: { properties: { context: { folder: 'INBOX', page: crit.page }, order: crit.sidx } } }; 430 430 431 431 } 432 } );432 }, true ); 433 433 434 434 allMessages = data; -
sandbox/expressoServiceImap/prototype/services/ImapServiceAdapter.php
r6529 r6545 144 144 if( $filter ) 145 145 { 146 if( $filter[ 0] !== 'msgNumber' )146 if( $filter[1] !== 'msgNumber' ) 147 147 { 148 148 for( $i = 0; $i < count($filter); $i++ ) … … 158 158 159 159 $result = $this->get_info_msgs( array( 'folder' => $folder_name, 160 'msgs_number' => implode( ',', $filter[2] ) ) );160 'msgs_number' => implode( ',', $filter[2] ) ) ); 161 161 162 162 foreach( $result as $i => $val ) … … 170 170 'folder' => $folder_name, //INBOX 171 171 'msg_range_begin' => $criteria['offset'] + 1, //?? 172 'msg_range_end' => $criteria[' limit'], //$limit = $_GET['rows']; // get how many rows we want to have into the grid172 'msg_range_end' => $criteria['offset'] + $criteria['limit'], //$limit = $_GET['rows']; // get how many rows we want to have into the grid 173 173 'sort_box_type' => 'SORTARRIVAL', 174 174 'search_box_type' => 'ALL', … … 198 198 $response[$i]['timestamp'] = $result[$i]['udate'] * 1000; 199 199 $response[$i]['flags'] = implode(',', $flags_enum); 200 $response[$i]['size'] = $response["rows"][$i]['Size']; 201 $response[$i]['folder'] = $folder_name; 200 $response[$i]['size'] = $response[$i]['Size']; 201 $response[$i]['folder'] = $folder_name; 202 $response[$i]['msgNumber'] = $response[$i]['msg_number']; 202 203 //$response["rows"][$i]['udate'] = ( $result[$i]['udate'] + $this->functions->CalculateDateOffset() * 1000 ); 203 204 unset($response[$i]['Size']);
Note: See TracChangeset
for help on using the changeset viewer.