From 2b9a0ac3cb27ab0ca9a3e24af5387e0b7dd78f62 Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Wed, 17 Nov 2010 00:35:35 +0100 Subject: [PATCH] Initial mailbox loading. --- imp/js/mobile.js | 28 ++++++++++++++++++++++++++++ imp/lib/Injector/Factory/MailboxList.php | 1 + imp/templates/mobile/mailbox.html.php | 2 +- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/imp/js/mobile.js b/imp/js/mobile.js index 12a31b56f..18245e670 100644 --- a/imp/js/mobile.js +++ b/imp/js/mobile.js @@ -31,7 +31,35 @@ var ImpMobile = { toMailbox: function(mailbox, label) { $('#imp-mailbox-header').text(label); + $('#imp-mailbox-list').empty(); $.mobile.changePage('#mailbox', 'slide', false, true); + $.mobile.pageLoading(); + ImpMobile.doAction( + 'viewPort', + { view: mailbox, initial: 1, slice: '1', requestid: 1, after: 25 }, + ImpMobile.messagesLoaded); + }, + + /** + * Callback method after message list has been loaded. + * + * @param object r The Ajax response object. + */ + messagesLoaded: function(r) + { + var list = $('#imp-mailbox-list'); + $.mobile.pageLoading(true); + if (r.response && r.response.ViewPort) { + $.each(r.response.ViewPort.data, function(key, data) { + list.append( + $('
  • ').append( + $('

    ').append( + $('').text(data.subject))).append( + $('

    ').text(data.date)).append( + $('

    ').text(data.from))); + }); + list.listview('refresh'); + } }, /** diff --git a/imp/lib/Injector/Factory/MailboxList.php b/imp/lib/Injector/Factory/MailboxList.php index 1c10969fc..3ed83de82 100644 --- a/imp/lib/Injector/Factory/MailboxList.php +++ b/imp/lib/Injector/Factory/MailboxList.php @@ -62,6 +62,7 @@ class IMP_Injector_Factory_MailboxList if (!isset($this->_instances[$mailbox])) { switch ($mode) { case 'dimp': + case 'mobile': $ob = new IMP_Mailbox_List($mailbox); break; diff --git a/imp/templates/mobile/mailbox.html.php b/imp/templates/mobile/mailbox.html.php index 797744d7a..dc4efdfcd 100644 --- a/imp/templates/mobile/mailbox.html.php +++ b/imp/templates/mobile/mailbox.html.php @@ -9,7 +9,7 @@

    -