summaryrefslogtreecommitdiffstats
path: root/js/components/avatar/avatar_controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/components/avatar/avatar_controller.js')
-rw-r--r--js/components/avatar/avatar_controller.js66
1 files changed, 0 insertions, 66 deletions
diff --git a/js/components/avatar/avatar_controller.js b/js/components/avatar/avatar_controller.js
deleted file mode 100644
index 04e4bf04..00000000
--- a/js/components/avatar/avatar_controller.js
+++ /dev/null
@@ -1,66 +0,0 @@
-angular.module('contactsApp')
-.controller('avatarCtrl', function(ContactService) {
- var ctrl = this;
-
- ctrl.import = ContactService.import.bind(ContactService);
-
- ctrl.removePhoto = function() {
- ctrl.contact.removeProperty('photo', ctrl.contact.getProperty('photo'));
- ContactService.update(ctrl.contact);
- $('avatar').removeClass('maximized');
- };
-
- ctrl.downloadPhoto = function() {
- /* globals ArrayBuffer, Uint8Array */
- var img = document.getElementById('contact-avatar');
- // atob to base64_decode the data-URI
- var imageSplit = img.src.split(',');
- // "data:image/png;base64" -> "png"
- var extension = '.' + imageSplit[0].split(';')[0].split('/')[1];
- var imageData = atob(imageSplit[1]);
- // Use typed arrays to convert the binary data to a Blob
- var arrayBuffer = new ArrayBuffer(imageData.length);
- var view = new Uint8Array(arrayBuffer);
- for (var i=0; i<imageData.length; i++) {
- view[i] = imageData.charCodeAt(i) & 0xff;
- }
- var blob = new Blob([arrayBuffer], {type: 'application/octet-stream'});
-
- // Use the URL object to create a temporary URL
- var url = (window.webkitURL || window.URL).createObjectURL(blob);
-
- var a = document.createElement('a');
- document.body.appendChild(a);
- a.style = 'display: none';
- a.href = url;
- a.download = ctrl.contact.uid() + extension;
- a.click();
- window.URL.revokeObjectURL(url);
- a.remove();
- };
-
- ctrl.openPhoto = function() {
- $('avatar').toggleClass('maximized');
- };
-
- ctrl.t = {
- uploadNewPhoto : t('contacts', 'Upload new image'),
- deletePhoto : t('contacts', 'Delete'),
- closePhoto : t('contacts', 'Close'),
- downloadPhoto : t('contacts', 'Download')
- };
-
- // Quit avatar preview
- $('avatar').click(function() {
- $('avatar').removeClass('maximized');
- });
- $('avatar img, avatar .avatar-options').click(function(e) {
- e.stopPropagation();
- });
- $(document).keyup(function(e) {
- if (e.keyCode === 27) {
- $('avatar').removeClass('maximized');
- }
- });
-
-});