mail/src/js/controller/message-list.js

84 lines
2.5 KiB
JavaScript
Raw Normal View History

define(function(require) {
'use strict';
2013-09-05 04:59:55 -04:00
var appController = require('js/app-controller'),
moment = require('moment');
2013-09-06 12:34:36 -04:00
var MessageListCtrl = function($scope, $routeParams) {
$scope.folder = $routeParams.folder;
$scope.messageId = $routeParams.messageId;
$scope.select = function(email) {
$scope.selected = email;
};
2013-09-05 09:45:00 -04:00
if (true) {
createDummyMails(function(emails) {
$scope.emails = emails;
2013-09-06 12:34:36 -04:00
$scope.select($scope.emails[0]);
2013-09-05 09:45:00 -04:00
});
return;
}
fetchList(function(emails) {
$scope.emails = emails;
$scope.$apply();
});
};
function fetchList(callback) {
appController.fetchOAuthToken('passphrase', function(err) {
if (err) {
console.log(err);
return;
}
appController._emailDao.imapListMessages({
folder: 'INBOX',
offset: -6,
num: 0
2013-09-05 04:59:55 -04:00
}, function(err, emails) {
if (err) {
console.log(err);
return;
}
addDisplayDate(emails);
2013-09-05 04:59:55 -04:00
callback(emails);
});
});
}
function addDisplayDate(emails) {
emails.forEach(function(email) {
// set display date
email.displayDate = moment(email.sentDate).format('DD.MM.YY');
});
return emails;
}
function createDummyMails(callback) {
var Email = function(unread) {
2013-09-06 12:34:36 -04:00
this.uid = '1';
this.from = [{
name: 'Whiteout Support',
address: 'support@whiteout.io'
}]; // sender address
this.to = [{
address: 'max.musterman@gmail.com'
}]; // list of receivers
this.unread = unread;
this.displayDate = '23.08.13';
2013-09-06 12:34:36 -04:00
this.longDisplayDate = 'Wednesday, 23.08.2013 19:23';
this.subject = "Welcome Max"; // Subject line
this.body = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy."; // plaintext body
};
var dummys = [new Email(true), new Email(true), new Email(false), new Email(false), new Email(false), new Email(false)];
callback(dummys);
}
return MessageListCtrl;
});