mirror of https://github.com/akveo/blur-admin
refactor(mail):apply code review notes, fix compose area height(add scroll)
parent
47130f9389
commit
75a10e6985
|
@ -5,22 +5,22 @@
|
||||||
<span class="header-controls">
|
<span class="header-controls">
|
||||||
<i class="ion-minus-round"></i>
|
<i class="ion-minus-round"></i>
|
||||||
<i class="ion-arrow-resize"></i>
|
<i class="ion-arrow-resize"></i>
|
||||||
<i ng-click="close()" class="ion-close-round"></i>
|
<i ng-click="$dismiss()" class="ion-close-round"></i>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div >
|
<div >
|
||||||
<input type="text" class="form-control compose-input" placeholder="To" ng-model="to">
|
<input type="text" class="form-control compose-input" placeholder="To" ng-model="boxCtrl.to">
|
||||||
<input type="text" class="form-control compose-input" placeholder="Subject" ng-model="subject">
|
<input type="text" class="form-control compose-input" placeholder="Subject" ng-model="boxCtrl.subject">
|
||||||
<div class="compose-container">
|
<div class="compose-container">
|
||||||
<text-angular-toolbar ta-toolbar-class="toolbarMain" name="toolbarMain" ta-toolbar="[['h1','h2','h3','bold','italics', 'underline', 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull']]"></text-angular-toolbar>
|
<text-angular-toolbar ta-toolbar-class="toolbarMain" name="toolbarMain" ta-toolbar="[['h1','h2','h3','bold','italics', 'underline', 'justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull']]"></text-angular-toolbar>
|
||||||
<text-angular name="htmlcontent" ta-target-toolbars='toolbarMain,toolbarFooter' ng-model="text"></text-angular>
|
<text-angular name="htmlcontent" ta-target-toolbars='toolbarMain,toolbarFooter' ng-model="boxCtrl.text"></text-angular>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="compose-footer">
|
<div class="compose-footer">
|
||||||
<button type="button" ng-click="close()" class="btn btn-send">Send</button>
|
<button type="button" ng-click="$dismiss()" class="btn btn-send">Send</button>
|
||||||
<text-angular-toolbar ta-toolbar-class="toolbarFooter" name="toolbarFooter" ta-toolbar="[['insertLink', 'insertImage', 'html', 'quote','insertVideo']]"></text-angular-toolbar>
|
<text-angular-toolbar ta-toolbar-class="toolbarFooter" name="toolbarFooter" ta-toolbar="[['insertLink', 'insertImage', 'html', 'quote','insertVideo']]"></text-angular-toolbar>
|
||||||
<div class="footer-controls">
|
<div class="footer-controls">
|
||||||
<i class="footer-control-first compose-footer-icon ion-arrow-down-b"></i>
|
<i class="footer-control-first compose-footer-icon ion-arrow-down-b"></i>
|
||||||
<i ng-click="close()" class="compose-footer-icon ion-android-delete"></i>
|
<i ng-click="$dismiss()" class="compose-footer-icon ion-android-delete"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -9,14 +9,10 @@
|
||||||
.controller('composeBoxCtrl', composeBoxCtrl);
|
.controller('composeBoxCtrl', composeBoxCtrl);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function composeBoxCtrl($scope, $uibModalInstance, subject, to, text) {
|
function composeBoxCtrl(subject, to, text) {
|
||||||
|
var vm = this;
|
||||||
$scope.subject = subject;
|
vm.subject = subject;
|
||||||
$scope.to = to;
|
vm.to = to;
|
||||||
$scope.text = text;
|
vm.text = text;
|
||||||
console.log(subject, to , text);
|
|
||||||
$scope.close = function () {
|
|
||||||
$uibModalInstance.dismiss('cancel');
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
})();
|
})();
|
|
@ -10,12 +10,12 @@
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function composeModal($uibModal) {
|
function composeModal($uibModal) {
|
||||||
return {
|
this.open = function(options){
|
||||||
open : function(options){
|
|
||||||
return $uibModal.open({
|
return $uibModal.open({
|
||||||
animation: false,
|
animation: false,
|
||||||
templateUrl: 'app/pages/mail/composeBox/compose.html',
|
templateUrl: 'app/pages/mail/composeBox/compose.html',
|
||||||
controller: 'composeBoxCtrl',
|
controller: 'composeBoxCtrl',
|
||||||
|
controllerAs: 'boxCtrl',
|
||||||
size: 'slim',
|
size: 'slim',
|
||||||
resolve: {
|
resolve: {
|
||||||
subject: function () {
|
subject: function () {
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
})();
|
})();
|
|
@ -9,14 +9,10 @@
|
||||||
.controller('MailDetailCtrl', MailDetailCtrl);
|
.controller('MailDetailCtrl', MailDetailCtrl);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function MailDetailCtrl($state, $stateParams, mailMessages) {
|
function MailDetailCtrl($stateParams, mailMessages) {
|
||||||
var vm = this;
|
var vm = this;
|
||||||
vm.mail = mailMessages.getMessageById($stateParams.id);
|
vm.mail = mailMessages.getMessageById($stateParams.id);
|
||||||
vm.back = function(){
|
vm.label = $stateParams.label;
|
||||||
$state.go('mail.label', {
|
|
||||||
label: $stateParams.label
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<div class="message-container">
|
<div class="message-container">
|
||||||
<div class="message">
|
<div class="message">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<button ng-click="detailCtrl.back()" type="button" class="back-button btn btn-default btn-with-icon"><i
|
<button ui-sref="mail.label({label : detailCtrl.label})" type="button" class="back-button btn btn-default btn-with-icon"><i
|
||||||
class="ion-chevron-left"></i>Back
|
class="ion-chevron-left"></i>Back
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -64,8 +64,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="line" ng-show="detailCtrl.mail.attachment"></div>
|
<div class="line" ng-show="detailCtrl.mail.attachment"></div>
|
||||||
<div class="answer-container">
|
<div class="answer-container">
|
||||||
<button type="button" class="btn btn-with-icon" ng-click="showCompose(detailCtrl.mail.subject,detailCtrl.mail.email,'')"><i class="ion-reply"></i>Reply</button>
|
<button type="button" class="btn btn-with-icon" ng-click="tabCtrl.showCompose(detailCtrl.mail.subject,detailCtrl.mail.email,'')"><i class="ion-reply"></i>Reply</button>
|
||||||
<button type="button" class="btn btn-with-icon" ng-click="showCompose(detailCtrl.mail.subject,'',detailCtrl.mail.body)"><i class="ion-forward"></i>Forward</button>
|
<button type="button" class="btn btn-with-icon" ng-click="tabCtrl.showCompose(detailCtrl.mail.subject,'',detailCtrl.mail.body)"><i class="ion-forward"></i>Forward</button>
|
||||||
<button type="button" class="btn btn-with-icon"><i class="ion-printer"></i>Print</button>
|
<button type="button" class="btn btn-with-icon"><i class="ion-printer"></i>Print</button>
|
||||||
<button type="button" class="btn btn-with-icon"><i class="ion-android-remove-circle"></i>Spam</button>
|
<button type="button" class="btn btn-with-icon"><i class="ion-android-remove-circle"></i>Spam</button>
|
||||||
<button type="button" class="btn btn-with-icon"><i class="ion-android-delete"></i>Delete</button>
|
<button type="button" class="btn btn-with-icon"><i class="ion-android-delete"></i>Delete</button>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.letter-layout{
|
.letter-layout {
|
||||||
margin-top: -15px;
|
margin-top: -15px;
|
||||||
margin-right: -22px;
|
margin-right: -22px;
|
||||||
}
|
}
|
||||||
|
@ -55,32 +55,31 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.labels, .add-label-container {
|
||||||
.labels, .add-label-container{
|
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
margin-left: 22px;
|
margin-left: 22px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.labels-title{
|
.labels-title {
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
border-bottom: 1px solid $border-light;
|
border-bottom: 1px solid $border-light;
|
||||||
.label-header{
|
.label-header {
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.label-item{
|
.label-item {
|
||||||
margin: 10px 0 0 10px;
|
margin: 10px 0 0 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.add-label-container{
|
.add-label-container {
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 100;
|
font-weight: 100;
|
||||||
.label-input-stub{
|
.label-input-stub {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
i{
|
i {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -89,14 +88,14 @@
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.messages-control{
|
.messages-control {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn{
|
.btn {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: 1px solid $border-light;
|
border: 1px solid $border-light;
|
||||||
}
|
}
|
||||||
|
@ -108,13 +107,12 @@
|
||||||
font-weight: 100;
|
font-weight: 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.select-all-label{
|
span.select-all-label {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
font-weight: 100;
|
font-weight: 100;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.message-container, .side-message-navigation, .mail-navigation-container {
|
.message-container, .side-message-navigation, .mail-navigation-container {
|
||||||
float: left;
|
float: left;
|
||||||
padding: 0 15px;
|
padding: 0 15px;
|
||||||
|
@ -123,31 +121,31 @@
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
}
|
}
|
||||||
|
|
||||||
.side-message-navigation{
|
.side-message-navigation {
|
||||||
padding: 10px 0 0 0;
|
padding: 10px 0 0 0;
|
||||||
width: calc(100% - 300px);
|
width: calc(100% - 300px);
|
||||||
box-shadow: -4px 0 7px -2px $input-border;
|
box-shadow: -4px 0 7px -2px $input-border;
|
||||||
.side-message-navigation-item{
|
.side-message-navigation-item {
|
||||||
border-bottom: 1px solid $input-border;
|
border-bottom: 1px solid $input-border;
|
||||||
&.work {
|
&.work {
|
||||||
border-left:4px solid $primary-light;
|
border-left: 4px solid $primary-light;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.study {
|
&.study {
|
||||||
border-left:4px solid $google-color;
|
border-left: 4px solid $google-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.family {
|
&.family {
|
||||||
border-left:4px solid $warning;
|
border-left: 4px solid $warning;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.friend {
|
&.friend {
|
||||||
border-left:4px solid $danger;
|
border-left: 4px solid $danger;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mail-body-part{
|
.mail-body-part {
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
@ -155,7 +153,7 @@
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mail-tag.tag.label{
|
.mail-tag.tag.label {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
|
@ -163,9 +161,9 @@
|
||||||
width: 65px;
|
width: 65px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.phone-email{
|
.phone-email {
|
||||||
i{
|
i {
|
||||||
color:$primary-dark;
|
color: $primary-dark;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,7 +189,7 @@
|
||||||
vertical-align: super;
|
vertical-align: super;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.name-wrap{
|
.name-wrap {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
.date {
|
.date {
|
||||||
|
@ -218,7 +216,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mail-checkbox{
|
.mail-checkbox {
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
margin-left: 6px;
|
margin-left: 6px;
|
||||||
}
|
}
|
||||||
|
@ -354,7 +352,7 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.date{
|
.date {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -416,14 +414,14 @@
|
||||||
.answer-container {
|
.answer-container {
|
||||||
float: right;
|
float: right;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
.btn{
|
.btn {
|
||||||
margin-top: 3px;
|
margin-top: 3px;
|
||||||
background-color: $primary-light;
|
background-color: $primary-light;
|
||||||
border: none;
|
border: none;
|
||||||
color: white;
|
color: white;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
transition: none;
|
transition: none;
|
||||||
&:hover{
|
&:hover {
|
||||||
transform: none;
|
transform: none;
|
||||||
background-color: $danger;
|
background-color: $danger;
|
||||||
}
|
}
|
||||||
|
@ -434,12 +432,11 @@
|
||||||
margin-top: -7px;
|
margin-top: -7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@keyframes rotateReturnAnimation {
|
@keyframes rotateReturnAnimation {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
}
|
}
|
||||||
50%{
|
50% {
|
||||||
transform: rotate(10deg);
|
transform: rotate(10deg);
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
|
@ -449,7 +446,7 @@
|
||||||
|
|
||||||
@media screen and (max-width: 1300px) {
|
@media screen and (max-width: 1300px) {
|
||||||
|
|
||||||
.mail-navigation-container{
|
.mail-navigation-container {
|
||||||
width: 260px
|
width: 260px
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -463,9 +460,8 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@media screen and (max-width: 1199px) {
|
@media screen and (max-width: 1199px) {
|
||||||
.name-h{
|
.name-h {
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
.person-info .human-picture {
|
.person-info .human-picture {
|
||||||
|
@ -477,7 +473,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 990px) {
|
@media screen and (max-width: 990px) {
|
||||||
.mail-navigation-container{
|
.mail-navigation-container {
|
||||||
width: 200px
|
width: 200px
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -498,19 +494,19 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.person-info{
|
.person-info {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.message-container{
|
.message-container {
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.back-button, .contact-info{
|
.back-button, .contact-info {
|
||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.additional-info{
|
.additional-info {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -518,7 +514,7 @@
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.margin-left{
|
.margin-left {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -526,7 +522,7 @@
|
||||||
|
|
||||||
@media screen and (max-width: 650px) {
|
@media screen and (max-width: 650px) {
|
||||||
|
|
||||||
.mail-navigation-container{
|
.mail-navigation-container {
|
||||||
width: 175px
|
width: 175px
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -538,10 +534,10 @@
|
||||||
width: calc(100% - 175px);
|
width: calc(100% - 175px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.mail-body-part{
|
.mail-body-part {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.little-human .little-human-picture{
|
.little-human .little-human-picture {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
}
|
}
|
||||||
|
@ -549,12 +545,13 @@
|
||||||
width: 50px;
|
width: 50px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 470px) {
|
@media screen and (max-width: 470px) {
|
||||||
.little-human .little-human-picture{
|
.little-human .little-human-picture {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mail-navigation-container{
|
.mail-navigation-container {
|
||||||
width: 155px
|
width: 155px
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -574,7 +571,7 @@
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mail-navigation-container .mail-navigation .new-mails{
|
.mail-navigation-container .mail-navigation .new-mails {
|
||||||
padding: 0px 5px;
|
padding: 0px 5px;
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
@ -592,8 +589,6 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.compose-header {
|
.compose-header {
|
||||||
padding: 8px 3px 8px 10px;
|
padding: 8px 3px 8px 10px;
|
||||||
color: white;
|
color: white;
|
||||||
|
@ -615,14 +610,18 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.compose-container .ta-scroll-window > .ta-bind {
|
||||||
|
height: 290px;
|
||||||
|
overflow-y: scroll;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.compose-input {
|
.compose-input {
|
||||||
border-left: 0;
|
border-left: 0;
|
||||||
border-right: 0;
|
border-right: 0;
|
||||||
border-top: 0;
|
border-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.compose-footer {
|
.compose-footer {
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
background-color: whitesmoke;
|
background-color: whitesmoke;
|
||||||
|
@ -633,7 +632,7 @@
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
font-weight: 100;
|
font-weight: 100;
|
||||||
}
|
}
|
||||||
.btn-default{
|
.btn-default {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
@ -648,6 +647,7 @@
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
color: $help-text;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: $primary-light;
|
color: $primary-light;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue