mirror of https://github.com/akveo/blur-admin
finilising team UI
parent
ebf208efbf
commit
49bae15bbf
|
@ -22,7 +22,7 @@
|
||||||
"attachment": "poem.txt",
|
"attachment": "poem.txt",
|
||||||
"position": "Great Employee",
|
"position": "Great Employee",
|
||||||
"tag": "friend",
|
"tag": "friend",
|
||||||
"labels": ['inbox']
|
"labels": ['hr']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "4563fdfvd",
|
"id": "4563fdfvd",
|
||||||
|
|
Binary file not shown.
|
@ -9,19 +9,21 @@
|
||||||
.controller('MembersTabCtrl', MembersTabCtrl);
|
.controller('MembersTabCtrl', MembersTabCtrl);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function MembersTabCtrl(composeModal, mailMessages) {
|
function MembersTabCtrl(composeModal, membersList) {
|
||||||
|
|
||||||
var vm = this;
|
var vm = this;
|
||||||
vm.navigationCollapsed = true;
|
vm.navigationCollapsed = true;
|
||||||
vm.showCompose = function(subject, to , text){
|
vm.showCompose = function(id){
|
||||||
|
if (id != '')
|
||||||
|
vm.message = membersList.getMemberById(id);
|
||||||
|
else
|
||||||
|
vm.message = {};
|
||||||
composeModal.open({
|
composeModal.open({
|
||||||
subject : subject,
|
message : vm.message
|
||||||
to: to,
|
|
||||||
text: text
|
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
vm.tabs = mailMessages.getTabs();
|
vm.tabs = membersList.getTabs();
|
||||||
}
|
}
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -1,26 +1,80 @@
|
||||||
<div class="compose-header">
|
<div class="compose-header">
|
||||||
<span>
|
<span>
|
||||||
New message
|
New member
|
||||||
</span>
|
</span>
|
||||||
<span class="header-controls">
|
<span class="header-controls">
|
||||||
<i class="ion-minus-round"></i>
|
|
||||||
<i class="ion-arrow-resize"></i>
|
|
||||||
<i ng-click="$dismiss()" 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 default-color" placeholder="To" ng-model="boxCtrl.to">
|
|
||||||
<input type="text" class="form-control compose-input default-color" placeholder="Subject" ng-model="boxCtrl.subject">
|
|
||||||
<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>
|
<div class="col-md-12">
|
||||||
<text-angular name="htmlcontent" ta-target-toolbars='toolbarMain,toolbarFooter' ng-model="boxCtrl.text"></text-angular>
|
<div class="form-group row clearfix"></div>
|
||||||
</div>
|
<div class="form-group row clearfix">
|
||||||
|
|
||||||
|
<div class="col-sm-5">
|
||||||
|
<div class="userpic">
|
||||||
|
<div class="userpic-wrapper">
|
||||||
|
<img ng-src="{{ boxCtrl.picture }}" ng-click="boxCtrl.uploadPicture()">
|
||||||
|
</div>
|
||||||
|
<i class="ion-ios-close-outline" ng-click="boxCtrl.removePicture()" ng-if="!boxCtrl.noPicture"></i>
|
||||||
|
<a href class="change-userpic" ng-click="boxCtrl.uploadPicture()">Change Profile Picture</a>
|
||||||
|
<input type="file" ng-show="false" id="uploadFile" ng-file-select="boxCtrl.onFileSelect($files)">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-7">
|
||||||
|
<div class="form-group row clearfix">
|
||||||
|
<label for="inputFirstName" class="col-sm-3 control-label">Name</label>
|
||||||
|
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input type="text" class="form-control" id="inputFirstName" placeholder="" ng-model="boxCtrl.message.name">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row clearfix">
|
||||||
|
<label for="inputLastName" class="col-sm-3 control-label">Email</label>
|
||||||
|
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input type="text" class="form-control" id="inputLastName" placeholder="" ng-model="boxCtrl.message.email">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row clearfix">
|
||||||
|
<label class="col-sm-3 control-label">Department</label>
|
||||||
|
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<select class="form-control" selectpicker>
|
||||||
|
<option>Web Development</option>
|
||||||
|
<option>System Development</option>
|
||||||
|
<option>Sales</option>
|
||||||
|
<option>Human Resources</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group row clearfix">
|
||||||
|
<label for="inputOccupation" class="col-sm-3 control-label">Occupation</label>
|
||||||
|
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input type="text" class="form-control" id="inputOccupation" placeholder="" ng-model="boxCtrl.message.position">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12"></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="compose-footer clearfix">
|
<div class="compose-footer clearfix">
|
||||||
<button type="button" ng-click="$dismiss()" class="btn btn-send">Send</button>
|
<button type="button" ng-click="$dismiss()" class="btn btn-send">Save</button>
|
||||||
<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>
|
<button type="button" ng-click="$dismiss()" class="btn btn-danger">Cancel</button>
|
||||||
<i ng-click="$dismiss()" class="compose-footer-icon ion-android-delete"></i>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -5,14 +5,31 @@
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('BlurAdmin.pages.components.mail')
|
angular.module('BlurAdmin.pages.teams.members')
|
||||||
.controller('composeBoxCtrl', composeBoxCtrl);
|
.controller('composeBoxCtrl', composeBoxCtrl);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function composeBoxCtrl(subject, to, text) {
|
function composeBoxCtrl(message,fileReader, $filter) {
|
||||||
var vm = this;
|
var vm = this;
|
||||||
vm.subject = subject;
|
vm.message = message;
|
||||||
vm.to = to;
|
vm.picture = (message.pic && message.pic != "") ? $filter('profilePicture')(message.name.split(' ')[0]) : $filter('appImage')('theme/no-photo.png');
|
||||||
vm.text = text;
|
|
||||||
|
vm.removePicture = function () {
|
||||||
|
vm.picture = $filter('appImage')('theme/no-photo.png');
|
||||||
|
vm.noPicture = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
vm.uploadPicture = function () {
|
||||||
|
var fileInput = document.getElementById('uploadFile');
|
||||||
|
fileInput.click();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
vm.getFile = function () {
|
||||||
|
fileReader.readAsDataUrl(vm.file, vm)
|
||||||
|
.then(function (result) {
|
||||||
|
vm.picture = result;
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
})();
|
})();
|
|
@ -5,7 +5,7 @@
|
||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('BlurAdmin.pages.components.mail')
|
angular.module('BlurAdmin.pages.teams.members')
|
||||||
.service('composeModal', composeModal);
|
.service('composeModal', composeModal);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
|
@ -13,19 +13,13 @@
|
||||||
this.open = function(options){
|
this.open = function(options){
|
||||||
return $uibModal.open({
|
return $uibModal.open({
|
||||||
animation: false,
|
animation: false,
|
||||||
templateUrl: 'app/pages/components/mail/composeBox/compose.html',
|
templateUrl: 'app/pages/teams/members/composeBox/compose.html',
|
||||||
controller: 'composeBoxCtrl',
|
controller: 'composeBoxCtrl',
|
||||||
controllerAs: 'boxCtrl',
|
controllerAs: 'boxCtrl',
|
||||||
size: 'compose',
|
size: 'compose',
|
||||||
resolve: {
|
resolve: {
|
||||||
subject: function () {
|
message: function () {
|
||||||
return options.subject;
|
return options.message;
|
||||||
},
|
|
||||||
to: function () {
|
|
||||||
return options.to;
|
|
||||||
},
|
|
||||||
text: function () {
|
|
||||||
return options.text;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -9,9 +9,9 @@
|
||||||
.controller('MemberDetailCtrl', MemberDetailCtrl);
|
.controller('MemberDetailCtrl', MemberDetailCtrl);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function MemberDetailCtrl($stateParams, mailMessages) {
|
function MemberDetailCtrl($stateParams, membersList) {
|
||||||
var vm = this;
|
var vm = this;
|
||||||
vm.mail = mailMessages.getMessageById($stateParams.id);
|
vm.member = membersList.getMemberById($stateParams.id);
|
||||||
vm.label = $stateParams.label;
|
vm.label = $stateParams.label;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,69 +11,44 @@
|
||||||
</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="{{detailCtrl.mail.name.split(' ')[0] | profilePicture}}" class="human-picture">
|
<img ng-src="{{detailCtrl.member.name.split(' ')[0] | profilePicture}}" class="human-picture">
|
||||||
|
|
||||||
<div class="name">
|
<div class="name">
|
||||||
<h2 class="name-h">{{detailCtrl.mail.name.split(' ')[0]}}</h2>
|
<h2 class="name-h">{{detailCtrl.member.name.split(' ')[0]}}</h2>
|
||||||
|
|
||||||
<h2 class="name-h second-name">{{detailCtrl.mail.name.split(' ')[1]}}</h2>
|
<h2 class="name-h second-name">{{detailCtrl.member.name.split(' ')[1]}}</h2>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<span class="mail-tag tag label {{detailCtrl.mail.tag}}">{{detailCtrl.mail.tag}}</span>
|
<span class="mail-tag tag label {{detailCtrl.member.tag}}">{{detailCtrl.member.tag}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<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 phone-email">
|
<div class="contact-info phone-email">
|
||||||
<div>
|
<div>
|
||||||
<i class="ion-iphone"></i>
|
<span class="position">{{detailCtrl.member.position}}</span>
|
||||||
<span class="phone">777-777-7777</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<i class="ion-email"></i>
|
<i class="ion-email"></i>
|
||||||
<span class="email">{{detailCtrl.mail.email}}</span>
|
<span class="email">{{detailCtrl.member.email}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<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>
|
<span ng-repeat="l in detailCtrl.member.labels" class="tag label label-primary {{l}}">{{l}}</span>
|
||||||
<span class="position">{{detailCtrl.mail.position}}</span>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<span class="address">12 Nezavisimosti st. Vilnius, Lithuania</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<div class="message-details">
|
|
||||||
<span class="subject">{{detailCtrl.mail.subject}} </span>
|
|
||||||
<span class="date">• {{detailCtrl.mail.date | date : 'h:mm a MMMM d '}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="line"></div>
|
|
||||||
<div ng-bind-html="detailCtrl.mail.body" class="message-body">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="line"></div>
|
|
||||||
<div class="attachment" ng-show="detailCtrl.mail.attachment">
|
|
||||||
<span class="file-links">1 Attachment - <a href>View</a> | <a href>Download</a></span>
|
|
||||||
<div>
|
|
||||||
<i class="file-icon ion-document"></i>
|
|
||||||
<span class="file-name">{{detailCtrl.mail.attachment}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="line" ng-show="detailCtrl.mail.attachment"></div>
|
|
||||||
<div class="answer-container">
|
|
||||||
<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="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-android-remove-circle"></i>Spam</button>
|
|
||||||
<button type="button" class="btn btn-with-icon"><i class="ion-android-delete"></i>Delete</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div ng-show="!detailCtrl.mail">
|
<div ng-show="!detailCtrl.mail">
|
||||||
|
|
|
@ -9,11 +9,12 @@
|
||||||
.controller('MembersListCtrl', MembersListCtrl);
|
.controller('MembersListCtrl', MembersListCtrl);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function MembersListCtrl($stateParams, mailMessages) {
|
function MembersListCtrl($scope, $stateParams, membersList) {
|
||||||
var vm = this;
|
var vm = this;
|
||||||
console.log($stateParams.label);
|
vm.messages = ($stateParams.label == "list") ? membersList.getAllMessages() : membersList.getMembersByLabel($stateParams.label);
|
||||||
vm.messages = mailMessages.getMessagesByLabel($stateParams.label);
|
|
||||||
vm.label = $stateParams.label;
|
vm.label = $stateParams.label;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
<td ui-sref="teams.members.detail({id: m.id, label: listCtrl.label})">
|
<td ui-sref="teams.members.detail({id: m.id, label: listCtrl.label})">
|
||||||
<div class="name-container">
|
<div class="name-container">
|
||||||
<div><span class="name">{{m.name}}</span></div>
|
<div><span class="name">{{m.name}}</span></div>
|
||||||
<div><span class="tag label label-primary {{m.tag}}">{{m.tag}}</span></div>
|
<div><span ng-repeat="l in m.labels" class="tag label label-primary {{l}}">{{l}}</span></div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td ui-sref="teams.members.detail({id: m.id, label: listCtrl.label})">
|
<td ui-sref="teams.members.detail({id: m.id, label: listCtrl.label})">
|
||||||
|
@ -50,8 +50,8 @@
|
||||||
<span>{{m.position}}</span>
|
<span>{{m.position}}</span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<button class="btn btn-primary editable-table-button btn-xs" ng-click="rowform.$show()">Edit</button>
|
<button class="btn btn-primary editable-table-button btn-xs" ng-click="tabCtrl.showCompose(m.id)">Edit</button>
|
||||||
<button class="btn btn-danger editable-table-button btn-xs" ng-click="removeUser($index)">Delete</button>
|
<button class="btn btn-danger editable-table-button btn-xs" ng-click="removeMember(m.id)">Delete</button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -4,30 +4,20 @@
|
||||||
<div class="letter-layout">
|
<div class="letter-layout">
|
||||||
<div class="mail-navigation-container" ng-class="{'expanded' : !tabCtrl.navigationCollapsed}">
|
<div class="mail-navigation-container" ng-class="{'expanded' : !tabCtrl.navigationCollapsed}">
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<button type="button" class="btn btn-default compose-button" ng-click="tabCtrl.showCompose('','','')">
|
<button type="button" class="btn btn-default compose-button" ng-click="tabCtrl.showCompose('')">
|
||||||
New member
|
New member
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div ng-repeat="t in tabCtrl.tabs" ui-sref-active="active" class="mail-navigation"
|
|
||||||
ui-sref="teams.members.label({label: t.label})" ng-click="selectTab(t.label)">
|
|
||||||
{{t.name}}<span class="new-mails" ng-show="t.newMails">{{t.newMails}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="labels">
|
<div class="labels">
|
||||||
<div class="labels-title">
|
<div class="labels-title">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="labels-container">
|
<div class="labels-container">
|
||||||
<div class="label-item">
|
<div ng-repeat="t in tabCtrl.tabs" ui-sref-active="active" class="label-item"
|
||||||
<span class="tag label work">Work</span>
|
ui-sref="teams.members.label({label: t.label})" ng-click="selectTab(t.label)">
|
||||||
</div>
|
<span class="tag label {{t.label}}">{{t.name}}</span>
|
||||||
<div class="label-item">
|
|
||||||
<span class="tag label family">Family</span>
|
|
||||||
</div>
|
|
||||||
<div class="label-item">
|
|
||||||
<span class="tag label friend">Friend</span>
|
|
||||||
</div>
|
|
||||||
<div class="label-item">
|
|
||||||
<span class="tag label study">Study</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
}).state('teams.members.label', {
|
}).state('teams.members.label', {
|
||||||
url: '/:label',
|
url: '/:label',
|
||||||
templateUrl: 'app/pages/teams/members/list/membersList.html',
|
templateUrl: 'app/pages/teams/members/list/membersList.html',
|
||||||
title: 'Mail',
|
title: 'Members',
|
||||||
controller: "MailListCtrl",
|
controller: "MembersListCtrl",
|
||||||
controllerAs: "listCtrl"
|
controllerAs: "listCtrl"
|
||||||
}).state('teams.members.detail', {
|
}).state('teams.members.detail', {
|
||||||
url: '/:label/:id',
|
url: '/:label/:id',
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
controller: "MemberDetailCtrl",
|
controller: "MemberDetailCtrl",
|
||||||
controllerAs: "detailCtrl"
|
controllerAs: "detailCtrl"
|
||||||
});
|
});
|
||||||
$urlRouterProvider.when('/teams/members','/teams/members/inbox');
|
$urlRouterProvider.when('/teams/members','/teams/members/list');
|
||||||
}
|
}
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('BlurAdmin.pages.teams.members')
|
angular.module('BlurAdmin.pages.teams.members')
|
||||||
.service('membersMessages', membersMessages);
|
.service('membersList', membersList);
|
||||||
|
|
||||||
/** @ngInject */
|
/** @ngInject */
|
||||||
function membersMessages($sce) {
|
function membersList($sce, $stateParams) {
|
||||||
var messages = [
|
var messages = [
|
||||||
{
|
{
|
||||||
"id": "4563faass",
|
"id": "4563faass",
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
"attachment": "poem.txt",
|
"attachment": "poem.txt",
|
||||||
"position": "Great Employee",
|
"position": "Great Employee",
|
||||||
"tag": "friend",
|
"tag": "friend",
|
||||||
"labels": ['inbox']
|
"labels": ['content']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "4563fdfvd",
|
"id": "4563fdfvd",
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
"email": "petraramsey@mail.com",
|
"email": "petraramsey@mail.com",
|
||||||
"position": "Great Employee",
|
"position": "Great Employee",
|
||||||
"tag": "study",
|
"tag": "study",
|
||||||
"labels": ['inbox']
|
"labels": ['content']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "4563zxcss",
|
"id": "4563zxcss",
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
"email": "petraramsey@mail.com",
|
"email": "petraramsey@mail.com",
|
||||||
"position": "Great Employee",
|
"position": "Great Employee",
|
||||||
"tag": "work",
|
"tag": "work",
|
||||||
"labels": ['sent', 'important']
|
"labels": ['product', 'content']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "8955sddf",
|
"id": "8955sddf",
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
"position": "Graphical designer",
|
"position": "Graphical designer",
|
||||||
"attachment": "design.psd",
|
"attachment": "design.psd",
|
||||||
"tag": "work",
|
"tag": "work",
|
||||||
"labels": ['inbox']
|
"labels": ['shops']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "8955sdfcc",
|
"id": "8955sdfcc",
|
||||||
|
@ -75,7 +75,7 @@
|
||||||
"email": "barlowshort@mail.com",
|
"email": "barlowshort@mail.com",
|
||||||
"position": "Graphical designer",
|
"position": "Graphical designer",
|
||||||
"tag": "study",
|
"tag": "study",
|
||||||
"labels": ['inbox']
|
"labels": ['innovation']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "8955asewf",
|
"id": "8955asewf",
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
"email": "barlowshort@mail.com",
|
"email": "barlowshort@mail.com",
|
||||||
"position": "Graphical designer",
|
"position": "Graphical designer",
|
||||||
"tag": "work",
|
"tag": "work",
|
||||||
"labels": ['inbox', 'important']
|
"labels": ['shops', 'media']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "2334uudsa",
|
"id": "2334uudsa",
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
"position": "Technical Chef",
|
"position": "Technical Chef",
|
||||||
"attachment": "file.doc",
|
"attachment": "file.doc",
|
||||||
"tag": "family",
|
"tag": "family",
|
||||||
"labels": ['inbox', 'important']
|
"labels": ['hr', 'innovation']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "2334aefvv",
|
"id": "2334aefvv",
|
||||||
|
@ -120,7 +120,7 @@
|
||||||
"email": "schwart@mail.com",
|
"email": "schwart@mail.com",
|
||||||
"position": "Technical Chef",
|
"position": "Technical Chef",
|
||||||
"tag": "family",
|
"tag": "family",
|
||||||
"labels": ['inbox', 'important']
|
"labels": ['tech', 'product']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "2334cvdss",
|
"id": "2334cvdss",
|
||||||
|
@ -135,7 +135,7 @@
|
||||||
"email": "schwart@mail.com",
|
"email": "schwart@mail.com",
|
||||||
"position": "Technical Chef",
|
"position": "Technical Chef",
|
||||||
"tag": "study",
|
"tag": "study",
|
||||||
"labels": ['trash']
|
"labels": ['product']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "8223xzxfn",
|
"id": "8223xzxfn",
|
||||||
|
@ -148,7 +148,7 @@
|
||||||
"email": "lakeishaphillips@mail.com",
|
"email": "lakeishaphillips@mail.com",
|
||||||
"position": "Mobile Developer",
|
"position": "Mobile Developer",
|
||||||
"tag": 'family',
|
"tag": 'family',
|
||||||
"labels": ['trash']
|
"labels": ['tech']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "8223sdffn",
|
"id": "8223sdffn",
|
||||||
|
@ -161,7 +161,7 @@
|
||||||
"email": "lakeishaphillips@mail.com",
|
"email": "lakeishaphillips@mail.com",
|
||||||
"position": "Mobile Developer",
|
"position": "Mobile Developer",
|
||||||
"tag": 'family',
|
"tag": 'family',
|
||||||
"labels": ['spam']
|
"labels": ['tech']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "9391xdsff",
|
"id": "9391xdsff",
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
"email": "carlsongoodman@mail.com",
|
"email": "carlsongoodman@mail.com",
|
||||||
"position": "Fullstack man",
|
"position": "Fullstack man",
|
||||||
"tag": "study",
|
"tag": "study",
|
||||||
"labels": ['draft']
|
"labels": ['tech']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "8223xsdaa",
|
"id": "8223xsdaa",
|
||||||
|
@ -187,10 +187,10 @@
|
||||||
"email": "lakeishaphillips@mail.com",
|
"email": "lakeishaphillips@mail.com",
|
||||||
"position": "Mobile Developer",
|
"position": "Mobile Developer",
|
||||||
"tag": "family",
|
"tag": "family",
|
||||||
"labels": ['draft']
|
"labels": ['hr']
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "9391xdsff",
|
"id": "9391xdsfd",
|
||||||
"name": "Vlad Lugovsky",
|
"name": "Vlad Lugovsky",
|
||||||
"subject": "What next",
|
"subject": "What next",
|
||||||
"date": "2015-03-31T11:52:58",
|
"date": "2015-03-31T11:52:58",
|
||||||
|
@ -200,45 +200,48 @@
|
||||||
"email": "carlsongoodman@mail.com",
|
"email": "carlsongoodman@mail.com",
|
||||||
"position": "Fullstack man",
|
"position": "Fullstack man",
|
||||||
"tag": "study",
|
"tag": "study",
|
||||||
"labels": ['sent']
|
"labels": ['hr']
|
||||||
}
|
}
|
||||||
].sort(function (a, b) {
|
].sort(function (a, b) {
|
||||||
if (a.date > b.date) return 1;
|
if (a.date > b.date) return 1;
|
||||||
if (a.date < b.date) return -1;
|
if (a.date < b.date) return -1;
|
||||||
}).reverse();
|
}).reverse();
|
||||||
var tabs = [{
|
var tabs = [{
|
||||||
label: 'inbox',
|
label: 'hr',
|
||||||
name: 'Inbox',
|
name: 'HR'
|
||||||
newMails: 7
|
|
||||||
}, {
|
}, {
|
||||||
label: 'sent',
|
label: 'tech',
|
||||||
name: 'Sent Mail'
|
name: 'Tech'
|
||||||
}, {
|
}, {
|
||||||
label: 'important',
|
label: 'product',
|
||||||
name: 'Important'
|
name: 'Product'
|
||||||
}, {
|
}, {
|
||||||
label: 'draft',
|
label: 'finance',
|
||||||
name: 'Draft',
|
name: 'Finance'
|
||||||
newMails: 2
|
|
||||||
}, {
|
}, {
|
||||||
label: 'spam',
|
label: 'media',
|
||||||
name: 'Spam'
|
name: 'Media'
|
||||||
}, {
|
}, {
|
||||||
label: 'trash',
|
label: 'shops',
|
||||||
name: 'Trash'
|
name: 'Shops'
|
||||||
|
}, {
|
||||||
|
label: 'innovation',
|
||||||
|
name: 'Innovation'
|
||||||
}];
|
}];
|
||||||
|
|
||||||
return{
|
return{
|
||||||
getTabs : function(){
|
getTabs : function(){
|
||||||
return tabs
|
return tabs
|
||||||
},
|
},
|
||||||
getMessagesByLabel : function(label){
|
getMembersByLabel : function(label){
|
||||||
console.log('label',$stateParams.label);
|
|
||||||
return messages.filter(function(m){
|
return messages.filter(function(m){
|
||||||
return m.labels.indexOf(label) != -1;
|
return m.labels.indexOf(label) != -1;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
getMessageById : function(id){
|
getAllMessages : function(){
|
||||||
|
return messages;
|
||||||
|
},
|
||||||
|
getMemberById : function(id){
|
||||||
return messages.filter(function(m){
|
return messages.filter(function(m){
|
||||||
return m.id == id;
|
return m.id == id;
|
||||||
})[0];
|
})[0];
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
url: '/teams',
|
url: '/teams',
|
||||||
template : '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
|
template : '<ui-view autoscroll="true" autoscroll-body-top></ui-view>',
|
||||||
abstract: true,
|
abstract: true,
|
||||||
title: 'teams',
|
title: 'Teams',
|
||||||
sidebarMeta: {
|
sidebarMeta: {
|
||||||
icon: 'ion-gear-a',
|
icon: 'ion-gear-a',
|
||||||
order: 100,
|
order: 100,
|
||||||
|
|
|
@ -247,31 +247,50 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mail-panel .mail-navigation-container .tag {
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 300;
|
||||||
|
width: 159px;
|
||||||
|
text-transform: capitalize;
|
||||||
|
}
|
||||||
|
|
||||||
.mail-panel .tag {
|
.mail-panel .tag {
|
||||||
text-transform: lowercase;
|
text-transform: lowercase;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
font-weight: $font-light;
|
font-weight: $font-light;
|
||||||
width: 45px;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
margin-right: 3px;
|
||||||
&.label {
|
&.label {
|
||||||
padding: .2em .5em;
|
padding: .2em .5em;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
line-height: 1.1;
|
line-height: 1.1;
|
||||||
}
|
}
|
||||||
&.work {
|
&.tech {
|
||||||
background-color: $primary;
|
background-color: $primary;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.study {
|
&.product {
|
||||||
background-color: $warning;
|
background-color: $warning;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.family {
|
&.finance {
|
||||||
background-color: $success;
|
background-color: $success;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.friend {
|
&.media {
|
||||||
|
background-color: $danger;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.hr {
|
||||||
|
background-color: $danger;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.shops {
|
||||||
|
background-color: $danger;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.innovation {
|
||||||
background-color: $danger;
|
background-color: $danger;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -667,7 +686,7 @@
|
||||||
.compose-footer {
|
.compose-footer {
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
background-color: $mail-box;
|
background-color: $mail-box;
|
||||||
.btn-send {
|
.btn-send, .btn-danger {
|
||||||
background-color: $primary-light;
|
background-color: $primary-light;
|
||||||
color: white;
|
color: white;
|
||||||
padding: 2px 10px;
|
padding: 2px 10px;
|
||||||
|
@ -682,7 +701,6 @@
|
||||||
|
|
||||||
.footer-controls {
|
.footer-controls {
|
||||||
float: right;
|
float: right;
|
||||||
margin: 6px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.compose-footer-icon {
|
.compose-footer-icon {
|
||||||
|
@ -741,11 +759,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal .modal-dialog.modal-compose {
|
.modal .modal-dialog.modal-compose {
|
||||||
max-width: 398px;
|
display: inline-block;
|
||||||
position: fixed;
|
text-align: left;
|
||||||
bottom: 0;
|
vertical-align: middle;
|
||||||
right: 0;
|
|
||||||
max-height: 474px;
|
|
||||||
|
|
||||||
.form-control, .bootstrap-tagsinput input {
|
.form-control, .bootstrap-tagsinput input {
|
||||||
@include placeholderStyle($dropdown-text, 1);
|
@include placeholderStyle($dropdown-text, 1);
|
||||||
|
|
Loading…
Reference in New Issue