(js) Collapsable mail accounts

Fixes #3493
This commit is contained in:
Francis Lachapelle
2016-05-26 15:48:15 -04:00
parent 4b29b5302e
commit 06f596f821
4 changed files with 59 additions and 16 deletions
@@ -6,14 +6,15 @@
/**
* @ngInject
*/
MailboxesController.$inject = ['$state', '$timeout', '$mdDialog', '$mdToast', '$mdMedia', '$mdSidenav', 'sgConstant', 'sgFocus', 'encodeUriFilter', 'Dialog', 'sgSettings', 'Account', 'Mailbox', 'VirtualMailbox', 'User', 'Preferences', 'stateAccounts'];
function MailboxesController($state, $timeout, $mdDialog, $mdToast, $mdMedia, $mdSidenav, sgConstant, focus, encodeUriFilter, Dialog, Settings, Account, Mailbox, VirtualMailbox, User, Preferences, stateAccounts) {
MailboxesController.$inject = ['$state', '$timeout', '$window', '$mdDialog', '$mdToast', '$mdMedia', '$mdSidenav', 'sgConstant', 'sgFocus', 'encodeUriFilter', 'Dialog', 'sgSettings', 'Account', 'Mailbox', 'VirtualMailbox', 'User', 'Preferences', 'stateAccounts'];
function MailboxesController($state, $timeout, $window, $mdDialog, $mdToast, $mdMedia, $mdSidenav, sgConstant, focus, encodeUriFilter, Dialog, Settings, Account, Mailbox, VirtualMailbox, User, Preferences, stateAccounts) {
var vm = this,
account,
mailbox;
vm.service = Mailbox;
vm.accounts = stateAccounts;
vm.toggleAccountState = toggleAccountState;
vm.newFolder = newFolder;
vm.delegate = delegate;
vm.editFolder = editFolder;
@@ -130,6 +131,17 @@
}
}
function toggleAccountState(account) {
account.$expanded = !account.$expanded;
account.$flattenMailboxes({ reload: true, saveState: true });
// Fire a window resize to recompute the virtual-repeater.
// This is a fix until the following issue is officially resolved:
// https://github.com/angular/material/issues/7309
$timeout(function() {
angular.element($window).triggerHandler('resize');
}, 150);
}
function newFolder(parentFolder) {
Dialog.prompt(l('New folder'),
l('Enter the new name of your folder :'))