2013-11-08 16:05:08 -05:00
|
|
|
<div class="view-read" ng-controller="ReadCtrl">
|
2014-05-08 10:32:46 -04:00
|
|
|
|
2013-09-18 14:45:58 -04:00
|
|
|
<div class="headers">
|
2014-04-22 13:39:29 -04:00
|
|
|
<div class="controls">
|
2014-06-27 06:36:43 -04:00
|
|
|
<button wo-touch="state.mailList.remove(state.mailList.selected)" class="btn-icon" title="Delete mail"></button>
|
2014-04-22 13:39:29 -04:00
|
|
|
<button class="btn-icon" title="Reply to" reply-selection></button>
|
2014-06-27 06:36:43 -04:00
|
|
|
<button wo-touch="state.writer.write()" class="btn-icon" title="New mail"></button>
|
2014-04-22 13:39:29 -04:00
|
|
|
</div><!--/.controls-->
|
|
|
|
|
2014-07-10 14:07:03 -04:00
|
|
|
<p class="subject" wo-touch="state.read.toggle(false)" data-icon="">{{state.mailList.selected.subject ? state.mailList.selected.subject : 'No subject'}}</p>
|
2013-11-08 17:31:20 -05:00
|
|
|
<p class="date">{{state.mailList.selected.sentDate | date:'EEEE, MMM d, yyyy h:mm a'}}</p>
|
2014-04-22 13:39:29 -04:00
|
|
|
<div class="mail-addresses">
|
|
|
|
<p>
|
|
|
|
<label>From:</label>
|
2014-04-23 06:20:46 -04:00
|
|
|
<span ng-repeat="u in state.mailList.selected.from">
|
2014-06-27 06:36:43 -04:00
|
|
|
<span class="label" ng-class="{'label-primary': u.secure === false, 'label-primary-click': u.secure === false}" data-icon-append="{{(u.secure === false) ? '' : ''}}" ng-mouseover="getKeyId(u.address)" wo-touch="invite(u)" popover="#fingerprint-info">{{u.name || u.address}}</span>
|
2014-04-23 06:20:46 -04:00
|
|
|
</span>
|
2013-09-11 09:19:18 -04:00
|
|
|
</p>
|
2014-04-22 13:39:29 -04:00
|
|
|
<p>
|
|
|
|
<label>To:</label>
|
2014-04-23 06:20:46 -04:00
|
|
|
<span ng-repeat="u in state.mailList.selected.to">
|
2014-06-27 06:36:43 -04:00
|
|
|
<span class="label" ng-class="{'label-primary': u.secure === false, 'label-primary-click': u.secure === false}" data-icon-append="{{(u.secure === false) ? '' : ''}}" ng-mouseover="getKeyId(u.address)" wo-touch="invite(u)" popover="#fingerprint-info">{{u.name || u.address}}</span>
|
2014-04-23 06:20:46 -04:00
|
|
|
</span>
|
2014-04-22 13:39:29 -04:00
|
|
|
</p>
|
2014-04-22 14:58:20 -04:00
|
|
|
<p ng-show="state.mailList.selected.cc && state.mailList.selected.cc.length > 0">
|
|
|
|
<label>Cc:</label>
|
2014-04-23 06:20:46 -04:00
|
|
|
<span ng-repeat="u in state.mailList.selected.cc">
|
2014-06-27 06:36:43 -04:00
|
|
|
<span class="label" ng-class="{'label-primary': u.secure === false, 'label-primary-click': u.secure === false}" data-icon-append="{{(u.secure === false) ? '' : ''}}" ng-mouseover="getKeyId(u.address)" wo-touch="invite(u)" popover="#fingerprint-info">{{u.name || u.address}}</span>
|
2014-04-23 06:20:46 -04:00
|
|
|
</span>
|
2014-04-22 14:58:20 -04:00
|
|
|
</p>
|
2014-04-22 13:39:29 -04:00
|
|
|
</div><!--/.mail-addresses-->
|
2013-09-18 14:45:58 -04:00
|
|
|
</div><!--/.headers-->
|
2013-09-11 09:19:18 -04:00
|
|
|
|
2014-04-29 17:35:43 -04:00
|
|
|
<div class="attachments-wrapper"
|
|
|
|
ng-switch="state.mailList.selected.attachments !== undefined && state.mailList.selected.attachments.length > 0">
|
|
|
|
<div class="attachments" ng-switch-when="true">
|
|
|
|
<span class="attachment"
|
|
|
|
ng-repeat="attachment in state.mailList.selected.attachments"
|
2014-06-27 06:36:43 -04:00
|
|
|
wo-touch="download(attachment)">
|
2014-09-18 12:04:20 -04:00
|
|
|
<span ng-if="attachment.busy" class="spinner"></span>
|
|
|
|
<span ng-hide="attachment.busy" data-icon=""></span>
|
2014-04-22 14:58:20 -04:00
|
|
|
{{attachment.filename}}
|
|
|
|
</span><!--/.attachment-->
|
|
|
|
</div><!--/.attachments-->
|
|
|
|
<div ng-switch-default class="seperator-line"></div>
|
2014-04-29 17:35:43 -04:00
|
|
|
</div><!--/.attachments-wrapper-->
|
2014-01-16 09:37:08 -05:00
|
|
|
|
2014-05-08 10:32:46 -04:00
|
|
|
<!-- Show working spinner -->
|
|
|
|
<div class="working-wrapper"
|
2014-07-10 14:07:03 -04:00
|
|
|
ng-if="state.mailList.selected && state.mailList.selected.html === undefined && (state.mailList.selected.body === undefined || (state.mailList.selected.encrypted && !state.mailList.selected.decrypted))">
|
2014-05-08 10:32:46 -04:00
|
|
|
<div class="working">
|
2014-04-22 13:39:29 -04:00
|
|
|
<span class="spinner"></span>
|
2014-05-08 10:32:46 -04:00
|
|
|
<strong ng-bind="(state.mailList.selected.decryptingBody) ? 'Decrypting...' : 'Loading...' "></strong>
|
2014-04-22 14:58:20 -04:00
|
|
|
</div><!--/.working-->
|
2014-05-08 10:32:46 -04:00
|
|
|
</div><!--/.working-wrapper-->
|
|
|
|
|
2014-07-01 17:28:44 -04:00
|
|
|
<div class="signature-status"
|
2014-09-12 09:08:50 -04:00
|
|
|
ng-show="(state.mailList.selected.body || state.mailList.selected.html) && state.mailList.selected.signed && !state.mailList.selected.signaturesValid">
|
2014-07-01 17:28:44 -04:00
|
|
|
<p>Invalid PGP signature. This message could have been tampered with.</p>
|
|
|
|
</div>
|
|
|
|
|
2014-06-26 10:32:58 -04:00
|
|
|
<div class="display-images">
|
2014-07-10 14:07:03 -04:00
|
|
|
<a ng-show="state.mailList.selected.html && showImageButton" href='#' wo-touch="displayImages(); $event.preventDefault()">Display images</a>
|
2014-06-25 11:20:55 -04:00
|
|
|
</div>
|
|
|
|
|
2014-05-08 10:32:46 -04:00
|
|
|
<!-- Render html body in sandboxed iframe -->
|
2014-07-10 14:07:03 -04:00
|
|
|
<div class="frame-wrapper"
|
2014-09-12 09:08:50 -04:00
|
|
|
ng-show="state.mailList.selected && (!state.mailList.selected.encrypted && (state.mailList.selected.body || state.mailList.selected.html)) || (state.mailList.selected.encrypted && state.mailList.selected.decrypted)">
|
2014-07-10 14:07:03 -04:00
|
|
|
<iframe sandbox="allow-popups allow-scripts" src="tpl/read-sandbox.html"
|
|
|
|
frame-load>
|
|
|
|
</iframe>
|
|
|
|
</div><!--/.frame-wrapper-->
|
2013-12-04 08:47:04 -05:00
|
|
|
|
|
|
|
<!-- popovers -->
|
|
|
|
<div id="fingerprint-info" class="popover right" ng-controller="PopoverCtrl">
|
|
|
|
<div class="arrow"></div>
|
2014-02-27 12:14:38 -05:00
|
|
|
<div class="popover-content">{{keyId}}</div>
|
2013-12-04 08:47:04 -05:00
|
|
|
</div><!--/.popover-->
|
2014-04-02 13:47:50 -04:00
|
|
|
|
|
|
|
<div class="reply-selection popover bottom">
|
|
|
|
<div class="arrow"></div>
|
2014-04-23 13:40:46 -04:00
|
|
|
<ul class="popover-content">
|
2014-06-27 06:36:43 -04:00
|
|
|
<li><button data-icon="" wo-touch="state.writer.write(state.mailList.selected)">Reply</button></li>
|
|
|
|
<li><button data-icon="" wo-touch="state.writer.write(state.mailList.selected, true)">Reply All</button></li>
|
|
|
|
<li><button data-icon="" wo-touch="state.writer.write(state.mailList.selected, null, true)">Forward</button></li>
|
2014-04-23 13:40:46 -04:00
|
|
|
</ul>
|
2014-04-02 13:47:50 -04:00
|
|
|
</div><!--/.reply-selection-->
|
2014-05-08 10:32:46 -04:00
|
|
|
|
|
|
|
</div><!--/.view-read-->
|