mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-15 18:28:51 +00:00
(js) Fix selected message class in advanced search
Also improved display of accounts subheaders.
This commit is contained in:
@@ -224,6 +224,17 @@
|
||||
};
|
||||
|
||||
/**
|
||||
* @function isSelectedMessage
|
||||
* @memberof Mailbox.prototype
|
||||
* @desc Check if the specified message is selected.
|
||||
* @param {string} messageId
|
||||
* @returns true if the specified message is selected
|
||||
*/
|
||||
Mailbox.prototype.isSelectedMessage = function(messageId) {
|
||||
return this.selectedMessage == messageId;
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $filter
|
||||
* @memberof Mailbox.prototype
|
||||
* @desc Fetch the messages metadata of the mailbox
|
||||
|
||||
@@ -191,17 +191,14 @@
|
||||
return mailbox;
|
||||
};
|
||||
|
||||
if (Mailbox.$virtualMode)
|
||||
return Mailbox.selectedFolder;
|
||||
|
||||
return _find(stateAccount.$mailboxes);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ngInject
|
||||
*/
|
||||
stateMessages.$inject = ['$q', 'Mailbox', 'stateMailbox'];
|
||||
function stateMessages($q, Mailbox, stateMailbox) {
|
||||
stateMessages.$inject = ['Mailbox', 'stateMailbox'];
|
||||
function stateMessages(Mailbox, stateMailbox) {
|
||||
if (Mailbox.$virtualMode)
|
||||
return [];
|
||||
|
||||
@@ -236,10 +233,12 @@
|
||||
function stateVirtualMailboxOfMessage($q, Mailbox, decodeUriFilter, $stateParams) {
|
||||
var mailboxId = decodeUriFilter($stateParams.mailboxId);
|
||||
|
||||
if (Mailbox.$virtualMode)
|
||||
if (Mailbox.$virtualMode) {
|
||||
Mailbox.selectedFolder.resetSelectedMessage();
|
||||
return _.find(Mailbox.selectedFolder.$mailboxes, function(mailboxObject) {
|
||||
return mailboxObject.path == mailboxId;
|
||||
});
|
||||
}
|
||||
else
|
||||
return $q.reject("No virtual mailbox defined for message");
|
||||
}
|
||||
@@ -247,8 +246,8 @@
|
||||
/**
|
||||
* @ngInject
|
||||
*/
|
||||
stateMessage.$inject = ['Mailbox', 'encodeUriFilter', '$stateParams', '$state', 'stateMailbox'];
|
||||
function stateMessage(Mailbox, encodeUriFilter, $stateParams, $state, stateMailbox) {
|
||||
stateMessage.$inject = ['Mailbox', 'encodeUriFilter', '$stateParams', '$state', 'stateMailbox', 'stateMessages'];
|
||||
function stateMessage(Mailbox, encodeUriFilter, $stateParams, $state, stateMailbox, stateMessages) {
|
||||
var message;
|
||||
|
||||
message = _.find(stateMailbox.$messages, function(messageObject) {
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
/**
|
||||
* @function init
|
||||
* @memberof Mailbox.prototype
|
||||
* @memberof VirtualMailbox.prototype
|
||||
* @desc Extend instance with new data and compute additional attributes.
|
||||
* @param {object} data - attributes of mailbox
|
||||
*/
|
||||
@@ -103,9 +103,34 @@
|
||||
this.$isLoading = false;
|
||||
};
|
||||
|
||||
/**
|
||||
* @function resetSelectedMessage
|
||||
* @memberof VirtualMailbox.prototype
|
||||
* @desc Delete 'selectedMessage' attribute of all submailboxes.
|
||||
*/
|
||||
VirtualMailbox.prototype.resetSelectedMessage = function() {
|
||||
_.each(this.$mailboxes, function(mailbox) {
|
||||
delete mailbox.selectedMessage;
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* @function isSelectedMessage
|
||||
* @memberof VirtualMailbox.prototype
|
||||
* @desc Check if the message of the specified mailbox is selected.
|
||||
* @param {string} messageId
|
||||
* @param {string} mailboxPath
|
||||
* @returns true if the specified message is selected
|
||||
*/
|
||||
VirtualMailbox.prototype.isSelectedMessage = function(messageId, mailboxPath) {
|
||||
return angular.isDefined(_.find(this.$mailboxes, function(mailbox) {
|
||||
return mailbox.path == mailboxPath && mailbox.selectedMessage == messageId;
|
||||
}));
|
||||
};
|
||||
|
||||
/**
|
||||
* @function getLength
|
||||
* @memberof Mailbox.prototype
|
||||
* @memberof VirtualMailbox.prototype
|
||||
* @desc Used by md-virtual-repeat / md-on-demand
|
||||
* @returns the number of items in the mailbox
|
||||
*/
|
||||
@@ -124,7 +149,7 @@
|
||||
|
||||
/**
|
||||
* @function getItemAtIndex
|
||||
* @memberof Mailbox.prototype
|
||||
* @memberof VirtualMailbox.prototype
|
||||
* @desc Used by md-virtual-repeat / md-on-demand
|
||||
* @returns the message as the specified index
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user