Commit bfa63f201283cd82b454bd4b7619ee347043331d

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

refactor columnas

Showing 1 changed file with 113 additions and 36 deletions   Show diff stats
src/js/controller.js
1 angular.module('focaBusquedaCliente') 1 angular.module('focaBusquedaCliente')
2 .controller('focaBusquedaClienteModalController', [ 2 .controller('focaBusquedaClienteModalController', [
3 '$uibModalInstance', 'focaBusquedaClienteService', '$scope', '$filter', 3 '$uibModalInstance', 'focaBusquedaClienteService', '$scope', '$filter',
4 '$uibModal', 'focaModalService', '$timeout', 'vendedor', 4 '$uibModal', 'focaModalService', '$timeout', 'vendedor',
5 function($uibModalInstance, focaBusquedaClienteService, $scope, $filter, 5 function($uibModalInstance, focaBusquedaClienteService, $scope, $filter,
6 $uibModal, focaModalService, $timeout, vendedor) { 6 $uibModal, focaModalService, $timeout, vendedor) {
7 7
8 $scope.vendedor = vendedor ? vendedor : {}; 8 $scope.vendedor = vendedor ? vendedor : {};
9 $scope.filters = ''; 9 $scope.filters = '';
10 $scope.primerBusqueda = false; 10 $scope.primerBusqueda = false;
11 // pagination 11 // pagination
12 $scope.numPerPage = 10; 12 $scope.numPerPage = 10;
13 $scope.currentPage = 1; 13 $scope.currentPage = 1;
14 $scope.filteredClientes = []; 14 $scope.filteredClientes = [];
15 $scope.currentPageClientes = []; 15 $scope.currentPageClientes = [];
16 $scope.selectedClientes = -1; 16 $scope.selectedClientes = -1;
17 $scope.ingreso = false; 17 $scope.ingreso = false;
18 $scope.regexCuit = new RegExp(/\b(20|23|24|27|30|33|34)(\D)?[0-9]{8}(\D)?[0-9]/g); 18 $scope.regexCuit = new RegExp(/\b(20|23|24|27|30|33|34)(\D)?[0-9]{8}(\D)?[0-9]/g);
19 $scope.focused = 1; 19 $scope.focused = 1;
20 20
21 $scope.cliente = { 21 $scope.cliente = {
22 COD: 0, 22 COD: 0,
23 ES_MAY: true, 23 ES_MAY: true,
24 provincia: { 24 provincia: {
25 NOMBRE: '' 25 NOMBRE: ''
26 }, 26 },
27 localidad: { 27 localidad: {
28 NOMBRE: '' 28 NOMBRE: ''
29 }, 29 },
30 iva: { 30 iva: {
31 NOMBRE: '' 31 NOMBRE: ''
32 }, 32 },
33 actividad: { 33 actividad: {
34 NOM: '' 34 NOM: ''
35 }, 35 },
36 zona: { 36 zona: {
37 NOM: '' 37 NOM: ''
38 }, 38 },
39 tipoFactura: { 39 tipoFactura: {
40 NOMBRE: '' 40 NOMBRE: ''
41 }, 41 },
42 tipoComprobante: { 42 tipoComprobante: {
43 NOMBRE: '' 43 NOMBRE: ''
44 }, 44 },
45 formaPago: { 45 formaPago: {
46 NOMBRE: '' 46 NOMBRE: ''
47 }, 47 },
48 cobrador: { 48 cobrador: {
49 NomVen: '' 49 NomVen: ''
50 } 50 }
51 }; 51 };
52 52
53 $scope.busquedaPress = function(key) { 53 $scope.busquedaPress = function(key) {
54 if (key === 13) { 54 if (key === 13) {
55 var funcion = ($scope.vendedor.CodVen) ? 55 var funcion = ($scope.vendedor.CodVen) ?
56 'obtenerClientesPorNombreOCuitByVendedor' : 'obtenerClientesPorNombreOCuit'; 56 'obtenerClientesPorNombreOCuitByVendedor' : 'obtenerClientesPorNombreOCuit';
57 57
58 $scope.searchLoading = true; 58 $scope.searchLoading = true;
59 focaBusquedaClienteService 59 focaBusquedaClienteService
60 [funcion]($scope.filters, $scope.vendedor.CodVen) 60 [funcion]($scope.filters, $scope.vendedor.CodVen)
61 .then( 61 .then(
62 function(res) { 62 function(res) {
63 $scope.primerBusqueda = true; 63 $scope.primerBusqueda = true;
64 $scope.clientes = res.data; 64 $scope.clientes = res.data;
65 $scope.search(true); 65 $scope.search(true);
66 primera(); 66 primera();
67 $scope.searchLoading = false; 67 $scope.searchLoading = false;
68 }); 68 });
69 } 69 }
70 }; 70 };
71 71
72 $scope.search = function (pressed) { 72 $scope.search = function (pressed) {
73 if($scope.primerBusqueda) { 73 if($scope.primerBusqueda) {
74 $scope.filteredClientes = $filter('filter')( 74 $scope.filteredClientes = $filter('filter')(
75 $scope.clientes, {$: $scope.filters} 75 $scope.clientes, {$: $scope.filters}
76 ); 76 );
77 77
78 if(pressed && $scope.filteredClientes.length === 0){ 78 if(pressed && $scope.filteredClientes.length === 0){
79 $timeout(function() { 79 $timeout(function() {
80 angular.element('#search')[0].focus(); 80 angular.element('#search')[0].focus();
81 $scope.filters = ''; 81 $scope.filters = '';
82 }); 82 });
83 } 83 }
84 84
85 $scope.lastPage = Math.ceil( 85 $scope.lastPage = Math.ceil(
86 $scope.filteredClientes.length / $scope.numPerPage 86 $scope.filteredClientes.length / $scope.numPerPage
87 ); 87 );
88 88
89 $scope.resetPage(); 89 $scope.resetPage();
90 } 90 }
91 }; 91 };
92 92
93 $scope.resetPage = function () { 93 $scope.resetPage = function () {
94 $scope.currentPage = 1; 94 $scope.currentPage = 1;
95 $scope.selectPage(1); 95 $scope.selectPage(1);
96 }; 96 };
97 97
98 $scope.selectPage = function (page) { 98 $scope.selectPage = function (page) {
99 var start = (page - 1) * $scope.numPerPage; 99 var start = (page - 1) * $scope.numPerPage;
100 var end = start + $scope.numPerPage; 100 var end = start + $scope.numPerPage;
101 $scope.paginas = []; 101 $scope.paginas = [];
102 $scope.paginas = calcularPages(page); 102 $scope.paginas = calcularPages(page);
103 $scope.currentPageClientes = $scope.filteredClientes.slice(start, end); 103 $scope.currentPageClientes = $scope.filteredClientes.slice(start, end);
104 $scope.currentPage = page; 104 $scope.currentPage = page;
105 }; 105 };
106 106
107 $scope.select = function(cliente, esNuevo = false) { 107 $scope.select = function(cliente, esNuevo = false) {
108 cliente.esNuevo = esNuevo; 108 cliente.esNuevo = esNuevo;
109 $uibModalInstance.close(cliente); 109 $uibModalInstance.close(cliente);
110 }; 110 };
111 111
112 $scope.cancel = function() { 112 $scope.cancel = function() {
113 if($scope.ingreso) { 113 if($scope.ingreso) {
114 $scope.ingreso = false; 114 $scope.ingreso = false;
115 }else { 115 }else {
116 $uibModalInstance.dismiss('cancel'); 116 $uibModalInstance.dismiss('cancel');
117 } 117 }
118 }; 118 };
119 119
120 $scope.busquedaDown = function(key) { 120 $scope.busquedaDown = function(key) {
121 if (key === 40) { 121 if (key === 40) {
122 primera(key); 122 primera(key);
123 } 123 }
124 }; 124 };
125 125
126 $scope.itemCliente = function(key) { 126 $scope.itemCliente = function(key) {
127 if (key === 38) { 127 if (key === 38) {
128 anterior(key); 128 anterior(key);
129 } 129 }
130 130
131 if (key === 40) { 131 if (key === 40) {
132 siguiente(key); 132 siguiente(key);
133 } 133 }
134 134
135 if (key === 37) { 135 if (key === 37) {
136 retrocederPagina(); 136 retrocederPagina();
137 } 137 }
138 138
139 if (key === 39) { 139 if (key === 39) {
140 avanzarPagina(); 140 avanzarPagina();
141 } 141 }
142 }; 142 };
143 143
144 $scope.focus = function(val) { 144 $scope.focus = function(val) {
145 $scope.focused = val; 145 $scope.focused = val;
146 }; 146 };
147 147
148 $scope.next = function(key) { 148 $scope.next = function(key) {
149 if (key === 13) $scope.focused++; 149 if (key === 13) $scope.focused++;
150 }; 150 };
151 151
152 $scope.seleccionarProvincia = function(key) { 152 $scope.seleccionarProvincia = function(key) {
153 if(key === 13) { 153 if(key === 13) {
154 var parametrosModal = { 154 var parametrosModal = {
155 query: '/provincia', 155 query: '/provincia',
156 columnas: { 156 columnas: [
157 nombre: ['Código', 'Nombre'], 157 {
158 propiedad: ['ID', 'NOMBRE'] 158 propiedad: 'ID',
159 }, 159 nombre: 'Codigo',
160 filtro: {
161 nombre: 'rellenarDigitos',
162 parametro: 3}
163 },
164 {
165 propiedad: 'NOMBRE',
166 nombre: 'Nombre'
167 }
168 ],
160 titulo:'Búsqueda de provincias', 169 titulo:'Búsqueda de provincias',
161 size: 'md' 170 size: 'md'
162 } 171 }
163 focaModalService.modal(parametrosModal).then(function(provincia) { 172 focaModalService.modal(parametrosModal).then(function(provincia) {
164 $scope.cliente.provincia = provincia; 173 $scope.cliente.provincia = provincia;
165 $timeout(function() { 174 $timeout(function() {
166 $scope.focused = 5; 175 $scope.focused = 5;
167 }); 176 });
168 }, function() { 177 }, function() {
169 //TODO: función llamada cuando cancela el modal 178 //TODO: función llamada cuando cancela el modal
170 }); 179 });
171 } 180 }
172 }; 181 };
173 $scope.seleccionarLocalidad = function(key) { 182 $scope.seleccionarLocalidad = function(key) {
174 if($scope.cliente.provincia.ID === undefined) { 183 if($scope.cliente.provincia.ID === undefined) {
175 focaModalService.alert('Seleccione una provincia'); 184 focaModalService.alert('Seleccione una provincia');
176 return; 185 return;
177 } 186 }
178 if(key === 13) { 187 if(key === 13) {
179 var parametrosModal = { 188 var parametrosModal = {
180 query: '/localidad/' + $scope.cliente.provincia.ID, 189 query: '/localidad/' + $scope.cliente.provincia.ID,
181 columnas: { 190 columnas: [
182 nombre: ['Código', 'Nombre'], 191 {
183 propiedad: ['ID', 'NOMBRE'] 192 propiedad: 'ID',
184 }, 193 nombre: 'Código',
194 filtro: {
195 nombre: 'rellenarDigitos',
196 parametro: 3
197 }
198 },
199 {
200 propiedad: 'NOMBRE',
201 nombre: 'Nombre'
202 }
203 ],
185 titulo:'Búsqueda de localidades', 204 titulo:'Búsqueda de localidades',
186 size: 'md' 205 size: 'md'
187 } 206 }
188 focaModalService.modal(parametrosModal).then(function(localidad) { 207 focaModalService.modal(parametrosModal).then(function(localidad) {
189 $scope.cliente.localidad = localidad; 208 $scope.cliente.localidad = localidad;
190 $timeout(function() { 209 $timeout(function() {
191 $scope.focused = 6; 210 $scope.focused = 6;
192 }); 211 });
193 }, function() { 212 }, function() {
194 //TODO: función llamada cuando cancela el modal 213 //TODO: función llamada cuando cancela el modal
195 }); 214 });
196 } 215 }
197 }; 216 };
198 $scope.seleccionarIva = function(key) { 217 $scope.seleccionarIva = function(key) {
199 if(key === 13) { 218 if(key === 13) {
200 var parametrosModal = { 219 var parametrosModal = {
201 query: '/iva', 220 query: '/iva',
202 columnas: { 221 columnas: [
203 nombre: ['Código', 'Nombre'], 222 {
204 propiedad: ['ID', 'NOMBRE',] 223 propiedad: 'ID',
205 }, 224 nombre: 'Código',
225 filtro: {
226 nombre: 'rellenarDigitos',
227 parametro: 3
228 }
229 },
230 {
231 propiedad: 'NOMBRE',
232 nombre: 'Nombre'
233 }
234 ],
206 titulo:'Búsqueda de responsabilidad ante el IVA', 235 titulo:'Búsqueda de responsabilidad ante el IVA',
207 size: 'md' 236 size: 'md'
208 } 237 }
209 focaModalService.modal(parametrosModal).then( 238 focaModalService.modal(parametrosModal).then(
210 function(iva) { 239 function(iva) {
211 $scope.cliente.iva = iva; 240 $scope.cliente.iva = iva;
212 $timeout(function() { 241 $timeout(function() {
213 $scope.focused = 10; 242 $scope.focused = 10;
214 }); 243 });
215 }, function() { 244 }, function() {
216 // funcion ejecutada cuando se cancela el modal 245 // funcion ejecutada cuando se cancela el modal
217 }); 246 });
218 } 247 }
219 }; 248 };
220 $scope.seleccionarActividad = function(key) { 249 $scope.seleccionarActividad = function(key) {
221 if(key === 13) { 250 if(key === 13) {
222 var parametrosModal = { 251 var parametrosModal = {
223 query: '/actividad', 252 query: '/actividad',
224 columnas: { 253 columnas: [
225 nombre: ['Código', 'Nombre'], 254 {
226 propiedad: ['ID', 'NOM',] 255 propiedad: 'ID',
227 }, 256 nombre: 'Código',
257 filtro: {
258 nombre: 'rellenarDigitos',
259 parametro: 3
260 }
261 },
262 {
263 propiedad: 'NOM',
264 nombre: 'Nombre'
265 }
266 ],
228 titulo: 'Búsqueda de actividades', 267 titulo: 'Búsqueda de actividades',
229 size: 'md' 268 size: 'md'
230 } 269 }
231 focaModalService.modal(parametrosModal).then( 270 focaModalService.modal(parametrosModal).then(
232 function(actividad) { 271 function(actividad) {
233 $scope.cliente.actividad = actividad; 272 $scope.cliente.actividad = actividad;
234 $timeout(function() { 273 $timeout(function() {
235 $scope.focused = 8; 274 $scope.focused = 8;
236 }); 275 });
237 }, function() { 276 }, function() {
238 // funcion ejecutada cuando se cancela el modal 277 // funcion ejecutada cuando se cancela el modal
239 }); 278 });
240 } 279 }
241 }; 280 };
242 $scope.seleccionarZona = function(key) { 281 $scope.seleccionarZona = function(key) {
243 if(key === 13) { 282 if(key === 13) {
244 var parametrosModal = { 283 var parametrosModal = {
245 query: '/zona', 284 query: '/zona',
246 columnas: { 285 columnas: [
247 nombre: ['Código', 'Nombre'], 286 {
248 propiedad: ['ID', 'NOM',] 287 propiedad: 'ID',
249 }, 288 nombre: 'Código',
289 filtro: {
290 nombre: 'rellenarDigitos',
291 parametro: 3
292 }
293 },
294 {
295 propiedad: 'NOM',
296 nombre: 'Nombre'
297 }
298 ],
250 titulo: 'Búsqueda de zonas', 299 titulo: 'Búsqueda de zonas',
251 size: 'md' 300 size: 'md'
252 } 301 }
253 focaModalService.modal(parametrosModal).then( 302 focaModalService.modal(parametrosModal).then(
254 function(zona) { 303 function(zona) {
255 $scope.cliente.zona = zona; 304 $scope.cliente.zona = zona;
256 $timeout(function() { 305 $timeout(function() {
257 $scope.focused = 7; 306 $scope.focused = 7;
258 }); 307 });
259 }, function() { 308 }, function() {
260 // funcion ejecutada cuando se cancela el modal 309 // funcion ejecutada cuando se cancela el modal
261 }); 310 });
262 } 311 }
263 }; 312 };
264 $scope.seleccionarTipoFactura = function(key) { 313 $scope.seleccionarTipoFactura = function(key) {
265 if(key === 13) { 314 if(key === 13) {
266 var parametrosModal = { 315 var parametrosModal = {
267 query: '/tipo-factura', 316 query: '/tipo-factura',
268 columnas: { 317 columnas: [
269 nombre: ['Código', 'Nombre'], 318 {
270 propiedad: ['ID', 'NOMBRE',] 319 propiedad: 'ID',
271 }, 320 nombre: 'Código'
321 },
322 {
323 propiedad: 'NOMBRE',
324 nombre: 'Nombre'
325 }
326 ],
272 titulo: 'Búsqueda de tipos de factura', 327 titulo: 'Búsqueda de tipos de factura',
273 size: 'md' 328 size: 'md'
274 } 329 }
275 focaModalService.modal(parametrosModal).then( 330 focaModalService.modal(parametrosModal).then(
276 function(tipoFactura) { 331 function(tipoFactura) {
277 $scope.cliente.tipoFactura = tipoFactura; 332 $scope.cliente.tipoFactura = tipoFactura;
278 $timeout(function() { 333 $timeout(function() {
279 $scope.focused = 11; 334 $scope.focused = 11;
280 }); 335 });
281 }, function() { 336 }, function() {
282 // funcion ejecutada cuando se cancela el modal 337 // funcion ejecutada cuando se cancela el modal
283 }); 338 });
284 } 339 }
285 }; 340 };
286 $scope.seleccionarTipoComprobante = function(key) { 341 $scope.seleccionarTipoComprobante = function(key) {
287 if(key === 13) { 342 if(key === 13) {
288 var parametrosModal = { 343 var parametrosModal = {
289 query: '/tipo-comprobante', 344 query: '/tipo-comprobante',
290 columnas: { 345 columnas: [
291 nombre: ['Código', 'Nombre'], 346 {
292 propiedad: ['ID', 'NOMBRE',] 347 propiedad: 'ID',
293 }, 348 nombre: 'Código'
349 },
350 {
351 propiedad: 'NOMBRE',
352 nombre: 'Nombre'
353 }
354 ],
294 titulo: 'Búsqueda de tipos de comprobante', 355 titulo: 'Búsqueda de tipos de comprobante',
295 size: 'md' 356 size: 'md'
296 } 357 }
297 focaModalService.modal(parametrosModal).then( 358 focaModalService.modal(parametrosModal).then(
298 function(tipoComprobante) { 359 function(tipoComprobante) {
299 $scope.cliente.tipoComprobante = tipoComprobante; 360 $scope.cliente.tipoComprobante = tipoComprobante;
300 $timeout(function() { 361 $timeout(function() {
301 $scope.focused = 13; 362 $scope.focused = 13;
302 }); 363 });
303 }, function() { 364 }, function() {
304 // funcion ejecutada cuando se cancela el modal 365 // funcion ejecutada cuando se cancela el modal
305 }); 366 });
306 } 367 }
307 }; 368 };
308 $scope.seleccionarFormaPago = function(key) { 369 $scope.seleccionarFormaPago = function(key) {
309 if(key === 13) { 370 if(key === 13) {
310 var parametrosModal = { 371 var parametrosModal = {
311 query: '/forma-pago', 372 query: '/forma-pago',
312 columnas: { 373 columnas: [
313 nombre: ['Código', 'Nombre'], 374 {
314 propiedad: ['ID', 'NOMBRE',] 375 propiedad: 'ID',
315 }, 376 nombre: 'Código',
377 filtro: {
378 nombre: 'rellenarDigitos',
379 parametro: 3
380 }
381 },
382 {
383 propiedad: 'NOMBRE',
384 nombre: 'Nombre'
385 }
386 ],
316 titulo: 'Búsqueda de formas de pago', 387 titulo: 'Búsqueda de formas de pago',
317 size: 'md' 388 size: 'md'
318 } 389 }
319 focaModalService.modal(parametrosModal).then( 390 focaModalService.modal(parametrosModal).then(
320 function(formaPago) { 391 function(formaPago) {
321 $scope.cliente.formaPago = formaPago; 392 $scope.cliente.formaPago = formaPago;
322 }, function() { 393 }, function() {
323 // funcion ejecutada cuando se cancela el modal 394 // funcion ejecutada cuando se cancela el modal
324 }); 395 });
325 } 396 }
326 }; 397 };
327 $scope.seleccionarCobrador = function(key) { 398 $scope.seleccionarCobrador = function(key) {
328 if(key === 13) { 399 if(key === 13) {
329 var parametrosModal = { 400 var parametrosModal = {
330 query: '/cobrador', 401 query: '/cobrador',
331 columnas: { 402 columnas: [
332 nombre: ['Código', 'Nombre'], 403 {
333 propiedad: ['CodVen', 'NomVen',] 404 propiedad: 'CodVen',
334 }, 405 nombre: 'Código'
406 },
407 {
408 propiedad: 'NomVen',
409 nombre: 'Nombre'
410 }
411 ],
335 titulo: 'Búsqueda de cobradores', 412 titulo: 'Búsqueda de cobradores',
336 size: 'md' 413 size: 'md'
337 } 414 }
338 focaModalService.modal(parametrosModal).then( 415 focaModalService.modal(parametrosModal).then(
339 function(cobrador) { 416 function(cobrador) {
340 $scope.cliente.cobrador = cobrador; 417 $scope.cliente.cobrador = cobrador;
341 }, function() { 418 }, function() {
342 // funcion ejecutada cuando se cancela el modal 419 // funcion ejecutada cuando se cancela el modal
343 }); 420 });
344 } 421 }
345 }; 422 };
346 423
347 $scope.guardar = function() { 424 $scope.guardar = function() {
348 425
349 $scope.cliente.PCX = $scope.cliente.provincia.ID; 426 $scope.cliente.PCX = $scope.cliente.provincia.ID;
350 $scope.cliente.LOX = $scope.cliente.localidad.ID; 427 $scope.cliente.LOX = $scope.cliente.localidad.ID;
351 $scope.cliente.IVA = $scope.cliente.iva.ID; 428 $scope.cliente.IVA = $scope.cliente.iva.ID;
352 $scope.cliente.ACT = $scope.cliente.actividad.ID; 429 $scope.cliente.ACT = $scope.cliente.actividad.ID;
353 $scope.cliente.ZON = $scope.cliente.zona.ID; 430 $scope.cliente.ZON = $scope.cliente.zona.ID;
354 $scope.cliente.TIP = $scope.cliente.tipoFactura.ID; 431 $scope.cliente.TIP = $scope.cliente.tipoFactura.ID;
355 $scope.cliente.TCO = $scope.cliente.tipoComprobante.ID; 432 $scope.cliente.TCO = $scope.cliente.tipoComprobante.ID;
356 $scope.cliente.FPA = $scope.cliente.formaPago.ID; 433 $scope.cliente.FPA = $scope.cliente.formaPago.ID;
357 $scope.cliente.VEN = $scope.vendedor.CodVen; 434 $scope.cliente.VEN = $scope.vendedor.CodVen;
358 $scope.cliente.idCobrador = $scope.cliente.cobrador.CodVen; 435 $scope.cliente.idCobrador = $scope.cliente.cobrador.CodVen;
359 436
360 delete $scope.cliente.provincia; 437 delete $scope.cliente.provincia;
361 delete $scope.cliente.localidad; 438 delete $scope.cliente.localidad;
362 delete $scope.cliente.iva; 439 delete $scope.cliente.iva;
363 delete $scope.cliente.actividad; 440 delete $scope.cliente.actividad;
364 delete $scope.cliente.zona; 441 delete $scope.cliente.zona;
365 delete $scope.cliente.tipoFactura; 442 delete $scope.cliente.tipoFactura;
366 delete $scope.cliente.tipoComprobante; 443 delete $scope.cliente.tipoComprobante;
367 delete $scope.cliente.formaPago; 444 delete $scope.cliente.formaPago;
368 delete $scope.cliente.cobrador; 445 delete $scope.cliente.cobrador;
369 446
370 focaBusquedaClienteService 447 focaBusquedaClienteService
371 .guardarCliente($scope.cliente) 448 .guardarCliente($scope.cliente)
372 .then(function(res) { 449 .then(function(res) {
373 var cliente = { 450 var cliente = {
374 cod: res.data.COD, 451 cod: res.data.COD,
375 cuit: res.data.CUIT, 452 cuit: res.data.CUIT,
376 esNuevo: res.data.esNuevo, 453 esNuevo: res.data.esNuevo,
377 nom: res.data.NOM 454 nom: res.data.NOM
378 }; 455 };
379 $scope.select(cliente, true); 456 $scope.select(cliente, true);
380 }); 457 });
381 }; 458 };
382 459
383 function calcularPages(paginaActual) { 460 function calcularPages(paginaActual) {
384 var paginas = []; 461 var paginas = [];
385 paginas.push(paginaActual); 462 paginas.push(paginaActual);
386 463
387 if (paginaActual - 1 > 1) { 464 if (paginaActual - 1 > 1) {
388 465
389 paginas.unshift(paginaActual - 1); 466 paginas.unshift(paginaActual - 1);
390 if (paginaActual - 2 > 1) { 467 if (paginaActual - 2 > 1) {
391 paginas.unshift(paginaActual - 2); 468 paginas.unshift(paginaActual - 2);
392 } 469 }
393 } 470 }
394 471
395 if (paginaActual + 1 < $scope.lastPage) { 472 if (paginaActual + 1 < $scope.lastPage) {
396 paginas.push(paginaActual + 1); 473 paginas.push(paginaActual + 1);
397 if (paginaActual + 2 < $scope.lastPage) { 474 if (paginaActual + 2 < $scope.lastPage) {
398 paginas.push(paginaActual + 2); 475 paginas.push(paginaActual + 2);
399 } 476 }
400 } 477 }
401 478
402 if (paginaActual !== 1) { 479 if (paginaActual !== 1) {
403 paginas.unshift(1); 480 paginas.unshift(1);
404 } 481 }
405 482
406 if (paginaActual !== $scope.lastPage) { 483 if (paginaActual !== $scope.lastPage) {
407 paginas.push($scope.lastPage); 484 paginas.push($scope.lastPage);
408 } 485 }
409 486
410 return paginas; 487 return paginas;
411 } 488 }
412 489
413 function primera() { 490 function primera() {
414 $scope.selectedClientes = 0; 491 $scope.selectedClientes = 0;
415 } 492 }
416 493
417 function anterior() { 494 function anterior() {
418 if ($scope.selectedClientes === 0 && $scope.currentPage > 1) { 495 if ($scope.selectedClientes === 0 && $scope.currentPage > 1) {
419 retrocederPagina(); 496 retrocederPagina();
420 } else { 497 } else {
421 $scope.selectedClientes--; 498 $scope.selectedClientes--;
422 } 499 }
423 } 500 }
424 501
425 function siguiente() { 502 function siguiente() {
426 if ($scope.selectedClientes < $scope.currentPageClientes.length - 1 ) { 503 if ($scope.selectedClientes < $scope.currentPageClientes.length - 1 ) {
427 $scope.selectedClientes++; 504 $scope.selectedClientes++;
428 } else { 505 } else {
429 avanzarPagina(); 506 avanzarPagina();
430 } 507 }
431 } 508 }
432 509
433 function retrocederPagina() { 510 function retrocederPagina() {
434 if ($scope.currentPage > 1) { 511 if ($scope.currentPage > 1) {
435 $scope.selectPage($scope.currentPage - 1); 512 $scope.selectPage($scope.currentPage - 1);
436 $scope.selectedClientes = $scope.numPerPage - 1; 513 $scope.selectedClientes = $scope.numPerPage - 1;
437 } 514 }
438 } 515 }
439 516
440 function avanzarPagina() { 517 function avanzarPagina() {
441 if ($scope.currentPage < $scope.lastPage) { 518 if ($scope.currentPage < $scope.lastPage) {
442 $scope.selectPage($scope.currentPage + 1); 519 $scope.selectPage($scope.currentPage + 1);
443 $scope.selectedClientes = 0; 520 $scope.selectedClientes = 0;
444 } 521 }
445 } 522 }
446 } 523 }
447 ]); 524 ]);
448 525