Improve message view pane (#1072)

This commit is contained in:
RainLoop Team 2016-06-18 01:08:31 +03:00
parent eaf60c3c99
commit f6c78ee1fa
3 changed files with 80 additions and 32 deletions

View file

@ -96,10 +96,20 @@ html.rl-no-preview-pane {
right: 10px; right: 10px;
} }
.infoParent {
cursor: pointer;
margin-right: 5px;
opacity: 0.3;
&:hover {
opacity: 0.6;
}
}
.flagParent { .flagParent {
cursor: pointer; cursor: pointer;
margin-right: 5px; margin-right: 7px;
.flagOn { .flagOn {
color: orange; color: orange;
@ -144,15 +154,25 @@ html.rl-no-preview-pane {
} }
.subjectParent { .subjectParent {
font-size: 16px; font-size: 18px;
font-weight: bold; font-weight: bold;
text-overflow: ellipsis; text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
margin-bottom: 8px;
line-height: 100%;
height: 22px;
vertical-align: middle;
} }
.senderParent { .senderParent {
margin-top: 10px; margin: 7px 0;
&.-top {
margin-top: 0;
}
&.-bottom {
margin-bottom: 0;
}
} }
.messageButtons { .messageButtons {
@ -160,11 +180,21 @@ html.rl-no-preview-pane {
} }
.informationShort { .informationShort {
margin-left: 22px; margin-left: 5px;
margin-right: 50px; margin-right: 50px;
a { a {
.g-ui-link; .g-ui-link;
} }
&.-bottom {
margin-right: 5px;
}
html.rl-mobile &{
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
} }
.informationFull { .informationFull {
margin-top: 10px; margin-top: 10px;
@ -174,6 +204,10 @@ html.rl-no-preview-pane {
padding: 8px 0; padding: 8px 0;
overflow: hidden; overflow: hidden;
.size {
margin-left: 4px;
}
table { table {
width: 100%; width: 100%;
} }

View file

@ -302,6 +302,10 @@
this.viewIsImportant = ko.observable(false); this.viewIsImportant = ko.observable(false);
this.viewIsFlagged = ko.observable(false); this.viewIsFlagged = ko.observable(false);
this.viewFromDkimVisibility = ko.computed(function () {
return 'none' !== this.viewFromDkimData()[0];
}, this);
this.viewFromDkimStatusIconClass = ko.computed(function () { this.viewFromDkimStatusIconClass = ko.computed(function () {
var sResult = 'icon-none iconcolor-display-none'; var sResult = 'icon-none iconcolor-display-none';

View file

@ -208,38 +208,48 @@
<div data-bind="visible: message"> <div data-bind="visible: message">
<div class="messageItemHeader" data-bind="css: {'emptySubject': '' === viewSubject()}"> <div class="messageItemHeader" data-bind="css: {'emptySubject': '' === viewSubject()}">
<div class="subjectParent">
<button class="close" data-bind="command: closeMessage" style="margin-top: -2px;">&times;</button>
<span class="infoParent g-ui-user-select-none" data-bind="click: function() { showFullInfo(!showFullInfo()); }">
<i class="icon-info" style="padding-top: 1px;"></i>
</span>
<span class="flagParent g-ui-user-select-none">
<i class="icon-star-empty flagOff" data-bind="css: {'icon-star flagOn': viewIsFlagged, 'icon-star-empty flagOff': !viewIsFlagged()}" style="padding-top: 2px;"></i>
</span>
<b style="color: red; margin-right: 5px" data-bind="visible: viewIsImportant">!</b>
<span class="subject" data-bind="text: viewSubject, title: viewSubject, event: { 'dblclick': toggleFullScreen }"></span>
<span class="i18n emptySubjectText" data-i18n="MESSAGE/EMPTY_SUBJECT_TEXT" data-bind="event: { 'dblclick': toggleFullScreen }"></span>
</div>
<div> <div>
<img class="fromPic" data-bind="visible: viewUserPicVisible, attr: {'src': viewUserPic() }"> <div>
<div style="overflow: hidden;"> <img class="fromPic" data-bind="visible: viewUserPicVisible, attr: {'src': viewUserPic() }">
<button class="close" data-bind="command: closeMessage" style="margin-top: -2px;">&times;</button> <div style="overflow: hidden;">
<div class="subjectParent" data-bind="event: { 'dblclick': toggleFullScreen }"> <div class="senderParent -top">
<span class="flagParent"> <div class="informationShort -top" data-bind="event: { 'dblclick': toggleFullScreen }">
<i class="icon-star-empty flagOff" data-bind="css: {'icon-star flagOn': viewIsFlagged, 'icon-star-empty flagOff': !viewIsFlagged()}"></i> <span>
</span> <span class="from" data-bind="html: viewFromShort, title: viewFrom"></span>
<b style="color: red; margin-right: 5px" data-bind="visible: viewIsImportant">!</b> <span data-bind="visible: viewFromDkimVisibility">
<span class="subject" data-bind="text: viewSubject, title: viewSubject"></span> &nbsp;
<span class="i18n emptySubjectText" data-i18n="MESSAGE/EMPTY_SUBJECT_TEXT"></span> <i data-bind="css: viewFromDkimStatusIconClass, title: viewFromDkimStatusTitle" />
</div> </span>
<div class="senderParent"> </span>
<div class="g-ui-user-select-none" style="float: left; cursor: pointer; margin-left: 1px;" data-bind="click: function() { showFullInfo(!showFullInfo()); }"> <span data-bind="visible: 0 < viewTimeStamp()">
<i class="icon-right-dir" data-bind="css: showFullInfo() ? 'icon-down-dir' : 'icon-right-dir'"></i> (<span class="date" data-moment-format="FULL" data-bind="moment: viewTimeStamp"></span>)
</span>
</div>
<div class="clearfix"></div>
</div> </div>
<div class="informationShort" data-bind="event: { 'dblclick': toggleFullScreen }"> <div class="senderParent -bottom" data-bind="visible: viewTo">
<span data-bind="visible: !isDraftOrSentFolder()"> <div class="informationShort -bottom" data-bind="event: { 'dblclick': toggleFullScreen }">
<span class="from" data-bind="html: viewFromShort, title: viewFrom"></span> <span>
&nbsp; <span class="i18n uiLabel labelTo" data-i18n="MESSAGE/LABEL_TO"></span>:
<i data-bind="css: viewFromDkimStatusIconClass, title: viewFromDkimStatusTitle" /> <span class="to" data-bind="text: viewTo"></span>
</span> </span>
<span data-bind="visible: isDraftOrSentFolder()"> </div>
<span class="i18n uiLabel labelTo" data-i18n="MESSAGE/LABEL_TO"></span>: <div class="clearfix"></div>
<span class="to" data-bind="html: viewToShort, title: viewTo"></span>
</span>
<span data-bind="visible: 0 < viewTimeStamp()">
(<span class="date" data-moment-format="FULL" data-bind="moment: viewTimeStamp"></span>)
</span>
</div> </div>
<div class="clearfix"></div>
</div> </div>
<div class="clearfix"></div>
</div> </div>
<div class="informationFull" data-bind="visible: showFullInfo()"> <div class="informationFull" data-bind="visible: showFullInfo()">
<table> <table>