Commit 80a34bfc41f5d4ad7ebde77bc62bb2a610e06398

Authored by Eric Fernandez
1 parent 2a6ce45a7f
Exists in master and in 1 other branch develop

ok jshint

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