add change avatar functionality

This commit is contained in:
Hendrik Leppelsack 2016-04-28 10:44:48 +02:00 committed by skjnldsv
parent fc005f2b2a
commit 16f1fa2dfd
7 changed files with 40 additions and 21 deletions

View File

@ -86,32 +86,54 @@
opacity: .7
}
.contactdetails__header .contactdetails__logo {
avatar {
position: relative;
height: 75px;
width: 75px;
object-fit: cover;
background-color: transparent;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
margin: 0;
}
.contactdetails__logo.contact__icon {
.avatar-upload {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background-color: rgba(0,0,0,0.2);
height: 75px;
width: 75px;
font-size: 2.5em;
line-height: 75px;
display: none;
}
.contactdetails__logo.contact__icon > .icon-upload-white {
.avatar-upload > .icon-upload-white {
display: block;
width: 100%;
height: 100%;
opacity: 0.5;
cursor: pointer;
}
.contactdetails__logo.contact__icon:hover > .icon-upload-white {
.avatar-upload:hover > .icon-upload-white {
opacity: 0.7;
}
avatar:hover .avatar-upload,
avatar.avatar--missing .avatar-upload {
display: block;
}
.contactdetails__logo {
height: 75px;
width: 75px;
object-fit: cover;
background-color: transparent;
margin: 0;
}
#check-all + label:before {
position: absolute;
top: 18px;

View File

@ -1,5 +1,5 @@
angular.module('contactsApp')
.controller('avataruploadCtrl', function(ContactService) {
.controller('avatarCtrl', function(ContactService) {
var ctrl = this;
ctrl.import = ContactService.import.bind(ContactService);

View File

@ -1,5 +1,5 @@
angular.module('contactsApp')
.directive('avatarupload', function(ContactService) {
.directive('avatar', function(ContactService) {
return {
scope: {
contact: '=data'
@ -25,6 +25,6 @@ angular.module('contactsApp')
}
});
},
templateUrl: OC.linkTo('contacts', 'templates/avatarUpload.html')
templateUrl: OC.linkTo('contacts', 'templates/avatar.html')
};
});

View File

@ -88,8 +88,4 @@ angular.module('contactsApp')
ctrl.changeAddressBook = function (addressBook) {
ContactService.moveContact(ctrl.contact, addressBook);
};
ctrl.uploadAvatar = function() {
console.log('hi');
};
});

5
templates/avatar.html Normal file
View File

@ -0,0 +1,5 @@
<img ng-show="contact.photo()!==undefined" class="contactdetails__logo avatar" data-ng-src="{{contact.photo()}}" />
<div class="avatar-upload">
<input type="file" id="avatar-upload" class="hidden-visually"/>
<label for="avatar-upload" class="icon-upload-white"></label>
</div>

View File

@ -1,3 +0,0 @@
<input type="file" id="contact-upload" class="hidden-visually"/>
<label for="contact-upload" id="upload" class="icon-upload-white">
</label>

View File

@ -8,8 +8,7 @@
</div>
<div ng-if="ctrl.contact!==undefined">
<header class="contactdetails__header" ng-style="{'background-color': (ctrl.contact.uid() | contactColor)}">
<img ng-if="ctrl.contact.photo()!==undefined" class="contactdetails__logo avatar" data-ng-src="{{ctrl.contact.photo()}}" />
<avatarupload ng-if="ctrl.contact.photo()===undefined" data="ctrl.contact" class="contactdetails__logo contact__icon avatar--missing"></avatarupload>
<avatar data="ctrl.contact" ng-class="{'avatar--missing': ctrl.contact.photo()===undefined}"></avatar>
<div id="details-contact-infos">
<h2>
<input type="text" id="details-fullName" class="contactdetails__name" placeholder="{{ctrl.t.placeholderName}}" autocomplete="off"