diff -r 1aa813be49ec -r 44ebb0d0b836 client/app/books/books_controller.js --- 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');