Estoy con una galería de imagenes. El funcionamiento es como sigue. Primero aparece una imagen para cada coleccion. Si el usuario pulsa una de las imagenes abre una ventana modal con todas las fotos de la coleccion. Si el usuario pulsa una de las fotos de la coleccion se abre en grande esa foto.
Bien, tengo mas o menos todo montado y va bien pero no logro saber como hacer un filtro dinámico que muestre solo las fotos de la coleccion que el usuario pulsa para concretar os copio el código la idea que llevo.
Asi declaro el objeto de la galeria con las rutas y la coleccion que pertenece cada imagen. Pongo una aunque imaginais son mas.
Código
$scope.galleryItems = [ {"portada" : true, "collection" : 1, "miniature" : "rutaminiatura.jpg", "source" : rutaimagen.jpg", "alt" : "textoalt"}, ];
Uso ng-repeat en la galeria para listar primero las portadas, que son el link digamos a cada coleccion:
Código
<div ng-repeat="galleryItem in galleryItems | startFrom : (currentPage - 1) * pageSize | limitTo : pageSize | filter: {portada : true}">
En caso de hacer click a una coleccion llama la funcion showCollection a la que paso el indice y la coleccion que tiene que mostrar. La funcion showCollection muestra una ventana modal asi:
Código
$scope.showCollection=function (index, Ncollection) { alert(Ncollection); $scope.numCollection = Ncollection; var modalInstance = $modal.open({ templateUrl: 'views/gallery-collection.html', controller:'GalleryCollectionCtrl', resolve: { galleryObj: function() { return $scope.galleryItems; }, ind: function() { return index + ($scope.currentPage-1)*$scope.pageSize; }, } });
Y ahora viene cuando la matan, ese template contiene lo siguiente
Código
He intentado añadir un filtro que no ha funcionado en negrita lo marco es el siguiente
Código
.filter ('filterCollection', function() { return function(data) { return data.collection == $scope.numCollection; }
Aun asi no funciona. Pero mi duda es como creeis que puedo hacer para filtrar solo las imagenes de una coleccion cuyo valor almaceno en una variable y llega al controlador que controla el template. A partir de ahi como la uso para aplicarla a un filtro? Algo se me escapa.. a ver si podeis echarme un cable. Un saludo!