mirror of
https://github.com/moparisthebest/mail
synced 2024-11-22 17:02:17 -05:00
integrate mark email as read
This commit is contained in:
parent
7b695d3449
commit
82d592f0cc
@ -23,6 +23,9 @@ define(function(require) {
|
|||||||
$scope.selected = email;
|
$scope.selected = email;
|
||||||
// set selected in parent scope ro it can be displayed in the read view
|
// set selected in parent scope ro it can be displayed in the read view
|
||||||
$scope.$parent.selected = $scope.selected;
|
$scope.$parent.selected = $scope.selected;
|
||||||
|
|
||||||
|
// mark selected message as 'read'
|
||||||
|
markAsRead(email);
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.synchronize = function() {
|
$scope.synchronize = function() {
|
||||||
@ -175,6 +178,27 @@ define(function(require) {
|
|||||||
function getFolder() {
|
function getFolder() {
|
||||||
return $scope.$parent.currentFolder;
|
return $scope.$parent.currentFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function markAsRead(email) {
|
||||||
|
email.unread = false;
|
||||||
|
|
||||||
|
// only update imap state if user is logged in
|
||||||
|
if (!loggedIn) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
emailDao.imapMarkMessageRead({
|
||||||
|
folder: getFolder().path,
|
||||||
|
uid: email.uid
|
||||||
|
}, function(err) {
|
||||||
|
if (err) {
|
||||||
|
console.log(err);
|
||||||
|
updateStatus('Error marking read!');
|
||||||
|
$scope.$apply();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function createDummyMails(callback) {
|
function createDummyMails(callback) {
|
||||||
|
@ -384,6 +384,24 @@ define(function(require) {
|
|||||||
}, messageReady);
|
}, messageReady);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
EmailDAO.prototype.imapMarkMessageRead = function(options, callback) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
// validate options
|
||||||
|
if (!options.folder || !options.uid) {
|
||||||
|
callback({
|
||||||
|
errMsg: 'Invalid options!'
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
self._imapClient.updateFlags({
|
||||||
|
path: options.folder,
|
||||||
|
uid: options.uid,
|
||||||
|
unread: false
|
||||||
|
}, callback);
|
||||||
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
// SMTP Apis
|
// SMTP Apis
|
||||||
//
|
//
|
||||||
|
@ -228,7 +228,7 @@ define(function(require) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('IMAP: get unread messages for folder', function() {
|
describe('IMAP: get unread message count for folder', function() {
|
||||||
it('should work', function(done) {
|
it('should work', function(done) {
|
||||||
imapClientStub.unreadMessages.yields();
|
imapClientStub.unreadMessages.yields();
|
||||||
emailDao.unreadMessages(function(err) {
|
emailDao.unreadMessages(function(err) {
|
||||||
@ -409,8 +409,23 @@ define(function(require) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('IMAP: mark message as read', function() {
|
||||||
|
it('should work', function(done) {
|
||||||
|
imapClientStub.updateFlags.yields();
|
||||||
|
|
||||||
|
emailDao.imapMarkMessageRead({
|
||||||
|
folder: 'asdf',
|
||||||
|
uid: 1
|
||||||
|
}, function(err) {
|
||||||
|
expect(imapClientStub.updateFlags.calledOnce).to.be.true;
|
||||||
|
expect(err).to.not.exist;
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
Loading…
Reference in New Issue
Block a user