client/app/books/books_controller.js
changeset 74 44ebb0d0b836
parent 69 88f76bf93465
child 91 f7a844a9079e
--- a/client/app/books/books_controller.js	Tue Apr 07 11:56:43 2015 +0200
+++ b/client/app/books/books_controller.js	Tue Apr 07 12:00:14 2015 +0200
@@ -3,48 +3,54 @@
 
 	angular.module('ammicoBooks',['ngRoute', 'ui.sortable'])
 	.controller('booksCtrl', function($scope, $location, $modal, ammicoApi){
-		$scope.books = ammicoApi.listBooks.query({format:'json'});
+		$scope.books = ammicoApi.listBooks.query({format:'json'}, function(data){
+			data.sort(function (a, b) {
+				return a.date < b.date;
+			});
+		});
+		
 		$scope.searchSubmit = function(){
 			$location.path('/search/' + $scope.q);
 		};
-		
-		$scope.addBook = function () {
+
+		$scope.addBook = function (idParent) {
 			$modal.open({
 				templateUrl: 'books/add_modal.html',
 				controller: 'ModalAddBookCtrl'
-			}).result.then(function (newBook) {
-				$scope.books.push(newBook);
+			}).result.then(function (title) {
+				ammicoApi.listBooks.save({idParent:idParent, title: title}, function(newBook){
+					$scope.books.push(newBook);
+				});
 			});
 		};
-		$scope.deleteItem = function(i){
-			if(0<=i && i<$scope.books.length){
-				if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){
-					ammicoApi.book.delete({idBook: $scope.books[i].id}, function(){
-						$scope.books.splice(i, 1);
-					},
-					function(error) {
-						if (error.status === 404){
-							$scope.books.splice(i, 1);
-						}
-					});
-				}
+		$scope.deleteItem = function(book){
+			if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){
+				ammicoApi.book.delete({idBook: book.id}, function(){
+					$scope.books.splice($scope.books.indexOf(book), 1);
+				},
+				function(error) {
+					if (error.status === 404){
+						$scope.books.splice($scope.books.indexOf(book), 1);
+					}
+				});
 			}
 		};
 	})
 	.controller('bookCtrl', function($scope, ammicoApi, $routeParams) {
-		$scope.slides = ammicoApi.booksSlides.query({idBook:$routeParams.idBook, format:'json'});
-		$scope.slides.sort(function (a, b) {
-		    return a.orderIndex > b.orderIndex;
-		  });
+		$scope.slides = ammicoApi.booksSlides.query({idBook:$routeParams.idBook, format:'json'}, function(data){
+			data.sort(function (a, b) {
+				return a.orderIndex > b.orderIndex;
+			});
+		});
 		$scope.sortableOptions = {
-		    stop: function() {
-		    	var order = $scope.slides.map(function(i){
-		            return i.id;
-		    	});
-		    	ammicoApi.order.save({idBook:$routeParams.idBook}, {order: order});
-		    }
+				stop: function() {
+					var order = $scope.slides.map(function(i){
+						return i.id;
+					});
+					ammicoApi.order.save({idBook:$routeParams.idBook}, {order: order});
+				}
 		};
-		
+
 		$scope.deleteItem = function(i){
 			if(0<=i && i<$scope.slides.length){
 				if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){
@@ -61,11 +67,11 @@
 		};
 	})
 	.controller('ModalAddBookCtrl', function ($scope, ammicoApi, $modalInstance) {
-		
+
 		$scope.add = function(){
-			ammicoApi.listBooks.save({title: $scope.title}, function(newBook){
-				$modalInstance.close(newBook);
-			});
+			$modalInstance.close($scope.title);
+//			ammicoApi.listBooks.save({title: $scope.title}, function(newBook){
+//			});
 		};
 		$scope.cancel = function () {
 			$modalInstance.dismiss('cancel');