merge branch 'new_widgets' into v2

pull/3/head
alex 2016-01-11 13:28:05 +03:00
commit a667b1e253
13 changed files with 123 additions and 173 deletions

View File

@ -9,17 +9,11 @@
.controller('MailTabCtrl', MailTabCtrl); .controller('MailTabCtrl', MailTabCtrl);
/** @ngInject */ /** @ngInject */
function MailTabCtrl($scope, $state, $stateParams, composeModal, mailMessages) { function MailTabCtrl(composeModal, mailMessages) {
$scope.selectTab = function (tab) { var vm = this;
$state.go('mail.label',{
label : tab
})
};
console.log($state); vm.showCompose = function(subject, to , text){
$scope.showCompose = function(subject, to , text){
composeModal.open({ composeModal.open({
subject : subject, subject : subject,
to: to, to: to,
@ -27,8 +21,7 @@
}) })
}; };
$scope.tabs = mailMessages.getTabs(); vm.tabs = mailMessages.getTabs();
$scope.currentTabLabel = $stateParams.label ? $stateParams.label : $scope.tabs[0].label;
} }
})(); })();

View File

@ -5,7 +5,7 @@
(function () { (function () {
'use strict'; 'use strict';
angular.module('BlurAdmin.theme.components') angular.module('BlurAdmin.pages.mail')
.controller('composeBoxCtrl', composeBoxCtrl); .controller('composeBoxCtrl', composeBoxCtrl);
/** @ngInject */ /** @ngInject */

View File

@ -5,7 +5,7 @@
(function () { (function () {
'use strict'; 'use strict';
angular.module('BlurAdmin.theme') angular.module('BlurAdmin.pages.mail')
.service('composeModal', composeModal); .service('composeModal', composeModal);
/** @ngInject */ /** @ngInject */
@ -14,7 +14,7 @@
open : function(options){ open : function(options){
return $uibModal.open({ return $uibModal.open({
animation: false, animation: false,
templateUrl: 'app/theme/components/composeBox/compose.html', templateUrl: 'app/pages/mail/composeBox/compose.html',
controller: 'composeBoxCtrl', controller: 'composeBoxCtrl',
size: 'slim', size: 'slim',
resolve: { resolve: {

View File

@ -9,11 +9,12 @@
.controller('MailDetailCtrl', MailDetailCtrl); .controller('MailDetailCtrl', MailDetailCtrl);
/** @ngInject */ /** @ngInject */
function MailDetailCtrl($scope, $state,$stateParams, mailMessages) { function MailDetailCtrl($state, $stateParams, mailMessages) {
$scope.mail = mailMessages.getMessageById($stateParams.id); var vm = this;
$scope.back = function(){ vm.mail = mailMessages.getMessageById($stateParams.id);
vm.back = function(){
$state.go('mail.label', { $state.go('mail.label', {
label: 'inbox' label: $stateParams.label
}) })
} }
} }

View File

@ -1,21 +1,21 @@
<div class="message-container"> <div class="message-container">
<div class="message"> <div class="message">
<div class="row"> <div class="row">
<button ng-click="back()" type="button" class="back-button btn btn-default btn-with-icon"><i <button ng-click="detailCtrl.back()" 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>
<div class="person-info row"> <div class="person-info row">
<div class="col-lg-4 col-md-12 no-padding"> <div class="col-lg-4 col-md-12 no-padding">
<img ng-src="{{mail.name.split(' ')[0] | profilePicture}}" class="human-picture"> <img ng-src="{{detailCtrl.mail.name.split(' ')[0] | profilePicture}}" class="human-picture">
<div class="name"> <div class="name">
<h2 class="name-h">{{mail.name.split(' ')[0]}}</h2> <h2 class="name-h">{{detailCtrl.mail.name.split(' ')[0]}}</h2>
<h2 class="name-h second-name">{{mail.name.split(' ')[1]}}</h2> <h2 class="name-h second-name">{{detailCtrl.mail.name.split(' ')[1]}}</h2>
<div> <div>
<span class="mail-tag tag label {{mail.tag}}">{{mail.tag}}</span> <span class="mail-tag tag label {{detailCtrl.mail.tag}}">{{detailCtrl.mail.tag}}</span>
</div> </div>
</div> </div>
</div> </div>
@ -27,7 +27,7 @@
</div> </div>
<div> <div>
<i class="ion-email"></i> <i class="ion-email"></i>
<span class="email">{{mail.email}}</span> <span class="email">{{detailCtrl.mail.email}}</span>
</div> </div>
</div> </div>
</div> </div>
@ -35,7 +35,7 @@
<div class="col-lg-4 col-md-6 col-xs-12 no-padding"> <div class="col-lg-4 col-md-6 col-xs-12 no-padding">
<div class="contact-info position-address"> <div class="contact-info position-address">
<div> <div>
<span class="position">{{mail.position}}</span> <span class="position">{{detailCtrl.mail.position}}</span>
</div> </div>
<div> <div>
<span class="address">12 Nezavisimosti st. Vilnius, Lithuania</span> <span class="address">12 Nezavisimosti st. Vilnius, Lithuania</span>
@ -47,32 +47,32 @@
</div> </div>
<div class="line"></div> <div class="line"></div>
<div class="message-details"> <div class="message-details">
<span class="subject">{{mail.subject}} </span> <span class="subject">{{detailCtrl.mail.subject}} </span>
<span class="date">• {{mail.date | date : 'h:mm a MMMM d '}}</span> <span class="date">• {{detailCtrl.mail.date | date : 'h:mm a MMMM d '}}</span>
</div> </div>
<div class="line"></div> <div class="line"></div>
<div ng-bind-html="mail.body" class="message-body"> <div ng-bind-html="detailCtrl.mail.body" class="message-body">
</div> </div>
<div class="line"></div> <div class="line"></div>
<div class="attachment" ng-show="mail.attachment"> <div class="attachment" ng-show="detailCtrl.mail.attachment">
<span class="file-links">1 Attachment - <a href>View</a> | <a href>Download</a></span> <span class="file-links">1 Attachment - <a href>View</a> | <a href>Download</a></span>
<div> <div>
<i class="file-icon ion-document"></i> <i class="file-icon ion-document"></i>
<span class="file-name">{{mail.attachment}}</span> <span class="file-name">{{detailCtrl.mail.attachment}}</span>
</div> </div>
</div> </div>
<div class="line" ng-show="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(mail.subject,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.email,'')"><i class="ion-reply"></i>Reply</button>
<button type="button" class="btn btn-with-icon" ng-click="showCompose(mail.subject,'',mail.body)"><i class="ion-forward"></i>Forward</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"><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>
</div> </div>
</div> </div>
<div ng-show="!mail"> <div ng-show="!detailCtrl.mail">
<h5 ng-class="text-center">Nothing to show</h5> <h5 ng-class="text-center">Nothing to show</h5>
</div> </div>
</div> </div>

View File

@ -9,17 +9,10 @@
.controller('MailListCtrl', MailListCtrl); .controller('MailListCtrl', MailListCtrl);
/** @ngInject */ /** @ngInject */
function MailListCtrl($scope, $state, $stateParams, mailMessages) { function MailListCtrl($stateParams, mailMessages) {
var vm = this;
$scope.messages = mailMessages.getMessagesByLabel($stateParams.label); vm.messages = mailMessages.getMessagesByLabel($stateParams.label);
$scope.$parent.currentTabLabel = $stateParams.label; vm.label = $stateParams.label;
$scope.selectMail = function (mail) {
$state.go('mail.detail', {
id: mail.id,
back: $stateParams.label
})
};
} }
})(); })();

View File

@ -21,9 +21,9 @@
</div> </div>
<div class="messages"> <div class="messages">
<table> <table>
<tr ng-repeat="m in messages track by m.id | orderBy:'-date'" <tr ng-repeat="m in listCtrl.messages track by m.id | orderBy:'-date'"
class="side-message-navigation-item little-human shineHover {{m.tag}}" class="side-message-navigation-item little-human shineHover {{m.tag}}"
ng-click="selectMail(m)"> ui-sref="mail.detail({id: m.id, label: listCtrl.label})">
<td> <td>
<div class="mail-checkbox"> <div class="mail-checkbox">
<label class="checkbox-inline custom-checkbox nowrap margin-left"> <label class="checkbox-inline custom-checkbox nowrap margin-left">

View File

@ -1,16 +1,16 @@
<div class="row mail-row"> <div class="row mail-row">
<div class="col-md-12 col-sm-12"> <div class="col-md-12">
<div ba-panel ba-panel-class="xmedium-panel mail-panel"> <div ba-panel ba-panel-class="xmedium-panel mail-panel">
<div class="mail-container"> <div class="mail-container">
<div class="row letter-layout"> <div class="letter-layout">
<div class="mail-navigation-container"> <div class="mail-navigation-container">
<div class="compose-button"> <div class="compose-button">
<button type="button" class="btn compose-button" ng-click="showCompose('','','')"> <button type="button" class="btn compose-button" ng-click="tabCtrl.showCompose('','','')">
Compose Compose
</button> </button>
</div> </div>
<div ng-repeat="t in tabs" class="mail-navigation {{currentTabLabel == t.label ? 'active' : ''}}" <div ng-repeat="t in tabCtrl.tabs" ui-sref-active="active" class="mail-navigation"
ng-click="selectTab(t.label)"> ui-sref="mail.label({label: t.label})" ng-click="selectTab(t.label)">
{{t.name}}<span class="new-mails" ng-show="t.newMails">{{t.newMails}}</span> {{t.name}}<span class="new-mails" ng-show="t.newMails">{{t.newMails}}</span>
</div> </div>
<div class="labels"> <div class="labels">

View File

@ -23,7 +23,7 @@
controller: "MailListCtrl", controller: "MailListCtrl",
controllerAs: "listCtrl" controllerAs: "listCtrl"
}).state('mail.detail', { }).state('mail.detail', {
url: '/detail/:id', url: '/:label/:id',
templateUrl: 'app/pages/mail/detail/mailDetail.html', templateUrl: 'app/pages/mail/detail/mailDetail.html',
controller: "MailDetailCtrl", controller: "MailDetailCtrl",
controllerAs: "detailCtrl" controllerAs: "detailCtrl"

View File

@ -5,7 +5,7 @@
(function () { (function () {
'use strict'; 'use strict';
angular.module('BlurAdmin.theme') angular.module('BlurAdmin.pages.mail')
.service('mailMessages', mailMessages); .service('mailMessages', mailMessages);
/** @ngInject */ /** @ngInject */

View File

@ -155,12 +155,6 @@
margin-left: 5px; margin-left: 5px;
} }
.border-tag{
}
.mail-tag.tag.label{ .mail-tag.tag.label{
display: inline-block; display: inline-block;
font-size: 14px; font-size: 14px;
@ -182,40 +176,6 @@
overflow-x: hidden; overflow-x: hidden;
} }
.control-container {
background-color: #ebebeb;
padding-left: 15px;
margin-bottom: 30px;
.icon-buttons {
margin-left: -10px;
}
.btn-icon {
background-color: $dribble-color;
color: white;
height: 35px;
width: 35px;
font-size: 16px;
margin-left: -3px;
}
.btn.btn-icon.dropdown-toggle {
width: 50px;
&.margin-left {
margin-left: 10px;
}
}
.dropdown-menu {
margin-left: 10px;
}
.more-button {
font-size: 12px;
font-weight: 100;
}
}
.little-human { .little-human {
cursor: pointer; cursor: pointer;
transition: border-left 1.5s ease; transition: border-left 1.5s ease;
@ -618,4 +578,86 @@
.compose-header {
padding: 8px 3px 8px 10px;
color: white;
font-weight: 100;
font-size: 13px;
background-color: $github-color;
}
.header-controls {
display: inline-block;
float: right;
i {
margin-right: 5px;
font-size: 14px;
cursor: pointer;
&:hover {
color: $primary-light;
}
}
}
.compose-input {
border-left: 0;
border-right: 0;
border-top: 0;
}
.compose-footer {
padding: 2px 4px;
background-color: whitesmoke;
.btn-send {
background-color: $primary-light;
color: white;
padding: 2px 10px;
margin: 3px;
font-weight: 100;
}
.btn-default{
background-color: transparent;
border: none;
}
}
.footer-controls {
float: right;
margin: 6px;
}
.compose-footer-icon {
font-size: 18px;
margin-right: 5px;
cursor: pointer;
&:hover {
color: $primary-light;
}
}
.compose-container {
background-color: whitesmoke;
.ta-text.ta-editor {
background-color: white;
}
}
.footer-control-first {
border-right: 2px solid $help-text;
display: inline-block;
padding-right: 9px;
}
.modal .modal-dialog.modal-slim {
width: 398px;
position: fixed;
bottom: 0;
right: 0;
max-height: 474px;
}

View File

@ -1,79 +0,0 @@
.compose-header {
padding: 8px 3px 8px 10px;
color: white;
font-weight: 100;
font-size: 13px;
background-color: $github-color;
}
.header-controls {
display: inline-block;
float: right;
i {
margin-right: 5px;
font-size: 14px;
cursor: pointer;
&:hover {
color: $primary-light;
}
}
}
.compose-input {
border-left: 0;
border-right: 0;
border-top: 0;
}
.compose-footer {
padding: 2px 4px;
background-color: whitesmoke;
.btn-send {
background-color: $primary-light;
color: white;
padding: 2px 10px;
margin: 3px;
font-weight: 100;
}
.btn-default{
background-color: transparent;
border: none;
}
}
.footer-controls {
float: right;
margin: 6px;
}
.compose-footer-icon {
font-size: 18px;
margin-right: 5px;
cursor: pointer;
&:hover {
color: $primary-light;
}
}
.compose-container {
background-color: whitesmoke;
.ta-text.ta-editor {
background-color: white;
}
}
.footer-control-first {
border-right: 2px solid $help-text;
display: inline-block;
padding-right: 9px;
}
.modal .modal-dialog.modal-slim {
width: 398px;
float: right;
margin-top: 10%;
}