diff --git a/README.md b/README.md index c20c56a..4d68070 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,16 @@ var modalInstance = $uibModal.open( size: 'md' } ); + + +Y despues consiguiendo el resultado de esta forma: +
+	modalInstance.result.then(
+	    function (producto) {
+	        console.info(producto);
+	        // variable producto tiene el producto seleccionado en el modal
+	    }, function () {
+	        // funcion ejecutada cuando se cancela el modal
+	    }
+	);
 
\ No newline at end of file diff --git a/index.html b/index.html index 90762f5..f3157be 100644 --- a/index.html +++ b/index.html @@ -16,6 +16,7 @@ + @@ -23,18 +24,42 @@ + diff --git a/src/js/controller.js b/src/js/controller.js index bf0999a..240d1fc 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -1,6 +1,56 @@ angular.module('focaBusquedaProductos') - .controller('modalBusquedaProductosCtrl', - ['$uibModalInstance', function($uibModalInstance) { - - }] -) \ No newline at end of file + .controller('modalBusquedaProductosCtrl', + [ + '$filter', + '$scope', + '$uibModalInstance', + 'focaBusquedaProductosService', + function($filter, $scope, $uibModalInstance, focaBusquedaProductosService) { + focaBusquedaProductosService.getProductos().then( + function(res) { + $scope.productos = res; + $scope.search(); + } + ); + + // pagination + $scope.numPerPage = 10; + $scope.currentPage = 1; + $scope.filteredProductos = []; + $scope.currentPageProductos = []; + $scope.selectProducto = 0; + + + //METODOS + $scope.search = function() { + $scope.filteredProductos = $filter('filter')($scope.productos, {$: $scope.filters}); + $scope.resetPage(); + } + + $scope.resetPage = function() { + $scope.currentPage = 1; + $scope.selectPage(1); + } + + $scope.selectPage = function(page) { + var start = (page - 1) * $scope.numPerPage; + var end = start + $scope.numPerPage; + $scope.currentPageProductos = $scope.filteredProductos.slice(start, end); + } + + $scope.select = function(producto) { + $uibModalInstance.close(producto); + } + + $scope.cancel = function() { + $uibModalInstance.dismiss('cancel'); + } + + $scope.enter = function(key) { + if (key === 13) { + console.table($scope.currentPageProductos); + } + } + } + ] + ) \ No newline at end of file diff --git a/src/js/service.js b/src/js/service.js index e69de29..c7e87e5 100644 --- a/src/js/service.js +++ b/src/js/service.js @@ -0,0 +1,37 @@ +angular.module('focaBusquedaProductos') + .service('focaBusquedaProductosService', ['$q', function($q) { + return { + getProductos: function(filtro) { + var deferred = $q.defer(); + + deferred.resolve([ + { + idProducto: 1, + codigo: 1, + sector: 1, + descripcion: 'Nafta Comun', + codsecfilter: '1-1', + precio: 35 + }, + { + idProducto: 2, + codigo: 2, + sector: 1, + descripcion: 'Diesel', + codsecfilter: '1-2', + precio: 40 + }, + { + idProducto: 3, + codigo: 1, + sector: 2, + descripcion: 'Aceite', + codsecfilter: '2-1', + precio: 95 + } + ]); + + return deferred.promise; + } + } + }]) \ No newline at end of file diff --git a/src/views/modal-busqueda-productos.html b/src/views/modal-busqueda-productos.html index 06ce8e1..8888290 100644 --- a/src/views/modal-busqueda-productos.html +++ b/src/views/modal-busqueda-productos.html @@ -1,10 +1,42 @@