Commit cc1b095a10d065d6d3e114650ac43a1850b9d5e0
1 parent
961b04a150
Exists in
master
Pasa solo un objeto
Showing
1 changed file
with
2 additions
and
3 deletions
 
Show diff stats
src/js/controller.js
| 1 | angular.module('focaModalDetalles') | 1 | angular.module('focaModalDetalles') | 
| 2 | .controller('focaModalDetallesController', | 2 | .controller('focaModalDetallesController', | 
| 3 | [ | 3 | [ | 
| 4 | '$scope', | 4 | '$scope', | 
| 5 | '$uibModalInstance', | 5 | '$uibModalInstance', | 
| 6 | 'focaModalService', | 6 | 'focaModalService', | 
| 7 | 'APP', | 7 | 'APP', | 
| 8 | '$timeout', | 8 | '$timeout', | 
| 9 | 'parametros', | 9 | 'parametros', | 
| 10 | function($scope, $uibModalInstance, focaModalService, APP, $timeout, parametros) { | 10 | function($scope, $uibModalInstance, focaModalService, APP, $timeout, parametros) { | 
| 11 | 11 | ||
| 12 | $scope.mobile = APP === 'cobranza'; | 12 | $scope.mobile = APP === 'cobranza'; | 
| 13 | $scope.detalles = parametros; | 13 | $scope.detalles = parametros; | 
| 14 | $scope.newFiles = { | 14 | $scope.newFiles = {}; | 
| 15 | files: [] | ||
| 16 | }; | ||
| 17 | 15 | ||
| 18 | $scope.$watch('newFiles.files', function() { | 16 | $scope.$watch('newFiles.files', function() { | 
| 19 | $scope.newFiles.files.forEach(function(file) { | 17 | $scope.newFiles.files.forEach(function(file) { | 
| 20 | $scope.detalles.files.push(file); | 18 | $scope.detalles.files.push(file); | 
| 21 | }); | 19 | }); | 
| 22 | validarExtSize(); | 20 | validarExtSize(); | 
| 23 | }); | 21 | }); | 
| 24 | 22 | ||
| 25 | $scope.eliminarImg = function(key) { | 23 | $scope.eliminarImg = function(key) { | 
| 26 | $scope.detalles.files.splice(key, 1); | 24 | $scope.detalles.files.splice(key, 1); | 
| 27 | }; | 25 | }; | 
| 28 | 26 | ||
| 29 | $scope.cancel = function() { | 27 | $scope.cancel = function() { | 
| 30 | $uibModalInstance.dismiss('cancel'); | 28 | $uibModalInstance.dismiss('cancel'); | 
| 31 | }; | 29 | }; | 
| 32 | 30 | ||
| 33 | $scope.aceptar = function() { | 31 | $scope.aceptar = function() { | 
| 34 | $scope.detalles.importe = parseFloat($scope.detalles.importe); | 32 | $scope.detalles.importe = parseFloat($scope.detalles.importe); | 
| 35 | $uibModalInstance.close($scope.detalles); | 33 | $uibModalInstance.close($scope.detalles); | 
| 36 | }; | 34 | }; | 
| 37 | 35 | ||
| 38 | $scope.cambioFoto = function(data) { | 36 | $scope.cambioFoto = function(data) { | 
| 39 | $scope.detalles.files.push(data.files); | 37 | $scope.detalles.files.push(data.files); | 
| 40 | }; | 38 | }; | 
| 39 | |||
| 41 | $scope.seleccionarFoto = function() { | 40 | $scope.seleccionarFoto = function() { | 
| 42 | var srcType = Camera.PictureSourceType.SAVEDPHOTOALBUM; | 41 | var srcType = Camera.PictureSourceType.SAVEDPHOTOALBUM; | 
| 43 | var options = setOptions(srcType); | 42 | var options = setOptions(srcType); | 
| 44 | navigator.camera.getPicture(cameraSuccess, cameraError, options); | 43 | navigator.camera.getPicture(cameraSuccess, cameraError, options); | 
| 45 | }; | 44 | }; | 
| 46 | 45 | ||
| 47 | $scope.tomarFoto = function() { | 46 | $scope.tomarFoto = function() { | 
| 48 | navigator.camera.getPicture(cameraSuccess, cameraError, | 47 | navigator.camera.getPicture(cameraSuccess, cameraError, | 
| 49 | { | 48 | { | 
| 50 | destinationType: Camera.DestinationType.DATA_URL, | 49 | destinationType: Camera.DestinationType.DATA_URL, | 
| 51 | quality: 100 | 50 | quality: 100 | 
| 52 | }); | 51 | }); | 
| 53 | }; | 52 | }; | 
| 54 | 53 | ||
| 55 | function cameraSuccess(imageBase64) { | 54 | function cameraSuccess(imageBase64) { | 
| 56 | 55 | ||
| 57 | var fecha = new Date(); | 56 | var fecha = new Date(); | 
| 58 | var size = (imageBase64.length * (3/4)); | 57 | var size = (imageBase64.length * (3/4)); | 
| 59 | 58 | ||
| 60 | var imagen = { | 59 | var imagen = { | 
| 61 | name: 'imagen_' + fecha.getTime() + '.jpg', | 60 | name: 'imagen_' + fecha.getTime() + '.jpg', | 
| 62 | size: size, | 61 | size: size, | 
| 63 | base64: imageBase64, | 62 | base64: imageBase64, | 
| 64 | }; | 63 | }; | 
| 65 | $timeout(function() { | 64 | $timeout(function() { | 
| 66 | $scope.detalles.files.push(imagen); | 65 | $scope.detalles.files.push(imagen); | 
| 67 | }); | 66 | }); | 
| 68 | } | 67 | } | 
| 69 | function cameraError(err) { | 68 | function cameraError(err) { | 
| 70 | console.log(err); | 69 | console.log(err); | 
| 71 | } | 70 | } | 
| 72 | function setOptions(srcType) { | 71 | function setOptions(srcType) { | 
| 73 | var options = { | 72 | var options = { | 
| 74 | // Some common settings are 20, 50, and 100 | 73 | // Some common settings are 20, 50, and 100 | 
| 75 | quality: 100, | 74 | quality: 100, | 
| 76 | destinationType: Camera.DestinationType.DATA_URL, | 75 | destinationType: Camera.DestinationType.DATA_URL, | 
| 77 | sourceType: srcType, | 76 | sourceType: srcType, | 
| 78 | encodingType: Camera.EncodingType.JPEG, | 77 | encodingType: Camera.EncodingType.JPEG, | 
| 79 | mediaType: Camera.MediaType.PICTURE, | 78 | mediaType: Camera.MediaType.PICTURE, | 
| 80 | allowEdit: true, | 79 | allowEdit: true, | 
| 81 | correctOrientation: true | 80 | correctOrientation: true | 
| 82 | }; | 81 | }; | 
| 83 | return options; | 82 | return options; | 
| 84 | } | 83 | } | 
| 85 | function validarExtSize() { | 84 | function validarExtSize() { | 
| 86 | var totalSize = 0; | 85 | var totalSize = 0; | 
| 87 | var invalidExt = false; | 86 | var invalidExt = false; | 
| 88 | $scope.detalles.files.forEach(function(file) { | 87 | $scope.detalles.files.forEach(function(file) { | 
| 89 | //CONVIERTO BYTES A MB | 88 | //CONVIERTO BYTES A MB | 
| 90 | totalSize += file.size / 1000000; | 89 | totalSize += file.size / 1000000; | 
| 91 | var fileExt = file.name.split('.').pop(); | 90 | var fileExt = file.name.split('.').pop(); | 
| 92 | 91 | ||
| 93 | if(fileExt !== 'jpg' && fileExt !== 'png') { | 92 | if(fileExt !== 'jpg' && fileExt !== 'png') { | 
| 94 | invalidExt = true; | 93 | invalidExt = true; | 
| 95 | } | 94 | } | 
| 96 | }); | 95 | }); | 
| 97 | 96 | ||
| 98 | if (totalSize > 150) { | 97 | if (totalSize > 150) { | 
| 99 | focaModalService.alert('El/los archivo/s exceden la capacidad máxima'); | 98 | focaModalService.alert('El/los archivo/s exceden la capacidad máxima'); | 
| 100 | $scope.detalles.files = []; | 99 | $scope.detalles.files = []; | 
| 101 | } else if (invalidExt) { | 100 | } else if (invalidExt) { | 
| 102 | focaModalService.alert('Ha ingresado un archivo con extensión inválida'); | 101 | focaModalService.alert('Ha ingresado un archivo con extensión inválida'); | 
| 103 | $scope.detalles.files = []; | 102 | $scope.detalles.files = []; | 
| 104 | } | 103 | } | 
| 105 | } | 104 | } | 
| 106 | } | 105 | } | 
| 107 | ] | 106 | ] | 
| 108 | ); | 107 | ); |