(js) Fix navigation in Mail advanced search mode
parent
045013bc74
commit
ce1fb708a0
|
@ -319,7 +319,7 @@
|
|||
|
||||
<div id="detailView" class="view-detail"
|
||||
layout="column" layout-align="start center"
|
||||
ng-class="{ 'sg-close': !mailbox.service.selectedFolder.selectedMessage }"
|
||||
ng-class="{ 'sg-close': !mailbox.service.selectedFolder.hasSelectedMessage() }"
|
||||
md-colors="::{backgroundColor: 'default-background-200'}"
|
||||
ui-view="message">
|
||||
<md-content class="hide show-gt-md md-flex"
|
||||
|
|
|
@ -236,7 +236,8 @@
|
|||
<div class="md-toolbar-tools">
|
||||
<md-chips class="md-flex"
|
||||
ng-model="app.search.params"
|
||||
md-transform-chip="app.newSearchParam($chip)">
|
||||
md-transform-chip="app.newSearchParam($chip)"
|
||||
sg-transform-on-blur="sg-transform-on-blur">
|
||||
<input sg-focus-on="advancedSearch" type="text"
|
||||
ng-disabled="app.currentSearchParam.length == 0"
|
||||
sg-placeholder="app.search.options[app.currentSearchParam]"/>
|
||||
|
|
|
@ -172,6 +172,16 @@
|
|||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @function selectFolder
|
||||
* @memberof Mailbox.prototype
|
||||
* @desc Mark the folder as selected in the constructor unless virtual mode is active
|
||||
*/
|
||||
Mailbox.prototype.selectFolder = function() {
|
||||
if (!Mailbox.$virtualMode)
|
||||
Mailbox.selectedFolder = this;
|
||||
};
|
||||
|
||||
/**
|
||||
* @function getLength
|
||||
* @memberof Mailbox.prototype
|
||||
|
@ -238,6 +248,16 @@
|
|||
return this.selectedMessage == messageId;
|
||||
};
|
||||
|
||||
/**
|
||||
* @function hasSelectedMessage
|
||||
* @memberof Mailbox.prototype
|
||||
* @desc Check if a message is selected.
|
||||
* @returns true if the a message is selected
|
||||
*/
|
||||
Mailbox.prototype.hasSelectedMessage = function() {
|
||||
return angular.isDefined(this.selectedMessage);
|
||||
};
|
||||
|
||||
/**
|
||||
* @function $filter
|
||||
* @memberof Mailbox.prototype
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
// Expose controller
|
||||
$window.$mailboxController = vm;
|
||||
|
||||
Mailbox.selectedFolder = stateMailbox;
|
||||
stateMailbox.selectFolder();
|
||||
|
||||
vm.service = Mailbox;
|
||||
vm.accounts = stateAccounts;
|
||||
|
|
|
@ -61,6 +61,8 @@
|
|||
controllerAs: 'viewer'
|
||||
}
|
||||
},
|
||||
onEnter: onEnterMessage,
|
||||
onExit: onExitMessage,
|
||||
resolve: {
|
||||
stateMailbox: stateVirtualMailboxOfMessage,
|
||||
stateMessages: stateMessages,
|
||||
|
@ -192,7 +194,7 @@
|
|||
return mailbox;
|
||||
};
|
||||
|
||||
if (Mailbox.selectedFolder)
|
||||
if (Mailbox.selectedFolder && !Mailbox.$virtualMode)
|
||||
Mailbox.selectedFolder.$isLoading = true;
|
||||
|
||||
mailbox = _find(stateAccount.$mailboxes);
|
||||
|
@ -298,7 +300,7 @@
|
|||
*/
|
||||
onExitMessage.$inject = ['stateMailbox'];
|
||||
function onExitMessage(stateMailbox) {
|
||||
stateMailbox.selectedMessage = -1;
|
||||
delete stateMailbox.selectedMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -95,7 +95,9 @@
|
|||
});
|
||||
});
|
||||
|
||||
search.finally(function() { _this.$isLoading = false; });
|
||||
search.finally(function() {
|
||||
_this.$isLoading = false;
|
||||
});
|
||||
};
|
||||
|
||||
VirtualMailbox.prototype.stopSearch = function() {
|
||||
|
@ -103,6 +105,15 @@
|
|||
this.$isLoading = false;
|
||||
};
|
||||
|
||||
/**
|
||||
* @function selectFolder
|
||||
* @memberof VirtualMailbox.prototype
|
||||
* @desc A no-op for virtual mailbox
|
||||
*/
|
||||
VirtualMailbox.prototype.selectFolder = function() {
|
||||
return;
|
||||
};
|
||||
|
||||
/**
|
||||
* @function resetSelectedMessage
|
||||
* @memberof VirtualMailbox.prototype
|
||||
|
@ -114,6 +125,18 @@
|
|||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* @function hasSelectedMessage
|
||||
* @memberof VirtualMailbox.prototype
|
||||
* @desc Check if a message is selected among the resulting mailboxes
|
||||
* @returns true if one message is selected
|
||||
*/
|
||||
VirtualMailbox.prototype.hasSelectedMessage = function() {
|
||||
return angular.isDefined(_.find(this.$mailboxes, function(mailbox) {
|
||||
return angular.isDefined(mailbox.selectedMessage);
|
||||
}));
|
||||
};
|
||||
|
||||
/**
|
||||
* @function isSelectedMessage
|
||||
* @memberof VirtualMailbox.prototype
|
||||
|
|
Loading…
Reference in New Issue