From 198118571f61ae4247a89ada42aca076222c8e91 Mon Sep 17 00:00:00 2001 From: Tankred Hase Date: Thu, 20 Nov 2014 22:53:30 +0100 Subject: [PATCH] Fix angular bootstrap errors --- src/js/app.js | 2 +- src/js/controller/app/mail-list.js | 3 +++ src/js/controller/app/navigation.js | 3 +-- src/js/email/account.js | 23 ++++++++++++----------- src/js/email/email.js | 6 ++++-- src/js/email/index.js | 2 +- src/js/email/mailreader.js | 2 +- src/js/email/outbox.js | 2 +- src/js/email/pgpbuilder.js | 9 +++++++-- 9 files changed, 31 insertions(+), 21 deletions(-) diff --git a/src/js/app.js b/src/js/app.js index bff04c2..8ca9f99 100644 --- a/src/js/app.js +++ b/src/js/app.js @@ -54,7 +54,7 @@ var app = angular.module('mail', [ 'woAppConfig', 'woDirectives', 'woUtil', - 'woCrypto,', + 'woCrypto', 'woServices', 'woEmail', 'navigation', diff --git a/src/js/controller/app/mail-list.js b/src/js/controller/app/mail-list.js index 8b50893..9124c6b 100644 --- a/src/js/controller/app/mail-list.js +++ b/src/js/controller/app/mail-list.js @@ -12,10 +12,13 @@ var INIT_DISPLAY_LEN = 20, NOTIFICATION_INBOX_TIMEOUT = 5000; var MailListCtrl = function($scope, $routeParams, statusDisplay, notification, email, keychain, dialog) { + // // Init // + $scope.state.mailList = {}; + /** * Gathers unread notifications to be cancelled later */ diff --git a/src/js/controller/app/navigation.js b/src/js/controller/app/navigation.js index 43a10e4..79c22fb 100644 --- a/src/js/controller/app/navigation.js +++ b/src/js/controller/app/navigation.js @@ -104,8 +104,7 @@ var NavigationCtrl = function($scope, $routeParams, $location, account, email, o } // get pointer to account/folder/message tree on root scope - $scope.$root.account = email._account; - // TODO: $scope.accounts = account.list(); + $scope.$root.account = account.list()[0]; // set notificatio handler for sent messages outbox.onSent = sentNotification; diff --git a/src/js/email/account.js b/src/js/email/account.js index 947bfed..c568ed9 100644 --- a/src/js/email/account.js +++ b/src/js/email/account.js @@ -1,6 +1,6 @@ 'use strict'; -var ngModule = angular.module('woServices'); +var ngModule = angular.module('woEmail'); ngModule.service('account', Account); module.exports = Account; @@ -61,19 +61,20 @@ Account.prototype.init = function(options, callback) { // Pre-Flight check: initialize and prepare user's local database function prepareDatabase() { - self._accountStore.init(options.emailAddress, function(err) { + try { + self._accountStore.init(options.emailAddress); + } catch (err) { + callback(err); + return; + } + + // Migrate the databases if necessary + self._updateHandler.update(function(err) { if (err) { - return callback(err); + return callback(new Error('Updating the internal database failed. Please reinstall the app! Reason: ' + err.message)); } - // Migrate the databases if necessary - self._updateHandler.update(function(err) { - if (err) { - return callback(new Error('Updating the internal database failed. Please reinstall the app! Reason: ' + err.message)); - } - - prepareKeys(); - }); + prepareKeys(); }); } diff --git a/src/js/email/email.js b/src/js/email/email.js index ffe9191..2125700 100644 --- a/src/js/email/email.js +++ b/src/js/email/email.js @@ -1,6 +1,6 @@ 'use strict'; -var ngModule = angular.module('woServices'); +var ngModule = angular.module('woEmail'); ngModule.service('email', Email); module.exports = Email; @@ -57,7 +57,9 @@ function Email(keychain, pgp, accountStore, pgpbuilder, mailreader, dialog) { this._pgpbuilder = pgpbuilder; this._mailreader = mailreader; - this.onError = dialog.error; + this.onError = function(err) { + dialog.error(err); + }; } diff --git a/src/js/email/index.js b/src/js/email/index.js index 1860dff..d5c14d5 100644 --- a/src/js/email/index.js +++ b/src/js/email/index.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('woEmail', ['woAppConfig', 'woUtil', 'woServices']); +angular.module('woEmail', ['woAppConfig', 'woUtil', 'woServices', 'woCrypto']); require('./mailreader'); require('./pgpbuilder'); diff --git a/src/js/email/mailreader.js b/src/js/email/mailreader.js index c37a537..8f1e7da 100644 --- a/src/js/email/mailreader.js +++ b/src/js/email/mailreader.js @@ -4,7 +4,7 @@ var mailreader = require('mailreader'); var config = require('../app-config').config; mailreader.startWorker(config.workerPath + '/mailreader-parser-worker.min.js'); -var ngModule = angular.module('woServices'); +var ngModule = angular.module('woEmail'); ngModule.factory('mailreader', function() { return mailreader; }); \ No newline at end of file diff --git a/src/js/email/outbox.js b/src/js/email/outbox.js index e543010..7d0999b 100644 --- a/src/js/email/outbox.js +++ b/src/js/email/outbox.js @@ -1,6 +1,6 @@ 'use strict'; -var ngModule = angular.module('woServices'); +var ngModule = angular.module('woEmail'); ngModule.service('outbox', Outbox); module.exports = Outbox; diff --git a/src/js/email/pgpbuilder.js b/src/js/email/pgpbuilder.js index 3245e32..2f25d67 100644 --- a/src/js/email/pgpbuilder.js +++ b/src/js/email/pgpbuilder.js @@ -1,4 +1,9 @@ 'use strict'; -var ngModule = angular.module('woServices'); -ngModule.service('pgpbuilder', require('pgpbuilder')); \ No newline at end of file +var PgpBuilder = require('pgpbuilder'); +var instance = new PgpBuilder(); + +var ngModule = angular.module('woEmail'); +ngModule.factory('pgpbuilder', function() { + return instance; +}); \ No newline at end of file