Commit 446b6e9d64d54bb6c14a9d6b785e1964f0d440f3

Authored by Luigi
1 parent c96df65e48
Exists in master

Espacio en IF

Showing 1 changed file with 9 additions and 9 deletions   Show diff stats
src/js/controller.js
1 angular.module('focaModalDomicilio') 1 angular.module('focaModalDomicilio')
2 .controller('focaModalDomicilioController', 2 .controller('focaModalDomicilioController',
3 [ 3 [
4 '$timeout', 4 '$timeout',
5 '$filter', 5 '$filter',
6 '$scope', 6 '$scope',
7 '$uibModalInstance', 7 '$uibModalInstance',
8 'focaModalDomicilioService', 8 'focaModalDomicilioService',
9 '$uibModal', 9 '$uibModal',
10 'idCliente', 10 'idCliente',
11 'esNuevo', 11 'esNuevo',
12 'focaModalService', 12 'focaModalService',
13 function($timeout, $filter, $scope, $uibModalInstance, focaModalDomicilioService, 13 function($timeout, $filter, $scope, $uibModalInstance, focaModalDomicilioService,
14 $uibModal, idCliente, esNuevo, focaModalService) { 14 $uibModal, idCliente, esNuevo, focaModalService) {
15 15
16 $scope.buscar = function() { 16 $scope.buscar = function() {
17 focaModalDomicilioService 17 focaModalDomicilioService
18 .getDomiciliosEntregaByIdCliente($scope.idCliente) 18 .getDomiciliosEntregaByIdCliente($scope.idCliente)
19 .then(function(res) { 19 .then(function(res) {
20 $scope.domicilios = res.data; 20 $scope.domicilios = res.data;
21 $scope.search(); 21 $scope.search();
22 $scope.primerBusqueda = true; 22 $scope.primerBusqueda = true;
23 } 23 }
24 ); 24 );
25 }; 25 };
26 $scope.filters = ''; 26 $scope.filters = '';
27 $scope.idCliente = idCliente; 27 $scope.idCliente = idCliente;
28 $scope.buscar(); 28 $scope.buscar();
29 $scope.ingreso = esNuevo; 29 $scope.ingreso = esNuevo;
30 $scope.primerBusqueda = false; 30 $scope.primerBusqueda = false;
31 $scope.contactos = [{}]; 31 $scope.contactos = [{}];
32 // pagination 32 // pagination
33 $scope.numPerPage = 5; 33 $scope.numPerPage = 5;
34 $scope.currentPage = 1; 34 $scope.currentPage = 1;
35 $scope.filteredDomicilios = []; 35 $scope.filteredDomicilios = [];
36 $scope.currentPageDomicilios = []; 36 $scope.currentPageDomicilios = [];
37 $scope.selectedDomicilio = -1; 37 $scope.selectedDomicilio = -1;
38 $scope.focused = 1; 38 $scope.focused = 1;
39 $scope.domicilio = {}; 39 $scope.domicilio = {};
40 40
41 //METODOS 41 //METODOS
42 $scope.search = function(pressed) { 42 $scope.search = function(pressed) {
43 $scope.filteredDomicilios = $filter('filter')( 43 $scope.filteredDomicilios = $filter('filter')(
44 $scope.domicilios, 44 $scope.domicilios,
45 {$: $scope.filters} 45 {$: $scope.filters}
46 ); 46 );
47 47
48 if(pressed) { 48 if (pressed) {
49 if($scope.filteredDomicilios.length === 0) { 49 if ($scope.filteredDomicilios.length === 0) {
50 $timeout(function() { 50 $timeout(function() {
51 angular.element('#search')[0].focus(); 51 angular.element('#search')[0].focus();
52 $scope.filters = ''; 52 $scope.filters = '';
53 }); 53 });
54 }else { 54 }else {
55 primera(); 55 primera();
56 } 56 }
57 } 57 }
58 58
59 $scope.lastPage = Math.ceil( 59 $scope.lastPage = Math.ceil(
60 $scope.filteredDomicilios.length / $scope.numPerPage 60 $scope.filteredDomicilios.length / $scope.numPerPage
61 ); 61 );
62 62
63 $scope.resetPage(); 63 $scope.resetPage();
64 }; 64 };
65 65
66 $scope.resetPage = function() { 66 $scope.resetPage = function() {
67 $scope.currentPage = 1; 67 $scope.currentPage = 1;
68 $scope.selectPage(1); 68 $scope.selectPage(1);
69 }; 69 };
70 70
71 $scope.selectPage = function(page) { 71 $scope.selectPage = function(page) {
72 var start = (page - 1) * $scope.numPerPage; 72 var start = (page - 1) * $scope.numPerPage;
73 var end = start + $scope.numPerPage; 73 var end = start + $scope.numPerPage;
74 $scope.paginas = []; 74 $scope.paginas = [];
75 $scope.paginas = calcularPages(page); 75 $scope.paginas = calcularPages(page);
76 $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end); 76 $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end);
77 $scope.currentPage = page; 77 $scope.currentPage = page;
78 }; 78 };
79 79
80 $scope.select = function(domicilio) { 80 $scope.select = function(domicilio) {
81 $uibModalInstance.close(domicilio); 81 $uibModalInstance.close(domicilio);
82 }; 82 };
83 83
84 $scope.cancel = function() { 84 $scope.cancel = function() {
85 $uibModalInstance.dismiss('cancel'); 85 $uibModalInstance.dismiss('cancel');
86 }; 86 };
87 87
88 $scope.busquedaDown = function(key) { 88 $scope.busquedaDown = function(key) {
89 if (key === 40) { 89 if (key === 40) {
90 primera(key); 90 primera(key);
91 } 91 }
92 }; 92 };
93 93
94 $scope.busquedaPress = function(key) { 94 $scope.busquedaPress = function(key) {
95 if (key === 13) { 95 if (key === 13) {
96 $scope.search(true); 96 $scope.search(true);
97 } 97 }
98 }; 98 };
99 99
100 $scope.itemDomicilio = function(key) { 100 $scope.itemDomicilio = function(key) {
101 if (key === 38) { 101 if (key === 38) {
102 anterior(key); 102 anterior(key);
103 } 103 }
104 104
105 if (key === 40) { 105 if (key === 40) {
106 siguiente(key); 106 siguiente(key);
107 } 107 }
108 108
109 if (key === 37) { 109 if (key === 37) {
110 retrocederPagina(); 110 retrocederPagina();
111 } 111 }
112 112
113 if (key === 39) { 113 if (key === 39) {
114 avanzarPagina(); 114 avanzarPagina();
115 } 115 }
116 }; 116 };
117 117
118 $scope.agregarDomicilio = function() { 118 $scope.agregarDomicilio = function() {
119 119
120 $scope.domicilio.valores = []; 120 $scope.domicilio.valores = [];
121 $scope.domicilio.idCliente = $scope.idCliente; 121 $scope.domicilio.idCliente = $scope.idCliente;
122 if($scope.domicilio.calle) { 122 if ($scope.domicilio.calle) {
123 $scope.domicilio.valores.push({ 123 $scope.domicilio.valores.push({
124 ID_ADAC_1: 1, 124 ID_ADAC_1: 1,
125 dato: $scope.domicilio.calle 125 dato: $scope.domicilio.calle
126 }); 126 });
127 } 127 }
128 if($scope.domicilio.numeroCalle) { 128 if ($scope.domicilio.numeroCalle) {
129 $scope.domicilio.valores.push({ 129 $scope.domicilio.valores.push({
130 ID_ADAC_1: 2, 130 ID_ADAC_1: 2,
131 dato: $scope.domicilio.numeroCalle 131 dato: $scope.domicilio.numeroCalle
132 }); 132 });
133 } 133 }
134 if($scope.domicilio.localidad) { 134 if ($scope.domicilio.localidad) {
135 $scope.domicilio.valores.push({ 135 $scope.domicilio.valores.push({
136 ID_ADAC_1: 3, 136 ID_ADAC_1: 3,
137 dato: $scope.domicilio.localidad 137 dato: $scope.domicilio.localidad
138 }); 138 });
139 } 139 }
140 if($scope.domicilio.provincia) { 140 if ($scope.domicilio.provincia) {
141 $scope.domicilio.valores.push({ 141 $scope.domicilio.valores.push({
142 ID_ADAC_1: 4, 142 ID_ADAC_1: 4,
143 dato: $scope.domicilio.provincia 143 dato: $scope.domicilio.provincia
144 }); 144 });
145 } 145 }
146 if($scope.domicilio.latitud) { 146 if ($scope.domicilio.latitud) {
147 $scope.domicilio.valores.push({ 147 $scope.domicilio.valores.push({
148 ID_ADAC_1: 23, 148 ID_ADAC_1: 23,
149 dato: $scope.domicilio.latitud.toString() 149 dato: $scope.domicilio.latitud.toString()
150 }); 150 });
151 } 151 }
152 if($scope.domicilio.longitud) { 152 if ($scope.domicilio.longitud) {
153 $scope.domicilio.valores.push({ 153 $scope.domicilio.valores.push({
154 ID_ADAC_1: 24, 154 ID_ADAC_1: 24,
155 dato: $scope.domicilio.longitud.toString() 155 dato: $scope.domicilio.longitud.toString()
156 }); 156 });
157 } 157 }
158 158
159 if (!$scope.domicilio.titulo) { 159 if (!$scope.domicilio.titulo) {
160 focaModalService.alert('Ingrese titulo'); 160 focaModalService.alert('Ingrese titulo');
161 return; 161 return;
162 } else if (!$scope.domicilio.calle) { 162 } else if (!$scope.domicilio.calle) {
163 focaModalService.alert('Ingrese calle'); 163 focaModalService.alert('Ingrese calle');
164 return; 164 return;
165 } else if (!$scope.domicilio.numeroCalle) { 165 } else if (!$scope.domicilio.numeroCalle) {
166 focaModalService.alert('Ingrese numero de calle'); 166 focaModalService.alert('Ingrese numero de calle');
167 return; 167 return;
168 } else if (!$scope.domicilio.localidad) { 168 } else if (!$scope.domicilio.localidad) {
169 focaModalService.alert('Ingrese localidad'); 169 focaModalService.alert('Ingrese localidad');
170 return; 170 return;
171 } else if (!$scope.domicilio.provincia) { 171 } else if (!$scope.domicilio.provincia) {
172 focaModalService.alert('Ingrese provincia'); 172 focaModalService.alert('Ingrese provincia');
173 return; 173 return;
174 } 174 }
175 175
176 //domicilios de entrega corresponden al 1 176 //domicilios de entrega corresponden al 1
177 focaModalDomicilioService 177 focaModalDomicilioService
178 .obtenerUltimoPorNivelPadre(1) 178 .obtenerUltimoPorNivelPadre(1)
179 .then(function(res) { 179 .then(function(res) {
180 $scope.domicilio.nivel1 = 1;//domicilio de entrega corresponde 1 180 $scope.domicilio.nivel1 = 1;//domicilio de entrega corresponde 1
181 $scope.domicilio.nivel2 = res.data[0].ultimo + 1; 181 $scope.domicilio.nivel2 = res.data[0].ultimo + 1;
182 focaModalDomicilioService 182 focaModalDomicilioService
183 .guardarDomicilio($scope.domicilio) 183 .guardarDomicilio($scope.domicilio)
184 .then(function() { 184 .then(function() {
185 $scope.buscar(); 185 $scope.buscar();
186 $scope.ingreso = false; 186 $scope.ingreso = false;
187 $scope.domicilio = {}; 187 $scope.domicilio = {};
188 }) 188 })
189 .catch(function() { 189 .catch(function() {
190 focaModalService.alert('Hubo un error al crear el domicilio'); 190 focaModalService.alert('Hubo un error al crear el domicilio');
191 $scope.ingreso = false; 191 $scope.ingreso = false;
192 }); 192 });
193 }); 193 });
194 }; 194 };
195 195
196 $scope.verPuntosDescarga = function(key) { 196 $scope.verPuntosDescarga = function(key) {
197 197
198 $scope.currentPageDomicilios[key].verPuntos = true; 198 $scope.currentPageDomicilios[key].verPuntos = true;
199 $scope.select($scope.currentPageDomicilios[key]); 199 $scope.select($scope.currentPageDomicilios[key]);
200 }; 200 };
201 201
202 $scope.localizarDomicilio = function(localizar) { 202 $scope.localizarDomicilio = function(localizar) {
203 var direccion = null; 203 var direccion = null;
204 if(localizar) { 204 if(localizar) {
205 direccion = { 205 direccion = {
206 calle: $scope.domicilio.calle, 206 calle: $scope.domicilio.calle,
207 numero: $scope.domicilio.numeroCalle, 207 numero: $scope.domicilio.numeroCalle,
208 localidad: $scope.domicilio.localidad, 208 localidad: $scope.domicilio.localidad,
209 provincia: $scope.domicilio.provincia 209 provincia: $scope.domicilio.provincia
210 }; 210 };
211 } 211 }
212 var modalInstance = $uibModal.open( 212 var modalInstance = $uibModal.open(
213 { 213 {
214 ariaLabelledBy: 'Buscar domicilio', 214 ariaLabelledBy: 'Buscar domicilio',
215 templateUrl: 'modal-localizar.html', 215 templateUrl: 'modal-localizar.html',
216 controller: 'focaModalLocalizarController', 216 controller: 'focaModalLocalizarController',
217 size: 'lg', 217 size: 'lg',
218 resolve: { 218 resolve: {
219 direccion: direccion 219 direccion: direccion
220 } 220 }
221 } 221 }
222 ); 222 );
223 modalInstance.result.then(function(res) { 223 modalInstance.result.then(function(res) {
224 $scope.domicilio.latitud = res.latitud; 224 $scope.domicilio.latitud = res.latitud;
225 $scope.domicilio.longitud = res.longitud; 225 $scope.domicilio.longitud = res.longitud;
226 }, function() { 226 }, function() {
227 //TODO: función llamada cuando cancela el modal 227 //TODO: función llamada cuando cancela el modal
228 }); 228 });
229 }; 229 };
230 230
231 $scope.next = function(key) { 231 $scope.next = function(key) {
232 if(key === 13) $scope.focused++; 232 if (key === 13) $scope.focused++;
233 }; 233 };
234 234
235 function calcularPages(paginaActual) { 235 function calcularPages(paginaActual) {
236 var paginas = []; 236 var paginas = [];
237 paginas.push(paginaActual); 237 paginas.push(paginaActual);
238 238
239 if (paginaActual - 1 > 1) { 239 if (paginaActual - 1 > 1) {
240 240
241 paginas.unshift(paginaActual - 1); 241 paginas.unshift(paginaActual - 1);
242 if (paginaActual - 2 > 1) { 242 if (paginaActual - 2 > 1) {
243 paginas.unshift(paginaActual - 2); 243 paginas.unshift(paginaActual - 2);
244 } 244 }
245 } 245 }
246 246
247 if (paginaActual + 1 < $scope.lastPage) { 247 if (paginaActual + 1 < $scope.lastPage) {
248 paginas.push(paginaActual + 1); 248 paginas.push(paginaActual + 1);
249 if (paginaActual + 2 < $scope.lastPage) { 249 if (paginaActual + 2 < $scope.lastPage) {
250 paginas.push(paginaActual + 2); 250 paginas.push(paginaActual + 2);
251 } 251 }
252 } 252 }
253 253
254 if (paginaActual !== 1) { 254 if (paginaActual !== 1) {
255 paginas.unshift(1); 255 paginas.unshift(1);
256 } 256 }
257 257
258 if (paginaActual !== $scope.lastPage) { 258 if (paginaActual !== $scope.lastPage) {
259 paginas.push($scope.lastPage); 259 paginas.push($scope.lastPage);
260 } 260 }
261 261
262 return paginas; 262 return paginas;
263 } 263 }
264 264
265 function primera() { 265 function primera() {
266 $scope.selectedDomicilio = 0; 266 $scope.selectedDomicilio = 0;
267 } 267 }
268 268
269 function anterior() { 269 function anterior() {
270 if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) { 270 if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) {
271 retrocederPagina(); 271 retrocederPagina();
272 } else { 272 } else {
273 $scope.selectedDomicilio--; 273 $scope.selectedDomicilio--;
274 } 274 }
275 } 275 }
276 276
277 function siguiente() { 277 function siguiente() {
278 if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length ) { 278 if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length ) {
279 $scope.selectedDomicilio++; 279 $scope.selectedDomicilio++;
280 } else { 280 } else {
281 avanzarPagina(); 281 avanzarPagina();
282 } 282 }
283 } 283 }
284 284
285 function retrocederPagina() { 285 function retrocederPagina() {
286 if ($scope.currentPage > 1) { 286 if ($scope.currentPage > 1) {
287 $scope.selectPage($scope.currentPage - 1); 287 $scope.selectPage($scope.currentPage - 1);
288 $scope.selectedDomicilio = $scope.numPerPage - 1; 288 $scope.selectedDomicilio = $scope.numPerPage - 1;
289 } 289 }
290 } 290 }
291 291
292 function avanzarPagina() { 292 function avanzarPagina() {
293 if ($scope.currentPage < $scope.lastPage) { 293 if ($scope.currentPage < $scope.lastPage) {
294 $scope.selectPage($scope.currentPage + 1); 294 $scope.selectPage($scope.currentPage + 1);
295 $scope.selectedDomicilio = 0; 295 $scope.selectedDomicilio = 0;
296 } 296 }
297 } 297 }
298 } 298 }
299 ] 299 ]
300 ); 300 );
301 301