Commit de3b36785a21ef75b9ee7d60a16479088560b70f

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

Merge branch 'master' into 'master'

agrego modal punto descarga

See merge request !3
1 angular.module('focaModalDomicilio', ['ui.bootstrap', 'focaDirectivas']); 1 angular.module('focaModalDomicilio', [
2 'ui.bootstrap',
3 'focaDirectivas',
4 'focaModal'
5 ]);
2 6
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 'esNuevo',
9 'focaModalDomicilioService', 10 'focaModalDomicilioService',
10 function($timeout, $filter, $scope, $uibModalInstance, idCliente, 11 '$uibModal',
11 focaModalDomicilioService) { 12 function($filter, $scope, $uibModalInstance, idCliente, esNuevo,
13 focaModalDomicilioService, $uibModal) {
12 14
13 $scope.buscar = function() { 15 $scope.buscar = function() {
14 focaModalDomicilioService 16 focaModalDomicilioService
15 .getDomiciliosEntregaByIdCliente($scope.idCliente) 17 .getDomiciliosEntregaByIdCliente($scope.idCliente)
16 .then(function(res) { 18 .then(function(res) {
17 $scope.domicilios = res.data; 19 $scope.domicilios = res.data;
18 $scope.search(); 20 $scope.search();
19 $scope.primerBusqueda = true; 21 $scope.primerBusqueda = true;
20 } 22 }
21 ); 23 );
22 }; 24 };
23 $scope.filters = ''; 25 $scope.filters = '';
24 $scope.idCliente = idCliente; 26 $scope.idCliente = idCliente;
25 $scope.buscar(); 27 $scope.buscar();
26 $scope.ingreso = false; 28 $scope.ingreso = esNuevo;
27 $scope.primerBusqueda = false; 29 $scope.primerBusqueda = false;
28 $scope.contactos = [{}]; 30 $scope.contactos = [{}];
29 // pagination 31 // pagination
30 $scope.numPerPage = 5; 32 $scope.numPerPage = 5;
31 $scope.currentPage = 1; 33 $scope.currentPage = 1;
32 $scope.filteredDomicilios = []; 34 $scope.filteredDomicilios = [];
33 $scope.currentPageDomicilios = []; 35 $scope.currentPageDomicilios = [];
34 $scope.selectedDomicilio = -1; 36 $scope.selectedDomicilio = -1;
35 37
36 //METODOS 38 //METODOS
37 $scope.search = function(pressed) { 39 $scope.search = function(pressed) {
38 $scope.filteredDomicilios = $filter('filter')( 40 $scope.filteredDomicilios = $filter('filter')(
39 $scope.domicilios, 41 $scope.domicilios,
40 {$: $scope.filters} 42 {$: $scope.filters}
41 ); 43 );
42 44
43 if(pressed) { 45 if(pressed) {
44 if($scope.filteredDomicilios.length === 0) { 46 if($scope.filteredDomicilios.length === 0) {
45 $timeout(function() { 47 $timeout(function() {
46 angular.element('#search')[0].focus(); 48 angular.element('#search')[0].focus();
47 $scope.filters = ''; 49 $scope.filters = '';
48 }); 50 });
49 }else { 51 }else {
50 primera(); 52 primera();
51 } 53 }
52 } 54 }
53 55
54 $scope.lastPage = Math.ceil( 56 $scope.lastPage = Math.ceil(
55 $scope.filteredDomicilios.length / $scope.numPerPage 57 $scope.filteredDomicilios.length / $scope.numPerPage
56 ); 58 );
57 59
58 $scope.resetPage(); 60 $scope.resetPage();
59 }; 61 };
60 62
61 $scope.resetPage = function() { 63 $scope.resetPage = function() {
62 $scope.currentPage = 1; 64 $scope.currentPage = 1;
63 $scope.selectPage(1); 65 $scope.selectPage(1);
64 }; 66 };
65 67
66 $scope.selectPage = function(page) { 68 $scope.selectPage = function(page) {
67 var start = (page - 1) * $scope.numPerPage; 69 var start = (page - 1) * $scope.numPerPage;
68 var end = start + $scope.numPerPage; 70 var end = start + $scope.numPerPage;
69 $scope.paginas = []; 71 $scope.paginas = [];
70 $scope.paginas = calcularPages(page); 72 $scope.paginas = calcularPages(page);
71 $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end); 73 $scope.currentPageDomicilios = $scope.filteredDomicilios.slice(start, end);
72 $scope.currentPage = page; 74 $scope.currentPage = page;
73 }; 75 };
74 76
75 $scope.select = function(domicilio) { 77 $scope.select = function(domicilio) {
76 $uibModalInstance.close(domicilio); 78 $uibModalInstance.close(domicilio);
77 }; 79 };
78 80
79 $scope.cancel = function() { 81 $scope.cancel = function() {
80 $uibModalInstance.dismiss('cancel'); 82 $uibModalInstance.dismiss('cancel');
81 }; 83 };
82 84
83 $scope.busquedaDown = function(key) { 85 $scope.busquedaDown = function(key) {
84 if (key === 40) { 86 if (key === 40) {
85 primera(key); 87 primera(key);
86 } 88 }
87 }; 89 };
88 90
89 $scope.busquedaPress = function(key) { 91 $scope.busquedaPress = function(key) {
90 if (key === 13) { 92 if (key === 13) {
91 $scope.search(true); 93 $scope.search(true);
92 } 94 }
93 }; 95 };
94 96
95 $scope.itemDomicilio = function(key) { 97 $scope.itemDomicilio = function(key) {
96 if (key === 38) { 98 if (key === 38) {
97 anterior(key); 99 anterior(key);
98 } 100 }
99 101
100 if (key === 40) { 102 if (key === 40) {
101 siguiente(key); 103 siguiente(key);
102 } 104 }
103 105
104 if (key === 37) { 106 if (key === 37) {
105 retrocederPagina(); 107 retrocederPagina();
106 } 108 }
107 109
108 if (key === 39) { 110 if (key === 39) {
109 avanzarPagina(); 111 avanzarPagina();
110 } 112 }
111 }; 113 };
112 114
113 $scope.agregarDomicilio = function() { 115 $scope.agregarDomicilio = function() {
114 $scope.domicilio.valores = []; 116 $scope.domicilio.valores = [];
115 $scope.domicilio.idCliente = $scope.idCliente; 117 $scope.domicilio.idCliente = $scope.idCliente;
116 if($scope.domicilio.calle) { 118 if($scope.domicilio.calle) {
117 $scope.domicilio.valores.push({ 119 $scope.domicilio.valores.push({
118 ID_ADAC_1: 1, 120 ID_ADAC_1: 1,
119 dato: $scope.domicilio.calle 121 dato: $scope.domicilio.calle
120 }); 122 });
121 } 123 }
122 if($scope.domicilio.numeroCalle) { 124 if($scope.domicilio.numeroCalle) {
123 $scope.domicilio.valores.push({ 125 $scope.domicilio.valores.push({
124 ID_ADAC_1: 2, 126 ID_ADAC_1: 2,
125 dato: $scope.domicilio.numeroCalle 127 dato: $scope.domicilio.numeroCalle
126 }); 128 });
127 } 129 }
128 if($scope.domicilio.localidad) { 130 if($scope.domicilio.localidad) {
129 $scope.domicilio.valores.push({ 131 $scope.domicilio.valores.push({
130 ID_ADAC_1: 3, 132 ID_ADAC_1: 3,
131 dato: $scope.domicilio.localidad 133 dato: $scope.domicilio.localidad
132 }); 134 });
133 } 135 }
134 if($scope.domicilio.provincia) { 136 if($scope.domicilio.provincia) {
135 $scope.domicilio.valores.push({ 137 $scope.domicilio.valores.push({
136 ID_ADAC_1: 4, 138 ID_ADAC_1: 4,
137 dato: $scope.domicilio.provincia 139 dato: $scope.domicilio.provincia
138 }); 140 });
139 } 141 }
140 //domicilios de entrega corresponden al 1 142 //domicilios de entrega corresponden al 1
141 focaModalDomicilioService 143 focaModalDomicilioService
142 .obtenerUltimoPorNivelPadre(1) 144 .obtenerUltimoPorNivelPadre(1)
143 .then(function(res) { 145 .then(function(res) {
144 $scope.domicilio.nivel1 = 1;//domicilio de entrega corresponde 1 146 $scope.domicilio.nivel1 = 1;//domicilio de entrega corresponde 1
145 $scope.domicilio.nivel2 = res.data[0].ultimo + 1; 147 $scope.domicilio.nivel2 = res.data[0].ultimo + 1;
146 focaModalDomicilioService 148 focaModalDomicilioService
147 .guardarDomicilio($scope.domicilio) 149 .guardarDomicilio($scope.domicilio)
148 .then(function() { 150 .then(function() {
149 $scope.buscar(); 151 $scope.buscar();
150 $scope.ingreso = false; 152 $scope.ingreso = false;
151 $scope.domicilio = {}; 153 $scope.domicilio = {};
152 }); 154 });
153 }); 155 });
154 }; 156 };
155 157
158 $scope.verPuntosDescarga = function(key) {
159 var modalInstance = $uibModal.open(
160 {
161 ariaLabelledBy: 'Busqueda de Puntos de descarga',
162 templateUrl: 'modal-punto-descarga.html',
163 controller: 'focaModalPuntoDescargaController',
164 size: 'md',
165 resolve: {
166 filters: {
167 idDomicilio: $scope.domicilios[key].id,
168 idCliente: idCliente
169 }
170 }
171 }
172 );
173 modalInstance.result.then(function(puntoDescarga) {
174 console.log(puntoDescarga);
175 }, function() {
176 //TODO: función llamada cuando cancela el modal
177 });
178 };
179
156 function calcularPages(paginaActual) { 180 function calcularPages(paginaActual) {
157 var paginas = []; 181 var paginas = [];
158 paginas.push(paginaActual); 182 paginas.push(paginaActual);
159 183
160 if (paginaActual - 1 > 1) { 184 if (paginaActual - 1 > 1) {
161 185
162 paginas.unshift(paginaActual - 1); 186 paginas.unshift(paginaActual - 1);
163 if (paginaActual - 2 > 1) { 187 if (paginaActual - 2 > 1) {
164 paginas.unshift(paginaActual - 2); 188 paginas.unshift(paginaActual - 2);
165 } 189 }
166 } 190 }
167 191
168 if (paginaActual + 1 < $scope.lastPage) { 192 if (paginaActual + 1 < $scope.lastPage) {
169 paginas.push(paginaActual + 1); 193 paginas.push(paginaActual + 1);
170 if (paginaActual + 2 < $scope.lastPage) { 194 if (paginaActual + 2 < $scope.lastPage) {
171 paginas.push(paginaActual + 2); 195 paginas.push(paginaActual + 2);
172 } 196 }
173 } 197 }
174 198
175 if (paginaActual !== 1) { 199 if (paginaActual !== 1) {
176 paginas.unshift(1); 200 paginas.unshift(1);
177 } 201 }
178 202
179 if (paginaActual !== $scope.lastPage) { 203 if (paginaActual !== $scope.lastPage) {
180 paginas.push($scope.lastPage); 204 paginas.push($scope.lastPage);
181 } 205 }
182 206
183 return paginas; 207 return paginas;
184 } 208 }
185 209
186 function primera() { 210 function primera() {
187 $scope.selectedDomicilio = 0; 211 $scope.selectedDomicilio = 0;
188 } 212 }
189 213
190 function anterior() { 214 function anterior() {
191 if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) { 215 if ($scope.selectedDomicilio === 0 && $scope.currentPage > 1) {
192 retrocederPagina(); 216 retrocederPagina();
193 } else { 217 } else {
194 $scope.selectedDomicilio--; 218 $scope.selectedDomicilio--;
195 } 219 }
196 } 220 }
197 221
198 function siguiente() { 222 function siguiente() {
199 if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length ) { 223 if ($scope.selectedDomicilio < $scope.currentPageDomicilios.length ) {
200 $scope.selectedDomicilio++; 224 $scope.selectedDomicilio++;
201 } else { 225 } else {
202 avanzarPagina(); 226 avanzarPagina();
203 } 227 }
204 } 228 }
205 229
206 function retrocederPagina() { 230 function retrocederPagina() {
207 if ($scope.currentPage > 1) { 231 if ($scope.currentPage > 1) {
208 $scope.selectPage($scope.currentPage - 1); 232 $scope.selectPage($scope.currentPage - 1);
209 $scope.selectedDomicilio = $scope.numPerPage - 1; 233 $scope.selectedDomicilio = $scope.numPerPage - 1;
210 } 234 }
211 } 235 }
212 236
213 function avanzarPagina() { 237 function avanzarPagina() {
214 if ($scope.currentPage < $scope.lastPage) { 238 if ($scope.currentPage < $scope.lastPage) {
215 $scope.selectPage($scope.currentPage + 1); 239 $scope.selectPage($scope.currentPage + 1);
216 $scope.selectedDomicilio = 0; 240 $scope.selectedDomicilio = 0;
217 } 241 }
218 } 242 }
219 } 243 }
220 ] 244 ]
221 ); 245 );
222 246
src/views/modal-domicilio.html
1 <div class="modal-header py-1"> 1 <div class="modal-header py-1">
2 <div class="row w-100"> 2 <div class="row w-100">
3 <div class="col-lg-6"> 3 <div class="col-lg-6">
4 <h5 class="modal-title my-1">Búsqueda de Domicilios</h5> 4 <h5 class="modal-title my-1" ng-hide="ingreso">Búsqueda de Domicilios</h5>
5 <h5 class="modal-title my-1" ng-show="ingreso">Crear domicilio</h5>
5 </div> 6 </div>
6 <div class="input-group col-lg-6 pr-0 my-2"> 7 <div class="input-group col-lg-6 pr-0 my-2">
7 <input 8 <input
8 type="text" 9 type="text"
9 class="form-control form-control-sm" 10 class="form-control form-control-sm"
10 id="search" 11 id="search"
11 placeholder="Búsqueda" 12 placeholder="Búsqueda"
12 ng-model="filters" 13 ng-model="filters"
13 ng-change="search()" 14 ng-change="search()"
14 ng-keydown="busquedaDown($event.keyCode)" 15 ng-keydown="busquedaDown($event.keyCode)"
15 ng-keypress="busquedaPress($event.keyCode)" 16 ng-keypress="busquedaPress($event.keyCode)"
16 foca-focus="selectedDomicilio == -1" 17 foca-focus="selectedDomicilio == -1"
17 ng-focus="selectedDomicilio = -1" 18 ng-focus="selectedDomicilio = -1"
18 teclado-virtual 19 teclado-virtual
19 > 20 >
20 <div class="input-group-append"> 21 <div class="input-group-append">
21 <button 22 <button
22 ladda="searchLoading" 23 ladda="searchLoading"
23 class="btn btn-outline-secondary" 24 class="btn btn-outline-secondary"
24 type="button" 25 type="button"
25 ng-click="busquedaPress(13)" 26 ng-click="busquedaPress(13)"
26 > 27 >
27 <i class="fa fa-search" aria-hidden="true"></i> 28 <i class="fa fa-search" aria-hidden="true"></i>
28 </button> 29 </button>
29 </div> 30 </div>
30 </div> 31 </div>
31 </div> 32 </div>
32 </div> 33 </div>
33 <div class="modal-body" id="modal-body"> 34 <div class="modal-body" id="modal-body">
34 35
35 <div ng-show="!primerBusqueda"> 36 <div ng-show="!primerBusqueda">
36 Debe realizar una primer búsqueda. 37 Debe realizar una primer búsqueda.
37 </div> 38 </div>
38 39
39 <div ng-show="!ingreso"> 40 <div ng-show="!ingreso">
40 <table ng-show="!ingreso" class="table table-striped table-sm"> 41 <table ng-show="!ingreso" class="table table-striped table-sm">
41 <thead> 42 <thead>
42 <tr> 43 <tr>
43 <th>Titulo</th> 44 <th>Titulo</th>
44 <th>Calle</th> 45 <th>Calle</th>
45 <th>Localidad</th> 46 <th>Localidad</th>
46 <th>Provincia</th> 47 <th>Provincia</th>
47 <th></th> 48 <th></th>
49 <th></th>
48 </tr> 50 </tr>
49 </thead> 51 </thead>
50 <tbody> 52 <tbody>
51 <tr ng-show="currentPageDomicilios.length == 0 && primerBusqueda"> 53 <tr ng-show="currentPageDomicilios.length == 0 && primerBusqueda">
52 <td colspan="5"> 54 <td colspan="5">
53 No se encontraron resultados. 55 No se encontraron resultados.
54 </td> 56 </td>
55 </tr> 57 </tr>
56 <tr> 58 <tr>
57 <td colspan="4" ng-show="!ingreso"> 59 <td colspan="4" ng-show="!ingreso">
58 <input 60 <input
59 class="form-control form-control-sm" 61 class="form-control form-control-sm"
60 type="text" 62 type="text"
61 placeholder="Nuevo domicilio" 63 placeholder="Nuevo domicilio"
62 readonly 64 readonly
63 ng-click="ingreso = !ingreso" 65 ng-click="ingreso = !ingreso"
64 /> 66 />
65 </td> 67 </td>
66 <td colspan="1" ng-show="!ingreso"> 68 <td colspan="1" ng-show="!ingreso">
67 <button 69 <button
68 type="button" 70 type="button"
69 class="btn btn-sm p-1 float-right" 71 class="btn btn-sm p-1 float-right"
70 ng-class="{ 72 ng-class="{
71 'btn-secondary': selectedDomicilio != 0, 73 'btn-secondary': selectedDomicilio != 0,
72 'btn-primary': selectedDomicilio == 0 74 'btn-primary': selectedDomicilio == 0
73 }" 75 }"
74 foca-focus="selectedDomicilio == 0" 76 foca-focus="selectedDomicilio == 0"
75 ng-keydown="itemDomicilio($event.keyCode)" 77 ng-keydown="itemDomicilio($event.keyCode)"
76 ng-click="ingreso = !ingreso" 78 ng-click="ingreso = !ingreso"
77 > 79 >
78 <i class="fa fa-circle-thin" aria-hidden="true"></i> 80 <i class="fa fa-circle-thin" aria-hidden="true"></i>
79 </button> 81 </button>
80 </td> 82 </td>
81 </tr> 83 </tr>
82 <tr class="selectable" 84 <tr class="selectable"
83 ng-repeat="(key,domicilio) in currentPageDomicilios" 85 ng-repeat="(key,domicilio) in currentPageDomicilios">
84 ng-click="select(domicilio)">
85 <td ng-bind="domicilio.titulo"></td> 86 <td ng-bind="domicilio.titulo"></td>
86 <td ng-bind="domicilio.Calle + ' ' + domicilio.Numero"></td> 87 <td ng-bind="domicilio.Calle + ' ' + domicilio.Numero"></td>
87 <td ng-bind="domicilio.Localidad"></td> 88 <td ng-bind="domicilio.Localidad"></td>
88 <td ng-bind="domicilio.Provincia"></td> 89 <td ng-bind="domicilio.Provincia"></td>
89 <td> 90 <td>
90 <button 91 <button
91 type="button" 92 type="button"
93 class="btn btn-sm p-1 float-right btn-secondary"
94 ng-click="verPuntosDescarga(key)"
95 >
96 <i class="fa fa-arrow-down" aria-hidden="true"></i>
97 </button>
98 </td>
99 <td>
100 <button
101 type="button"
92 class="btn btn-sm p-1 float-right" 102 class="btn btn-sm p-1 float-right"
93 ng-class="{ 103 ng-class="{
94 'btn-secondary': selectedDomicilio != key + 1, 104 'btn-secondary': selectedDomicilio != key + 1,
95 'btn-primary': selectedDomicilio == key + 1 105 'btn-primary': selectedDomicilio == key + 1
96 }" 106 }"
97 foca-focus="selectedDomicilio == {{key + 1}}" 107 foca-focus="selectedDomicilio == {{key + 1}}"
98 ng-keydown="itemDomicilio($event.keyCode)" 108 ng-keydown="itemDomicilio($event.keyCode)"
109 ng-click="select(domicilio)"
99 > 110 >
100 <i class="fa fa-circle-thin" aria-hidden="true"></i> 111 <i class="fa fa-circle-thin" aria-hidden="true"></i>
101 </button> 112 </button>
102 </td> 113 </td>
103 </tr> 114 </tr>
104 </tbody> 115 </tbody>
105 </table> 116 </table>
106 </div> 117 </div>
107 <form name="formDomicilio" ng-show="ingreso"> 118 <form name="formDomicilio" ng-show="ingreso">
108 <div class="row"> 119 <div class="row">
109 <div class="col-4"> 120 <div class="col-4">
110 <label>Tipo</label> 121 <label>Tipo</label>
111 <select 122 <select
112 class="form-control" 123 class="form-control"
113 ng-disabled="true" 124 ng-disabled="true"
114 > 125 >
115 <option ng-value="2">Entrega</option> 126 <option ng-value="2">Entrega</option>
116 </select> 127 </select>
117 </div> 128 </div>
118 <div class="col-8"> 129 <div class="col-8">
119 <label>Titulo</label> 130 <label>Titulo</label>
120 <input 131 <input
121 type="text" 132 type="text"
122 foca-focus="ingreso" 133 foca-focus="ingreso"
123 class="form-control" 134 class="form-control"
124 ng-model="domicilio.titulo" 135 ng-model="domicilio.titulo"
125 placeholder="Ingrese título" 136 placeholder="Ingrese título"
126 ng-required="true" 137 ng-required="true"
127 teclado-virtual 138 teclado-virtual
128 /> 139 />
129 </div> 140 </div>
130 <div class="col-9"> 141 <div class="col-9">
131 <label>Calle</label> 142 <label>Calle</label>
132 <input 143 <input
133 type="text" 144 type="text"
134 class="form-control" 145 class="form-control"
135 ng-model="domicilio.calle" 146 ng-model="domicilio.calle"
136 placeholder="Ingrese calle" 147 placeholder="Ingrese calle"
137 ng-required="true" 148 ng-required="true"
138 /> 149 />
139 </div> 150 </div>
140 <div class="col-3"> 151 <div class="col-3">
141 <label>Nº</label> 152 <label>Nº</label>
142 <input 153 <input
143 type="text" 154 type="text"
144 class="form-control" 155 class="form-control"
145 ng-model="domicilio.numeroCalle" 156 ng-model="domicilio.numeroCalle"
146 placeholder="Ingrese Numero" 157 placeholder="Ingrese Numero"
147 ng-required="true" 158 ng-required="true"
148 teclado-virtual 159 teclado-virtual
149 /> 160 />
150 </div> 161 </div>
151 <div class="col-6"> 162 <div class="col-6">
152 <label>Localidad</label> 163 <label>Localidad</label>
153 <input 164 <input
154 type="text" 165 type="text"
155 class="form-control" 166 class="form-control"
156 ng-model="domicilio.localidad" 167 ng-model="domicilio.localidad"
157 placeholder="Ingrese localidad" 168 placeholder="Ingrese localidad"
158 ng-required="true" 169 ng-required="true"
159 teclado-virtual 170 teclado-virtual
160 /> 171 />
161 </div> 172 </div>
162 <div class="col-6"> 173 <div class="col-6">
163 <label>Provincia</label> 174 <label>Provincia</label>
164 <input 175 <input
165 type="text" 176 type="text"
166 class="form-control" 177 class="form-control"
167 ng-model="domicilio.provincia" 178 ng-model="domicilio.provincia"
168 placeholder="Ingrese provincia" 179 placeholder="Ingrese provincia"
169 ng-required="true" 180 ng-required="true"
170 /> 181 />
171 </div> 182 </div>
172 </div> 183 </div>
173 </form> 184 </form>
174 </div> 185 </div>
175 <div class="modal-footer"> 186 <div class="modal-footer">
176 <nav ng-show="currentPageDomicilios.length > 0 && !ingreso" class="mr-auto"> 187 <nav ng-show="currentPageDomicilios.length > 0 && !ingreso" class="mr-auto">
177 <ul class="pagination pagination-sm mb-0 justify-content-end"> 188 <ul class="pagination pagination-sm mb-0 justify-content-end">
178 <li class="page-item" ng-class="{'disabled': currentPage == 1}"> 189 <li class="page-item" ng-class="{'disabled': currentPage == 1}">
179 <a class="page-link" href="javascript:void();" ng-click="selectPage(currentPage - 1)"> 190 <a class="page-link" href="javascript:void();" ng-click="selectPage(currentPage - 1)">
180 <span aria-hidden="true">&laquo;</span> 191 <span aria-hidden="true">&laquo;</span>
181 <span class="sr-only">Anterior</span> 192 <span class="sr-only">Anterior</span>
182 </a> 193 </a>
183 </li> 194 </li>
184 <li 195 <li
185 class="page-item" 196 class="page-item"
186 ng-repeat="pagina in paginas" 197 ng-repeat="pagina in paginas"
187 ng-class="{'active': pagina == currentPage}" 198 ng-class="{'active': pagina == currentPage}"
188 > 199 >
189 <a 200 <a
190 class="page-link" 201 class="page-link"
191 href="javascript:void();" 202 href="javascript:void();"
192 ng-click="selectPage(pagina)" 203 ng-click="selectPage(pagina)"
193 ng-bind="pagina" 204 ng-bind="pagina"
194 ></a> 205 ></a>
195 </li> 206 </li>
196 <li class="page-item" ng-class="{'disabled': currentPage == lastPage}"> 207 <li class="page-item" ng-class="{'disabled': currentPage == lastPage}">
197 <a class="page-link" href="javascript:void();" ng-click="selectPage(currentPage + 1)"> 208 <a class="page-link" href="javascript:void();" ng-click="selectPage(currentPage + 1)">
198 <span aria-hidden="true">&raquo;</span> 209 <span aria-hidden="true">&raquo;</span>
199 <span class="sr-only">Siguiente</span> 210 <span class="sr-only">Siguiente</span>
200 </a> 211 </a>
201 </li> 212 </li>
202 </ul> 213 </ul>
203 </nav> 214 </nav>
204 <button 215 <button
205 ng-show="!ingreso" 216 ng-show="!ingreso"
206 class="btn btn-sm btn-secondary" 217 class="btn btn-sm btn-secondary"
207 type="button" 218 type="button"
208 ng-click="cancel()" 219 ng-click="cancel()"
209 >Volver 220 >Volver
210 </button> 221 </button>
211 <button 222 <button
212 ng-show="ingreso" 223 ng-show="ingreso"
213 class="btn btn-secondary btn-sm" 224 class="btn btn-secondary btn-sm"
214 type="button" 225 type="button"
215 ng-click="ingreso = !ingreso; domicilio = {}; contactos = [{}]" 226 ng-click="ingreso = !ingreso; domicilio = {}; contactos = [{}]"
216 >Cancelar 227 >Cancelar
217 </button> 228 </button>
218 <button 229 <button
219 ng-show="ingreso" 230 ng-show="ingreso"
220 class="btn btn-sm btn-primary" 231 class="btn btn-sm btn-primary"
221 type="button" 232 type="button"
222 ng-click="agregarDomicilio()" 233 ng-click="agregarDomicilio()"
223 ng-disabled="!formDomicilio.$valid" 234 ng-disabled="!formDomicilio.$valid"
224 >Agregar domicilio 235 >Agregar domicilio
225 </button> 236 </button>
226 </div> 237 </div>