Commit 06b6f84fb91067b41257a1b39ec57ae2fec27892

Authored by Jose Pinto
1 parent 0151454517
Exists in master and in 1 other branch develop

agrego timeout

Showing 1 changed file with 2 additions and 1 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 '$filter', 5 '$filter',
5 '$scope', 6 '$scope',
6 '$uibModalInstance', 7 '$uibModalInstance',
7 'idCliente', 8 'idCliente',
8 'esNuevo', 9 'esNuevo',
9 'focaModalDomicilioService', 10 'focaModalDomicilioService',
10 '$uibModal', 11 '$uibModal',
11 function($filter, $scope, $uibModalInstance, idCliente, esNuevo, 12 function($timeout, $filter, $scope, $uibModalInstance, idCliente, esNuevo,
12 focaModalDomicilioService, $uibModal) { 13 focaModalDomicilioService, $uibModal) {
13 14
14 $scope.buscar = function() { 15 $scope.buscar = function() {
15 focaModalDomicilioService 16 focaModalDomicilioService
16 .getDomiciliosEntregaByIdCliente($scope.idCliente) 17 .getDomiciliosEntregaByIdCliente($scope.idCliente)
17 .then(function(res) { 18 .then(function(res) {
18 $scope.domicilios = res.data; 19 $scope.domicilios = res.data;
19 $scope.search(); 20 $scope.search();
20 $scope.primerBusqueda = true; 21 $scope.primerBusqueda = true;
21 } 22 }
22 ); 23 );
23 }; 24 };
24 $scope.filters = ''; 25 $scope.filters = '';
25 $scope.idCliente = idCliente; 26 $scope.idCliente = idCliente;
26 $scope.buscar(); 27 $scope.buscar();
27 $scope.ingreso = esNuevo; 28 $scope.ingreso = esNuevo;
28 $scope.primerBusqueda = false; 29 $scope.primerBusqueda = false;
29 $scope.contactos = [{}]; 30 $scope.contactos = [{}];
30 // pagination 31 // pagination
31 $scope.numPerPage = 5; 32 $scope.numPerPage = 5;
32 $scope.currentPage = 1; 33 $scope.currentPage = 1;
33 $scope.filteredDomicilios = []; 34 $scope.filteredDomicilios = [];
34 $scope.currentPageDomicilios = []; 35 $scope.currentPageDomicilios = [];
35 $scope.selectedDomicilio = -1; 36 $scope.selectedDomicilio = -1;
36 37
37 //METODOS 38 //METODOS
38 $scope.search = function(pressed) { 39 $scope.search = function(pressed) {
39 $scope.filteredDomicilios = $filter('filter')( 40 $scope.filteredDomicilios = $filter('filter')(
40 $scope.domicilios, 41 $scope.domicilios,
41 {$: $scope.filters} 42 {$: $scope.filters}
42 ); 43 );
43 44
44 if(pressed) { 45 if(pressed) {
45 if($scope.filteredDomicilios.length === 0) { 46 if($scope.filteredDomicilios.length === 0) {
46 $timeout(function() { 47 $timeout(function() {
47 angular.element('#search')[0].focus(); 48 angular.element('#search')[0].focus();
48 $scope.filters = ''; 49 $scope.filters = '';
49 }); 50 });
50 }else { 51 }else {
51 primera(); 52 primera();
52 } 53 }
53 } 54 }
54 55
55 $scope.lastPage = Math.ceil( 56 $scope.lastPage = Math.ceil(
56 $scope.filteredDomicilios.length / $scope.numPerPage 57 $scope.filteredDomicilios.length / $scope.numPerPage
57 ); 58 );
58 59
59 $scope.resetPage(); 60 $scope.resetPage();
60 }; 61 };
61 62
62 $scope.resetPage = function() { 63 $scope.resetPage = function() {
63 $scope.currentPage = 1; 64 $scope.currentPage = 1;
64 $scope.selectPage(1); 65 $scope.selectPage(1);
65 }; 66 };
66 67
67 $scope.selectPage = function(page) { 68 $scope.selectPage = function(page) {
68 var start = (page - 1) * $scope.numPerPage; 69 var start = (page - 1) * $scope.numPerPage;
69 var end = start + $scope.numPerPage; 70 var end = start + $scope.numPerPage;
70 $scope.paginas = []; 71 $scope.paginas = [];
71 $scope.paginas = calcularPages(page); 72 $scope.paginas = calcularPages(page);
72 $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end); 73 $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end);
73 $scope.currentPage = page; 74 $scope.currentPage = page;
74 }; 75 };
75 76
76 $scope.select = function(domicilio) { 77 $scope.select = function(domicilio) {
77 $uibModalInstance.close(domicilio); 78 $uibModalInstance.close(domicilio);
78 }; 79 };
79 80
80 $scope.cancel = function() { 81 $scope.cancel = function() {
81 $uibModalInstance.dismiss('cancel'); 82 $uibModalInstance.dismiss('cancel');
82 }; 83 };
83 84
84 $scope.busquedaDown = function(key) { 85 $scope.busquedaDown = function(key) {
85 if (key === 40) { 86 if (key === 40) {
86 primera(key); 87 primera(key);
87 } 88 }
88 }; 89 };
89 90
90 $scope.busquedaPress = function(key) { 91 $scope.busquedaPress = function(key) {
91 if (key === 13) { 92 if (key === 13) {
92 $scope.search(true); 93 $scope.search(true);
93 } 94 }
94 }; 95 };
95 96
96 $scope.itemDomicilio = function(key) { 97 $scope.itemDomicilio = function(key) {
97 if (key === 38) { 98 if (key === 38) {
98 anterior(key); 99 anterior(key);
99 } 100 }
100 101
101 if (key === 40) { 102 if (key === 40) {
102 siguiente(key); 103 siguiente(key);
103 } 104 }
104 105
105 if (key === 37) { 106 if (key === 37) {
106 retrocederPagina(); 107 retrocederPagina();
107 } 108 }
108 109
109 if (key === 39) { 110 if (key === 39) {
110 avanzarPagina(); 111 avanzarPagina();
111 } 112 }
112 }; 113 };
113 114
114 $scope.agregarDomicilio = function() { 115 $scope.agregarDomicilio = function() {
115 $scope.domicilio.valores = []; 116 $scope.domicilio.valores = [];
116 $scope.domicilio.idCliente = $scope.idCliente; 117 $scope.domicilio.idCliente = $scope.idCliente;
117 if($scope.domicilio.calle) { 118 if($scope.domicilio.calle) {
118 $scope.domicilio.valores.push({ 119 $scope.domicilio.valores.push({
119 ID_ADAC_1: 1, 120 ID_ADAC_1: 1,
120 dato: $scope.domicilio.calle 121 dato: $scope.domicilio.calle
121 }); 122 });
122 } 123 }
123 if($scope.domicilio.numeroCalle) { 124 if($scope.domicilio.numeroCalle) {
124 $scope.domicilio.valores.push({ 125 $scope.domicilio.valores.push({
125 ID_ADAC_1: 2, 126 ID_ADAC_1: 2,
126 dato: $scope.domicilio.numeroCalle 127 dato: $scope.domicilio.numeroCalle
127 }); 128 });
128 } 129 }
129 if($scope.domicilio.localidad) { 130 if($scope.domicilio.localidad) {
130 $scope.domicilio.valores.push({ 131 $scope.domicilio.valores.push({
131 ID_ADAC_1: 3, 132 ID_ADAC_1: 3,
132 dato: $scope.domicilio.localidad 133 dato: $scope.domicilio.localidad
133 }); 134 });
134 } 135 }
135 if($scope.domicilio.provincia) { 136 if($scope.domicilio.provincia) {
136 $scope.domicilio.valores.push({ 137 $scope.domicilio.valores.push({
137 ID_ADAC_1: 4, 138 ID_ADAC_1: 4,
138 dato: $scope.domicilio.provincia 139 dato: $scope.domicilio.provincia
139 }); 140 });
140 } 141 }
141 //domicilios de entrega corresponden al 1 142 //domicilios de entrega corresponden al 1
142 focaModalDomicilioService 143 focaModalDomicilioService
143 .obtenerUltimoPorNivelPadre(1) 144 .obtenerUltimoPorNivelPadre(1)
144 .then(function(res) { 145 .then(function(res) {
145 $scope.domicilio.nivel1 = 1;//domicilio de entrega corresponde 1 146 $scope.domicilio.nivel1 = 1;//domicilio de entrega corresponde 1
146 $scope.domicilio.nivel2 = res.data[0].ultimo + 1; 147 $scope.domicilio.nivel2 = res.data[0].ultimo + 1;
147 focaModalDomicilioService 148 focaModalDomicilioService
148 .guardarDomicilio($scope.domicilio) 149 .guardarDomicilio($scope.domicilio)
149 .then(function() { 150 .then(function() {
150 $scope.buscar(); 151 $scope.buscar();
151 $scope.ingreso = false; 152 $scope.ingreso = false;
152 $scope.domicilio = {}; 153 $scope.domicilio = {};
153 }); 154 });
154 }); 155 });
155 }; 156 };
156 157
157 $scope.verPuntosDescarga = function(key) { 158 $scope.verPuntosDescarga = function(key) {
158 var modalInstance = $uibModal.open( 159 var modalInstance = $uibModal.open(
159 { 160 {
160 ariaLabelledBy: 'Busqueda de Puntos de descarga', 161 ariaLabelledBy: 'Busqueda de Puntos de descarga',
161 templateUrl: 'modal-punto-descarga.html', 162 templateUrl: 'modal-punto-descarga.html',
162 controller: 'focaModalPuntoDescargaController', 163 controller: 'focaModalPuntoDescargaController',
163 size: 'md', 164 size: 'md',
164 resolve: { 165 resolve: {
165 filters: { 166 filters: {
166 idDomicilio: $scope.domicilios[key].id, 167 idDomicilio: $scope.domicilios[key].id,
167 idCliente: idCliente 168 idCliente: idCliente
168 } 169 }
169 } 170 }
170 } 171 }
171 ); 172 );
172 modalInstance.result.then(function(puntoDescarga) { 173 modalInstance.result.then(function(puntoDescarga) {
173 console.log(puntoDescarga); 174 console.log(puntoDescarga);
174 }, function() { 175 }, function() {
175 //TODO: función llamada cuando cancela el modal 176 //TODO: función llamada cuando cancela el modal
176 }); 177 });
177 }; 178 };
178 179
179 function calcularPages(paginaActual) { 180 function calcularPages(paginaActual) {
180 var paginas = []; 181 var paginas = [];
181 paginas.push(paginaActual); 182 paginas.push(paginaActual);
182 183
183 if (paginaActual - 1 > 1) { 184 if (paginaActual - 1 > 1) {
184 185
185 paginas.unshift(paginaActual - 1); 186 paginas.unshift(paginaActual - 1);
186 if (paginaActual - 2 > 1) { 187 if (paginaActual - 2 > 1) {
187 paginas.unshift(paginaActual - 2); 188 paginas.unshift(paginaActual - 2);
188 } 189 }
189 } 190 }
190 191
191 if (paginaActual + 1 < $scope.lastPage) { 192 if (paginaActual + 1 < $scope.lastPage) {
192 paginas.push(paginaActual + 1); 193 paginas.push(paginaActual + 1);
193 if (paginaActual + 2 < $scope.lastPage) { 194 if (paginaActual + 2 < $scope.lastPage) {
194 paginas.push(paginaActual + 2); 195 paginas.push(paginaActual + 2);
195 } 196 }
196 } 197 }
197 198
198 if (paginaActual !== 1) { 199 if (paginaActual !== 1) {
199 paginas.unshift(1); 200 paginas.unshift(1);
200 } 201 }
201 202
202 if (paginaActual !== $scope.lastPage) { 203 if (paginaActual !== $scope.lastPage) {
203 paginas.push($scope.lastPage); 204 paginas.push($scope.lastPage);
204 } 205 }
205 206
206 return paginas; 207 return paginas;
207 } 208 }
208 209
209 function primera() { 210 function primera() {
210 $scope.selectedDomicilio = 0; 211 $scope.selectedDomicilio = 0;
211 } 212 }
212 213
213 function anterior() { 214 function anterior() {
214 if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) { 215 if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) {
215 retrocederPagina(); 216 retrocederPagina();
216 } else { 217 } else {
217 $scope.selectedDomicilio--; 218 $scope.selectedDomicilio--;
218 } 219 }
219 } 220 }
220 221
221 function siguiente() { 222 function siguiente() {
222 if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length ) { 223 if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length ) {
223 $scope.selectedDomicilio++; 224 $scope.selectedDomicilio++;
224 } else { 225 } else {
225 avanzarPagina(); 226 avanzarPagina();
226 } 227 }
227 } 228 }
228 229
229 function retrocederPagina() { 230 function retrocederPagina() {
230 if ($scope.currentPage > 1) { 231 if ($scope.currentPage > 1) {
231 $scope.selectPage($scope.currentPage - 1); 232 $scope.selectPage($scope.currentPage - 1);
232 $scope.selectedDomicilio = $scope.numPerPage - 1; 233 $scope.selectedDomicilio = $scope.numPerPage - 1;
233 } 234 }
234 } 235 }
235 236
236 function avanzarPagina() { 237 function avanzarPagina() {
237 if ($scope.currentPage < $scope.lastPage) { 238 if ($scope.currentPage < $scope.lastPage) {
238 $scope.selectPage($scope.currentPage + 1); 239 $scope.selectPage($scope.currentPage + 1);
239 $scope.selectedDomicilio = 0; 240 $scope.selectedDomicilio = 0;
240 } 241 }
241 } 242 }
242 } 243 }
243 ] 244 ]
244 ); 245 );
245 246