From 02076cff400bdddbbb376afba70e0d189b4423cd Mon Sep 17 00:00:00 2001 From: Tankred Hase Date: Thu, 21 Mar 2013 21:58:56 +0100 Subject: [PATCH] moved ordering of emails to list view instead of email dao --- src/js/dao/email-dao.js | 5 +---- src/js/view/messagelist-view.js | 9 +++++---- test/unit/email-dao-test.js | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/js/dao/email-dao.js b/src/js/dao/email-dao.js index dd8f32e..0b803f0 100644 --- a/src/js/dao/email-dao.js +++ b/src/js/dao/email-dao.js @@ -60,10 +60,7 @@ app.dao.EmailDAO = function(_, crypto, devicestorage, cloudstorage) { // get items from storage devicestorage.listItems('email_' + folderName ,offset ,num, function(decryptedList) { // parse to backbone model collection - collection = new app.model.EmailCollection(decryptedList); - - // reverse order so that mails with the most recent dat will be displayed first - collection.models.reverse(); + collection = new app.model.EmailCollection(decryptedList); // cache collection in folder memory if (decryptedList.length > 0) { diff --git a/src/js/view/messagelist-view.js b/src/js/view/messagelist-view.js index 1ba535d..d570d76 100644 --- a/src/js/view/messagelist-view.js +++ b/src/js/view/messagelist-view.js @@ -50,18 +50,19 @@ app.view.MessageListView = Backbone.View.extend({ var self = this, page = $(this.el), list = page.find('#message-list'), - listItemArgs; + listItemArgs, i, email; $.mobile.loading('show', { text: 'decrypting...', textVisible: true }); this.dao.listItems(this.folder, 0, 10, function(collection) { // clear list list.html(''); - // append items to list - _.each(collection.models, function(email) { + // append items to list in reverse order so mails with the most recent date will be displayed first + for (i = collection.models.length - 1; i >= 0; i--) { + email = collection.at(i); listItemArgs = {account: self.options.account, folder: self.folder, model: email}; list.append(new app.view.MessageListItemView(listItemArgs).render().el); - }, this); + } // refresh list view list.listview('refresh'); diff --git a/test/unit/email-dao-test.js b/test/unit/email-dao-test.js index 63e65a3..da48457 100644 --- a/test/unit/email-dao-test.js +++ b/test/unit/email-dao-test.js @@ -60,7 +60,7 @@ asyncTest("Persist test emails", 2, function() { asyncTest("List Email models", 1, function() { emaildao_test.emailDao.listItems('inbox', 0, emaildao_test.list.length, function(collection) { var gotten = collection.toJSON(), - reference = emaildao_test.list.toJSON().reverse(); + reference = emaildao_test.list.toJSON(); deepEqual(gotten, reference, 'Compare collection');