(js) Fix advanced search construction

pull/110/head
Francis Lachapelle 2015-10-02 15:43:02 -04:00
parent e1393c3af2
commit 73ac55acfe
1 changed files with 16 additions and 16 deletions

View File

@ -52,6 +52,13 @@
params: [] params: []
}; };
if ($state.current.name == 'mail' && vm.accounts.length > 0 && vm.accounts[0].$mailboxes.length > 0) {
// Redirect to first mailbox of first account if no mailbox is selected
account = vm.accounts[0];
mailbox = account.$mailboxes[0];
$state.go('mail.account.mailbox', { accountId: account.id, mailboxId: encodeUriFilter(mailbox.path) });
}
function showAdvancedSearch(path) { function showAdvancedSearch(path) {
vm.showingAdvancedSearch = true; vm.showingAdvancedSearch = true;
vm.search.mailbox = path; vm.search.mailbox = path;
@ -68,9 +75,11 @@
function toggleAdvancedSearch() { function toggleAdvancedSearch() {
if (Mailbox.selectedFolder.$isLoading) { if (Mailbox.selectedFolder.$isLoading) {
// Stop search
vm.virtualMailbox.stopSearch(); vm.virtualMailbox.stopSearch();
} }
else { else {
// Start search
var root, mailboxes = [], var root, mailboxes = [],
_visit = function(folders) { _visit = function(folders) {
_.each(folders, function(o) { _.each(folders, function(o) {
@ -111,27 +120,21 @@
function addSearchParam(v) { function addSearchParam(v) {
vm.currentSearchParam = v; vm.currentSearchParam = v;
focus('advancedSearch'); focus('advancedSearch');
return false;
} }
function newSearchParam(v) { function newSearchParam(pattern) {
if (v.length && vm.currentSearchParam.length) { if (pattern.length && vm.currentSearchParam.length) {
var n = 0; var n = 0, searchParam = vm.currentSearchParam;
if (v.startsWith("!")) { if (pattern.startsWith("!")) {
n = 1; n = 1;
v = v.substring(1).trim(); pattern = pattern.substring(1).trim();
} }
vm.search.params.push({searchBy:vm.currentSearchParam, searchInput: v, negative: n});
vm.currentSearchParam = ''; vm.currentSearchParam = '';
return { searchBy: searchParam, searchInput: pattern, negative: n };
} }
} }
if ($state.current.name == 'mail' && vm.accounts.length > 0 && vm.accounts[0].$mailboxes.length > 0) {
// Redirect to first mailbox of first account if no mailbox is selected
account = vm.accounts[0];
mailbox = account.$mailboxes[0];
$state.go('mail.account.mailbox', { accountId: account.id, mailboxId: encodeUriFilter(mailbox.path) });
}
function newFolder(parentFolder) { function newFolder(parentFolder) {
Dialog.prompt(l('New folder'), Dialog.prompt(l('New folder'),
l('Enter the new name of your folder :')) l('Enter the new name of your folder :'))
@ -298,9 +301,6 @@
else if (folder.type == 'additional') else if (folder.type == 'additional')
return {name: folder.name, icon: 'folder_shared'}; return {name: folder.name, icon: 'folder_shared'};
//if ($rootScope.currentFolder == folder)
// return 'folder_open';
return {name: folder.name, icon: 'folder_open'}; return {name: folder.name, icon: 'folder_open'};
} }