Commit d93be438b4af409159b787130ae20825071cfa9e

Authored by Nicolás Guarnieri
1 parent 92b7f3bfd2
Exists in master

tab a espacios

Showing 1 changed file with 156 additions and 156 deletions   Show diff stats
src/js/controller.js
1 angular.module('focaModalPetroleras') 1 angular.module('focaModalPetroleras')
2 .controller('modalPetrolerasCtrl', [ 2 .controller('modalPetrolerasCtrl', [
3 '$filter', 3 '$filter',
4 '$scope', 4 '$scope',
5 '$uibModalInstance', 5 '$uibModalInstance',
6 'focaPetrolerasService', 6 'focaPetrolerasService',
7 function ($filter, $scope, $uibModalInstance, focaPetrolerasService) { 7 function ($filter, $scope, $uibModalInstance, focaPetrolerasService) {
8 var json = {razonCuitCod: ''}; 8 var json = {razonCuitCod: ''};
9 9
10 focaPetrolerasService.getPetroleras(json).then( 10 focaPetrolerasService.getPetroleras(json).then(
11 function (res) { 11 function (res) {
12 for (var i = res.data.length - 1; i >= 0; i--) { 12 for (var i = res.data.length - 1; i >= 0; i--) {
13 if (res.data[i].COD === 0) { 13 if (res.data[i].COD === 0) {
14 delete res.data[i]; 14 delete res.data[i];
15 } 15 }
16 } 16 }
17 17
18 $scope.petroleras = res.data; 18 $scope.petroleras = res.data;
19 $scope.search(); 19 $scope.search();
20 }); 20 });
21 21
22 // pagination 22 // pagination
23 $scope.numPerPage = 10; 23 $scope.numPerPage = 10;
24 $scope.currentPage = 1; 24 $scope.currentPage = 1;
25 $scope.filteredPetroleras = []; 25 $scope.filteredPetroleras = [];
26 $scope.currentPagePetroleras = []; 26 $scope.currentPagePetroleras = [];
27 $scope.selectedPetroleras = -1; 27 $scope.selectedPetroleras = -1;
28 28
29 $scope.search = function () { 29 $scope.search = function () {
30 $scope.filteredPetroleras = $filter('filter')( 30 $scope.filteredPetroleras = $filter('filter')(
31 $scope.petroleras, {$: $scope.filters} 31 $scope.petroleras, {$: $scope.filters}
32 ); 32 );
33 33
34 $scope.lastPage = Math.ceil( 34 $scope.lastPage = Math.ceil(
35 $scope.filteredPetroleras.length / $scope.numPerPage 35 $scope.filteredPetroleras.length / $scope.numPerPage
36 ); 36 );
37 37
38 $scope.resetPage(); 38 $scope.resetPage();
39 }; 39 };
40 40
41 $scope.resetPage = function () { 41 $scope.resetPage = function () {
42 $scope.currentPage = 1; 42 $scope.currentPage = 1;
43 $scope.selectPage(1); 43 $scope.selectPage(1);
44 }; 44 };
45 45
46 $scope.selectPage = function (page) { 46 $scope.selectPage = function (page) {
47 console.info(page); 47 console.info(page);
48 var start = (page - 1) * $scope.numPerPage; 48 var start = (page - 1) * $scope.numPerPage;
49 var end = start + $scope.numPerPage; 49 var end = start + $scope.numPerPage;
50 $scope.paginas = []; 50 $scope.paginas = [];
51 $scope.paginas = calcularPages(page); 51 $scope.paginas = calcularPages(page);
52 $scope.currentPagePetroleras = $scope.filteredPetroleras.slice(start, end); 52 $scope.currentPagePetroleras = $scope.filteredPetroleras.slice(start, end);
53 $scope.currentPage = page; 53 $scope.currentPage = page;
54 }; 54 };
55 55
56 $scope.select = function(petrolera) { 56 $scope.select = function(petrolera) {
57 $uibModalInstance.close(petrolera); 57 $uibModalInstance.close(petrolera);
58 }; 58 };
59 59
60 $scope.cancel = function() { 60 $scope.cancel = function() {
61 $uibModalInstance.dismiss('cancel'); 61 $uibModalInstance.dismiss('cancel');
62 }; 62 };
63 63
64 $scope.busquedaDown = function(key) { 64 $scope.busquedaDown = function(key) {
65 if (key === 40) { 65 if (key === 40) {
66 primera(key); 66 primera(key);
67 } 67 }
68 }; 68 };
69 69
70 $scope.busquedaPress = function(key) { 70 $scope.busquedaPress = function(key) {
71 if (key === 13) { 71 if (key === 13) {
72 primera(key); 72 primera(key);
73 } 73 }
74 }; 74 };
75 75
76 $scope.itemPetrolera = function(key) { 76 $scope.itemPetrolera = function(key) {
77 if (key === 38) { 77 if (key === 38) {
78 anterior(key); 78 anterior(key);
79 } 79 }
80 80
81 if (key === 40) { 81 if (key === 40) {
82 siguiente(key); 82 siguiente(key);
83 } 83 }
84 84
85 if (key === 37) { 85 if (key === 37) {
86 retrocederPagina(); 86 retrocederPagina();
87 } 87 }
88 88
89 if (key === 39) { 89 if (key === 39) {
90 avanzarPagina(); 90 avanzarPagina();
91 } 91 }
92 }; 92 };
93 93
94 function calcularPages(paginaActual) { 94 function calcularPages(paginaActual) {
95 var paginas = []; 95 var paginas = [];
96 paginas.push(paginaActual); 96 paginas.push(paginaActual);
97 97
98 if (paginaActual - 1 > 1) { 98 if (paginaActual - 1 > 1) {
99 99
100 paginas.unshift(paginaActual - 1); 100 paginas.unshift(paginaActual - 1);
101 if (paginaActual - 2 > 1) { 101 if (paginaActual - 2 > 1) {
102 paginas.unshift(paginaActual - 2); 102 paginas.unshift(paginaActual - 2);
103 } 103 }
104 } 104 }
105 105
106 if (paginaActual + 1 < $scope.lastPage) { 106 if (paginaActual + 1 < $scope.lastPage) {
107 paginas.push(paginaActual + 1); 107 paginas.push(paginaActual + 1);
108 if (paginaActual + 2 < $scope.lastPage) { 108 if (paginaActual + 2 < $scope.lastPage) {
109 paginas.push(paginaActual + 2); 109 paginas.push(paginaActual + 2);
110 } 110 }
111 } 111 }
112 112
113 if (paginaActual !== 1) { 113 if (paginaActual !== 1) {
114 paginas.unshift(1); 114 paginas.unshift(1);
115 } 115 }
116 116
117 if (paginaActual !== $scope.lastPage) { 117 if (paginaActual !== $scope.lastPage) {
118 paginas.push($scope.lastPage); 118 paginas.push($scope.lastPage);
119 } 119 }
120 120
121 return paginas; 121 return paginas;
122 } 122 }
123 123
124 function primera() { 124 function primera() {
125 $scope.selectedPetroleras = 0; 125 $scope.selectedPetroleras = 0;
126 } 126 }
127 127
128 function anterior() { 128 function anterior() {
129 if ($scope.selectedPetroleras === 0 && $scope.currentPage > 1) { 129 if ($scope.selectedPetroleras === 0 && $scope.currentPage > 1) {
130 retrocederPagina(); 130 retrocederPagina();
131 } else { 131 } else {
132 $scope.selectedPetroleras--; 132 $scope.selectedPetroleras--;
133 } 133 }
134 } 134 }
135 135
136 function siguiente() { 136 function siguiente() {
137 if ($scope.selectedPetroleras < $scope.currentPagePetroleras.length - 1 ) { 137 if ($scope.selectedPetroleras < $scope.currentPagePetroleras.length - 1 ) {
138 $scope.selectedPetroleras++; 138 $scope.selectedPetroleras++;
139 } else { 139 } else {
140 avanzarPagina(); 140 avanzarPagina();
141 } 141 }
142 } 142 }
143 143
144 function retrocederPagina() { 144 function retrocederPagina() {
145 if ($scope.currentPage > 1) { 145 if ($scope.currentPage > 1) {
146 $scope.selectPage($scope.currentPage - 1); 146 $scope.selectPage($scope.currentPage - 1);
147 $scope.selectedPetroleras = $scope.numPerPage - 1; 147 $scope.selectedPetroleras = $scope.numPerPage - 1;
148 } 148 }
149 } 149 }
150 150
151 function avanzarPagina() { 151 function avanzarPagina() {
152 if ($scope.currentPage < $scope.lastPage) { 152 if ($scope.currentPage < $scope.lastPage) {
153 $scope.selectPage($scope.currentPage + 1); 153 $scope.selectPage($scope.currentPage + 1);
154 $scope.selectedPetroleras = 0; 154 $scope.selectedPetroleras = 0;
155 } 155 }
156 } 156 }
157 }] 157 }]
158 ); 158 );
159 159