initialize: function(accounts) { this.accounts = accounts; Radio.navigation.on('folder', _.bind(this.showFolder, this)); Radio.navigation.on('search', _.bind(this.searchFolder, this)); Radio.navigation.on('setup', _.bind(this.showSetup, this)); Radio.navigation.on('accountsettings', _.bind(this.showAccountSettings, this)); Radio.navigation.on('keyboardshortcuts', _.bind(this.showKeyboardShortcuts, this)); },
onClick: function(e) { e.preventDefault(); if (this.model.folders.length > 0) { var accountId = this.model.get('accountId'); var folderId = this.model.folders.first().get('id'); Radio.navigation.trigger('folder', accountId, folderId); } },
return Radio.account.request('entities').then(function(accounts) { if (accounts.length === 0) { Radio.navigation.trigger('setup'); Radio.ui.trigger('sidebar:accounts'); return Promise.resolve(accounts); } return Promise.all(accounts.map(function(account) { return FolderController.loadAccountFolders(account); })).then(function() { return accounts; }); }).then(function(accounts) {
$.when(fetchingAccounts).done(function(accounts) { if (accounts.length === 0) { defer.resolve(accounts); Radio.navigation.trigger('setup'); Radio.ui.trigger('sidebar:accounts'); } else { var loadingAccounts = accounts.map(function(account) { return FolderController.loadAccountFolders(account); }); $.when.apply($, loadingAccounts).done(function() { defer.resolve(accounts); }); $.when.apply($, loadingAccounts).always(function() { // Show accounts regardless of the result of // loading the folders Radio.ui.trigger('sidebar:accounts'); }); } startBackgroundChecks(accounts); });
showKeyboardShortcuts: function(e) { e.preventDefault(); Radio.navigation.trigger('keyboardshortcuts'); }
addAccount: function(e) { e.preventDefault(); Radio.navigation.trigger('setup'); },
showAccountSettings: function(e) { this.toggleMenu(e); Radio.navigation.trigger('accountsettings', this.model.get('accountId')); }
notification.onclick = function() { Radio.navigation.trigger('folder', account.get('accountId'), folder.get('id'), false); window.focus(); };
initialize: function(accounts) { this.accounts = accounts; Radio.navigation.on('folder', _.bind(this.showFolder, this)); Radio.navigation.on('setup', _.bind(this.showSetup, this)); },