Commit 8cc9a9728d9daf14e6f5cf5862a1b65ee84778cd

Authored by Eric Fernandez
Exists in master and in 1 other branch develop

Merge branch 'master' into 'develop'

Master

See merge request !16
src/js/controller.js
... ... @@ -34,17 +34,36 @@ angular.module('focaModal')
34 34 }
35 35 ])
36 36 .controller('focaModalPromptController', [
37   - '$uibModalInstance', '$scope', 'titulo', 'initValue', 'textarea', 'readonly',
38   - function($uibModalInstance, $scope, titulo, initValue, textarea, readonly) {
39   - $scope.readonly = readonly;
40   - $scope.textarea = textarea;
41   - $scope.titulo = titulo;
42   - $scope.value = initValue;
  37 + '$uibModalInstance', '$scope', 'options', 'focaModalService',
  38 + function($uibModalInstance, $scope, options, focaModalService) {
  39 +
  40 + $scope.options = options;
43 41 $scope.cancelar = function() {
44 42 $uibModalInstance.dismiss();
45 43 };
46   - $scope.aceptar = function() {
47   - $uibModalInstance.close($scope.value);
  44 + $scope.aceptar = function(key) {
  45 + if (key === 13) {
  46 + if (options.email && !validateEmails($scope.options.value)) {
  47 + focaModalService.alert('Ingrese email/s válido/s');
  48 + return;
  49 + }
  50 +
  51 + $uibModalInstance.close($scope.options.value);
  52 + }
48 53 };
  54 +
  55 + function validateEmails(emails) {
  56 + var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  57 + var arr = emails.split(',');
  58 + var result = true;
  59 +
  60 + arr.forEach(function(email) {
  61 + var val = String(email).trim().toLowerCase();
  62 +
  63 + if(!re.test(val)) result = false;
  64 + });
  65 +
  66 + return result;
  67 + }
49 68 }
50 69 ]);
src/js/controllerModal.js
... ... @@ -135,7 +135,7 @@ angular.module(&#39;focaModal&#39;)
135 135 return true;
136 136 }
137 137 return false;
138   - }
  138 + };
139 139  
140 140 function calcularPages(paginaActual) {
141 141 var paginas = [];
... ... @@ -71,18 +71,13 @@ angular.module(&#39;focaModal&#39;)
71 71 }
72 72 );
73 73 },
74   - prompt: function(titulo, initValue, textarea, readonly){
75   - textarea = textarea ? true : false;
76   - readonly = readonly ? true : false;
  74 + prompt: function(options) {
77 75 return $uibModal.open({
78 76 templateUrl: 'modal-prompt.html',
79 77 controller: 'focaModalPromptController',
80 78 size: 'md',
81 79 resolve: {
82   - titulo: function() {return titulo;},
83   - initValue: function() {return initValue;},
84   - textarea: function() {return textarea;},
85   - readonly: function() {return readonly;}
  80 + options: function() {return options;},
86 81 }
87 82 })
88 83 .result.then(
src/views/modal-prompt.html
1 1 <div class="modal-header">
2   - <h4 ng-bind="titulo"></h4>
  2 + <h4 ng-bind="options.titulo"></h4>
3 3 </div>
4 4 <div class="modal-body">
5 5 <input
6 6 type="text"
7 7 class="form-control"
8   - ng-model="value"
9   - ng-show="!textarea"
10   - ng-readonly="readonly">
  8 + ng-model="options.value"
  9 + ng-show="!options.textarea"
  10 + ng-readonly="options.readonly"
  11 + ng-keypress="aceptar($event.keyCode)">
11 12  
12 13 <textarea
13 14 rows="5"
14 15 class="form-control text-uppercase"
15   - ng-model="value"
16   - ng-show="textarea"
17   - ng-readonly="readonly"></textarea>
  16 + ng-model="options.value"
  17 + ng-show="options.textarea"
  18 + ng-readonly="options.readonly"
  19 + ng-keypress="aceptar($event.keyCode)"></textarea>
18 20 </div>
19 21 <div class="modal-footer">
20   - <button class="btn btn-primary" ng-click="aceptar()" foca-focus="true">Aceptar</button>
  22 + <button class="btn btn-primary" ng-click="aceptar(13)" foca-focus="true">Aceptar</button>
21 23 <button class="btn btn-default" ng-click="cancelar()">Cancelar</button>
22 24 </div>