diff --git a/src/js/controller.js b/src/js/controller.js index 0366470..3a70e0b 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -1,158 +1,158 @@ angular.module('focaModalPetroleras') - .controller('modalPetrolerasCtrl', [ - '$filter', - '$scope', - '$uibModalInstance', - 'focaPetrolerasService', - function ($filter, $scope, $uibModalInstance, focaPetrolerasService) { - var json = {razonCuitCod: ''}; - - focaPetrolerasService.getPetroleras(json).then( - function (res) { - for (var i = res.data.length - 1; i >= 0; i--) { - if (res.data[i].COD === 0) { - delete res.data[i]; - } - } - - $scope.petroleras = res.data; - $scope.search(); - }); - - // pagination - $scope.numPerPage = 10; - $scope.currentPage = 1; - $scope.filteredPetroleras = []; - $scope.currentPagePetroleras = []; - $scope.selectedPetroleras = -1; - - $scope.search = function () { - $scope.filteredPetroleras = $filter('filter')( - $scope.petroleras, {$: $scope.filters} - ); - - $scope.lastPage = Math.ceil( - $scope.filteredPetroleras.length / $scope.numPerPage - ); - - $scope.resetPage(); - }; - - $scope.resetPage = function () { - $scope.currentPage = 1; - $scope.selectPage(1); - }; - - $scope.selectPage = function (page) { - console.info(page); - var start = (page - 1) * $scope.numPerPage; - var end = start + $scope.numPerPage; - $scope.paginas = []; - $scope.paginas = calcularPages(page); - $scope.currentPagePetroleras = $scope.filteredPetroleras.slice(start, end); + .controller('modalPetrolerasCtrl', [ + '$filter', + '$scope', + '$uibModalInstance', + 'focaPetrolerasService', + function ($filter, $scope, $uibModalInstance, focaPetrolerasService) { + var json = {razonCuitCod: ''}; + + focaPetrolerasService.getPetroleras(json).then( + function (res) { + for (var i = res.data.length - 1; i >= 0; i--) { + if (res.data[i].COD === 0) { + delete res.data[i]; + } + } + + $scope.petroleras = res.data; + $scope.search(); + }); + + // pagination + $scope.numPerPage = 10; + $scope.currentPage = 1; + $scope.filteredPetroleras = []; + $scope.currentPagePetroleras = []; + $scope.selectedPetroleras = -1; + + $scope.search = function () { + $scope.filteredPetroleras = $filter('filter')( + $scope.petroleras, {$: $scope.filters} + ); + + $scope.lastPage = Math.ceil( + $scope.filteredPetroleras.length / $scope.numPerPage + ); + + $scope.resetPage(); + }; + + $scope.resetPage = function () { + $scope.currentPage = 1; + $scope.selectPage(1); + }; + + $scope.selectPage = function (page) { + console.info(page); + var start = (page - 1) * $scope.numPerPage; + var end = start + $scope.numPerPage; + $scope.paginas = []; + $scope.paginas = calcularPages(page); + $scope.currentPagePetroleras = $scope.filteredPetroleras.slice(start, end); $scope.currentPage = page; - }; - - $scope.select = function(petrolera) { - $uibModalInstance.close(petrolera); - }; - - $scope.cancel = function() { - $uibModalInstance.dismiss('cancel'); - }; - - $scope.busquedaDown = function(key) { - if (key === 40) { - primera(key); - } - }; - - $scope.busquedaPress = function(key) { - if (key === 13) { - primera(key); - } - }; - - $scope.itemPetrolera = function(key) { - if (key === 38) { - anterior(key); - } - - if (key === 40) { - siguiente(key); - } - - if (key === 37) { - retrocederPagina(); - } - - if (key === 39) { - avanzarPagina(); - } - }; - - function calcularPages(paginaActual) { - var paginas = []; - paginas.push(paginaActual); - - if (paginaActual - 1 > 1) { - - paginas.unshift(paginaActual - 1); - if (paginaActual - 2 > 1) { - paginas.unshift(paginaActual - 2); - } - } - - if (paginaActual + 1 < $scope.lastPage) { - paginas.push(paginaActual + 1); - if (paginaActual + 2 < $scope.lastPage) { - paginas.push(paginaActual + 2); - } - } - - if (paginaActual !== 1) { - paginas.unshift(1); - } - - if (paginaActual !== $scope.lastPage) { - paginas.push($scope.lastPage); - } - - return paginas; - } - - function primera() { - $scope.selectedPetroleras = 0; - } - - function anterior() { - if ($scope.selectedPetroleras === 0 && $scope.currentPage > 1) { - retrocederPagina(); - } else { - $scope.selectedPetroleras--; - } - } - - function siguiente() { - if ($scope.selectedPetroleras < $scope.currentPagePetroleras.length - 1 ) { - $scope.selectedPetroleras++; - } else { - avanzarPagina(); - } - } - - function retrocederPagina() { - if ($scope.currentPage > 1) { - $scope.selectPage($scope.currentPage - 1); - $scope.selectedPetroleras = $scope.numPerPage - 1; - } - } - - function avanzarPagina() { - if ($scope.currentPage < $scope.lastPage) { - $scope.selectPage($scope.currentPage + 1); - $scope.selectedPetroleras = 0; - } - } - }] - ); + }; + + $scope.select = function(petrolera) { + $uibModalInstance.close(petrolera); + }; + + $scope.cancel = function() { + $uibModalInstance.dismiss('cancel'); + }; + + $scope.busquedaDown = function(key) { + if (key === 40) { + primera(key); + } + }; + + $scope.busquedaPress = function(key) { + if (key === 13) { + primera(key); + } + }; + + $scope.itemPetrolera = function(key) { + if (key === 38) { + anterior(key); + } + + if (key === 40) { + siguiente(key); + } + + if (key === 37) { + retrocederPagina(); + } + + if (key === 39) { + avanzarPagina(); + } + }; + + function calcularPages(paginaActual) { + var paginas = []; + paginas.push(paginaActual); + + if (paginaActual - 1 > 1) { + + paginas.unshift(paginaActual - 1); + if (paginaActual - 2 > 1) { + paginas.unshift(paginaActual - 2); + } + } + + if (paginaActual + 1 < $scope.lastPage) { + paginas.push(paginaActual + 1); + if (paginaActual + 2 < $scope.lastPage) { + paginas.push(paginaActual + 2); + } + } + + if (paginaActual !== 1) { + paginas.unshift(1); + } + + if (paginaActual !== $scope.lastPage) { + paginas.push($scope.lastPage); + } + + return paginas; + } + + function primera() { + $scope.selectedPetroleras = 0; + } + + function anterior() { + if ($scope.selectedPetroleras === 0 && $scope.currentPage > 1) { + retrocederPagina(); + } else { + $scope.selectedPetroleras--; + } + } + + function siguiente() { + if ($scope.selectedPetroleras < $scope.currentPagePetroleras.length - 1 ) { + $scope.selectedPetroleras++; + } else { + avanzarPagina(); + } + } + + function retrocederPagina() { + if ($scope.currentPage > 1) { + $scope.selectPage($scope.currentPage - 1); + $scope.selectedPetroleras = $scope.numPerPage - 1; + } + } + + function avanzarPagina() { + if ($scope.currentPage < $scope.lastPage) { + $scope.selectPage($scope.currentPage + 1); + $scope.selectedPetroleras = 0; + } + } + }] + );