1
0
mirror of https://github.com/moparisthebest/mail synced 2024-12-03 06:12:15 -05:00

refactor read to use own controller logic and fix edit bug in live encryption

This commit is contained in:
Tankred Hase 2013-10-05 14:16:04 +02:00
parent 8c632fb885
commit 038b5a1d62
5 changed files with 34 additions and 21 deletions

View File

@ -5,11 +5,12 @@ require([
'angular',
'js/controller/login',
'js/controller/mail-list',
'js/controller/read',
'js/controller/write',
'js/controller/navigation',
'angularRoute',
'angularTouch'
], function(angular, LoginCtrl, MailListCtrl, WriteCtrl, NavigationCtrl) {
], function(angular, LoginCtrl, MailListCtrl, ReadCtrl, WriteCtrl, NavigationCtrl) {
'use strict';
var app = angular.module('mail', ['ngRoute', 'ngTouch', 'write', 'read']);
@ -34,6 +35,7 @@ require([
});
// inject controllers from ng-included view templates
app.controller('ReadCtrl', ReadCtrl);
app.controller('MailListCtrl', MailListCtrl);
// manually bootstrap angular due to require.js

View File

@ -1,8 +1,7 @@
define(function(require) {
'use strict';
var angular = require('angular'),
folders = require('js/app-config').config.gmail.folders;
var folders = require('js/app-config').config.gmail.folders;
var NavigationCtrl = function($scope) {
$scope.navOpen = false;
@ -41,20 +40,5 @@ define(function(require) {
};
};
//
// Directives
//
var ngModule = angular.module('read', []);
ngModule.directive('frameLoad', function() {
return function(scope, elm) {
var frame;
elm.bind('load', function() {
frame = elm[0];
frame.height = frame.contentWindow.document.body.scrollHeight + 'px';
});
};
});
return NavigationCtrl;
});

27
src/js/controller/read.js Normal file
View File

@ -0,0 +1,27 @@
define(function(require) {
'use strict';
var angular = require('angular');
//
// Controller
//
var ReadCtrl = function() {};
//
// Directives
//
var ngModule = angular.module('read', []);
ngModule.directive('frameLoad', function() {
return function(scope, elm) {
elm.bind('load', function() {
var frame = elm[0];
frame.height = frame.contentWindow.document.body.scrollHeight + 'px';
});
};
});
return ReadCtrl;
});

View File

@ -36,9 +36,9 @@ define(function(require) {
// remove generated html from body
body = parseBody(body);
// Although this does encrypt live using AES, this is just for show. The plaintext is encrypted seperately using before sending the email.
// Although this does encrypt live using AES, this is just for show. The plaintext is encrypted seperately before sending the email.
var plaintext = ($scope.subject) ? $scope.subject + body : body;
$scope.ciphertextPreview = aes.encrypt(plaintext, key, iv);
$scope.ciphertextPreview = (plaintext) ? aes.encrypt(plaintext, key, iv) : '';
};
$scope.sendEmail = function() {

View File

@ -11,7 +11,7 @@
<div class="column view-mail-list" ng-include="'tpl/mail-list.html'" ng-controller="MailListCtrl"></div>
<!-- right column: containing list read view -->
<div class="column" ng-include="'tpl/read.html'"></div>
<div class="column" ng-include="'tpl/read.html'" ng-controller="ReadCtrl"></div>
</section>
</div><!--/.nav-pusher-->